¶Ô±ÈÐÂÎļþ |
| | |
| | | /** |
| | | * v-hasPermi æä½æéå¤ç |
| | | * Copyright (c) 2019 ruoyi |
| | | */ |
| | | |
| | | import useUserStore from '@/store/modules/user' |
| | | |
| | | import type { Directive } from "vue"; |
| | | const vHasPermi: Directive = { |
| | | mounted(el, binding, vnode) { |
| | | const { value } = binding |
| | | const all_permission = "*:*:*"; |
| | | const permissions = useUserStore().permissions |
| | | |
| | | if (value && value instanceof Array && value.length > 0) { |
| | | const permissionFlag = value |
| | | |
| | | const hasPermissions = permissions.some(permission => { |
| | | return all_permission === permission || permissionFlag.includes(permission) |
| | | }) |
| | | |
| | | if (!hasPermissions) { |
| | | el.parentNode && el.parentNode.removeChild(el) |
| | | } |
| | | } else { |
| | | throw new Error(`请设置æä½æéæ ç¾å¼`) |
| | | } |
| | | } |
| | | } |
| | | export default vHasPermi |