300 lines
14 KiB
Markdown
300 lines
14 KiB
Markdown
|
|
# 直播系统 API 接口对接分析报告
|
|||
|
|
|
|||
|
|
> 生成时间:2025-12-29
|
|||
|
|
> 分析范围:后端API、管理端、移动端(Android)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 一、系统架构概览
|
|||
|
|
|
|||
|
|
| 系统 | 路径 | 技术栈 |
|
|||
|
|
|------|------|--------|
|
|||
|
|
| 后端API (Front) | `Zhibo/zhibo-h/crmeb-front` | Spring Boot + MyBatis-Plus |
|
|||
|
|
| 后端API (Admin) | `Zhibo/zhibo-h/crmeb-admin` | Spring Boot + MyBatis-Plus |
|
|||
|
|
| 管理端 | `Zhibo/admin` | Vue.js |
|
|||
|
|
| 移动端 | `android-app` | Android (Java/Kotlin) + Retrofit |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 二、移动端 API 接口对接状态
|
|||
|
|
|
|||
|
|
### 2.1 用户认证模块 ✅ 完整
|
|||
|
|
|
|||
|
|
| 接口 | 后端路径 | Android调用 | 状态 |
|
|||
|
|
|------|----------|-------------|------|
|
|||
|
|
| 登录 | POST `/api/front/login` | ✅ ApiService.login() | 完整 |
|
|||
|
|
| 注册 | POST `/api/front/register` | ✅ ApiService.register() | 完整 |
|
|||
|
|
| 发送验证码 | POST `/api/front/sendCode` | ✅ ApiService.sendCode() | 完整 |
|
|||
|
|
| 退出登录 | GET `/api/front/logout` | ✅ ApiService.logout() | 完整 |
|
|||
|
|
|
|||
|
|
### 2.2 用户信息模块 ✅ 完整
|
|||
|
|
|
|||
|
|
| 接口 | 后端路径 | Android调用 | 状态 |
|
|||
|
|
|------|----------|-------------|------|
|
|||
|
|
| 获取用户信息 | GET `/api/front/user` | ✅ ApiService.getUserInfo() | 完整 |
|
|||
|
|
| 更新用户信息 | POST `/api/front/user/edit` | ✅ ApiService.updateUserInfo() | 完整 |
|
|||
|
|
|
|||
|
|
### 2.3 直播间模块 ✅ 完整
|
|||
|
|
|
|||
|
|
| 接口 | 后端路径 | Android调用 | 状态 |
|
|||
|
|
|------|----------|-------------|------|
|
|||
|
|
| 获取直播间列表 | GET `/api/front/live/public/rooms` | ✅ ApiService.getRooms() | 完整 |
|
|||
|
|
| 创建直播间 | POST `/api/front/live/rooms` | ✅ ApiService.createRoom() | 完整 |
|
|||
|
|
| 获取直播间详情 | GET `/api/front/live/public/rooms/{id}` | ✅ ApiService.getRoom() | 完整 |
|
|||
|
|
| 删除直播间 | DELETE `/api/front/live/rooms/{id}` | ✅ ApiService.deleteRoom() | 完整 |
|
|||
|
|
| 获取观看人数 | GET `/api/front/live/public/rooms/{roomId}/viewers/count` | ✅ ApiService.getViewerCount() | 完整 |
|
|||
|
|
| 关注主播 | POST `/api/front/live/follow` | ✅ ApiService.followStreamer() | 完整 |
|
|||
|
|
|
|||
|
|
### 2.4 直播弹幕模块 ✅ 完整
|
|||
|
|
|
|||
|
|
| 接口 | 后端路径 | Android调用 | 状态 |
|
|||
|
|
|------|----------|-------------|------|
|
|||
|
|
| 获取弹幕消息 | GET `/api/front/live/public/rooms/{roomId}/messages` | ✅ ApiService.getRoomMessages() | 完整 |
|
|||
|
|
| 发送弹幕消息 | POST `/api/front/live/public/rooms/{roomId}/messages` | ✅ ApiService.sendRoomMessage() | 完整 |
|
|||
|
|
|
|||
|
|
### 2.5 礼物打赏模块 ✅ 完整
|
|||
|
|
|
|||
|
|
| 接口 | 后端路径 | Android调用 | 状态 |
|
|||
|
|
|------|----------|-------------|------|
|
|||
|
|
| 获取礼物列表 | GET `/api/front/gift/list` | ✅ ApiService.getGiftList() | 完整 |
|
|||
|
|
| 获取用户余额 | GET `/api/front/gift/balance` | ✅ ApiService.getUserBalance() | 完整 |
|
|||
|
|
| 赠送礼物 | POST `/api/front/gift/send` | ✅ ApiService.sendGift() | 完整 |
|
|||
|
|
| 获取充值选项 | GET `/api/front/gift/recharge/options` | ✅ ApiService.getRechargeOptions() | 完整 |
|
|||
|
|
| 创建充值订单 | POST `/api/front/gift/recharge/create` | ✅ ApiService.createRecharge() | 完整 |
|
|||
|
|
|
|||
|
|
### 2.6 私聊会话模块 ✅ 完整
|
|||
|
|
|
|||
|
|
| 接口 | 后端路径 | Android调用 | 状态 |
|
|||
|
|
|------|----------|-------------|------|
|
|||
|
|
| 获取会话列表 | GET `/api/front/conversations` | ✅ ApiService.getConversations() | 完整 |
|
|||
|
|
| 搜索会话 | GET `/api/front/conversations/search` | ✅ ApiService.searchConversations() | 完整 |
|
|||
|
|
| 获取/创建会话 | POST `/api/front/conversations/with/{otherUserId}` | ✅ ApiService.getOrCreateConversation() | 完整 |
|
|||
|
|
| 标记已读 | POST `/api/front/conversations/{id}/read` | ✅ ApiService.markConversationRead() | 完整 |
|
|||
|
|
| 删除会话 | DELETE `/api/front/conversations/{id}` | ✅ ApiService.deleteConversation() | 完整 |
|
|||
|
|
| 获取消息列表 | GET `/api/front/conversations/{id}/messages` | ✅ ApiService.getConversationMessages() | 完整 |
|
|||
|
|
| 发送消息 | POST `/api/front/conversations/{id}/messages` | ✅ ApiService.sendPrivateMessage() | 完整 |
|
|||
|
|
| 删除消息 | DELETE `/api/front/conversations/messages/{id}` | ✅ ApiService.deleteMessage() | 完整 |
|
|||
|
|
|
|||
|
|
### 2.7 好友管理模块 ✅ 完整
|
|||
|
|
|
|||
|
|
| 接口 | 后端路径 | Android调用 | 状态 |
|
|||
|
|
|------|----------|-------------|------|
|
|||
|
|
| 获取好友列表 | GET `/api/front/friends` | ✅ ApiService.getFriends() | 完整 |
|
|||
|
|
| 删除好友 | DELETE `/api/front/friends/{friendId}` | ✅ ApiService.deleteFriend() | 完整 |
|
|||
|
|
| 搜索用户 | GET `/api/front/users/search` | ✅ ApiService.searchUsers() | 完整 |
|
|||
|
|
| 发送好友请求 | POST `/api/front/friends/request` | ✅ ApiService.sendFriendRequest() | 完整 |
|
|||
|
|
| 获取好友请求 | GET `/api/front/friends/requests` | ✅ ApiService.getFriendRequests() | 完整 |
|
|||
|
|
| 处理好友请求 | POST `/api/front/friends/requests/{requestId}/handle` | ✅ ApiService.handleFriendRequest() | 完整 |
|
|||
|
|
|
|||
|
|
### 2.8 通话功能模块 ✅ 完整
|
|||
|
|
|
|||
|
|
| 接口 | 后端路径 | Android调用 | 状态 |
|
|||
|
|
|------|----------|-------------|------|
|
|||
|
|
| 发起通话 | POST `/api/front/call/initiate` | ✅ CallApiService.initiateCall() | 完整 |
|
|||
|
|
| 接听通话 | POST `/api/front/call/accept/{callId}` | ✅ CallApiService.acceptCall() | 完整 |
|
|||
|
|
| 拒绝通话 | POST `/api/front/call/reject/{callId}` | ✅ CallApiService.rejectCall() | 完整 |
|
|||
|
|
| 取消通话 | POST `/api/front/call/cancel/{callId}` | ✅ CallApiService.cancelCall() | 完整 |
|
|||
|
|
| 结束通话 | POST `/api/front/call/end/{callId}` | ✅ CallApiService.endCall() | 完整 |
|
|||
|
|
| 获取通话记录 | GET `/api/front/call/history` | ✅ CallApiService.getCallHistory() | 完整 |
|
|||
|
|
| 删除通话记录 | DELETE `/api/front/call/record/{recordId}` | ✅ CallApiService.deleteCallRecord() | 完整 |
|
|||
|
|
| 获取未接来电数 | GET `/api/front/call/missed/count` | ✅ CallApiService.getMissedCallCount() | 完整 |
|
|||
|
|
| 获取通话状态 | GET `/api/front/call/status` | ✅ CallApiService.getCallStatus() | 完整 |
|
|||
|
|
| 获取通话详情 | GET `/api/front/call/detail/{callId}` | ✅ CallApiService.getCallDetail() | 完整 |
|
|||
|
|
|
|||
|
|
### 2.9 在线状态模块 ✅ 完整
|
|||
|
|
|
|||
|
|
| 接口 | 后端路径 | Android调用 | 状态 |
|
|||
|
|
|------|----------|-------------|------|
|
|||
|
|
| 检查用户在线 | GET `/api/front/online/status/{userId}` | ✅ ApiService.checkUserOnline() | 完整 |
|
|||
|
|
| 批量检查在线 | POST `/api/front/online/status/batch` | ✅ ApiService.checkUsersOnline() | 完整 |
|
|||
|
|
| 获取房间在线数 | GET `/api/front/online/room/{roomId}/count` | ✅ ApiService.getRoomOnlineCount() | 完整 |
|
|||
|
|
| 获取房间在线用户 | GET `/api/front/online/room/{roomId}/users` | ✅ ApiService.getRoomOnlineUsers() | 完整 |
|
|||
|
|
| 获取连接统计 | GET `/api/front/online/stats` | ✅ ApiService.getConnectionStats() | 完整 |
|
|||
|
|
|
|||
|
|
### 2.10 离线消息模块 ✅ 完整
|
|||
|
|
|
|||
|
|
| 接口 | 后端路径 | Android调用 | 状态 |
|
|||
|
|
|------|----------|-------------|------|
|
|||
|
|
| 获取离线消息数 | GET `/api/front/online/offline/count/{userId}` | ✅ ApiService.getOfflineMessageCount() | 完整 |
|
|||
|
|
| 获取离线消息 | GET `/api/front/online/offline/messages/{userId}` | ✅ ApiService.getOfflineMessages() | 完整 |
|
|||
|
|
| 清除离线消息 | DELETE `/api/front/online/offline/messages/{userId}` | ✅ ApiService.clearOfflineMessages() | 完整 |
|
|||
|
|
|
|||
|
|
### 2.11 文件上传模块 ✅ 完整
|
|||
|
|
|
|||
|
|
| 接口 | 后端路径 | Android调用 | 状态 |
|
|||
|
|
|------|----------|-------------|------|
|
|||
|
|
| 上传图片 | POST `/api/front/user/upload/image` | ✅ ApiService.uploadImage() | 完整 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 三、移动端缺失功能分析
|
|||
|
|
|
|||
|
|
### 3.1 后端已有但移动端未对接 ⚠️
|
|||
|
|
|
|||
|
|
| 功能模块 | 后端Controller | 缺失接口 |
|
|||
|
|
|----------|----------------|----------|
|
|||
|
|
| 优惠券 | CouponController | 获取优惠券列表、领取优惠券 |
|
|||
|
|
| 购物车 | CartController | 购物车增删改查 |
|
|||
|
|
| 订单 | StoreOrderController | 创建订单、订单列表、订单详情 |
|
|||
|
|
| 商品 | ProductController | 商品列表、商品详情、商品搜索 |
|
|||
|
|
| 收货地址 | UserAddressController | 地址增删改查 |
|
|||
|
|
| 用户签到 | UserSignController | 签到、签到记录 |
|
|||
|
|
| 用户收藏 | UserCollectController | 收藏列表、添加/取消收藏 |
|
|||
|
|
| 砍价活动 | BargainController | 砍价列表、参与砍价 |
|
|||
|
|
| 拼团活动 | CombinationController | 拼团列表、参与拼团 |
|
|||
|
|
| 秒杀活动 | SecKillController | 秒杀列表、参与秒杀 |
|
|||
|
|
| 文章资讯 | ArticleController | 文章列表、文章详情 |
|
|||
|
|
| 微信相关 | WeChatController | 微信登录、微信支付 |
|
|||
|
|
|
|||
|
|
### 3.2 移动端功能页面但无后端支持 ⚠️
|
|||
|
|
|
|||
|
|
| 移动端页面 | 功能描述 | 后端状态 |
|
|||
|
|
|------------|----------|----------|
|
|||
|
|
| WishTreeActivity | 许愿树 | ❌ 无后端接口 |
|
|||
|
|
| DrawGuessActivity | 你画我猜 | ❌ 无后端接口 |
|
|||
|
|
| VoiceMatchActivity | 语音匹配 | ❌ 无后端接口 |
|
|||
|
|
| OnlineDatingActivity | 在线约会 | ❌ 无后端接口 |
|
|||
|
|
| HeartbeatSignalActivity | 心动信号 | ❌ 无后端接口 |
|
|||
|
|
| KTVTogetherActivity | K歌房 | ❌ 无后端接口 |
|
|||
|
|
| TableGamesActivity | 桌游 | ❌ 无后端接口 |
|
|||
|
|
| PeaceEliteActivity | 和平精英 | ❌ 无后端接口 |
|
|||
|
|
| FishPondActivity | 鱼塘 | ❌ 无后端接口 |
|
|||
|
|
| FindGameActivity | 找游戏 | ❌ 无后端接口 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 四、管理端 API 对接状态
|
|||
|
|
|
|||
|
|
### 4.1 已对接模块 ✅
|
|||
|
|
|
|||
|
|
| 模块 | 管理端API文件 | 后端Controller | 状态 |
|
|||
|
|
|------|---------------|----------------|------|
|
|||
|
|
| 用户管理 | user.js | UserController | ✅ 完整 |
|
|||
|
|
| 房间管理 | room.js | RoomController | ✅ 完整 |
|
|||
|
|
| 礼物管理 | giftDetail.js | GiftDetailController | ✅ 完整 |
|
|||
|
|
| 礼物打赏记录 | giftRewardRecord.js | GiftRewardRecordController | ✅ 完整 |
|
|||
|
|
| 充值管理 | liveRecharge.js | LiveRechargeController | ✅ 完整 |
|
|||
|
|
| 提现管理 | withdraw.js | WithdrawController | ✅ 完整 |
|
|||
|
|
| 黑名单 | blacklist.js | BlacklistController | ✅ 完整 |
|
|||
|
|
| 举报管理 | report.js | ReportController | ✅ 完整 |
|
|||
|
|
| 敏感词 | sensitiveWord.js | SensitiveWordController | ✅ 完整 |
|
|||
|
|
| 系统配置 | systemConfig.js | SystemConfigController | ✅ 完整 |
|
|||
|
|
| 角色权限 | role.js | SystemRoleController | ✅ 完整 |
|
|||
|
|
| 管理员 | systemadmin.js | SystemAdminController | ✅ 完整 |
|
|||
|
|
| 文章管理 | article.js | ArticleController | ✅ 完整 |
|
|||
|
|
| 分类管理 | categoryApi.js | CategoryController | ✅ 完整 |
|
|||
|
|
| 优惠券 | marketing.js | StoreCouponController | ✅ 完整 |
|
|||
|
|
| 订单管理 | order.js | StoreOrderController | ✅ 完整 |
|
|||
|
|
| 商品管理 | store.js | StoreProductController | ✅ 完整 |
|
|||
|
|
| 坐骑管理 | mount.js | MountController | ✅ 完整 |
|
|||
|
|
| 头饰管理 | headwear.js | HeadwearController | ✅ 完整 |
|
|||
|
|
| 贵族等级 | nobleLevel.js | NobleLevelController | ✅ 完整 |
|
|||
|
|
| 魅力等级 | charmLevel.js | CharmLevelController | ✅ 完整 |
|
|||
|
|
| 家族管理 | familyList.js | FamilyListController | ✅ 完整 |
|
|||
|
|
| 动态管理 | dynamic.js | DynamicController | ✅ 完整 |
|
|||
|
|
| 评论管理 | comment.js | CommentController | ✅ 完整 |
|
|||
|
|
| 聊天管理 | chat.js | ChatManagementController | ✅ 完整 |
|
|||
|
|
|
|||
|
|
### 4.2 管理端缺失功能 ⚠️
|
|||
|
|
|
|||
|
|
| 功能 | 描述 | 建议 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| 通话记录管理 | 查看/管理用户通话记录 | 需新增 CallRecordController |
|
|||
|
|
| 私聊消息管理 | 查看/管理私聊消息 | 需新增 PrivateMessageController |
|
|||
|
|
| 会话管理 | 查看/管理用户会话 | 需新增 ConversationController |
|
|||
|
|
| 好友关系管理 | 查看/管理好友关系 | 需新增 FriendController |
|
|||
|
|
| 在线状态监控 | 实时查看在线用户 | 需新增监控面板 |
|
|||
|
|
| WebSocket监控 | 监控WS连接状态 | 需新增监控面板 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 五、WebSocket 接口状态
|
|||
|
|
|
|||
|
|
### 5.1 已实现的WebSocket端点
|
|||
|
|
|
|||
|
|
| 端点 | 路径 | Handler | 功能 |
|
|||
|
|
|------|------|---------|------|
|
|||
|
|
| 直播弹幕 | `/ws/live/chat/{roomId}` | LiveChatHandler | 直播间实时弹幕 |
|
|||
|
|
| 私聊 | `/ws/chat/{conversationId}` | PrivateChatHandler | 私聊实时消息 |
|
|||
|
|
| 通话信令 | `/ws/call` | CallSignalingHandler | 语音/视频通话信令 |
|
|||
|
|
|
|||
|
|
### 5.2 WebSocket认证
|
|||
|
|
|
|||
|
|
- ✅ WebSocketAuthInterceptor 已实现
|
|||
|
|
- ✅ 支持token验证
|
|||
|
|
- ✅ 支持用户ID提取
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 六、优化建议
|
|||
|
|
|
|||
|
|
### 6.1 高优先级 🔴
|
|||
|
|
|
|||
|
|
1. **支付集成**
|
|||
|
|
- 当前充值订单只生成订单号,未集成真实支付
|
|||
|
|
- 建议:集成微信支付/支付宝SDK
|
|||
|
|
|
|||
|
|
2. **实时通话优化**
|
|||
|
|
- WebRTC信令服务需要完善
|
|||
|
|
- 建议:集成TURN/STUN服务器
|
|||
|
|
|
|||
|
|
3. **消息推送**
|
|||
|
|
- 缺少离线推送能力
|
|||
|
|
- 建议:集成极光推送/个推
|
|||
|
|
|
|||
|
|
### 6.2 中优先级 🟡
|
|||
|
|
|
|||
|
|
1. **电商功能对接**
|
|||
|
|
- 移动端缺少购物车、订单、商品模块
|
|||
|
|
- 建议:根据业务需求决定是否对接
|
|||
|
|
|
|||
|
|
2. **管理端监控**
|
|||
|
|
- 缺少实时在线监控
|
|||
|
|
- 建议:新增WebSocket监控面板
|
|||
|
|
|
|||
|
|
3. **娱乐功能后端**
|
|||
|
|
- 许愿树、K歌房等功能无后端
|
|||
|
|
- 建议:根据产品规划逐步实现
|
|||
|
|
|
|||
|
|
### 6.3 低优先级 🟢
|
|||
|
|
|
|||
|
|
1. **API文档**
|
|||
|
|
- 建议:集成Swagger UI,自动生成API文档
|
|||
|
|
|
|||
|
|
2. **接口版本管理**
|
|||
|
|
- 建议:添加API版本号 `/api/v1/front/...`
|
|||
|
|
|
|||
|
|
3. **限流防刷**
|
|||
|
|
- 建议:添加接口限流中间件
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 七、总结
|
|||
|
|
|
|||
|
|
### 整体完成度
|
|||
|
|
|
|||
|
|
| 系统 | 完成度 | 说明 |
|
|||
|
|
|------|--------|------|
|
|||
|
|
| 后端API (Front) | 85% | 核心功能完整,部分娱乐功能待开发 |
|
|||
|
|
| 后端API (Admin) | 90% | 管理功能完善,缺少部分监控功能 |
|
|||
|
|
| 移动端 (Android) | 80% | 核心功能对接完整,电商模块未对接 |
|
|||
|
|
| 管理端 (Vue) | 85% | 功能完善,缺少实时监控 |
|
|||
|
|
|
|||
|
|
### 核心功能状态
|
|||
|
|
|
|||
|
|
| 功能 | 后端 | 移动端 | 管理端 |
|
|||
|
|
|------|------|--------|--------|
|
|||
|
|
| 用户认证 | ✅ | ✅ | ✅ |
|
|||
|
|
| 直播间 | ✅ | ✅ | ✅ |
|
|||
|
|
| 弹幕消息 | ✅ | ✅ | ✅ |
|
|||
|
|
| 礼物打赏 | ✅ | ✅ | ✅ |
|
|||
|
|
| 私聊会话 | ✅ | ✅ | ⚠️ |
|
|||
|
|
| 好友管理 | ✅ | ✅ | ⚠️ |
|
|||
|
|
| 语音/视频通话 | ✅ | ✅ | ⚠️ |
|
|||
|
|
| 在线状态 | ✅ | ✅ | ⚠️ |
|
|||
|
|
| 充值支付 | ⚠️ | ⚠️ | ✅ |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
*报告生成完毕*
|