2025-12-26 18:18:28 +08:00
|
|
|
# 直播APP接口文档
|
|
|
|
|
|
|
|
|
|
> 后端服务地址: `http://localhost:8081`
|
|
|
|
|
> 所有接口需要在Header中携带 `Authori-zation: {token}` (登录后获取)
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 一、用户认证
|
|
|
|
|
|
|
|
|
|
### 1.1 账号密码登录
|
|
|
|
|
- **POST** `/api/front/login`
|
|
|
|
|
- **请求体**:
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"account": "手机号",
|
|
|
|
|
"password": "密码"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
- **响应**: `token`, `uid`, `nikeName`, `phone`
|
|
|
|
|
|
|
|
|
|
### 1.2 用户注册
|
|
|
|
|
- **POST** `/api/front/register`
|
|
|
|
|
- **请求体**:
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"phone": "手机号",
|
|
|
|
|
"password": "密码",
|
|
|
|
|
"verificationCode": "验证码",
|
|
|
|
|
"nickname": "昵称"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 1.3 发送验证码
|
|
|
|
|
- **POST** `/api/front/sendCode`
|
|
|
|
|
- **参数**: `phone` (表单)
|
|
|
|
|
|
|
|
|
|
### 1.4 退出登录
|
|
|
|
|
- **GET** `/api/front/logout`
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 二、用户信息
|
|
|
|
|
|
|
|
|
|
### 2.1 获取用户信息
|
|
|
|
|
- **GET** `/api/front/user`
|
|
|
|
|
- **响应**: `nickname`, `avatar`, `phone`, `nowMoney`, `integral`, `level`, `vip` 等
|
|
|
|
|
|
|
|
|
|
### 2.2 修改用户资料
|
|
|
|
|
- **POST** `/api/front/user/edit`
|
|
|
|
|
- **请求体**:
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"nickname": "昵称",
|
|
|
|
|
"avatar": "头像URL"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 三、直播间
|
|
|
|
|
|
|
|
|
|
### 3.1 获取直播间列表
|
|
|
|
|
- **GET** `/api/front/live/public/rooms`
|
|
|
|
|
- **响应**: 直播中的房间列表
|
|
|
|
|
|
|
|
|
|
### 3.2 创建直播间
|
|
|
|
|
- **POST** `/api/front/live/rooms`
|
|
|
|
|
- **请求体**:
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"title": "直播标题",
|
|
|
|
|
"streamerName": "主播名称"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
- **响应**: 房间信息 + 推流地址
|
|
|
|
|
|
|
|
|
|
### 3.3 获取直播间详情
|
|
|
|
|
- **GET** `/api/front/live/public/rooms/{id}`
|
|
|
|
|
|
|
|
|
|
### 3.4 删除直播间
|
|
|
|
|
- **DELETE** `/api/front/live/rooms/{id}`
|
|
|
|
|
|
|
|
|
|
### 3.5 获取观看人数
|
|
|
|
|
- **GET** `/api/front/live/public/rooms/{roomId}/viewers/count`
|
|
|
|
|
|
|
|
|
|
### 3.6 关注/取消关注主播
|
|
|
|
|
- **POST** `/api/front/live/follow`
|
|
|
|
|
- **请求体**:
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"streamerId": 123,
|
2025-12-26 18:37:36 +08:00
|
|
|
"action": "follow"
|
2025-12-26 18:18:28 +08:00
|
|
|
}
|
|
|
|
|
```
|
2025-12-26 18:37:36 +08:00
|
|
|
> action 可选值: "follow" 或 "unfollow"
|
2025-12-26 18:18:28 +08:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 四、直播弹幕
|
|
|
|
|
|
|
|
|
|
### 4.1 获取弹幕消息
|
|
|
|
|
- **GET** `/api/front/live/public/rooms/{roomId}/messages`
|
|
|
|
|
- **参数**: `limit` (数量限制)
|
|
|
|
|
|
|
|
|
|
### 4.2 发送弹幕
|
|
|
|
|
- **POST** `/api/front/live/public/rooms/{roomId}/messages`
|
|
|
|
|
- **请求体**:
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"message": "弹幕内容",
|
|
|
|
|
"visitorId": "访客ID",
|
|
|
|
|
"nickname": "昵称"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 五、礼物打赏
|
|
|
|
|
|
|
|
|
|
### 5.1 获取礼物列表
|
|
|
|
|
- **GET** `/api/front/gift/list`
|
|
|
|
|
- **响应**: `id`, `name`, `price`, `iconUrl`, `description`, `level`
|
|
|
|
|
|
|
|
|
|
### 5.2 获取用户余额
|
|
|
|
|
- **GET** `/api/front/gift/balance`
|
|
|
|
|
- **响应**: `coinBalance`
|
|
|
|
|
|
|
|
|
|
### 5.3 赠送礼物
|
|
|
|
|
- **POST** `/api/front/gift/send`
|
|
|
|
|
- **请求体**:
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"giftId": 1,
|
|
|
|
|
"streamerId": 123,
|
|
|
|
|
"count": 1
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
- **响应**: `success`, `newBalance`, `message`
|
|
|
|
|
|
|
|
|
|
### 5.4 获取充值选项
|
|
|
|
|
- **GET** `/api/front/gift/recharge/options`
|
|
|
|
|
- **响应**: `id`, `coinAmount`, `price`, `discountLabel`
|
|
|
|
|
|
|
|
|
|
### 5.5 创建充值订单
|
|
|
|
|
- **POST** `/api/front/gift/recharge/create`
|
|
|
|
|
- **请求体**:
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"optionId": 1,
|
|
|
|
|
"coinAmount": 100,
|
|
|
|
|
"price": 10.00
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
- **响应**: `orderId`, `paymentUrl`
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 六、私聊会话
|
|
|
|
|
|
|
|
|
|
### 6.1 获取会话列表
|
|
|
|
|
- **GET** `/api/front/conversations`
|
|
|
|
|
- **响应**: `id`, `title`, `lastMessage`, `timeText`, `unreadCount`, `avatarUrl`, `otherUserId`
|
|
|
|
|
|
|
|
|
|
### 6.2 搜索会话
|
|
|
|
|
- **GET** `/api/front/conversations/search`
|
|
|
|
|
- **参数**: `keyword`
|
|
|
|
|
|
|
|
|
|
### 6.3 获取/创建会话
|
|
|
|
|
- **POST** `/api/front/conversations/with/{otherUserId}`
|
|
|
|
|
- **响应**: `conversationId`
|
|
|
|
|
|
|
|
|
|
### 6.4 标记会话已读
|
|
|
|
|
- **POST** `/api/front/conversations/{id}/read`
|
|
|
|
|
|
|
|
|
|
### 6.5 删除会话
|
|
|
|
|
- **DELETE** `/api/front/conversations/{id}`
|
|
|
|
|
|
|
|
|
|
### 6.6 获取消息列表
|
|
|
|
|
- **GET** `/api/front/conversations/{id}/messages`
|
|
|
|
|
- **参数**: `page`, `pageSize`
|
|
|
|
|
- **响应**: `messageId`, `userId`, `username`, `avatarUrl`, `message`, `timestamp`, `status`
|
|
|
|
|
|
|
|
|
|
### 6.7 发送私信
|
|
|
|
|
- **POST** `/api/front/conversations/{id}/messages`
|
|
|
|
|
- **请求体**:
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"message": "消息内容",
|
|
|
|
|
"messageType": "text"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 6.8 删除消息
|
|
|
|
|
- **DELETE** `/api/front/conversations/messages/{id}`
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 七、好友管理
|
|
|
|
|
|
|
|
|
|
### 7.1 获取好友列表
|
|
|
|
|
- **GET** `/api/front/friends`
|
|
|
|
|
- **参数**: `page`, `pageSize`
|
|
|
|
|
- **响应**: `id`, `name`, `avatarUrl`, `phone`, `isOnline`, `lastOnlineTime`
|
|
|
|
|
|
|
|
|
|
### 7.2 删除好友
|
|
|
|
|
- **DELETE** `/api/front/friends/{friendId}`
|
|
|
|
|
|
|
|
|
|
### 7.3 搜索用户
|
|
|
|
|
- **GET** `/api/front/users/search`
|
|
|
|
|
- **参数**: `keyword`, `page`, `pageSize`
|
|
|
|
|
- **响应**: `id`, `nickname`, `phone`, `avatarUrl`, `friendStatus` (0=未添加, 1=已是好友, 2=已申请)
|
|
|
|
|
|
|
|
|
|
### 7.4 发送好友请求
|
|
|
|
|
- **POST** `/api/front/friends/request`
|
|
|
|
|
- **请求体**:
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"targetUserId": 123,
|
|
|
|
|
"message": "请求消息"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 7.5 获取好友请求列表
|
|
|
|
|
- **GET** `/api/front/friends/requests`
|
|
|
|
|
- **参数**: `page`, `pageSize`
|
|
|
|
|
|
|
|
|
|
### 7.6 处理好友请求
|
|
|
|
|
- **POST** `/api/front/friends/requests/{requestId}/handle`
|
|
|
|
|
- **请求体**:
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"accept": true
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 八、文件上传
|
|
|
|
|
|
|
|
|
|
### 8.1 上传图片
|
|
|
|
|
- **POST** `/api/front/user/upload/image`
|
|
|
|
|
- **参数**:
|
|
|
|
|
- `multipart` - 图片文件
|
|
|
|
|
- `model` - 模块 (user/product/wechat/news)
|
|
|
|
|
- `pid` - 分类ID (7=前台用户头像)
|
|
|
|
|
- **响应**: `url`, `fileName`, `type`
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 九、在线状态
|
|
|
|
|
|
|
|
|
|
### 9.1 检查用户在线状态
|
|
|
|
|
- **GET** `/api/front/online/status/{userId}`
|
|
|
|
|
- **响应**: `userId`, `online`, `lastActiveTime`
|
|
|
|
|
|
|
|
|
|
### 9.2 批量检查在线状态
|
|
|
|
|
- **POST** `/api/front/online/status/batch`
|
|
|
|
|
- **请求体**: `[userId1, userId2, ...]`
|
|
|
|
|
- **响应**: `total`, `onlineCount`, `onlineUsers`
|
|
|
|
|
|
|
|
|
|
### 9.3 获取直播间在线人数
|
|
|
|
|
- **GET** `/api/front/online/room/{roomId}/count`
|
|
|
|
|
- **响应**: `roomId`, `count`
|
|
|
|
|
|
|
|
|
|
### 9.4 获取直播间在线用户列表
|
|
|
|
|
- **GET** `/api/front/online/room/{roomId}/users`
|
|
|
|
|
- **响应**: `roomId`, `count`, `users`
|
|
|
|
|
|
|
|
|
|
### 9.5 获取WebSocket连接统计
|
|
|
|
|
- **GET** `/api/front/online/stats`
|
|
|
|
|
- **响应**: `activeConnections`, `timestamp`
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 十、离线消息
|
|
|
|
|
|
|
|
|
|
### 10.1 获取离线消息数量
|
|
|
|
|
- **GET** `/api/front/online/offline/count/{userId}`
|
|
|
|
|
- **响应**: `userId`, `count`
|
|
|
|
|
|
|
|
|
|
### 10.2 获取离线消息列表
|
|
|
|
|
- **GET** `/api/front/online/offline/messages/{userId}`
|
|
|
|
|
- **参数**: `limit` (默认50)
|
|
|
|
|
- **响应**: `userId`, `messages`, `count`, `totalCount`
|
|
|
|
|
|
|
|
|
|
### 10.3 清除离线消息
|
|
|
|
|
- **DELETE** `/api/front/online/offline/messages/{userId}`
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 接口统计
|
|
|
|
|
|
|
|
|
|
| 模块 | 接口数量 |
|
|
|
|
|
|------|----------|
|
|
|
|
|
| 用户认证 | 4 |
|
|
|
|
|
| 用户信息 | 2 |
|
|
|
|
|
| 直播间 | 6 |
|
|
|
|
|
| 直播弹幕 | 2 |
|
|
|
|
|
| 礼物打赏 | 5 |
|
|
|
|
|
| 私聊会话 | 8 |
|
|
|
|
|
| 好友管理 | 6 |
|
|
|
|
|
| 文件上传 | 1 |
|
|
|
|
|
| 在线状态 | 5 |
|
|
|
|
|
| 离线消息 | 3 |
|
|
|
|
|
| **总计** | **42** |
|