8.7 KiB
8.7 KiB
✅ 一、普通用户接口
1. 提交文章
-
URL:
POST /post -
请求参数(JSON):
{ "content": "你的文章内容" } -
返回:
{ "id": 123, "status": "Pass" } // 或 "Pending"(若需审核) -
说明:内容含违禁词则拒绝(403),空内容则报错(400)
2. 点赞文章
- URL:
POST /up - 请求参数(JSON):
{ "id": 123 } - 返回:
{ "status": "OK" }
3. 反对文章(踩)
- URL:
POST /down - 请求参数(JSON):
{ "id": 123 } - 返回:
{ "status": "OK" }
4. 发布评论
- URL:
POST /comment - 请求参数(JSON):
{ "content": "评论内容", "submission_id": 123, "parent_comment_id": 0, // 回复父评论时填 ID "nickname": "昵称" // 可为空,自动为“匿名用户” } - 返回:
{ "id": 456, "status": "Pass" } - 说明:违禁词拒绝(403),无效文章或父评论 ID 返回对应错误码
5. 上传图片
- URL:
POST /upload_pic - 请求参数:
- 表单字段:
file(文件),支持.png,.jpg,.jpeg,.gif,.webp
- 表单字段:
- 返回:
{ "status": "OK", "url": "/img/240510_aBc12.png" } - 限制:文件大小 ≤10MB,格式正确
6. 获取文章状态(是否通过审核)
- URL:
GET /get/post_state - 参数(query):
id=123
- 返回:
{ "status": "Approved" } // 通过 { "status": "Pending" } // 待审核 { "status": "Rejected" } // 拒绝 { "status": "Deleted or Not Found" } // 不存在
7. 获取投诉状态
- URL:
GET /get/report_state - 参数(query):
id=789
- 返回:
{ "status": "Approved" } // 已通过 { "status": "Pending" } // 待处理 { "status": "Rejected" } // 已拒绝
8. 获取公开文章详情(仅通过审核的)
- URL:
GET /get/post_info - 参数(query):
id=123
- 返回:
{ "id": 123, "content": "文章内容", "created_at": "2024-05-10T12:00:00+00:00", "updated_at": "2024-05-10T12:00:00+00:00", "upvotes": 5, "downvotes": 1 }
9. 获取评论列表
- URL:
GET /get/comment - 参数(query):
id=123
- 返回:
[ { "id": 456, "nickname": "张三", "content": "这是一条评论", "parent_comment_id": 0, "upvotes": 2, "downvotes": 0, "created_at": "2024-05-10T12:05:00+00:00" } ]
10. 获取最新10条文章列表(分页)
- URL:
GET /get/10_info - 参数(query):
page=1(可选,缺省为1)
- 返回:
[ { "id": 123, "content": "文章内容", "created_at": "2024-05-10T12:00:00+00:00", "updated_at": "2024-05-10T12:00:00+00:00", "status": "Pass" } ]
11. 获取系统统计信息
- URL:
GET /get/statics - 返回:
{ "posts": 150, "comments": 300, "images": 80 }
12. 提交投诉
- URL:
POST /report - 请求参数(JSON):
{ "id": 123, "title": "举报标题", "content": "举报原因" } - 返回:
{ "id": 101, "status": "OK" }
✅ 二、管理后台接口(需要 Bearer Token)
调用方式:在请求头加上:
Authorization: Bearer your_admin_token
1. 查看文章详情(完整信息)
- URL:
GET /admin/get/post_info - 参数(query):
id=123
- 返回:
{ "id": 123, "content": "文章内容", "created_at": "2024-05-10T12:00:00+00:00", "updated_at": "2024-05-10T12:00:00+00:00", "status": "Pass", "upvotes": 5, "downvotes": 1 }
2. 审核文章:通过
- URL:
POST /admin/approve - 请求参数(JSON):
{ "id": 123 } - 返回:
{ "status": "OK" }
3. 审核文章:拒绝
- URL:
POST /admin/disapprove - 请求参数(JSON):
{ "id": 123 } - 返回:
{ "status": "OK" }
4. 重新审核文章(置为 Pending)
- URL:
POST /admin/reaudit - 请求参数(JSON):
{ "id": 123 } - 返回:
{ "status": "OK" }
5. 删除文章(包括评论)
- URL:
POST /admin/del_post - 请求参数(JSON):
{ "id": 123 } - 返回:
{ "status": "OK" }
6. 修改文章内容
- URL:
POST /admin/modify_post - 请求参数(JSON):
{ "id": 123, "content": "新内容" } - 返回:
{ "status": "OK" }
7. 删除评论
- URL:
POST /admin/del_comment - 请求参数(JSON):
{ "id": 456 } - 返回:
{ "status": "OK" }
8. 修改评论
- URL:
POST /admin/modify_comment - 请求参数(JSON):
{ "id": 456, "content": "新内容", "parent_comment_id": 0, "nickname": "新昵称" } - 返回:
{ "status": "OK" }
9. 删除图片
- URL:
POST /admin/del_pic - 请求参数(JSON):
{ "filename": "240510_aBc12.png" } - 返回:
{ "status": "OK" }
10. 管理投诉:通过
- URL:
POST /admin/approve_report - 请求参数(JSON):
{ "id": 101 } - 行为:标记投诉为通过,并删除对应文章及其所有评论
11. 管理投诉:拒绝
- URL:
POST /admin/reject_report - 请求参数(JSON):
{ "id": 101 } - 返回:
{ "status": "OK" }
12. 开启/关闭审核功能
- URL:
POST /admin/need_audit - 请求参数(JSON):
{ "need_audit": true } // 或 false - 返回:
{ "status": "OK" }
13. 获取当前是否需审核
- URL:
GET /admin/get/need_audit - 返回:
{ "status": true }
14. 获取待审核文章列表
- URL:
GET /admin/get/pending_posts - 返回:
[ { "id": 123, "content": "待审内容", "created_at": "2024-05-10T12:00:00+00:00", "updated_at": "2024-05-10T12:00:00+00:00", "status": "Pending" } ]
15. 获取被拒绝文章
- URL:
GET /admin/get/reject_posts - 返回:
- 结构同上,仅状态为 "Deny"
16. 获取所有图片链接(分页)
- URL:
GET /admin/get/pic_links - 参数(query):
page=1
- 返回:
[ "/img/240510_aBc12.png", "/img/240510_xYz34.jpg" ]
17. 获取待处理投诉
- URL:
GET /admin/get/pending_reports - 返回:
[ { "id": 101, "submission_id": 123, "title": "举报标题", "content": "举报内容", "status": "Pending", "created_at": "2024-05-10T12:00:00+00:00" } ]
18. 下载备份文件
- URL:
GET /admin/get/backup - 返回:一个
.zip文件,包含数据库和img/文件夹
19. 恢复备份
- URL:
POST /admin/recover - 请求:上传一个
.zip备份文件(form-data) - 返回:
{ "status": "OK" } - 行为:解压覆盖当前数据库和图片目录
🟩 总结说明
| 功能 | 接口路径 | 是否需要 Token | 说明 |
|---|---|---|---|
| 提交文章 | POST /post |
否 | 含违禁词或空则拒绝 |
| 点赞/踩 | POST /up, /down |
否 | 仅需文章 ID |
| 发布评论 | POST /comment |
否 | 有合规校验 |
| 上传图片 | POST /upload_pic |
否 | 仅支持特定格式 |
| 获取文章状态 | GET /get/post_state |
否 | 无权限限制 |
| 提交投诉 | POST /report |
否 | 带文章 ID |
| 获取统计 | GET /get/statics |
否 | 公开数据 |
| 后台操作 | 所有 /admin/... |
✅ 必须 | 使用 Bearer your_admin_token |
✅ 所有返回均为 JSON 格式,状态码 200/201 表示成功,其余为错误(如 400, 403, 404, 500)。