diff --git a/src/store/modules/dict.ts b/src/store/modules/dict.ts index 50a7ea3..a4d4d1c 100644 --- a/src/store/modules/dict.ts +++ b/src/store/modules/dict.ts @@ -75,7 +75,7 @@ export const useDictStore = defineStore('dict', { }, async resetDict() { cache.session.delete(CACHE_KEY.DICT_CACHE) - const res = await listSimpleDictData() + const res = (await listSimpleDictData()) || [] // 设置数据 const dictDataMap = new Map() res.forEach((dictData: DictDataVO) => { diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index baa1797..30ceee9 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -2,7 +2,8 @@ import { store } from '../index' import { defineStore } from 'pinia' import { getAccessToken, removeToken } from '@/utils/auth' import { CACHE_KEY } from '@/hooks/web/useCache' -import { getInfo, loginOut } from '@/api/login' +import { loginOut } from '@/api/login' +import { getUser as getUserInfo } from '@/api/system/user' import cache from '@/plugins/cache' @@ -50,11 +51,17 @@ export const useUserStore = defineStore('admin-user', { return null } let userInfo = cache.local.get(CACHE_KEY.USER) - if (!userInfo || !userInfo?.menus || userInfo.menus.length == 0) { - userInfo = await getInfo({}) + // if (!userInfo || !userInfo?.menus || userInfo.menus.length == 0) { + // userInfo = await getInfo({}) + // } + if (!userInfo?.user) { + const userId = localStorage.getItem('userId') + userInfo = { + user: await getUserInfo(Number(userId)) + } } - this.permissions = userInfo.permissions - this.roles = userInfo.roles + // this.permissions = userInfo.permissions + // this.roles = userInfo.roles this.user = userInfo.user this.isSetUser = true cache.local.set(CACHE_KEY.USER, userInfo) @@ -63,7 +70,7 @@ export const useUserStore = defineStore('admin-user', { async loginOut() { await loginOut() removeToken() - cache.local.clear() + // cache.local.clear() this.resetState() }, resetState() { diff --git a/src/utils/auth.ts b/src/utils/auth.ts index 8ceb741..4b989a1 100644 --- a/src/utils/auth.ts +++ b/src/utils/auth.ts @@ -9,26 +9,34 @@ const RefreshTokenKey = 'REFRESH_TOKEN' // 获取token export const getAccessToken = () => { // 此处与TokenKey相同,此写法解决初始化时Cookies中不存在TokenKey报错 - return cache.local.get(AccessTokenKey) - ? cache.local.get(AccessTokenKey) - : cache.local.get('ACCESS_TOKEN') + return localStorage.getItem(AccessTokenKey) + ? localStorage.getItem(AccessTokenKey) + : localStorage.getItem('ACCESS_TOKEN') + // return cache.local.get(AccessTokenKey) + // ? cache.local.get(AccessTokenKey) + // : cache.local.get('ACCESS_TOKEN') } // 刷新token export const getRefreshToken = () => { - return cache.local.get(RefreshTokenKey) + return localStorage.getItem(RefreshTokenKey) + // return cache.local.get(RefreshTokenKey) } // 设置token export const setToken = (token: TokenType) => { - cache.local.set(RefreshTokenKey, token.refreshToken) - cache.local.set(AccessTokenKey, token.accessToken) + localStorage.setItem(AccessTokenKey, token.accessToken) + localStorage.setItem(RefreshTokenKey, token.refreshToken) + // cache.local.set(RefreshTokenKey, token.refreshToken) + // cache.local.set(AccessTokenKey, token.accessToken) } // 删除token export const removeToken = () => { - cache.local.delete(AccessTokenKey) - cache.local.delete(RefreshTokenKey) + localStorage.removeItem(AccessTokenKey) + localStorage.removeItem(RefreshTokenKey) + // cache.local.delete(AccessTokenKey) + // cache.local.delete(RefreshTokenKey) } /** 格式化token(jwt格式) */ diff --git a/src/views/Error/403.vue b/src/views/Error/403.vue index 242b05a..c362556 100644 --- a/src/views/Error/403.vue +++ b/src/views/Error/403.vue @@ -1,5 +1,5 @@