From 61a2db936dcbc3d5aebe8ff850bcaab76e3b3785 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期一, 15 六月 2026 11:09:18 +0800
Subject: [PATCH] 合并恢复

---
 src/directive/permission/hasRole.ts |   31 +++++++++++++++++++++++++++----
 1 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/src/directive/permission/hasRole.ts b/src/directive/permission/hasRole.ts
index d4a5cc7..94a2b50 100644
--- a/src/directive/permission/hasRole.ts
+++ b/src/directive/permission/hasRole.ts
@@ -1,7 +1,30 @@
+/**
+* v-hasRole 瑙掕壊鏉冮檺澶勭悊
+* Copyright (c) 2019 ruoyi
+*/
+
+import useUserStore from '@/store/modules/user'
 import type { Directive } from "vue";
-
 const vHasRole: Directive = {
-  mounted() {}
-};
+  mounted(el, binding, vnode) {
+    const { value } = binding
+    const super_admin = "admin";
+    const roles = useUserStore().roles
 
-export default vHasRole;
+    if (value && value instanceof Array && value.length > 0) {
+      const roleFlag = value
+
+      const hasRole = roles.some(role => {
+        return super_admin === role || roleFlag.includes(role)
+      })
+
+      if (!hasRole) {
+        el.parentNode && el.parentNode.removeChild(el)
+      }
+    } else {
+      throw new Error(`璇疯缃鑹叉潈闄愭爣绛惧�糮)
+    }
+  }
+}
+
+export default vHasRole;
\ No newline at end of file

--
Gitblit v1.9.3