permission.js 688 B

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