Files
cloud-mail/mail-vue/src/directives/perm.js
2025-05-29 17:38:50 +08:00

22 lines
548 B
JavaScript

import { useUserStore } from "@/store/user.js";
export default {
mounted(el, binding) {
const userStore = useUserStore();
const permKeys = userStore.user.permKeys;
const value = binding.value;
if (permKeys.includes('*')) {
return;
}
const hasPermission = Array.isArray(value)
? value.some(key => permKeys.includes(key))
: permKeys.includes(value);
if (!hasPermission) {
el.parentNode && el.parentNode.removeChild(el);
}
}
}