102 lines
2.6 KiB
Markdown
102 lines
2.6 KiB
Markdown
# 观看历史功能测试指南
|
||
|
||
## 功能说明
|
||
|
||
观看历史功能允许用户查看自己观看过的直播间、作品等内容,并保存到后台。
|
||
|
||
## 实现内容
|
||
|
||
### 1. 后台实现
|
||
|
||
#### 数据存储 (`live-streaming/server/store/viewHistoryStore.js`)
|
||
- 记录用户观看历史
|
||
- 支持按类型过滤(room/work/profile)
|
||
- 自动更新已存在的记录
|
||
- 支持分页查询
|
||
|
||
#### API路由 (`live-streaming/server/routes/viewHistory.js`)
|
||
- `POST /api/front/activity/record-view` - 记录观看历史
|
||
- `GET /api/front/activity/view-history` - 获取观看历史
|
||
- `DELETE /api/front/activity/view-history` - 清除观看历史
|
||
- `DELETE /api/front/activity/view-history/:id` - 删除单条记录
|
||
|
||
### 2. Android端实现
|
||
|
||
#### RoomDetailActivity
|
||
- `recordWatchHistory()` - 进入直播间时记录观看历史
|
||
- `updateWatchHistoryWithRoomInfo()` - 房间信息加载后更新详细信息
|
||
|
||
#### MyRecordsActivity
|
||
- 已支持显示观看历史("观看历史"标签页)
|
||
- 支持点击跳转到对应的直播间/作品
|
||
|
||
## 测试步骤
|
||
|
||
### 1. 启动后台服务
|
||
|
||
```bash
|
||
cd live-streaming
|
||
npm install
|
||
npm start
|
||
```
|
||
|
||
后台服务将在 http://localhost:3001 启动
|
||
|
||
### 2. 测试API(使用Postman或curl)
|
||
|
||
#### 记录观看历史
|
||
```bash
|
||
curl -X POST http://localhost:3001/api/front/activity/record-view \
|
||
-H "Content-Type: application/json" \
|
||
-H "Authorization: 1" \
|
||
-d '{
|
||
"targetType": "room",
|
||
"targetId": "test-room-id",
|
||
"targetTitle": "测试直播间",
|
||
"coverImage": "https://example.com/cover.jpg",
|
||
"streamerName": "测试主播",
|
||
"viewDuration": 120
|
||
}'
|
||
```
|
||
|
||
#### 获取观看历史
|
||
```bash
|
||
curl -X GET "http://localhost:3001/api/front/activity/view-history?page=1&pageSize=20" \
|
||
-H "Authorization: 1"
|
||
```
|
||
|
||
#### 清除观看历史
|
||
```bash
|
||
curl -X DELETE "http://localhost:3001/api/front/activity/view-history" \
|
||
-H "Authorization: 1"
|
||
```
|
||
|
||
### 3. Android端测试
|
||
|
||
1. 确保Android应用已连接到后台服务
|
||
2. 登录应用
|
||
3. 进入任意直播间
|
||
4. 观看历史会自动记录
|
||
5. 返回首页,进入"我的" -> "我的记录"
|
||
6. 切换到"观看历史"标签页
|
||
7. 应该能看到刚才观看的直播间
|
||
|
||
## 数据存储位置
|
||
|
||
观看历史数据保存在:`live-streaming/data/viewHistory.json`
|
||
|
||
## 注意事项
|
||
|
||
1. 用户必须登录才能记录观看历史
|
||
2. 同一用户观看同一内容会更新记录而不是创建新记录
|
||
3. 观看历史按更新时间倒序排列
|
||
4. 支持分页加载,默认每页20条
|
||
|
||
## 后续优化建议
|
||
|
||
1. 添加观看时长统计
|
||
2. 支持删除单条观看历史
|
||
3. 添加观看历史的时间筛选
|
||
4. 支持导出观看历史
|
||
5. 添加隐私设置(是否记录观看历史)
|