// 封装权限公用方法 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 isSkipCheck = requiredPermissions === "*" || (permissionArray && permissionArray.includes("*")); if (isSkipCheck) {return true;} const hasPermission = permissionArray.some((permission) => userPermissions.includes(permission) ); return hasPermission; }; return { checkPermission }; };