diff --git a/Web/src/types/pinia.d.ts b/Web/src/types/pinia.d.ts index 4ab00dba..696b9119 100644 --- a/Web/src/types/pinia.d.ts +++ b/Web/src/types/pinia.d.ts @@ -6,7 +6,7 @@ declare interface UserInfos { authApiList: string[]; photo: string; - roles: string[]; + roles: T[]; time: number; userName: string; [key: string]: T; diff --git a/Web/src/utils/useInfo.ts b/Web/src/utils/useInfo.ts index 1dc5f9f5..e1baf837 100644 --- a/Web/src/utils/useInfo.ts +++ b/Web/src/utils/useInfo.ts @@ -113,6 +113,26 @@ export const posId = (): number => userInfos?.posId; */ export const posName = (): string => userInfos?.posName; +/** + * 获取角色集合 + * @returns 获取角色集合 + */ +export const roles = (): any => userInfos?.roles; + +/** + * 判断是否有指定角色编码 + * @param code + * @returns + */ +export const hasRoleCode = (code: string): boolean => { + return userInfos.roles.find((u) => u.code === code) ? true : false; +}; + +/** + * 判断是否有某接口权限 + * @param privilege + * @returns + */ export const hasPrivilege = (privilege: string): boolean => { return userInfos.authApiList.includes(privilege); };