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