From 78921416615f450f4cc29ec4f740fbf1b47d8b00 Mon Sep 17 00:00:00 2001 From: zhangwei <1504152376@qq.com> Date: 星期二, 19 八月 2025 17:18:28 +0800 Subject: [PATCH] 注册登录更改 --- src/utils/auth.ts | 35 ++++++++++++++++++++++++++--------- 1 files changed, 26 insertions(+), 9 deletions(-) diff --git a/src/utils/auth.ts b/src/utils/auth.ts index d4646a5..69ae036 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 */ @@ -16,8 +17,10 @@ username?: string; /** 鏄电О */ nickname?: string; - /** 褰撳墠鐧诲綍鐢ㄦ埛鐨勮鑹� */ + /** 褰撳墠鐧诲綍鐢ㄦ埛鐨勮鑹插垪琛� */ exRoles?: Array<string>; + /** 褰撳墠鐧诲綍鐢ㄦ埛鐨勮鑹� */ + roles?: Array<string>; /** 褰撳墠鐧诲綍鐢ㄦ埛鐨勬寜閽骇鍒潈闄� */ permissions?: Array<string>; } @@ -170,7 +173,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(); @@ -193,11 +196,19 @@ : {} ); - function setUserKey({ avatar, username, nickname, exRoles, permissions }) { + function setUserKey({ + avatar, + username, + nickname, + exRoles, + permissions, + roles + }) { useUserStoreHook().SET_AVATAR(avatar); useUserStoreHook().SET_USERNAME(username); useUserStoreHook().SET_NICKNAME(nickname); - useUserStoreHook().SET_ROLES(exRoles); + useUserStoreHook().SET_EXROLES(exRoles); + useUserStoreHook().SET_ROLES(roles); useUserStoreHook().SET_PERMS(permissions); storageLocal().setItem(userKey, { refreshToken, @@ -206,17 +217,19 @@ username, nickname, exRoles, + roles, permissions }); } - if (data.exRoles) { - const { username, exRoles } = data; + if (data.exRoles && data.roles) { + const { username, exRoles, roles } = data; setUserKey({ avatar: data?.avatar ?? "", username, nickname: data?.nickname ?? "", exRoles, + roles, permissions: data?.permissions ?? [] }); } else { @@ -228,6 +241,8 @@ storageLocal().getItem<DataInfo<number>>(userKey)?.nickname ?? ""; const exRoles = storageLocal().getItem<DataInfo<number>>(userKey)?.exRoles ?? []; + const roles = + storageLocal().getItem<DataInfo<number>>(userKey)?.roles ?? []; const permissions = storageLocal().getItem<DataInfo<number>>(userKey)?.permissions ?? []; setUserKey({ @@ -235,6 +250,7 @@ username, nickname, exRoles, + roles, permissions }); } @@ -249,8 +265,8 @@ storageLocal().setItem(userKey, obj); } -export function setRoleListInfo(data: DataInfo<string>) { - useUserStoreHook().SET_ROLES_LIST(data); +export function setRoleListInfo(data: RoleItem[]) { + useUserStoreHook().SET_EXROLES_LIST(data); storageLocal().setItem("rolesList", data); } @@ -260,8 +276,9 @@ 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); storageLocal().setItem("nowRole", data); } -- Gitblit v1.9.1