/** * usePermissionCheck Hook * * 提供统一的权限检查功能,避免重复的权限检查逻辑 * 适配版:支持外部传入 access 对象或使用默认的全部允许策略 */ import { PermissionConfig } from './types'; interface PermissionCheckResult { /** 是否有查看权限 */ canView: boolean; /** 是否有创建权限 */ canCreate: boolean; /** 是否有更新权限 */ canUpdate: boolean; /** 是否有删除权限 */ canDelete: boolean; /** 是否有导入权限 */ canImport: boolean; /** 是否有导出权限 */ canExport: boolean; /** 检查特定权限 */ hasPermission: (permission?: string) => boolean; /** 检查多个权限(需要全部满足) */ hasAllPermissions: (...permissions: (string | undefined)[]) => boolean; /** 检查多个权限(满足任一即可) */ hasAnyPermission: (...permissions: (string | undefined)[]) => boolean; } /** * 权限检查 Hook * @param permissions 权限配置对象(可选) * @param access 可选的 access 对象(如果不传入,默认全部允许) * @returns 权限检查结果 */ export declare function usePermissionCheck(permissions?: PermissionConfig, access?: Record): PermissionCheckResult; /** * 权限检查工具类 * 用于非 Hook 场景下的权限检查 */ export declare class PermissionChecker { private access; constructor(access: Record); /** * 检查单个权限 */ hasPermission(permission?: string): boolean; /** * 检查多个权限(需要全部满足) */ hasAllPermissions(...permissions: (string | undefined)[]): boolean; /** * 检查多个权限(满足任一即可) */ hasAnyPermission(...permissions: (string | undefined)[]): boolean; /** * 检查权限配置对象 */ checkConfig(config: PermissionConfig): { canView: boolean; canCreate: boolean; canUpdate: boolean; canDelete: boolean; canImport: boolean; canExport: boolean; }; } export default usePermissionCheck;