Commit cbeee0f7440e5f440c487155018aac547434b1c2

Authored by xingyu4j
1 parent c3560a52

fix: 新用户第一次未设置角色无法登录 bug

yudao-ui-admin-vue3/src/router/index.ts
... ... @@ -55,7 +55,7 @@ router.beforeEach(async (to, from, next) => {
55 55 const res = await listSimpleDictDataApi()
56 56 dictStore.setDictMap(res)
57 57 }
58   - if (userStore.getRoles.length === 0) {
  58 + if (!userStore.getIsSetUser) {
59 59 isRelogin.show = true
60 60 const res = await getInfoApi()
61 61 await userStore.setUserInfoAction(res)
... ...
yudao-ui-admin-vue3/src/store/modules/user.ts
... ... @@ -13,6 +13,7 @@ interface UserVO {
13 13 interface UserInfoVO {
14 14 permissions: string[]
15 15 roles: string[]
  16 + isSetUser: boolean
16 17 user: UserVO
17 18 }
18 19  
... ... @@ -20,6 +21,7 @@ export const useUserStore = defineStore('admin-user', {
20 21 state: (): UserInfoVO => ({
21 22 permissions: [],
22 23 roles: [],
  24 + isSetUser: false,
23 25 user: {
24 26 id: 0,
25 27 avatar: '',
... ... @@ -33,6 +35,9 @@ export const useUserStore = defineStore('admin-user', {
33 35 getRoles(): string[] {
34 36 return this.roles
35 37 },
  38 + getIsSetUser(): boolean {
  39 + return this.isSetUser
  40 + },
36 41 getUser(): UserVO {
37 42 return this.user
38 43 }
... ... @@ -46,6 +51,7 @@ export const useUserStore = defineStore('admin-user', {
46 51 this.permissions = userInfo.permissions
47 52 this.roles = userInfo.roles
48 53 this.user = userInfo.user
  54 + this.isSetUser = true
49 55 wsCache.set(CACHE_KEY.USER, userInfo)
50 56 },
51 57 loginOut() {
... ... @@ -56,6 +62,7 @@ export const useUserStore = defineStore('admin-user', {
56 62 resetState() {
57 63 this.permissions = []
58 64 this.roles = []
  65 + this.isSetUser = false
59 66 this.user = {
60 67 id: 0,
61 68 avatar: '',
... ...