登录后强制获取当前用户信息

pull/233/head
lehug 2023-09-04 15:34:45 +08:00
parent c6493767ce
commit 34fdcd44f4
2 changed files with 6 additions and 2 deletions

View File

@ -44,13 +44,14 @@ export const useUserStore = defineStore('admin-user', {
}
},
actions: {
async setUserInfoAction() {
async setUserInfoAction(force = false) {
if (!getAccessToken()) {
this.resetState()
return null
}
let userInfo = wsCache.get(CACHE_KEY.USER)
if (!userInfo) {
// 登录时指定force=true强制更新菜单避免停留在login的窗口登录后用户信息依然没有替换为最后一次登录用户的问题
if (force || !userInfo) {
userInfo = await getInfo()
}
this.permissions = userInfo.permissions

View File

@ -152,6 +152,7 @@ import { useIcon } from '@/hooks/web/useIcon'
import * as authUtil from '@/utils/auth'
import { usePermissionStore } from '@/store/modules/permission'
import { useUserStoreWithOut } from '@/store/modules/user'
import * as LoginApi from '@/api/login'
import { LoginStateEnum, useFormValid, useLoginState } from './useLogin'
@ -255,6 +256,8 @@ const handleLogin = async (params) => {
authUtil.removeLoginForm()
}
authUtil.setToken(res)
const userStore = useUserStoreWithOut()
await userStore.setUserInfoAction(true)
if (!redirect.value) {
redirect.value = '/'
}