From d30a31e7c2a9acd08da8983e42e6fdf014707a04 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 26 九月 2025 15:39:47 +0800
Subject: [PATCH] 打包修改
---
src/plugins/auth.ts | 83 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 83 insertions(+), 0 deletions(-)
diff --git a/src/plugins/auth.ts b/src/plugins/auth.ts
new file mode 100644
index 0000000..ebf8bf4
--- /dev/null
+++ b/src/plugins/auth.ts
@@ -0,0 +1,83 @@
+import useUserStore from "@/store/modules/user";
+function authPermission(permission: string): boolean {
+ const all_permission = "*:*:*";
+ const permissions: Array<string> = useUserStore().permissions;
+ if (permission && permission.length > 0) {
+ return permissions.some((v) => {
+ return all_permission === v || v === permission;
+ });
+ } else {
+ return false;
+ }
+}
+
+function authRole(role: string): boolean {
+ const super_admin = "admin";
+ const roles: Array<string> = useUserStore().roles;
+ if (role && role.length > 0) {
+ return roles.some((v) => {
+ return super_admin === v || v === role;
+ });
+ } else {
+ return false;
+ }
+}
+
+export default {
+ /**
+ * 楠岃瘉鐢ㄦ埛鏄惁鍏峰鏌愭潈闄�
+ * @param permission 鏉冮檺绗�
+ * @returns
+ */
+ hasPermi(permission: string): boolean {
+ return authPermission(permission);
+ },
+ /**
+ * 楠岃瘉鐢ㄦ埛鏄惁鍚湁鎸囧畾鏉冮檺锛屽彧闇�鍖呭惈鍏朵腑涓�涓�
+ * @param permissions 鏉冮檺绗︽暟缁�
+ * @returns
+ */
+ hasPermiOr(permissions: Array<string>): boolean {
+ return permissions.some((item) => {
+ return authPermission(item);
+ });
+ },
+ /**
+ * 楠岃瘉鐢ㄦ埛鏄惁鍚湁鎸囧畾鏉冮檺锛屽繀椤诲叏閮ㄦ嫢鏈�
+ * @param permissions 鏉冮檺绗︽暟缁�
+ * @returns
+ */
+ hasPermiAnd(permissions: Array<string>): boolean {
+ return permissions.every((item) => {
+ return authPermission(item);
+ });
+ },
+ /**
+ * 楠岃瘉鐢ㄦ埛鏄惁鍏峰鏌愯鑹�
+ * @param role 瑙掕壊
+ * @returns
+ */
+ hasRole(role: string): boolean {
+ return authRole(role);
+ },
+ /**
+ * 楠岃瘉鐢ㄦ埛鏄惁鍚湁鎸囧畾瑙掕壊锛屽彧闇�鍖呭惈鍏朵腑涓�涓�
+ * @param roles 瑙掕壊鏁扮粍
+ * @returns
+ */
+ hasRoleOr(roles: Array<string>): boolean {
+ return roles.some((item) => {
+ return authRole(item);
+ });
+ },
+ /**
+ * 楠岃瘉鐢ㄦ埛鏄惁鍚湁鎸囧畾瑙掕壊锛屽繀椤诲叏閮ㄦ嫢鏈�
+ * @param roles 瑙掕壊鏁扮粍
+ * @returns
+ */
+ hasRoleAnd(roles: Array<string>): boolean {
+ return roles.every((item) => {
+ return authRole(item);
+ });
+ },
+};
--
Gitblit v1.9.3