fix:完善字典管理功能优化全局组件
This commit is contained in:
27
src/utils/permission.ts
Normal file
27
src/utils/permission.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
// 封装权限公用方法
|
||||
import { useUserStore } from "@/store";
|
||||
|
||||
|
||||
/**
|
||||
* 使用: import { usePermission } from "@/utils/permission";
|
||||
* 示例: const { checkPermission } = usePermission();
|
||||
* checkPermission('permission1') OR checkPermission(['permission1', 'permission2'])
|
||||
*
|
||||
* */
|
||||
export const usePermission = () => {
|
||||
const appStore = useUserStore();
|
||||
const checkPermission = (requiredPermissions: string | string[]):boolean => {
|
||||
// 通过接口获取到的用户权限数据
|
||||
const userPermissions = appStore.role;
|
||||
const permissionArray = Array.isArray(requiredPermissions) ? requiredPermissions : [requiredPermissions];
|
||||
|
||||
const hasPermission = permissionArray.some((permission) =>
|
||||
userPermissions.includes(permission)
|
||||
);
|
||||
|
||||
return hasPermission;
|
||||
};
|
||||
|
||||
return { checkPermission };
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user