hasRole.js 749 B

12345678910111213141516171819202122232425262728
  1. /**
  2. * 角色权限处理
  3. * Copyright (c) 2019 ruoyi
  4. */
  5. import store from '@/store'
  6. export default {
  7. inserted(el, binding, vnode) {
  8. const { value } = binding
  9. const super_admin = "admin";
  10. const roles = store.getters && store.getters.roles // 用户拥有的角色标识的数组
  11. if (value && value instanceof Array && value.length > 0) {
  12. // 判断是否有角色
  13. const roleFlag = value
  14. const hasRole = roles.some(role => {
  15. return super_admin === role || roleFlag.includes(role)
  16. })
  17. // 如果没有角色,则移除元素
  18. if (!hasRole) {
  19. el.parentNode && el.parentNode.removeChild(el)
  20. }
  21. } else {
  22. throw new Error(`请设置角色权限标签值"`)
  23. }
  24. }
  25. }