check.js 969 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import store from '@/store';
  2. /**
  3. * 获取用户权限节点
  4. * @returns {*}
  5. */
  6. export function getUserAccess() {
  7. return store.state.access.custom
  8. }
  9. /**
  10. * 获取用户数据域权限
  11. * @returns {*}
  12. */
  13. export function getDataField() {
  14. return store.state.access.dataField
  15. }
  16. /**
  17. * 是否超级管理员
  18. * @returns {boolean}
  19. */
  20. export function isSuperAdmin() {
  21. return store.state.access.isAdministrator
  22. }
  23. /**
  24. * 检查操作权限
  25. * @param role
  26. * @returns {boolean}
  27. */
  28. export function checkActionAccess(role) {
  29. if (isSuperAdmin()) {
  30. return true;
  31. }
  32. if (role === undefined) {
  33. return true;
  34. }
  35. const roles = getUserAccess();
  36. return checkAccess(role, roles);
  37. }
  38. /**
  39. * 检查权限
  40. * @param role
  41. * @param rolescheckRouterAccess
  42. * @returns {boolean}
  43. */
  44. export function checkAccess(role, roles = []) {
  45. let isCheck = false;
  46. for (let i in roles) {
  47. const item = roles[i];
  48. if (item === role) {
  49. isCheck = true;
  50. break;
  51. }
  52. }
  53. return isCheck;
  54. }