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)
