144 lines
4.2 KiB
Markdown
144 lines
4.2 KiB
Markdown
|
|
# 后端接口 TODO 清单 - 总览
|
|||
|
|
|
|||
|
|
本文档汇总了 Android 直播应用所有需要接入的后端接口。
|
|||
|
|
|
|||
|
|
## 📋 模块清单
|
|||
|
|
|
|||
|
|
1. [用户认证模块](./后端接口TODO清单-用户认证.md) - 3个接口
|
|||
|
|
2. [用户资料模块](./后端接口TODO清单-用户资料.md) - 4个接口
|
|||
|
|
3. [用户头像模块](./后端接口TODO清单-用户头像.md) - 3个接口
|
|||
|
|
4. [直播间模块](./后端接口TODO清单-直播间.md) - 5个接口
|
|||
|
|
5. [消息聊天模块](./后端接口TODO清单-消息聊天.md) - 8个接口
|
|||
|
|
6. [消息发送模块](./后端接口TODO清单-消息发送.md) - 3个接口
|
|||
|
|
7. [直播间弹幕模块](./后端接口TODO清单-直播间弹幕.md) - 3个接口(含WebSocket)
|
|||
|
|
8. [礼物打赏模块](./后端接口TODO清单-礼物打赏.md) - 5个接口
|
|||
|
|
9. [作品管理模块](./后端接口TODO清单-作品管理.md) - 10个接口
|
|||
|
|
10. [评论功能模块](./后端接口TODO清单-评论功能.md) - 4个接口
|
|||
|
|
11. [社交功能模块](./后端接口TODO清单-社交功能.md) - 8个接口
|
|||
|
|
12. [搜索功能模块](./后端接口TODO清单-搜索功能.md) - 6个接口
|
|||
|
|
13. [分类管理模块](./后端接口TODO清单-分类管理.md) - 3个接口
|
|||
|
|
14. [图片上传模块](./后端接口TODO清单-图片上传.md) - 5个接口
|
|||
|
|
15. [通知推送模块](./后端接口TODO清单-通知推送.md) - 4个接口(含FCM和WebSocket)
|
|||
|
|
16. [支付集成模块](./后端接口TODO清单-支付集成.md) - 4个接口(含微信/支付宝SDK)
|
|||
|
|
17. [其他功能模块](./后端接口TODO清单-其他功能.md) - 10个接口
|
|||
|
|
|
|||
|
|
**总计**: 约 88+ 个接口
|
|||
|
|
|
|||
|
|
## 🔑 通用规范
|
|||
|
|
|
|||
|
|
### 请求头
|
|||
|
|
所有需要认证的接口都需要在请求头中携带 token:
|
|||
|
|
```
|
|||
|
|
Authorization: Bearer {token}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 响应格式
|
|||
|
|
所有接口统一返回格式:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"message": "success",
|
|||
|
|
"data": {}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 错误码
|
|||
|
|
- 200: 成功
|
|||
|
|
- 400: 请求参数错误
|
|||
|
|
- 401: 未登录或token过期
|
|||
|
|
- 403: 无权限
|
|||
|
|
- 404: 资源不存在
|
|||
|
|
- 500: 服务器错误
|
|||
|
|
|
|||
|
|
## 🚀 优先级建议
|
|||
|
|
|
|||
|
|
### 第一优先级(核心功能)
|
|||
|
|
1. 用户认证(登录/注册/验证码)
|
|||
|
|
2. 直播间列表和详情
|
|||
|
|
3. 用户资料获取和更新
|
|||
|
|
4. 图片上传(头像、作品封面)
|
|||
|
|
|
|||
|
|
### 第二优先级(社交功能)
|
|||
|
|
5. 消息聊天(会话列表、发送消息)
|
|||
|
|
6. 直播间弹幕(发送、接收)
|
|||
|
|
7. 关注/粉丝功能
|
|||
|
|
8. 用户头像加载
|
|||
|
|
|
|||
|
|
### 第三优先级(增值功能)
|
|||
|
|
9. 礼物打赏
|
|||
|
|
10. 作品管理(发布、编辑、删除)
|
|||
|
|
11. 评论功能
|
|||
|
|
12. 图片/视频上传(作品内容)
|
|||
|
|
|
|||
|
|
### 第四优先级(辅助功能)
|
|||
|
|
13. 搜索功能(含搜索建议)
|
|||
|
|
14. 通知功能(含推送)
|
|||
|
|
15. 观看历史
|
|||
|
|
16. 分类管理
|
|||
|
|
|
|||
|
|
## 📝 实时通信方案
|
|||
|
|
|
|||
|
|
建议使用 WebSocket 实现以下实时功能:
|
|||
|
|
1. 直播间弹幕消息推送
|
|||
|
|
2. 私信消息推送
|
|||
|
|
3. 观看人数实时更新
|
|||
|
|
4. 礼物动画实时推送
|
|||
|
|
5. 消息已读状态更新
|
|||
|
|
6. 通知实时推送
|
|||
|
|
7. 用户在线状态更新
|
|||
|
|
|
|||
|
|
备选方案:轮询(每3-5秒请求一次)
|
|||
|
|
|
|||
|
|
## 🔐 安全建议
|
|||
|
|
|
|||
|
|
1. 所有接口使用 HTTPS
|
|||
|
|
2. Token 有效期建议 7 天,支持刷新
|
|||
|
|
3. 敏感操作(充值、打赏)需要二次验证
|
|||
|
|
4. 上传文件需要限制大小和类型
|
|||
|
|
5. 接口需要限流防止恶意请求
|
|||
|
|
6. 图片/视频上传需要病毒扫描
|
|||
|
|
7. 用户输入需要过滤敏感词
|
|||
|
|
|
|||
|
|
## 📦 数据模型参考
|
|||
|
|
|
|||
|
|
详见各模块文档中的返回数据格式。
|
|||
|
|
|
|||
|
|
## 🎯 接口开发建议
|
|||
|
|
|
|||
|
|
### 分页参数统一
|
|||
|
|
所有列表接口建议使用统一的分页参数:
|
|||
|
|
- `page`: 页码(从1开始)
|
|||
|
|
- `pageSize`: 每页数量(默认20)
|
|||
|
|
|
|||
|
|
返回格式:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"data": {
|
|||
|
|
"items": [],
|
|||
|
|
"total": 100,
|
|||
|
|
"page": 1,
|
|||
|
|
"pageSize": 20,
|
|||
|
|
"hasMore": true
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 文件上传建议
|
|||
|
|
1. 使用对象存储服务(OSS/S3)
|
|||
|
|
2. 前端直传,减轻服务器压力
|
|||
|
|
3. 生成临时上传凭证
|
|||
|
|
4. 上传完成后回调通知服务器
|
|||
|
|
|
|||
|
|
### WebSocket 连接管理
|
|||
|
|
1. 连接时验证 token
|
|||
|
|
2. 心跳保持(30秒一次)
|
|||
|
|
3. 断线自动重连
|
|||
|
|
4. 消息队列缓存(离线消息)
|
|||
|
|
|
|||
|
|
### 缓存策略
|
|||
|
|
1. 用户信息缓存(Redis,过期时间1小时)
|
|||
|
|
2. 直播间列表缓存(Redis,过期时间5分钟)
|
|||
|
|
3. 分类列表缓存(Redis,过期时间1天)
|
|||
|
|
4. CDN 缓存静态资源(图片、视频)
|