ruoyi-geek-App/utils/permission.ts

51 lines
1.3 KiB
TypeScript
Raw Normal View History

2025-11-24 14:57:53 +00:00
import useUserStore from '@/store/modules/user'
/**
*
* @param {Array} value
* @returns {Boolean}
*/
export function checkPermi(value:Array<string>) {
if (value && value instanceof Array && value.length > 0) {
const permissions:Array<string> = useUserStore().permissions
const permissionDatas = value
const all_permission = "*:*:*"
const hasPermission = permissions.some(permission => {
return all_permission === permission || permissionDatas.includes(permission)
})
if (!hasPermission) {
return false
}
return true
} else {
console.error(`need roles! Like checkPermi="['system:user:add','system:user:edit']"`)
return false
}
}
/**
*
* @param {Array} value
* @returns {Boolean}
*/
export function checkRole(value:Array<string>) {
if (value && value instanceof Array && value.length > 0) {
const roles:Array<string> = useUserStore().roles
const permissionRoles = value
const super_admin = "admin"
const hasRole = roles.some(role => {
return super_admin === role || permissionRoles.includes(role)
})
if (!hasRole) {
return false
}
return true
} else {
console.error(`need roles! Like checkRole="['admin','editor']"`)
return false
}
}