|
|
|
@ -28,7 +28,7 @@ import { merge } from 'lodash-es';
@@ -28,7 +28,7 @@ import { merge } from 'lodash-es';
|
|
|
|
|
import { RequestOptions } from '/#/axios'; |
|
|
|
|
|
|
|
|
|
interface UserState { |
|
|
|
|
userInfo: Nullable<KiccUser>; |
|
|
|
|
userInfo: KiccUser; |
|
|
|
|
sessionTimeout?: boolean; |
|
|
|
|
lastUpdateTime: number; |
|
|
|
|
roleIds: string[]; |
|
|
|
@ -95,7 +95,7 @@ export const useUserStore = defineStore({
@@ -95,7 +95,7 @@ export const useUserStore = defineStore({
|
|
|
|
|
this.refresh_token = refreshToken; |
|
|
|
|
setAuthCache(REFRESH_TOKEN_KEY, refreshToken); |
|
|
|
|
}, |
|
|
|
|
setUserInfo(userInfo: Nullable<KiccUser>) { |
|
|
|
|
setUserInfo(userInfo: Partial<KiccUser>) { |
|
|
|
|
this.userInfo = userInfo; |
|
|
|
|
this.lastUpdateTime = new Date().getTime(); |
|
|
|
|
setAuthCache(USER_INFO_KEY, userInfo); |
|
|
|
@ -105,9 +105,7 @@ export const useUserStore = defineStore({
@@ -105,9 +105,7 @@ export const useUserStore = defineStore({
|
|
|
|
|
}, |
|
|
|
|
resetState(): void { |
|
|
|
|
this.setSessionTimeout(false); |
|
|
|
|
this.setUserInfo(null); |
|
|
|
|
this.setAccessToken(''); |
|
|
|
|
this.setRefreshToken(''); |
|
|
|
|
this.setUserInfo({}); |
|
|
|
|
this.setRoleIds([]); |
|
|
|
|
this.setPermissions([]); |
|
|
|
|
}, |
|
|
|
@ -127,6 +125,7 @@ export const useUserStore = defineStore({
@@ -127,6 +125,7 @@ export const useUserStore = defineStore({
|
|
|
|
|
} |
|
|
|
|
const data = await login(loginParams); |
|
|
|
|
const { access_token, refresh_token } = data; |
|
|
|
|
this.setUserInfo(data.user_info); |
|
|
|
|
this.setAccessToken(access_token); |
|
|
|
|
this.setRefreshToken(refresh_token); |
|
|
|
|
return this.afterLoginAction(goHome); |
|
|
|
@ -173,16 +172,15 @@ export const useUserStore = defineStore({
@@ -173,16 +172,15 @@ export const useUserStore = defineStore({
|
|
|
|
|
this.setRoleIds(userInfo.roleIds); |
|
|
|
|
this.setPermissions(userInfo.permissions); |
|
|
|
|
return userInfo; |
|
|
|
|
} catch (e) { |
|
|
|
|
// 防止 system-biz 微服务挂掉后导致token授权成功重新登陆覆盖授权客户端密钥
|
|
|
|
|
this.resetState(); |
|
|
|
|
throw Error(t('sys.api.errMsg503')); |
|
|
|
|
} |
|
|
|
|
} catch (error) { console.error(error); } |
|
|
|
|
return Promise.resolve({} as KiccUser); |
|
|
|
|
}, |
|
|
|
|
/** 登出 */ |
|
|
|
|
async logout(goLogin = false) { |
|
|
|
|
await logout(); |
|
|
|
|
this.resetState(); |
|
|
|
|
this.setAccessToken(''); |
|
|
|
|
this.setRefreshToken(''); |
|
|
|
|
goLogin && await router.push(PageEnum.BASE_LOGIN); |
|
|
|
|
}, |
|
|
|
|
/** 退出前确认 */ |
|
|
|
|