From 90ed04aa8fe02dc26b3ea39bc4dc56abb60caf67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8C=BF=E5=B0=8F=E5=A4=A9?= <1638245306@qq.com> Date: Fri, 10 Feb 2023 23:20:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=8F=98=E5=8C=96:=20?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E6=9D=83=E9=99=90=E7=AE=A1=E6=8E=A7=E5=AE=8C?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/permission/directive.permission.ts | 10 ++++++++++ web/src/plugin/permission/func.permission.ts | 17 +++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 web/src/plugin/permission/directive.permission.ts create mode 100644 web/src/plugin/permission/func.permission.ts diff --git a/web/src/plugin/permission/directive.permission.ts b/web/src/plugin/permission/directive.permission.ts new file mode 100644 index 0000000..032e5aa --- /dev/null +++ b/web/src/plugin/permission/directive.permission.ts @@ -0,0 +1,10 @@ +import permissionUtil from './func.permission' +export default { + mounted (el:any, binding:any) { + const { value } = binding + const hasPermission = permissionUtil.hasPermissions(value) + if (!hasPermission) { + el.parentNode && el.parentNode.removeChild(el) + } + } +} diff --git a/web/src/plugin/permission/func.permission.ts b/web/src/plugin/permission/func.permission.ts new file mode 100644 index 0000000..77911fa --- /dev/null +++ b/web/src/plugin/permission/func.permission.ts @@ -0,0 +1,17 @@ +import XEUtils from 'xe-utils' +import {BtnPermissionStore} from "/@/plugin/permission/store.permission"; + +export default { + hasPermissions (value:string | string[]) { + const BtnPermission = BtnPermissionStore().data + if (import.meta.env.VITE_PM_ENABLED) { + if(value instanceof Array){ + return XEUtils.includeArrays(BtnPermission, value) + }else if(typeof value === 'string'){ + const index = XEUtils.arrayIndexOf(BtnPermission, value) + return index>0?true:false + } + } + return true + } +}