1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- import store from '@/store'
- /**
- * 字符权限校验
- * @param {Array} value 校验值
- * @returns {Boolean}
- */
- export function checkPermi(value) {
- if (value && value instanceof Array && value.length > 0) {
- const permissions = store.getters && store.getters.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) {
- if (value && value instanceof Array && value.length > 0) {
- const roles = store.getters && store.getters.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
- }
- }
- /**
- * 角色权限校验
- * @param {array} checkId 校验id
- * @returns {Boolean}
- */
- export function checkRoleById(checkId) {
- if (!checkId) return;
- const roles = store.getters && store.getters.permissions;
- let havePermission = false;
- for (let i in checkId) {
- havePermission = roles.includes(checkId[i])
- }
- if (!havePermission) {
- uni.showToast({
- title: "当前账户无该操作权限。",
- icon: "none",
- duration: 2000
- })
- }
- return havePermission
- }
|