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 }