import store from '@/store'
function authPermission(permission) {
const all_permission = "*:*:*";
const permissions = store.getters && store.getters.permissions
if (permission && permission.length > 0) {
return permissions.some(v => {
return all_permission === v || v === permission
})
} else {
return false
}
}
function authRole(role) {
const super_admin = "admin";
const roles = store.getters && store.getters.roles
if (role && role.length > 0) {
return roles.some(v => {
return super_admin === v || v === role
})
} else {
return false
}
}
export default {
// 验è¯ç”¨æˆ·æ˜¯å¦å…·å¤‡æŸæƒé™
hasPermi(permission) {
return authPermission(permission);
},
// 验è¯ç”¨æˆ·æ˜¯å¦å«æœ‰æŒ‡å®šæƒé™ï¼Œåªéœ€åŒ…å«å…¶ä¸ä¸€ä¸ª
hasPermiOr(permissions) {
return permissions.some(item => {
return authPermission(item)
})
},
// 验è¯ç”¨æˆ·æ˜¯å¦å«æœ‰æŒ‡å®šæƒé™ï¼Œå¿…须全部拥有
hasPermiAnd(permissions) {
return permissions.every(item => {
return authPermission(item)
})
},
// 验è¯ç”¨æˆ·æ˜¯å¦å…·å¤‡æŸè§’色
hasRole(role) {
return authRole(role);
},
// 验è¯ç”¨æˆ·æ˜¯å¦å«æœ‰æŒ‡å®šè§’色,åªéœ€åŒ…å«å…¶ä¸ä¸€ä¸ª
hasRoleOr(roles) {
return roles.some(item => {
return authRole(item)
})
},
// 验è¯ç”¨æˆ·æ˜¯å¦å«æœ‰æŒ‡å®šè§’色,必须全部拥有
hasRoleAnd(roles) {
return roles.every(item => {
return authRole(item)
})
}
}