feat(admin): 实现管理员登录和删除功能

- 新增管理员登录接口和相关逻辑
- 实现帖子和评论的删除功能
- 更新用户权限检查逻辑
- 优化登录页面,增加管理员登录入口
- 调整论坛页面布局,增加删除按钮

Change-Id: I6b81fa7296ec9642ca14e249ede517f2fec3d077
diff --git a/src/features/auth/contexts/AuthContext.jsx b/src/features/auth/contexts/AuthContext.jsx
index b0afd8e..3c53c9c 100644
--- a/src/features/auth/contexts/AuthContext.jsx
+++ b/src/features/auth/contexts/AuthContext.jsx
@@ -5,7 +5,7 @@
   useEffect,
   useCallback,
 } from "react";
-import { userLogin, registerUser, logoutUser } from "@/api/auth";
+import { userLogin, registerUser, logoutUser, adminLogin as adminLoginAPI } from "@/api/auth";
 import { message } from "antd";
 import { useNavigate } from "react-router-dom"; // 导入 useNavigate
 
@@ -88,6 +88,36 @@
     }
   };
 
+  const adminLogin = async (params) => {
+    setLoading(true);
+    try {
+      const response = await adminLoginAPI(params);
+
+      if (response && response.data) {
+        const token = response.data.token;
+        const adminData = response.data;
+        
+        console.log("Saving user data:", adminData);
+        
+        localStorage.setItem("token", token);
+        localStorage.setItem("user", JSON.stringify(adminData));
+        
+        setUser(adminData);
+        setIsAuthenticated(true);
+        
+        message.success(response?.message || "登录成功");
+        return adminData;
+      }
+    } catch (error) {
+      console.log("admin login error", error);
+      setIsAuthenticated(false);
+      setUser(null);
+      message.error(error.message || "管理员登录失败,请检查用户名和密码");
+    } finally {
+      setLoading(false);
+    }
+  };
+
   const register = async (userData) => {
     setLoading(true);
     try {
@@ -134,7 +164,11 @@
 
   const hasRole = useCallback(
     (roleName) => {
-      return user?.role === roleName;
+      if (user?.uid.includes('admin')) {
+        return true;
+      } else {
+        return user?.role === roleName;
+      }
     },
     [user]
   );
@@ -144,6 +178,7 @@
     isAuthenticated,
     loading,
     login,
+    adminLogin,
     register,
     logout,
     hasRole,