2026-01-03 15:32:31 +08:00
|
|
|
|
# 用户活动记录功能说明
|
|
|
|
|
|
|
|
|
|
|
|
## 功能概述
|
|
|
|
|
|
|
2026-01-04 10:13:32 +08:00
|
|
|
|
实现了管理端与移动端的"历史记录"功能互通,包括:
|
|
|
|
|
|
- 观看历史(直播间、作品、用户主页)
|
|
|
|
|
|
- 点赞记录(直播间、作品、心愿)
|
|
|
|
|
|
- 关注记录
|
|
|
|
|
|
- 收藏记录
|
|
|
|
|
|
|
|
|
|
|
|
## 后端实现
|
|
|
|
|
|
|
|
|
|
|
|
### 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` - 获取用户活动统计
|
2026-01-03 15:32:31 +08:00
|
|
|
|
|
|
|
|
|
|
### 3. 数据库表
|
2026-01-04 10:13:32 +08:00
|
|
|
|
执行 `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` - 用户详情页面
|
|
|
|
|
|
- 添加了"关注记录"标签页
|
|
|
|
|
|
- 添加了"点赞记录"标签页
|
|
|
|
|
|
- 添加了"查看历史"标签页
|
|
|
|
|
|
- 添加了"收藏记录"标签页
|
2026-01-03 15:32:31 +08:00
|
|
|
|
|
|
|
|
|
|
## 部署步骤
|
|
|
|
|
|
|
2026-01-04 10:13:32 +08:00
|
|
|
|
1. **数据库更新**
|
|
|
|
|
|
```sql
|
|
|
|
|
|
-- 执行 SQL 脚本
|
|
|
|
|
|
source sql/user_activity_records_update.sql
|
|
|
|
|
|
```
|
2026-01-03 15:32:31 +08:00
|
|
|
|
|
2026-01-04 10:13:32 +08:00
|
|
|
|
2. **后端部署**
|
|
|
|
|
|
- 重新编译并部署 Java 后端服务
|
2026-01-03 15:32:31 +08:00
|
|
|
|
|
2026-01-04 10:13:32 +08:00
|
|
|
|
3. **管理端前端部署**
|
|
|
|
|
|
- 重新构建并部署管理端前端
|
2026-01-03 15:32:31 +08:00
|
|
|
|
|
2026-01-04 10:13:32 +08:00
|
|
|
|
4. **Android 端**
|
|
|
|
|
|
- 重新编译 APK 并安装
|
2026-01-03 15:32:31 +08:00
|
|
|
|
|
|
|
|
|
|
## 注意事项
|
|
|
|
|
|
|
2026-01-04 10:13:32 +08:00
|
|
|
|
1. 后端使用 JdbcTemplate 直接操作数据库,确保数据库表已创建
|
|
|
|
|
|
2. Android 端需要登录后才能使用记录功能
|
|
|
|
|
|
3. 管理端可以查看任意用户的活动记录
|