From 153404ffa0a9c6d23d2c2732b46fa6929e86294f Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 18 六月 2025 13:56:18 +0800
Subject: [PATCH] 111

---
 admin/src/directives/v-permissions.js |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/admin/src/directives/v-permissions.js b/admin/src/directives/v-permissions.js
new file mode 100644
index 0000000..c96efda
--- /dev/null
+++ b/admin/src/directives/v-permissions.js
@@ -0,0 +1,22 @@
+export default {
+  inserted: function (el, binding, vnode) {
+    // 鑾峰彇鐢ㄦ埛淇℃伅
+    const userInfo = vnode.context.$store.state.userInfo
+    if (userInfo == null) {
+      el.parentNode && el.parentNode.removeChild(el)
+      return
+    }
+    // 鑾峰彇閰嶇疆鏉冮檺
+    const configPermissions = binding.value
+    if (configPermissions == null) {
+      return
+    }
+    if (!(configPermissions instanceof Array)) {
+      throw new Error('v-permissions鐨勫�煎繀椤讳负涓�涓暟缁�')
+    }
+    // 楠岃瘉鏉冮檺
+    if (configPermissions.findIndex(code => userInfo.permissions.findIndex(p => p === code) > -1) === -1) {
+      el.parentNode && el.parentNode.removeChild(el)
+    }
+  }
+}

--
Gitblit v1.9.3