| import { DirectiveBinding } from 'vue'; | 
| import { useUserStore } from '@/store'; | 
| import { getUserResources } from "@/utils/auth"; | 
|   | 
| function hasPermissionDirective(el: HTMLElement, binding: DirectiveBinding) { | 
|   | 
|   // 获取用户权限 | 
|   const userStore = useUserStore(); | 
|   const roleData = JSON.parse( getUserResources()) | 
|   const roleBtn = roleData.map((item: any) => item.component) | 
|   const permission = binding.value as string; | 
|   | 
|     if (!roleBtn.includes(permission)) { | 
|       el.style.display = 'none'; | 
|     } | 
| } | 
|   | 
|   | 
|   | 
| export default { | 
|   mounted(el: HTMLElement, binding: DirectiveBinding) { | 
|    | 
|     hasPermissionDirective(el, binding); | 
|   }, | 
|   updated(el: HTMLElement, binding: DirectiveBinding) { | 
|     | 
|     hasPermissionDirective(el, binding); | 
|   }, | 
| }; |