Procházet zdrojové kódy

fix: 修复登录成功后用户信息没保存成功的bug

BaiLuoYan před 4 dny
rodič
revize
948297e4e3

+ 2 - 2
src/app.tsx

@@ -2,6 +2,7 @@ import bg1Layout from '@/assets/images/lay-bg1.webp';
 import bg2Layout from '@/assets/images/lay-bg2.webp';
 import bg3Layout from '@/assets/images/lay-bg3.webp';
 import { AvatarDropdown, AvatarName, Footer, Icon, SelectLang } from '@/components';
+import { secureLocalStorage as ls } from '@/utils/localUtils';
 import { Settings as LayoutSettings } from '@ant-design/pro-components';
 import mcLogoSvg from '@svgs/multi-color/mc-logo.svg';
 import type { RequestConfig, RuntimeConfig, RunTimeLayoutConfig } from '@umijs/max';
@@ -15,7 +16,6 @@ import VersionChecker from './components/VersionChecker';
 import { requestConfig } from './requestConfig';
 import { AntdAppInstanceCapture } from './utils/antdAppInstance';
 import { userKey } from './utils/authUtils';
-import { createLocalTools } from './utils/localUtils';
 import { loginPath, toLoginPage } from './utils/routerUtils';
 
 dayjs.extend(utc);
@@ -70,7 +70,7 @@ export async function getInitialState(): Promise<{
 }> {
   const fetchUserInfo = () => {
     return new Promise<API.UserInfo | null>((resolve) => {
-      const userInfo = createLocalTools().getLocal<API.UserInfo>(userKey);
+      const userInfo = ls.getLocal<API.UserInfo>(userKey);
       resolve(userInfo);
     });
   };

+ 2 - 1
src/pages/Sys/Login/hooks/useLoginForm.ts

@@ -36,7 +36,8 @@ export const useLoginForm = ({
   };
 
   const handleLoginSuccess = async (res: API.LoginResult) => {
-    setToken(res.data!);
+    const { accessToken, refreshToken, expires, userInfo } = res.data!;
+    setToken({ accessToken, refreshToken, expires, ...userInfo });
     message.success(intl.formatMessage({ id: 'pages.login.success' }));
     await fetchUserInfo();
     setTimeout(() => {

+ 3 - 3
src/pages/Sys/UserInfo/index.tsx

@@ -2,7 +2,7 @@ import { postForm } from '@/request';
 import * as api from '@/services/login';
 import { message } from '@/utils/antdAppInstance';
 import { userKey } from '@/utils/authUtils';
-import { createLocalTools } from '@/utils/localUtils';
+import { secureLocalStorage as ls } from '@/utils/localUtils';
 import {
   CloseOutlined,
   EditOutlined,
@@ -78,12 +78,12 @@ const UserInfo: React.FC = () => {
           },
         }));
 
-        const localUserInfo = createLocalTools().getLocal<API.UserInfo>(userKey);
+        const localUserInfo = ls.getLocal<API.UserInfo>(userKey);
         const newUserInfo = {
           ...localUserInfo,
           ...values,
         };
-        createLocalTools().setLocal<API.UserInfo>(userKey, newUserInfo);
+        ls.setLocal<API.UserInfo>(userKey, newUserInfo);
         setUserInfo(newUserInfo);
       } else {
         message.error(result.errorMessage || '修改失败');