修改密码、管理员删帖、促销、退出登录

Change-Id: I2cc0e211ac5a04f9e89d0736fadd25541a5fccb9
diff --git a/src/context/UserContext.js b/src/context/UserContext.js
index 01f500d..7b75005 100644
--- a/src/context/UserContext.js
+++ b/src/context/UserContext.js
@@ -1,3 +1,79 @@
+// import React, { createContext, useContext, useState, useEffect } from 'react';
+
+// const avatarBaseUrl = process.env.REACT_APP_AVATAR_BASE_URL || '';
+
+// export const UserContext = createContext();
+
+// export const UserProvider = ({ children }) => {
+//   const [user, setUser] = useState(null);
+//   const [loading, setLoading] = useState(true);
+
+//   // ✅ 标准化用户数据结构
+//   const formatUser = (raw) => {
+//     if (!raw) return null;
+//     return {
+//       userId: raw.userId || raw.id || null,
+//       username: raw.username || '匿名用户',
+//       avatarUrl: raw.avatarUrl ? `${avatarBaseUrl}${raw.avatarUrl}` : null,
+//       ...raw, // 保留其它字段(如 email, level 等)
+//     };
+//   };
+
+//   useEffect(() => {
+//     const storedUser = localStorage.getItem('user');
+//     if (storedUser) {
+//       try {
+//         const parsed = JSON.parse(storedUser);
+//         setUser(formatUser(parsed));
+//       } catch (err) {
+//         console.error('本地用户信息解析失败:', err);
+//         localStorage.removeItem('user');
+//         setUser(null);
+//       }
+//     } else {
+//       // 设置默认用户
+//       const defaultUser = {
+//         userId: 1,
+//         username: '测试用户',
+//         avatarUrl: null,
+//       };
+//       localStorage.setItem('user', JSON.stringify(defaultUser));
+//       setUser(formatUser(defaultUser));
+//     }
+//     setLoading(false);
+//   }, []);
+
+//   const saveUser = (userData) => {
+//     if (userData && (userData.userId || userData.id)) {
+//       const formatted = formatUser(userData);
+//       localStorage.setItem('user', JSON.stringify(userData)); // 原始数据存储
+//       setUser(formatted); // 格式化后使用
+//     } else {
+//       console.error('无效的用户数据:', userData);
+//     }
+//   };
+
+//   const logout = () => {
+//     localStorage.removeItem('user');
+//     setUser(null);
+//   };
+
+//   return (
+//     <UserContext.Provider value={{ user, saveUser, logout, loading }}>
+//       {children}
+//     </UserContext.Provider>
+//   );
+// };
+
+// export const useUser = () => {
+//   const context = useContext(UserContext);
+//   if (!context) {
+//     throw new Error('useUser must be used within a UserProvider');
+//   }
+//   return context;
+// };
+
+
 import React, { createContext, useContext, useState, useEffect } from 'react';
 
 const avatarBaseUrl = process.env.REACT_APP_AVATAR_BASE_URL || '';
@@ -8,14 +84,13 @@
   const [user, setUser] = useState(null);
   const [loading, setLoading] = useState(true);
 
-  // ✅ 标准化用户数据结构
   const formatUser = (raw) => {
     if (!raw) return null;
     return {
       userId: raw.userId || raw.id || null,
       username: raw.username || '匿名用户',
       avatarUrl: raw.avatarUrl ? `${avatarBaseUrl}${raw.avatarUrl}` : null,
-      ...raw, // 保留其它字段(如 email, level 等)
+      ...raw,
     };
   };
 
@@ -31,23 +106,16 @@
         setUser(null);
       }
     } else {
-      // 设置默认用户
-      const defaultUser = {
-        userId: 1,
-        username: '测试用户',
-        avatarUrl: null,
-      };
-      localStorage.setItem('user', JSON.stringify(defaultUser));
-      setUser(formatUser(defaultUser));
+      // 可以默认不自动登录,退出就是空
+      setUser(null);
     }
     setLoading(false);
   }, []);
 
   const saveUser = (userData) => {
     if (userData && (userData.userId || userData.id)) {
-      const formatted = formatUser(userData);
-      localStorage.setItem('user', JSON.stringify(userData)); // 原始数据存储
-      setUser(formatted); // 格式化后使用
+      localStorage.setItem('user', JSON.stringify(userData));
+      setUser(formatUser(userData));
     } else {
       console.error('无效的用户数据:', userData);
     }
@@ -68,7 +136,7 @@
 export const useUser = () => {
   const context = useContext(UserContext);
   if (!context) {
-    throw new Error('useUser must be used within a UserProvider');
+    throw new Error('useUser 必须在 UserProvider 内使用');
   }
   return context;
 };