# 用户活动记录功能说明 ## 功能概述 实现了管理端与移动端的"历史记录"功能互通,包括: - 观看历史(直播间、作品、用户主页) - 点赞记录(直播间、作品、心愿) - 关注记录 - 收藏记录 ## 后端实现 ### 1. 服务层 - `UserActivityRecordService.java` - 服务接口 - `UserActivityRecordServiceImpl.java` - 服务实现 ### 2. API 控制器 - **前端 API**: `UserActivityRecordController.java` - 路径前缀: `/api/front/activity/` - 接口列表: - `POST /view/record` - 记录观看历史 - `GET /view/history` - 获取观看历史 - `DELETE /view/history/{historyId}` - 删除单条观看历史 - `DELETE /view/history` - 清空观看历史 - `GET /like/records` - 获取点赞记录 - `GET /like/rooms` - 获取点赞的直播间 - `GET /like/works` - 获取点赞的作品 - `GET /like/wishes` - 获取点赞的心愿 - `GET /follow/records` - 获取关注记录 - `GET /collect/works` - 获取收藏的作品 - `GET /stats` - 获取用户活动统计 - **管理端 API**: `UserActivityController.java` - 路径前缀: `/api/admin/user/` - 接口列表: - `GET /follow/records` - 获取用户关注记录 - `GET /like/records` - 获取用户点赞记录 - `GET /view/history` - 获取用户查看历史 - `GET /collect/works` - 获取用户收藏的作品 - `GET /activity/stats` - 获取用户活动统计 ### 3. 数据库表 执行 `sql/user_activity_records_update.sql` 创建以下表: - `eb_view_history` - 查看历史记录表 - `eb_live_room_like` - 直播间点赞记录表 - `eb_wish_like` - 心愿点赞记录表 - `eb_search_history` - 搜索历史表 - `eb_hot_search` - 热门搜索表 - `eb_works_relation` - 作品关系表(点赞、收藏) ## Android 端实现 ### 1. API 接口 在 `ApiService.java` 中添加了以下接口: - 观看历史相关接口 - 点赞记录相关接口 - 关注记录接口 - 收藏记录接口 - 用户活动统计接口 ### 2. 页面 - `MyRecordsActivity.java` - 我的记录页面(整合所有记录类型) - `WatchHistoryActivity.java` - 观看历史页面(已更新使用新 API) ### 3. 布局文件 - `activity_my_records.xml` - 我的记录页面布局 - `fragment_record_list.xml` - 记录列表 Fragment 布局 - `item_record.xml` - 记录列表项布局 - `activity_watch_history.xml` - 观看历史页面布局 ### 4. 入口 在 `ProfileActivity` 中添加了"我的记录"快捷入口(action4) ## 管理端前端实现 ### 1. API 文件 - `src/api/userActivity.js` - 用户活动记录 API ### 2. 页面更新 - `src/views/user/list/userDetails.vue` - 用户详情页面 - 添加了"关注记录"标签页 - 添加了"点赞记录"标签页 - 添加了"查看历史"标签页 - 添加了"收藏记录"标签页 ## 部署步骤 1. **数据库更新** ```sql -- 执行 SQL 脚本 source sql/user_activity_records_update.sql ``` 2. **后端部署** - 重新编译并部署 Java 后端服务 3. **管理端前端部署** - 重新构建并部署管理端前端 4. **Android 端** - 重新编译 APK 并安装 ## 注意事项 1. 后端使用 JdbcTemplate 直接操作数据库,确保数据库表已创建 2. Android 端需要登录后才能使用记录功能 3. 管理端可以查看任意用户的活动记录