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