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

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: { actions: {
async setUserInfoAction() { async setUserInfoAction(force = false) {
if (!getAccessToken()) { if (!getAccessToken()) {
this.resetState() this.resetState()
return null return null
} }
let userInfo = wsCache.get(CACHE_KEY.USER) let userInfo = wsCache.get(CACHE_KEY.USER)
if (!userInfo) { // 登录时指定force=true强制更新菜单避免停留在login的窗口登录后用户信息依然没有替换为最后一次登录用户的问题
if (force || !userInfo) {
userInfo = await getInfo() userInfo = await getInfo()
} }
this.permissions = userInfo.permissions this.permissions = userInfo.permissions

View File

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