From 83af3dd309889489f541fc8e21894c9f79e5788c Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期五, 22 八月 2025 16:09:58 +0800
Subject: [PATCH] 用户管理

---
 src/utils/auth.ts |   29 +++++++++++++++++++----------
 1 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/src/utils/auth.ts b/src/utils/auth.ts
index 65b67b0..2049238 100644
--- a/src/utils/auth.ts
+++ b/src/utils/auth.ts
@@ -2,6 +2,7 @@
 import { useUserStoreHook } from "@/store/modules/user";
 import { storageLocal, isString, isIncludeAllChildren } from "@pureadmin/utils";
 import type { nowRoleType } from "@/store/types";
+import type { LoginResult, RoleItem } from "@/api/types";
 
 export interface DataInfo<T> {
   /** token */
@@ -17,11 +18,12 @@
   /** 鏄电О */
   nickname?: string;
   /** 褰撳墠鐧诲綍鐢ㄦ埛鐨勮鑹插垪琛� */
-  exRoles?: Array<string>;
+  exRoles?: RoleItem[];
   /** 褰撳墠鐧诲綍鐢ㄦ埛鐨勮鑹� */
   roles?: Array<string>;
   /** 褰撳墠鐧诲綍鐢ㄦ埛鐨勬寜閽骇鍒潈闄� */
   permissions?: Array<string>;
+  isManager: boolean;
 }
 /**
  * AdminResult_CusExtendDto锛屽叏灞�杩斿洖缁撴灉
@@ -137,7 +139,7 @@
   /**
    * 浜ゆ槗涓讳綋 浠g爜 鍚岃鑹蹭唬鐮�
    */
-  transactionCode: string;
+  transactionCode?: string;
   /**
    * 浜ゆ槗涓讳綋鍚嶇О
    */
@@ -172,7 +174,7 @@
  * 灏哷accessToken`銆乣expires`銆乣refreshToken`杩欎笁鏉′俊鎭斁鍦╧ey鍊间负authorized-token鐨刢ookie閲岋紙杩囨湡鑷姩閿�姣侊級
  * 灏哷avatar`銆乣username`銆乣nickname`銆乣exRoles`銆乣permissions`銆乣refreshToken`銆乣expires`杩欎竷鏉′俊鎭斁鍦╧ey鍊间负`user-info`鐨刲ocalStorage閲岋紙鍒╃敤`multipleTabsKey`褰撴祻瑙堝櫒瀹屽叏鍏抽棴鍚庤嚜鍔ㄩ攢姣侊級
  */
-export function setToken(data: DataInfo<Date>) {
+export function setToken(data: LoginResult) {
   let expires = 0;
   const { accessToken, refreshToken } = data;
   const { isRemembered, loginDay } = useUserStoreHook();
@@ -201,7 +203,8 @@
     nickname,
     exRoles,
     permissions,
-    roles
+    roles,
+    isManager
   }) {
     useUserStoreHook().SET_AVATAR(avatar);
     useUserStoreHook().SET_USERNAME(username);
@@ -209,6 +212,7 @@
     useUserStoreHook().SET_EXROLES(exRoles);
     useUserStoreHook().SET_ROLES(roles);
     useUserStoreHook().SET_PERMS(permissions);
+    useUserStoreHook().SET_ISMANAGER(isManager);
     storageLocal().setItem(userKey, {
       refreshToken,
       expires,
@@ -217,19 +221,21 @@
       nickname,
       exRoles,
       roles,
-      permissions
+      permissions,
+      isManager
     });
   }
 
   if (data.exRoles && data.roles) {
-    const { username, exRoles, roles } = data;
+    const { username, exRoles, roles, isManager } = data;
     setUserKey({
       avatar: data?.avatar ?? "",
       username,
       nickname: data?.nickname ?? "",
       exRoles,
       roles,
-      permissions: data?.permissions ?? []
+      permissions: data?.permissions ?? [],
+      isManager
     });
   } else {
     const avatar =
@@ -244,13 +250,16 @@
       storageLocal().getItem<DataInfo<number>>(userKey)?.roles ?? [];
     const permissions =
       storageLocal().getItem<DataInfo<number>>(userKey)?.permissions ?? [];
+    const isManager =
+      storageLocal().getItem<DataInfo<number>>(userKey)?.isManager ?? false;
     setUserKey({
       avatar,
       username,
       nickname,
       exRoles,
       roles,
-      permissions
+      permissions,
+      isManager
     });
   }
 }
@@ -264,7 +273,7 @@
   storageLocal().setItem(userKey, obj);
 }
 
-export function setRoleListInfo(data: DataInfo<string>) {
+export function setRoleListInfo(data: RoleItem[]) {
   useUserStoreHook().SET_EXROLES_LIST(data);
   storageLocal().setItem("rolesList", data);
 }
@@ -275,7 +284,7 @@
     const obj = list.find(item => {
       return item.code == data.code;
     });
-    data = { ...obj, ...data };
+    data = Object.assign(obj, data);
   }
   useUserStoreHook().SET_ROLES([data.name]);
   useUserStoreHook().SET_NOW_ROLE(data);

--
Gitblit v1.9.1