mirror of
https://github.com/chansee97/nova-admin.git
synced 2025-11-21 00:32:18 +08:00
29 lines
597 B
TypeScript
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,
|
|
}
|
|
}
|