|
@@ -14,6 +14,7 @@ import { router } from '/@/router';
|
|
|
import { usePermissionStore } from '/@/store/modules/permission';
|
|
|
import { RouteRecordRaw } from 'vue-router';
|
|
|
import { PAGE_NOT_FOUND_ROUTE } from '/@/router/routes/basic';
|
|
|
+import { isArray } from '/@/utils/is';
|
|
|
|
|
|
interface UserState {
|
|
|
userInfo: Nullable<UserInfo>;
|
|
@@ -118,10 +119,15 @@ export const useUserStore = defineStore({
|
|
|
},
|
|
|
async getUserInfoAction(): Promise<UserInfo> {
|
|
|
const userInfo = await getUserInfo();
|
|
|
- const { roles } = userInfo;
|
|
|
- const roleList = roles.map((item) => item.value) as RoleEnum[];
|
|
|
+ const { roles = [] } = userInfo;
|
|
|
+ if (isArray(roles)) {
|
|
|
+ const roleList = roles.map((item) => item.value) as RoleEnum[];
|
|
|
+ this.setRoleList(roleList);
|
|
|
+ } else {
|
|
|
+ userInfo.roles = [];
|
|
|
+ this.setRoleList([]);
|
|
|
+ }
|
|
|
this.setUserInfo(userInfo);
|
|
|
- this.setRoleList(roleList);
|
|
|
return userInfo;
|
|
|
},
|
|
|
/**
|