16 KiB
16 KiB
Live Forum 后台管理 API 接口文档
基础信息
- Base URL:
/api/v1/admin - 认证方式: 管理员Token认证
- Content-Type:
application/json - 文档版本: v1.0
- 更新日期: 2025-10-24
认证方式
管理员Token认证
Authorization: Bearer {admin_token}
权限级别
- 只读权限: 只能查看数据
- 编辑权限: 可以修改内容状态
- 删除权限: 可以删除内容
- 审核权限: 可以审核内容和认证
1. 内容管理 API
1.1 帖子管理
获取帖子列表
GET /admin/posts
请求参数:
{
"pageIndex": 1, // 页码,从1开始
"pageSize": 20, // 每页数量
"status": 1, // 帖子状态:0-草稿,1-发布,2-审核,3-下架
"categoryId": 1, // 分类ID
"userId": 1001, // 用户ID
"keyword": "搜索关键词", // 搜索关键词
"startDate": "2024-01-01", // 开始日期
"endDate": "2024-12-31", // 结束日期
"isTop": true, // 是否置顶
"isHot": true, // 是否热门
"isEssence": true // 是否精华
}
返回参数:
{
"code": 200,
"message": "获取成功",
"data": {
"total": 100,
"pageIndex": 1,
"pageSize": 20,
"totalPages": 5,
"items": [
{
"postId": 1001,
"title": "帖子标题",
"content": "帖子内容",
"userId": 1001,
"userName": "用户名",
"userAvatar": "头像URL",
"categoryId": 1,
"categoryName": "分类名称",
"status": 1,
"statusText": "已发布",
"isTop": false,
"isHot": true,
"isEssence": false,
"viewCount": 1000,
"likeCount": 50,
"commentCount": 20,
"shareCount": 10,
"createdAt": "2024-01-01T10:00:00",
"updatedAt": "2024-01-01T12:00:00",
"images": [
{
"imageId": 2001,
"imageUrl": "图片URL",
"sortOrder": 1
}
]
}
]
}
}
获取帖子详情
GET /admin/posts/{postId}
返回参数:
{
"code": 200,
"message": "获取成功",
"data": {
"postId": 1001,
"title": "帖子标题",
"content": "帖子完整内容",
"userId": 1001,
"userName": "用户名",
"userAvatar": "头像URL",
"userLevel": "LV1",
"isVip": true,
"isCertified": false,
"categoryId": 1,
"categoryName": "分类名称",
"status": 1,
"statusText": "已发布",
"isTop": false,
"isHot": true,
"isEssence": false,
"viewCount": 1000,
"likeCount": 50,
"commentCount": 20,
"shareCount": 10,
"createdAt": "2024-01-01T10:00:00",
"updatedAt": "2024-01-01T12:00:00",
"images": [
{
"imageId": 2001,
"imageUrl": "图片URL",
"sortOrder": 1,
"createdAt": "2024-01-01T10:00:00"
}
],
"comments": [
{
"commentId": 3001,
"content": "评论内容",
"userId": 1002,
"userName": "评论用户",
"likeCount": 5,
"replyCount": 2,
"createdAt": "2024-01-01T11:00:00"
}
]
}
}
更新帖子状态
POST /admin/posts/{postId}/status/update
请求参数:
{
"status": 2, // 新状态:0-草稿,1-发布,2-审核,3-下架
"reason": "审核不通过" // 状态变更原因
}
更新帖子特性
POST /admin/posts/{postId}/feature/update
请求参数:
{
"isTop": true, // 是否置顶
"isHot": false, // 是否热门
"isEssence": true, // 是否精华
"categoryId": 2 // 分类ID
}
删除帖子
POST /admin/posts/{postId}/delete
请求参数:
{
"reason": "违规内容", // 删除原因
"isSoftDelete": true // 是否软删除
}
批量操作帖子
POST /admin/posts/batch
请求参数:
{
"postIds": [1001, 1002, 1003], // 帖子ID列表
"operation": "approve", // 操作类型:approve-审核通过,reject-审核拒绝,delete-删除,setTop-置顶,cancelTop-取消置顶
"reason": "批量审核通过" // 操作原因
}
1.2 评论管理
获取评论列表
GET /admin/comments
请求参数:
{
"pageIndex": 1,
"pageSize": 20,
"postId": 1001, // 帖子ID
"userId": 1001, // 用户ID
"keyword": "搜索关键词",
"startDate": "2024-01-01",
"endDate": "2024-12-31"
}
删除评论
POST /admin/comments/{commentId}/delete
请求参数:
{
"reason": "违规评论", // 删除原因
"isSoftDelete": true // 是否软删除
}
批量操作评论
POST /admin/comments/batch
请求参数:
{
"commentIds": [3001, 3002, 3003],
"operation": "delete", // 操作类型:delete-删除,hide-隐藏,show-显示
"reason": "批量删除违规评论"
}
1.3 图片管理
获取图片列表
GET /admin/images
请求参数:
{
"pageIndex": 1,
"pageSize": 20,
"userId": 1001, // 用户ID
"postId": 1001, // 帖子ID
"startDate": "2024-01-01",
"endDate": "2024-12-31",
"minSize": 1024, // 最小文件大小(字节)
"maxSize": 10485760 // 最大文件大小(字节)
}
删除图片
POST /admin/images/{imageId}/delete
请求参数:
{
"reason": "违规图片", // 删除原因
"deleteFile": true // 是否删除物理文件
}
2. 用户管理 API
2.1 用户信息管理
获取用户列表
GET /admin/users
请求参数:
{
"pageIndex": 1,
"pageSize": 20,
"status": 1, // 用户状态:0-正常,1-禁用,2-冻结
"levelId": 2, // 等级ID
"isVip": true, // 是否VIP
"isCertified": false, // 是否认证
"keyword": "搜索关键词",
"startDate": "2024-01-01",
"endDate": "2024-12-31"
}
获取用户详情
GET /admin/users/{userId}
返回参数:
{
"code": 200,
"message": "获取成功",
"data": {
"userId": 1001,
"userName": "用户名",
"nickName": "昵称",
"avatar": "头像URL",
"phoneNumber": "138****8000",
"email": "user@example.com",
"gender": 1,
"birthday": "1990-01-01",
"signature": "个性签名",
"status": 1,
"statusText": "正常",
"isVip": true,
"vipExpireTime": "2025-12-31T23:59:59",
"isCertified": false,
"certifiedType": 1,
"levelId": 2,
"levelName": "LV1",
"experience": 150,
"postCount": 25,
"commentCount": 100,
"followingCount": 50,
"followerCount": 80,
"totalLikes": 500,
"createdAt": "2024-01-01T10:00:00",
"lastLoginAt": "2024-01-15T14:30:00",
"lastLoginIp": "192.168.1.100",
"registerIp": "192.168.1.1"
}
}
更新用户状态
POST /admin/users/{userId}/status/update
请求参数:
{
"status": 1, // 新状态:0-正常,1-禁用,2-冻结
"reason": "违规行为", // 状态变更原因
"duration": 7 // 冻结时长(天),0表示永久
}
更新用户等级
POST /admin/users/{userId}/level/update
请求参数:
{
"levelId": 3, // 新等级ID
"experience": 500, // 经验值
"reason": "等级调整" // 调整原因
}
更新VIP状态
POST /admin/users/{userId}/vip/update
请求参数:
{
"isVip": true, // 是否VIP
"expireTime": "2025-12-31T23:59:59", // VIP过期时间
"reason": "VIP赠送" // 操作原因
}
2.2 认证申请管理
获取认证申请列表
GET /admin/certifications
请求参数:
{
"pageIndex": 1,
"pageSize": 20,
"status": 0, // 申请状态:0-待审核,1-已通过,2-已拒绝
"certificationType": 1, // 认证类型:1-SK认证
"startDate": "2024-01-01",
"endDate": "2024-12-31"
}
审核认证申请
POST /admin/certifications/{certificationId}/review
请求参数:
{
"status": 1, // 审核结果:1-通过,2-拒绝
"reason": "认证通过", // 审核原因
"reviewNotes": "审核备注" // 审核备注
}
3. 互动管理 API
3.1 举报管理
获取举报列表
GET /admin/reports
请求参数:
{
"pageIndex": 1,
"pageSize": 20,
"status": 0, // 处理状态:0-待处理,1-已处理
"reportType": 1, // 举报类型:1-帖子,2-评论,3-用户
"startDate": "2024-01-01",
"endDate": "2024-12-31"
}
处理举报
POST /admin/reports/{reportId}/handle
请求参数:
{
"status": 1, // 处理结果:1-有效,2-无效
"action": "delete", // 处理动作:delete-删除,warn-警告,ignore-忽略
"reason": "处理原因", // 处理原因
"notes": "处理备注" // 处理备注
}
3.2 点赞管理
获取点赞统计
GET /admin/likes/statistics
请求参数:
{
"startDate": "2024-01-01",
"endDate": "2024-12-31",
"targetType": 1, // 目标类型:1-帖子,2-评论
"userId": 1001 // 用户ID
}
清理异常点赞
POST /admin/likes/cleanup
请求参数:
{
"targetType": 1, // 目标类型
"targetId": 1001, // 目标ID
"reason": "刷赞行为" // 清理原因
}
4. 内容配置 API
4.1 轮播图管理
获取轮播图列表
GET /admin/banners
添加轮播图
POST /admin/banners
请求参数:
{
"title": "轮播图标题",
"imageUrl": "图片URL",
"linkUrl": "跳转链接",
"sortOrder": 1,
"isActive": true,
"startTime": "2024-01-01T00:00:00",
"endTime": "2024-12-31T23:59:59"
}
更新轮播图
POST /admin/banners/{bannerId}/update
删除轮播图
POST /admin/banners/{bannerId}/delete
4.2 帖子分类管理
获取分类列表
GET /admin/categories
添加分类
POST /admin/categories
请求参数:
{
"categoryName": "分类名称",
"description": "分类描述",
"icon": "分类图标",
"sortOrder": 1,
"isActive": true
}
更新分类
POST /admin/categories/{categoryId}/update
删除分类
POST /admin/categories/{categoryId}/delete
4.3 用户等级管理
获取等级列表
GET /admin/levels
添加等级
POST /admin/levels
请求参数:
{
"levelName": "LV6",
"levelIcon": "等级图标",
"levelColor": "#FF0000",
"minExperience": 1000,
"maxExperience": 1999,
"privileges": {
"maxPostsPerDay": 20,
"canComment": true,
"canUploadVideo": true
}
}
更新等级
POST /admin/levels/{levelId}/update
删除等级
POST /admin/levels/{levelId}/delete
4.4 协议内容管理
获取协议列表
GET /admin/agreements
更新协议内容
POST /admin/agreements/{agreementId}/update
请求参数:
{
"title": "用户协议",
"content": "协议内容",
"version": "v2.0",
"effectiveDate": "2024-01-01T00:00:00"
}
5. 消息管理 API
5.1 系统通知管理
获取通知列表
GET /admin/notifications
添加通知
POST /admin/notifications
请求参数:
{
"title": "通知标题",
"content": "通知内容",
"notificationType": 1, // 通知类型:1-系统公告,2-活动通知
"targetUsers": [1001, 1002], // 目标用户ID列表,空表示全部用户
"isActive": true,
"publishTime": "2024-01-01T10:00:00",
"expireTime": "2024-12-31T23:59:59"
}
发布通知
POST /admin/notifications/{notificationId}/publish
删除通知
POST /admin/notifications/{notificationId}/delete
5.2 用户消息管理
获取消息列表
GET /admin/messages
请求参数:
{
"pageIndex": 1,
"pageSize": 20,
"messageType": 1, // 消息类型:1-评论回复,2-点赞,3-关注
"userId": 1001, // 用户ID
"startDate": "2024-01-01",
"endDate": "2024-12-31"
}
删除消息
POST /admin/messages/{messageId}/delete
6. 数据统计 API
6.1 内容统计
获取内容统计
GET /admin/statistics/content
请求参数:
{
"startDate": "2024-01-01",
"endDate": "2024-12-31",
"groupBy": "day" // 分组方式:day-按天,week-按周,month-按月
}
返回参数:
{
"code": 200,
"message": "获取成功",
"data": {
"posts": {
"total": 1000,
"today": 10,
"trend": [
{
"date": "2024-01-01",
"count": 15
}
]
},
"comments": {
"total": 5000,
"today": 50,
"trend": []
},
"images": {
"total": 2000,
"totalSize": "10GB",
"trend": []
},
"users": {
"total": 500,
"active": 100,
"trend": []
}
}
}
6.2 用户行为统计
获取用户行为统计
GET /admin/statistics/user-behavior
请求参数:
{
"startDate": "2024-01-01",
"endDate": "2024-12-31",
"metrics": ["login", "post", "comment", "like"] // 统计指标
}
6.3 系统性能统计
获取系统性能统计
GET /admin/statistics/system-performance
请求参数:
{
"startDate": "2024-01-01",
"endDate": "2024-12-31",
"metrics": ["api", "database", "cache", "storage"]
}
错误码说明
通用错误码
| 错误码 | 说明 |
|---|---|
| 200 | 成功 |
| 400 | 请求参数错误 |
| 401 | 未授权(未登录或Token过期) |
| 403 | 无权限访问 |
| 404 | 资源不存在 |
| 500 | 服务器内部错误 |
管理功能错误码
| 错误码 | 说明 |
|---|---|
| 60001 | 无管理权限 |
| 60002 | 操作目标不存在 |
| 60003 | 操作失败 |
| 60004 | 批量操作部分失败 |
| 60005 | 配置项不存在 |
| 60006 | 配置值无效 |
使用示例
获取帖子列表并筛选
// 获取待审核的帖子
const response = await fetch('/api/v1/admin/posts?status=2&pageIndex=1&pageSize=20', {
method: 'GET',
headers: {
'Authorization': 'Bearer ' + adminToken,
'Content-Type': 'application/json'
}
});
const data = await response.json();
console.log(data.data.items);
批量审核帖子
// 批量审核通过帖子
const response = await fetch('/api/v1/admin/posts/batch', {
method: 'POST',
headers: {
'Authorization': 'Bearer ' + adminToken,
'Content-Type': 'application/json'
},
body: JSON.stringify({
postIds: [1001, 1002, 1003],
operation: 'approve',
reason: '批量审核通过'
})
});
更新用户状态
// 禁用用户
const response = await fetch('/api/v1/admin/users/1001/status/update', {
method: 'POST',
headers: {
'Authorization': 'Bearer ' + adminToken,
'Content-Type': 'application/json'
},
body: JSON.stringify({
status: 1,
reason: '违规行为',
duration: 7
})
});
注意事项
- 权限控制: 所有管理API都需要管理员Token认证
- 操作记录: 所有管理操作都会记录到操作日志
- 批量限制: 批量操作建议单次不超过100条记录
- 分页查询: 建议使用分页查询,避免一次性查询大量数据
- 错误处理: 请根据错误码进行相应的错误处理
- 数据安全: 敏感操作需要二次确认
更新日志
v1.0 (2025-10-24)
- ✅ 完成内容管理API设计
- ✅ 完成用户管理API设计
- ✅ 完成互动管理API设计
- ✅ 完成配置管理API设计
- ✅ 完成消息管理API设计
- ✅ 完成数据统计API设计