import { useAuthStore } from '@/lib/stores/auth-store'; /** * 权限检查 Hook */ export function usePermission() { const { user } = useAuthStore(); /** * 检查用户是否有指定权限 */ const hasPermission = (permission: string): boolean => { if (!user) return false; return user.permissions?.includes(permission) ?? false; }; /** * 检查用户是否有指定角色 */ const hasRole = (role: string): boolean => { if (!user) return false; return user.role === role; }; /** * 检查用户是否有任一权限 */ const hasAnyPermission = (permissions: string[]): boolean => { if (!user) return false; return permissions.some((permission) => hasPermission(permission)); }; /** * 检查用户是否拥有所有权限 */ const hasAllPermissions = (permissions: string[]): boolean => { if (!user) return false; return permissions.every((permission) => hasPermission(permission)); }; return { hasPermission, hasRole, hasAnyPermission, hasAllPermissions, }; } export default usePermission;