5.8 KiB
5.8 KiB
观看历史功能 - 检查结果
✅ 好消息:API路径已经正确!
经过检查,发现 ApiService.java 中的API路径已经是正确的!
📊 当前API配置(正确)
ApiService.java 中的定义
// ==================== 用户活动记录 ====================
/**
* 获取观看历史
*/
@GET("api/front/activity/view/history") // ✅ 正确
Call<ApiResponse<PageResponse<Map<String, Object>>>> getViewHistory(
@Query("targetType") String targetType, // ✅ 正确
@Query("page") int page,
@Query("pageSize") int pageSize);
/**
* 清除观看历史
*/
@DELETE("api/front/activity/view/history") // ✅ 正确
Call<ApiResponse<String>> clearViewHistory(@Query("targetType") String targetType); // ✅ 正确
/**
* 获取点赞记录
*/
@GET("api/front/activity/like/records") // ✅ 正确
Call<ApiResponse<PageResponse<Map<String, Object>>>> getLikeRecords(
@Query("targetType") String targetType, // ✅ 正确
@Query("page") int page,
@Query("pageSize") int pageSize);
/**
* 获取收藏的作品
*/
@GET("api/front/activity/collect/works") // ✅ 正确
Call<ApiResponse<PageResponse<Map<String, Object>>>> getCollectedWorks(
@Query("page") int page,
@Query("pageSize") int pageSize);
/**
* 获取关注记录
*/
@GET("api/front/activity/follow/records") // ✅ 正确
Call<ApiResponse<PageResponse<Map<String, Object>>>> getFollowRecords(
@Query("page") int page,
@Query("pageSize") int pageSize);
/**
* 记录观看历史(新版)
*/
@POST("api/front/activity/view/record") // ✅ 正确
Call<ApiResponse<Map<String, Object>>> recordViewHistoryNew(@Body Map<String, Object> body);
/**
* 调试Token
*/
@GET("api/front/activity/debug/token") // ✅ 正确
Call<ApiResponse<Map<String, Object>>> debugToken();
✅ 对比结果
| 功能 | ApiService.java | zhibo-h后台 | 状态 |
|---|---|---|---|
| 记录观看历史 | /activity/view/record |
/activity/view/record |
✅ 匹配 |
| 获取观看历史 | /activity/view/history |
/activity/view/history |
✅ 匹配 |
| 清除观看历史 | /activity/view/history |
/activity/view/history |
✅ 匹配 |
| 获取点赞记录 | /activity/like/records |
/activity/like/records |
✅ 匹配 |
| 获取关注记录 | /activity/follow/records |
/activity/follow/records |
✅ 匹配 |
| 获取收藏记录 | /activity/collect/works |
/activity/collect/works |
✅ 匹配 |
| 参数名 | targetType |
targetType |
✅ 匹配 |
🔍 需要检查的地方
虽然API路径正确,但还需要检查以下几点:
1. RoomDetailActivity.java 中的参数
检查 recordWatchHistory() 和 updateWatchHistoryWithRoomInfo() 方法中的参数名:
需要确认的参数:
- ✅
targetType(不是type) - ✅
targetId - ✅
targetTitle - ⚠️
duration(不是viewDuration)
2. 后台服务状态
确认zhibo-h后台服务:
- 是否正在运行
- 端口是否正确(8081本地,8083生产)
- 数据库连接是否正常
3. Token认证
确认Token传递:
- Android端是否正确传递Token
- Token格式是否正确(
Bearer {token}) - Token是否有效
🔧 需要修改的地方
RoomDetailActivity.java
检查参数名是否正确,特别是 duration 字段:
// 当前代码(需要确认)
body.put("targetType", "room"); // ✅ 正确
body.put("targetId", roomId); // ✅ 正确
body.put("targetTitle", "直播间"); // ✅ 正确
body.put("duration", 0); // ⚠️ 需要确认是duration还是viewDuration
后台期望的参数名(根据UserActivityRecordController.java):
String targetType = body.get("targetType")
String targetId = body.get("targetId")
String targetTitle = body.get("targetTitle")
Integer duration = body.get("duration") // ← 注意是duration
📝 检查清单
API路径
- ✅
getViewHistory路径正确 - ✅
clearViewHistory路径正确 - ✅
getLikeRecords路径正确 - ✅
getFollowRecords路径正确 - ✅
getCollectedWorks路径正确 - ✅
recordViewHistoryNew路径正确 - ✅
debugToken路径正确
参数名
- ✅
targetType参数名正确 - ✅
page参数名正确 - ✅
pageSize参数名正确
需要确认
- ⚠️ RoomDetailActivity中使用的是
duration还是viewDuration - ⚠️ 后台服务是否运行
- ⚠️ Token是否正确传递
🚀 下一步行动
1. 检查RoomDetailActivity.java
查看 recordWatchHistory() 方法中的参数:
# 搜索关键代码
grep -n "body.put" RoomDetailActivity.java | grep -E "duration|viewDuration"
2. 测试API连接
使用curl测试后台API:
# 测试调试接口
curl -X GET "http://1.15.149.240:8081/api/front/activity/debug/token" \
-H "Authorization: Bearer YOUR_TOKEN"
# 测试记录观看历史
curl -X POST "http://1.15.149.240:8081/api/front/activity/view/record" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"targetType": "room",
"targetId": "8",
"targetTitle": "测试直播间",
"duration": 120
}'
3. 查看后台日志
检查zhibo-h的日志文件:
tail -f Zhibo/zhibo-h/crmeb_front_log/log_info.log | grep "观看历史"
💡 结论
API路径配置完全正确!
现在需要:
- ✅ 确认RoomDetailActivity中的参数名(特别是
duration) - ✅ 确认后台服务正在运行
- ✅ 测试功能是否正常工作
如果参数名也正确,那么功能应该已经可以正常使用了!
检查时间: 2026-01-05
状态: ✅ API路径正确,需要确认参数和后台服务