From d14be8abff9099e4e1cab112c9d4e3879f6fab39 Mon Sep 17 00:00:00 2001 From: smallwei <1634566606@qq.com> Date: Sun, 19 May 2019 14:37:05 +0800 Subject: [PATCH] fix refresh token --- src/api/user.js | 2 +- src/config/website.js | 2 +- src/page/index/index.vue | 134 ++++++++++++++++++++------------------ src/store/modules/user.js | 50 +++++++------- 4 files changed, 96 insertions(+), 92 deletions(-) diff --git a/src/api/user.js b/src/api/user.js index 14018c5..d6fae60 100644 --- a/src/api/user.js +++ b/src/api/user.js @@ -1,5 +1,5 @@ import request from '@/router/axios'; -import {baseUrl} from '@/config/env'; +import { baseUrl } from '@/config/env'; export const loginByUsername = (tenantCode, username, password, type) => request({ url: '/api/blade-auth/oauth/token', diff --git a/src/config/website.js b/src/config/website.js index 074938d..0a03aa7 100644 --- a/src/config/website.js +++ b/src/config/website.js @@ -10,7 +10,7 @@ export default { clientSecret: 'saber_secret', // 客户端密钥 tenantMode: true, // 是否开启租户模式 lockPage: '/lock', - tokenTime: 1500, + tokenTime: 7200, //http的status默认放行不才用统一处理的, statusWhiteList: [], //配置首页不可关闭 diff --git a/src/page/index/index.vue b/src/page/index/index.vue index a60b107..f577138 100644 --- a/src/page/index/index.vue +++ b/src/page/index/index.vue @@ -3,25 +3,25 @@ :class="{'avue--collapse':isCollapse}">
- +
- +
- + + v-if="$route.meta.keepAlive" /> + v-if="!$route.meta.keepAlive" />
@@ -38,69 +38,73 @@ diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 17e5719..de58fd4 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,10 +1,10 @@ -import {setToken, setRefreshToken, removeToken} from '@/util/auth' -import {Message} from 'element-ui' -import {setStore, getStore} from '@/util/store' -import {isURL, validatenull} from '@/util/validate' -import {deepClone} from '@/util/util' +import { setToken, setRefreshToken, removeToken } from '@/util/auth' +import { Message } from 'element-ui' +import { setStore, getStore } from '@/util/store' +import { isURL, validatenull } from '@/util/validate' +import { deepClone } from '@/util/util' import webiste from '@/config/website' -import {loginByUsername, getUserInfo, getMenu, getTopMenu, logout, refeshToken, getButtons} from '@/api/user' +import { loginByUsername, getUserInfo, getMenu, getTopMenu, logout, refeshToken, getButtons } from '@/api/user' function addPath(ele, first) { @@ -32,17 +32,17 @@ function addPath(ele, first) { const user = { state: { - userInfo: getStore({name: 'userInfo'}) || [], - permission: getStore({name: 'permission'}) || {}, + userInfo: getStore({ name: 'userInfo' }) || [], + permission: getStore({ name: 'permission' }) || {}, roles: [], - menu: getStore({name: 'menu'}) || [], + menu: getStore({ name: 'menu' }) || [], menuAll: [], - token: getStore({name: 'token'}) || '', - refreshToken: getStore({name: 'refreshToken'}) || '', + token: getStore({ name: 'token' }) || '', + refreshToken: getStore({ name: 'refreshToken' }) || '', }, actions: { //根据用户名登录 - LoginByUsername({commit}, userInfo) { + LoginByUsername({ commit }, userInfo) { return new Promise((resolve) => { loginByUsername(userInfo.tenantCode, userInfo.username, userInfo.password, userInfo.type).then(res => { const data = res.data; @@ -62,7 +62,7 @@ const user = { }) }) }, - GetButtons({commit}) { + GetButtons({ commit }) { return new Promise((resolve) => { getButtons().then(res => { const data = res.data.data; @@ -72,7 +72,7 @@ const user = { }) }, //根据手机号登录 - LoginByPhone({commit}, userInfo) { + LoginByPhone({ commit }, userInfo) { return new Promise((resolve) => { loginByUsername(userInfo.phone, userInfo.code).then(res => { const data = res.data.data; @@ -83,7 +83,7 @@ const user = { }) }) }, - GetUserInfo({commit}) { + GetUserInfo({ commit }) { return new Promise((resolve, reject) => { getUserInfo().then((res) => { const data = res.data.data; @@ -95,9 +95,9 @@ const user = { }) }, //刷新token - RefeshToken({state, commit}) { + RefeshToken({ state, commit }) { return new Promise((resolve, reject) => { - refeshToken(state.refreshToken).then(res => { + refeshToken(state.refreshToken, state.userInfo).then(res => { const data = res.data; commit('SET_TOKEN', data.access_token); commit('SET_REFRESH_TOKEN', data.refresh_token); @@ -108,7 +108,7 @@ const user = { }) }, // 登出 - LogOut({commit}) { + LogOut({ commit }) { return new Promise((resolve, reject) => { logout().then(() => { commit('SET_TOKEN', '') @@ -124,7 +124,7 @@ const user = { }) }, //注销session - FedLogOut({commit}) { + FedLogOut({ commit }) { return new Promise(resolve => { commit('SET_TOKEN', '') commit('SET_MENU', []) @@ -144,7 +144,7 @@ const user = { }) }, //获取系统菜单 - GetMenu({commit, dispatch}, parentId) { + GetMenu({ commit, dispatch }, parentId) { return new Promise(resolve => { getMenu(parentId).then((res) => { const data = res.data.data @@ -163,20 +163,20 @@ const user = { SET_TOKEN: (state, token) => { setToken(token) state.token = token; - setStore({name: 'token', content: state.token, type: 'session'}) + setStore({ name: 'token', content: state.token, type: 'session' }) }, SET_REFRESH_TOKEN: (state, refreshToken) => { setRefreshToken(refreshToken) state.refreshToken = refreshToken; - setStore({name: 'refreshToken', content: state.refreshToken, type: 'session'}) + setStore({ name: 'refreshToken', content: state.refreshToken, type: 'session' }) }, SET_USERIFNO: (state, userInfo) => { state.userInfo = userInfo; - setStore({name: 'userInfo', content: state.userInfo}) + setStore({ name: 'userInfo', content: state.userInfo }) }, SET_MENU: (state, menu) => { state.menu = menu - setStore({name: 'menu', content: state.menu, type: 'session'}) + setStore({ name: 'menu', content: state.menu, type: 'session' }) }, SET_MENU_ALL: (state, menuAll) => { state.menuAll = menuAll; @@ -207,7 +207,7 @@ const user = { result.forEach(ele => { state.permission[ele] = true; }); - setStore({name: 'permission', content: state.permission, type: 'session'}) + setStore({ name: 'permission', content: state.permission, type: 'session' }) } }