nova-admin/src/hooks/usePermission.ts
2025-09-03 17:36:15 +08:00

29 lines
597 B
TypeScript

import { useAuthStore } from '@/store'
/** 权限判断 */
export function usePermission() {
const authStore = useAuthStore()
function hasPermission(
permissions?: string | string[],
) {
if (!permissions)
return true
// 全部权限
if (permissions === '*:*:*')
return true
const { permissions: userPermissions } = authStore
// 确保 permissions 是数组
const permissionArray = Array.isArray(permissions) ? permissions : [permissions]
return permissionArray.some(i => userPermissions.includes(i))
}
return {
hasPermission,
}
}