diff --git a/src/features/auth/contexts/AuthContext.jsx b/src/features/auth/contexts/AuthContext.jsx
index 3c53c9c..5b59e68 100644
--- a/src/features/auth/contexts/AuthContext.jsx
+++ b/src/features/auth/contexts/AuthContext.jsx
@@ -6,6 +6,7 @@
   useCallback,
 } from "react";
 import { userLogin, registerUser, logoutUser, adminLogin as adminLoginAPI } from "@/api/auth";
+import { getUserInfo } from "@/api/user";
 import { message } from "antd";
 import { useNavigate } from "react-router-dom"; // 导入 useNavigate
 
@@ -173,6 +174,34 @@
     [user]
   );
 
+  // 更新用户信息的方法
+  const updateUserInfo = useCallback(async (username) => {
+    try {
+      const response = await getUserInfo(username || user?.username);
+      
+      if (response && response.data) {
+        const updatedUserData = {
+          ...user,
+          ...response.data
+        };
+        
+        // 更新localStorage和state
+        localStorage.setItem("user", JSON.stringify(updatedUserData));
+        setUser(updatedUserData);
+        
+        console.log('用户信息已更新:', updatedUserData);
+        return updatedUserData;
+      } else {
+        console.error('获取用户信息失败：响应数据格式错误');
+        return null;
+      }
+    } catch (error) {
+      console.error('更新用户信息失败:', error);
+      message.error('更新用户信息失败: ' + (error.message || '网络错误'));
+      return null;
+    }
+  }, [user]);
+
   const value = {
     user,
     isAuthenticated,
@@ -183,6 +212,7 @@
     logout,
     hasRole,
     reloadAuthData: loadAuthData, // 暴露一个重新加载数据的方法
+    updateUserInfo, // 暴露更新用户信息的方法
   };
 
   return <AuthContext.Provider value={value}>{children}</AuthContext.Provider>;
