|
|
|
@ -9,8 +9,8 @@ import type {UserInfo} from '/#/store';
@@ -9,8 +9,8 @@ import type {UserInfo} from '/#/store';
|
|
|
|
|
import {defineStore} from 'pinia'; |
|
|
|
|
import {store} from '/@/store'; |
|
|
|
|
import {PageEnum} from '/@/enums/pageEnum'; |
|
|
|
|
import {ACCESS_TOKEN_KEY, REFRESH_TOKEN_KEY, USER_INFO_KEY} from '/@/enums/cacheEnum'; |
|
|
|
|
import {setAuthCache} from '/@/utils/auth'; |
|
|
|
|
import {ACCESS_TOKEN_KEY, PERMISSIONS_KEY, REFRESH_TOKEN_KEY, ROLE_IDS_KEY, USER_INFO_KEY} from '/@/enums/cacheEnum'; |
|
|
|
|
import {getAuthCache, setAuthCache} from '/@/utils/auth'; |
|
|
|
|
import {GetUserInfoModel, LoginParams} from '/@/api/sys/model/userModel'; |
|
|
|
|
import {doLogout, getUserInfo, loginApi} from '/@/api/sys/user'; |
|
|
|
|
import {useI18n} from '/@/hooks/web/useI18n'; |
|
|
|
@ -24,35 +24,35 @@ interface UserState {
@@ -24,35 +24,35 @@ interface UserState {
|
|
|
|
|
sessionTimeout: boolean; |
|
|
|
|
roleIds: Recordable; |
|
|
|
|
permissions: Recordable; |
|
|
|
|
access_token: string; |
|
|
|
|
refresh_token: string; |
|
|
|
|
access_token?: string; |
|
|
|
|
refresh_token?: string; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
export const useUserStore = defineStore({ |
|
|
|
|
id: 'app-user', |
|
|
|
|
state: (): UserState => ({ |
|
|
|
|
// 用户信息
|
|
|
|
|
userInfo: null, |
|
|
|
|
userInfo: getAuthCache<UserInfo>(USER_INFO_KEY), |
|
|
|
|
// 登录是否过期
|
|
|
|
|
sessionTimeout: false, |
|
|
|
|
// 角色ID用于权限校验
|
|
|
|
|
roleIds: [], |
|
|
|
|
roleIds: getAuthCache<Recordable>(ROLE_IDS_KEY), |
|
|
|
|
// 按钮权限标识用于权限校验
|
|
|
|
|
permissions: [], |
|
|
|
|
permissions: getAuthCache<Recordable>(PERMISSIONS_KEY), |
|
|
|
|
// 访问令牌
|
|
|
|
|
access_token: '', |
|
|
|
|
access_token: getAuthCache<string>(ACCESS_TOKEN_KEY), |
|
|
|
|
// 刷新令牌
|
|
|
|
|
refresh_token: '', |
|
|
|
|
refresh_token: getAuthCache<string>(REFRESH_TOKEN_KEY), |
|
|
|
|
}), |
|
|
|
|
getters: { |
|
|
|
|
getUserInfo(): UserInfo | {[key: string]: any} { |
|
|
|
|
return this.userInfo || {}; |
|
|
|
|
getUserInfo(): UserInfo { |
|
|
|
|
return this.userInfo! || {}; |
|
|
|
|
}, |
|
|
|
|
getAccessToken(): string { |
|
|
|
|
return this.access_token; |
|
|
|
|
return this.access_token!; |
|
|
|
|
}, |
|
|
|
|
getRefreshToken(): string { |
|
|
|
|
return this.refresh_token; |
|
|
|
|
return this.refresh_token!; |
|
|
|
|
}, |
|
|
|
|
getSessionTimeout(): boolean { |
|
|
|
|
return !!this.sessionTimeout; |
|
|
|
@ -67,6 +67,7 @@ export const useUserStore = defineStore({
@@ -67,6 +67,7 @@ export const useUserStore = defineStore({
|
|
|
|
|
actions: { |
|
|
|
|
setRoleIds(roleIds: Recordable) { |
|
|
|
|
this.roleIds = roleIds; |
|
|
|
|
setAuthCache(ROLE_IDS_KEY, roleIds); |
|
|
|
|
}, |
|
|
|
|
setPermissions(permissions: Recordable) { |
|
|
|
|
this.permissions = permissions; |
|
|
|
@ -141,6 +142,7 @@ export const useUserStore = defineStore({
@@ -141,6 +142,7 @@ export const useUserStore = defineStore({
|
|
|
|
|
} catch { |
|
|
|
|
console.log('注销Token失败'); |
|
|
|
|
} |
|
|
|
|
debugger |
|
|
|
|
this.setAccessToken(''); |
|
|
|
|
this.setRefreshToken(''); |
|
|
|
|
this.setSessionTimeout(false); |
|
|
|
|