3.4 KiB
3.4 KiB
点赞功能实现计划
需求分析
1. 直播间点赞按钮
- 位置:送礼物按钮旁边
- 功能:用户可以无限次点赞
- 效果:点击后显示动画,点赞数实时增加
2. 个人中心布局调整
- 第一行:我的关注、我的点赞、观看历史(样式一致)
- 第二行:公园勋章、我的挚友
- 我的点赞:显示用户点赞过的直播间列表
3. 主播中心显示获赞数
- 显示该主播所有直播间的总获赞数
4. 首页直播间卡片
- 右下角显示点赞数(替换星星图标)
技术实现
数据库设计
1. 直播间点赞表 (eb_live_room_like)
CREATE TABLE eb_live_room_like (
id INT PRIMARY KEY AUTO_INCREMENT,
room_id INT NOT NULL COMMENT '直播间ID',
user_id INT NOT NULL COMMENT '用户ID',
like_count INT DEFAULT 1 COMMENT '点赞次数',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_room_id (room_id),
INDEX idx_user_id (user_id),
INDEX idx_user_room (user_id, room_id)
) COMMENT='直播间点赞记录表';
2. 直播间表添加点赞数字段
ALTER TABLE eb_live_room ADD COLUMN like_count INT DEFAULT 0 COMMENT '总点赞数';
后端API设计
1. 点赞接口
- POST
/api/front/live/room/{roomId}/like- 点赞直播间 - GET
/api/front/live/room/{roomId}/like/count- 获取点赞数 - GET
/api/front/user/liked-rooms- 获取用户点赞过的直播间列表
2. 主播统计接口
- GET
/api/front/streamer/stats- 获取主播统计(包含获赞数)
Android端实现
1. RoomDetailActivity(直播间详情)
- 添加点赞按钮UI
- 实现点赞动画效果
- 实时更新点赞数
2. ProfileActivity(个人中心)
- 调整布局:第一行3个按钮,第二行2个按钮
- 添加"我的点赞"按钮
3. LikedRoomsActivity(我的点赞页面)
- 显示用户点赞过的直播间列表
- 支持下拉刷新
4. StreamerCenterActivity(主播中心)
- 显示获赞总数
5. MainActivity(首页)
- 修改直播间卡片,显示点赞数而不是星星
实现步骤
- ✅ 创建数据库表和字段
- ✅ 实现后端点赞API
- ✅ 实现Android端点赞按钮和动画
- ✅ 调整个人中心布局
- ✅ 创建"我的点赞"页面
- ✅ 更新主播中心显示获赞数
- ✅ 修改首页直播间卡片显示点赞数
文件清单
数据库
live_room_like_tables.sql- 点赞表创建脚本
后端
LiveRoomLikeController.java- 点赞控制器LiveRoomLikeService.java- 点赞服务接口LiveRoomLikeServiceImpl.java- 点赞服务实现LiveRoomLike.java- 点赞实体类LiveRoomLikeDao.java- 点赞DAOLiveRoomLikeDao.xml- MyBatis映射文件
Android端
LikedRoomsActivity.java- 我的点赞页面activity_liked_rooms.xml- 我的点赞布局ic_like_24.xml- 点赞图标ic_like_filled_24.xml- 已点赞图标- 修改
RoomDetailActivity.java- 添加点赞按钮 - 修改
activity_room_detail.xml- 添加点赞按钮布局 - 修改
ProfileActivity.java- 调整布局 - 修改
activity_profile.xml- 调整布局 - 修改
StreamerCenterActivity.java- 显示获赞数 - 修改
MainActivity.java- 更新卡片显示 - 修改
item_room_waterfall.xml- 显示点赞数