zhibo/android-app/后端接口TODO清单-总览.md

144 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 后端接口 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 缓存静态资源(图片、视频)