import { useUserStore } from '@/store/modules/user' function checkRolePermission(el, binding) { const userStore = useUserStore() const userRoles = userStore.getUserInfo.roles if (!userRoles?.length) { removeElement(el) return } const requiredRoles = Array.isArray(binding.value) ? binding.value : [binding.value] const hasPermission = requiredRoles.some((role) => userRoles.includes(role)) if (!hasPermission) { removeElement(el) } } function removeElement(el) { if (el.parentNode) { el.parentNode.removeChild(el) } } const rolesDirective = { mounted: checkRolePermission, updated: checkRolePermission } function setupRolesDirective(app) { app.directive('roles', rolesDirective) } export { setupRolesDirective }