permission.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import store from '@/store';
  2. export function hasPerimission(value) {
  3. const all_permission = '*:*:*';
  4. const permissions = (store.getters && store.getters.userPermissions) || [];
  5. const currentValue = typeof value === 'string' ? [value] : value;
  6. if (currentValue && currentValue instanceof Array) {
  7. const permissionFlag = currentValue;
  8. const hasPermissions = permissions.some((permission) => {
  9. return (
  10. permission === all_permission || permissionFlag.includes(permission)
  11. );
  12. });
  13. if (hasPermissions) {
  14. return true;
  15. }
  16. } else {
  17. throw new Error(`请设置操作权限标签值`);
  18. }
  19. return false;
  20. }
  21. export function hasRole(value) {
  22. const permissions = store.getters && store.getters.userRoles;
  23. const currentValue = typeof value === 'string' ? [value] : value;
  24. if (
  25. currentValue &&
  26. currentValue instanceof Array &&
  27. currentValue.length > 0
  28. ) {
  29. const permissionFlag = currentValue;
  30. const hasPermissions = permissions.some((permission) => {
  31. return permissionFlag.includes(permission);
  32. });
  33. if (hasPermissions) {
  34. return true;
  35. }
  36. } else {
  37. throw new Error(`请设置角色`);
  38. }
  39. return false;
  40. }