diff --git a/src/enums/roleEnum.ts b/src/enums/roleEnum.ts index 857868d59a7641983b94cce622595738838732a3..f0d8f307aff05ae1215a2e8e2d4c3499e76095eb 100644 --- a/src/enums/roleEnum.ts +++ b/src/enums/roleEnum.ts @@ -1,7 +1,10 @@ -export enum RoleEnum { - // super admin - SUPER = 'super', +const RoleEnum = { + JS0000: ['super', 'supplier'], + JS0001: ['supplier'], +}; - // tester - TEST = 'test', -} +// const RoleNameEnum = { +// JS0000: '系统管理员', +// JS0001: '供应商', +// }; +export { RoleEnum }; diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index 26e6619324098b140a6093cc2792c03dec9f461c..5283d73fa0e70d478dfee259b9091a1cef6c52f2 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -20,7 +20,7 @@ import { h } from 'vue'; interface UserState { userInfo: GetUserInfoModel; token?: string; - roleList: RoleEnum[]; + roleList: []; sessionTimeout?: boolean; lastUpdateTime: number; } @@ -57,8 +57,8 @@ export const useUserStore = defineStore({ getTmallabToken(): string { return getAuthCache(TMALLAB_TOKEN_KEY); }, - getRoleList(): RoleEnum[] { - return this.roleList.length > 0 ? this.roleList : getAuthCache(ROLES_KEY); + getRoleList(): [] { + return this.roleList.length > 0 ? this.roleList : getAuthCache<[]>(ROLES_KEY); }, getSessionTimeout(): boolean { return !!this.sessionTimeout; @@ -75,7 +75,7 @@ export const useUserStore = defineStore({ setTmallabToken(info: string | undefined) { setAuthCache(TMALLAB_TOKEN_KEY, info); }, - setRoleList(roleList: RoleEnum[]) { + setRoleList(roleList: []) { this.roleList = roleList; setAuthCache(ROLES_KEY, roleList); }, @@ -155,8 +155,9 @@ export const useUserStore = defineStore({ } const { roles = [] } = userInfo; if (isArray(roles)) { - const roleList = roles.map((item) => item.value) as RoleEnum[]; - this.setRoleList(roleList); + const role = userInfo.roleNum; + const roleList = Array.from(RoleEnum[role]); + this.setRoleList(roleList as []); } else { userInfo.roles = []; this.setRoleList([]);