feat(admin): 实现管理员登录和删除功能
- 新增管理员登录接口和相关逻辑
- 实现帖子和评论的删除功能
- 更新用户权限检查逻辑
- 优化登录页面,增加管理员登录入口
- 调整论坛页面布局,增加删除按钮
Change-Id: I6b81fa7296ec9642ca14e249ede517f2fec3d077
diff --git a/src/features/admin/pages/AdminPanel.jsx b/src/features/admin/pages/AdminPanel.jsx
index 3717b52..bffa5bf 100644
--- a/src/features/admin/pages/AdminPanel.jsx
+++ b/src/features/admin/pages/AdminPanel.jsx
@@ -2,15 +2,17 @@
import { Card, Table, Button, Space, Typography, message, Popconfirm, Spin } from 'antd';
import { UserOutlined, UploadOutlined, SettingOutlined } from '@ant-design/icons';
import { getUserList, deleteUser } from '@/api/auth';
+import { useAuth } from '@/features/auth/contexts/AuthContext';
const { Title } = Typography;
const AdminPanel = () => {
const [users, setUsers] = useState([]);
const [loading, setLoading] = useState(true);
+ const { user } = useAuth();
// 获取管理员信息
- const adminUser = JSON.parse(localStorage.getItem('user') || '{}');
+ const adminUser = user;
// 加载用户数据
useEffect(() => {
@@ -21,20 +23,24 @@
const fetchUsers = async () => {
try {
setLoading(true);
- const response = await getUserList(adminUser.username);
- if (response.success) {
+ const params = {
+ username: adminUser.username,
+ };
+ const response = await getUserList(params);
+ if (response && response.data) {
const userList = response.data.users || [];
+ const totalNumber = response.data.amount || 0;
// 添加key属性
const formattedUsers = userList.map(user => ({
...user,
- key: user.id,
- role: user.userType === 1 ? '管理员' : '普通用户',
+ key: user.uid,
+ role: user.level,
status: '正常'
}));
setUsers(formattedUsers);
}
} catch (error) {
- message.error(error.message || '获取用户列表失败');
+ message.error('获取用户列表失败');
} finally {
setLoading(false);
}
@@ -43,9 +49,13 @@
// 删除用户
const handleDelete = async (username) => {
try {
- const response = await deleteUser(adminUser.username, username);
- if (response.success) {
- message.success('用户删除成功');
+ const params = {
+ username: adminUser.username,
+ targetUsername: username,
+ };
+ const response = await deleteUser(params);
+ if (response.message) {
+ message.success(response.message || '用户删除成功');
fetchUsers(); // 重新加载用户列表
}
} catch (error) {