hasPermi.js 685 B

123456789101112131415161718192021222324252627
  1. /**
  2. * v-hasPermi 操作权限处理
  3. */
  4. import store from '@/store'
  5. export default {
  6. inserted(el, binding, vnode) {
  7. const { value } = binding
  8. const all_permission = "*:*:*";
  9. const permissions = store.getters && store.getters.permissions
  10. if (value && value instanceof Array && value.length > 0) {
  11. const permissionFlag = value
  12. const hasPermissions = permissions.some(permission => {
  13. return all_permission === permission || permissionFlag.includes(permission)
  14. })
  15. if (!hasPermissions) {
  16. el.parentNode && el.parentNode.removeChild(el)
  17. }
  18. } else {
  19. throw new Error(`请设置操作权限标签值`)
  20. }
  21. }
  22. }