permission.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import store from '@/store'
  2. /**
  3. * 字符权限校验
  4. * @param {Array} value 校验值
  5. * @returns {Boolean}
  6. */
  7. export function checkPermi(value) {
  8. if (value && value instanceof Array && value.length > 0) {
  9. const permissions = store.getters && store.getters.permissions
  10. const permissionDatas = value
  11. const all_permission = "*:*:*"
  12. const hasPermission = permissions.some(permission => {
  13. return all_permission === permission || permissionDatas.includes(permission)
  14. })
  15. return hasPermission
  16. } else {
  17. console.error(`need roles! Like checkPermi="['system:user:add','system:user:edit']"`)
  18. return false
  19. }
  20. }
  21. /**
  22. * 角色权限校验
  23. * @param {Array} value 校验值
  24. * @returns {Boolean}
  25. */
  26. export function checkRole(value) {
  27. if (value && value instanceof Array && value.length > 0) {
  28. const roles = store.getters && store.getters.roles
  29. const permissionRoles = value
  30. const super_admin = "admin"
  31. const hasRole = roles.some(role => {
  32. return super_admin === role || permissionRoles.includes(role)
  33. })
  34. return hasRole
  35. } else {
  36. console.error(`need roles! Like checkRole="['admin','editor']"`)
  37. return false
  38. }
  39. }