permission.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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 hasPermission = permissions.some(permission => {
  12. return permissionDatas.includes(permission)
  13. })
  14. if (!hasPermission) {
  15. return false
  16. }
  17. return true
  18. } else {
  19. console.error(`need roles! Like checkPermi="['system:user:add','system:user:edit']"`)
  20. return false
  21. }
  22. }
  23. /**
  24. * 角色权限校验
  25. * @param {Array} value 校验值
  26. * @returns {Boolean}
  27. */
  28. export function checkRole(value) {
  29. if (value && value instanceof Array && value.length > 0) {
  30. const roles = store.getters && store.getters.roles
  31. const permissionRoles = value
  32. const hasRole = roles.some(role => {
  33. return permissionRoles.includes(role)
  34. })
  35. if (!hasRole) {
  36. return false
  37. }
  38. return true
  39. } else {
  40. console.error(`need roles! Like checkRole="['admin','editor']"`)
  41. return false
  42. }
  43. }