From fe75cffbf3bae6777aa2794fd89fa5dc37f5df8d Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期二, 15 七月 2025 10:11:23 +0800 Subject: [PATCH] 项目初始化 --- src/directive/permission/hasPermi.ts | 30 ++++++++++++++++++++++++++++++ 1 files changed, 30 insertions(+), 0 deletions(-) diff --git a/src/directive/permission/hasPermi.ts b/src/directive/permission/hasPermi.ts new file mode 100644 index 0000000..efac852 --- /dev/null +++ b/src/directive/permission/hasPermi.ts @@ -0,0 +1,30 @@ +/** +* 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 -- Gitblit v1.9.3