123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- import { useUserStore } from '@/stores/modules/user'
- function authPermission(permission: any) {
- const all_permission = '*:*:*'
- const permissions = useUserStore().permissions
- if (permission && permission.length > 0) {
- return permissions.some(v => {
- return all_permission === v || v === permission
- })
- } else {
- return false
- }
- }
- function authRole(role: string) {
- const super_admin = 'admin'
- const roles = useUserStore().roles
- if (role && role.length > 0) {
- return roles.some(v => {
- return super_admin === v || v === role
- })
- } else {
- return false
- }
- }
- export default {
- // 验证用户是否具备某权限
- hasPermi(permission: any) {
- return authPermission(permission)
- },
- // 验证用户是否含有指定权限,只需包含其中一个
- hasPermiOr(permissions: any[]) {
- return permissions.some(item => {
- return authPermission(item)
- })
- },
- // 验证用户是否含有指定权限,必须全部拥有
- hasPermiAnd(permissions: any[]) {
- return permissions.every(item => {
- return authPermission(item)
- })
- },
- // 验证用户是否具备某角色
- hasRole(role: any) {
- return authRole(role)
- },
- // 验证用户是否含有指定角色,只需包含其中一个
- hasRoleOr(roles: any[]) {
- return roles.some(item => {
- return authRole(item)
- })
- },
- // 验证用户是否含有指定角色,必须全部拥有
- hasRoleAnd(roles: any[]) {
- return roles.every(item => {
- return authRole(item)
- })
- }
- }
|