zhibo/点赞功能实现计划.md
2026-01-03 15:32:31 +08:00

3.4 KiB
Raw Blame History

点赞功能实现计划

需求分析

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首页

  • 修改直播间卡片,显示点赞数而不是星星

实现步骤

  1. 创建数据库表和字段
  2. 实现后端点赞API
  3. 实现Android端点赞按钮和动画
  4. 调整个人中心布局
  5. 创建"我的点赞"页面
  6. 更新主播中心显示获赞数
  7. 修改首页直播间卡片显示点赞数

文件清单

数据库

  • live_room_like_tables.sql - 点赞表创建脚本

后端

  • LiveRoomLikeController.java - 点赞控制器
  • LiveRoomLikeService.java - 点赞服务接口
  • LiveRoomLikeServiceImpl.java - 点赞服务实现
  • LiveRoomLike.java - 点赞实体类
  • LiveRoomLikeDao.java - 点赞DAO
  • LiveRoomLikeDao.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 - 显示点赞数