支持联测

Change-Id: I6a18516906a6682bb956d23139a0467eababe113
diff --git a/scripts/webpack.dev.js b/scripts/webpack.dev.js
index eeb400a..02ab5b6 100644
--- a/scripts/webpack.dev.js
+++ b/scripts/webpack.dev.js
@@ -7,7 +7,7 @@
   devServer: {
     historyApiFallback: true, 
 	  open: true, // 编译完自动打开浏览器
-    port: 8080,
+    port: 8081,
   },
   plugins: [
     new webpack.DefinePlugin({
diff --git a/src/components/selfStatus/selfStatus.tsx b/src/components/selfStatus/selfStatus.tsx
index 61d3f4e..c7ea79d 100644
--- a/src/components/selfStatus/selfStatus.tsx
+++ b/src/components/selfStatus/selfStatus.tsx
@@ -1,4 +1,4 @@
-import React, { useEffect } from "react";
+import React, { useEffect, useRef } from "react";
 import { useAppSelector } from "../../hooks/store";
 import style from "./style.module.css"
 import { useApi } from "@/hooks/request";
@@ -24,17 +24,13 @@
     const avatar = useAppSelector(state => state.user.avatar);
     const dispatch = useAppDispatch();
     const { data, refresh } = useApi(() => request.get(getUserInfo), false);
+    const dataRef = useRef(data);
     useEffect(() => {
-        if (avatar.length === 0) {
-            refresh(); // 触发 API 请求
-        }
-    }, [avatar, refresh]);
-
-    useEffect(() => {
+        refresh();
         if (data) {
             dispatch({ type: "user/getUserInfo", payload: data });
         }
-    }, [data, dispatch]);
+    }, [dataRef, dispatch]);
 
     function handleAvatarClick(){
         nav('/homepage')
diff --git a/src/store/userReducer.ts b/src/store/userReducer.ts
index b677263..ab065b7 100644
--- a/src/store/userReducer.ts
+++ b/src/store/userReducer.ts
@@ -29,6 +29,7 @@
     initialState,
     reducers: {
         login: (state, action) => {
+            console.log(action.payload)
             localStorage.setItem('token', action.payload.token);
             state.isLogin = true;
         },
diff --git a/src/utils/axios.ts b/src/utils/axios.ts
index 3c9c122..bb44c82 100644
--- a/src/utils/axios.ts
+++ b/src/utils/axios.ts
@@ -30,13 +30,14 @@
     (response) => {
       // 统一处理响应数据格式
       if (response.status === 200) {
-        return response.data
+        return response.data.data
       }
       return Promise.reject(response.data)
     },
     (error) => {
       if(error.status===401){
-       // window.location.href = '/login';
+        localStorage.removeItem('token');
+        // window.location.href = '/login';
       }
       // 统一错误处理
       console.error('API Error:', error.response?.status, error.message)