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/hasRole.ts | 30 ++++++++++++++++++++++++++++++ 1 files changed, 30 insertions(+), 0 deletions(-) diff --git a/src/directive/permission/hasRole.ts b/src/directive/permission/hasRole.ts new file mode 100644 index 0000000..94a2b50 --- /dev/null +++ b/src/directive/permission/hasRole.ts @@ -0,0 +1,30 @@ +/** +* v-hasRole 瑙掕壊鏉冮檺澶勭悊 +* Copyright (c) 2019 ruoyi +*/ + +import useUserStore from '@/store/modules/user' +import type { Directive } from "vue"; +const vHasRole: Directive = { + mounted(el, binding, vnode) { + const { value } = binding + const super_admin = "admin"; + const roles = useUserStore().roles + + 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