Skip to Content

点赞功能

场景说明

点赞功能广泛应用于社交、内容平台等场景,用于提升用户互动和内容热度。常见于朋友圈、评论区、文章、商品等内容的互动。

数据模型设计

  • 新建点赞表(如 like),字段建议:
    • 用户ID(user_id):与账户表关联
    • 目标对象ID(target_id):如文章、评论、商品等的唯一标识
    • 点赞时间(created_at)
  • 目标对象表(如 article/comment/product)无需冗余点赞数,可通过聚合查询统计

点赞数据模型结构

组件搭建与交互逻辑

  1. 在目标内容区域添加点赞按钮(如心形/拇指图标)。
  2. 显示点赞数(可用文本组件或 badge)。
  3. 配置按钮点击事件:
    • 若当前用户未点赞,则新增一条 like 记录,点赞数+1,按钮高亮。
    • 若已点赞,则删除 like 记录,点赞数-1,按钮恢复未选中。
    • 可通过条件式容器或按钮状态切换实现高亮/未高亮。
  4. 点赞数实时更新:
    • 通过远程数据统计 like 表中目标对象ID的记录数。
    • 支持页面刷新或局部刷新。

点赞按钮组件与交互逻辑

操作步骤示例

第一步:新建数据模型

  • 新建 like 表,添加 user_id、target_id、created_at 字段。
  • 在账户表与 like 表之间建立一对多关系。
  • 在目标对象表与 like 表之间建立一对多关系。

第二步:页面组件搭建

  • 在内容卡片、详情页等区域添加点赞按钮和点赞数。
  • 点赞按钮可用条件式容器切换“已点赞/未点赞”两种状态。

点赞按钮状态切换示意图

第三步:交互配置

  • 按钮点击时:
    • 判断当前用户是否已点赞(可通过过滤 like 表 user_id+target_id 是否有记录)。
    • 未点赞则添加 like 记录,已点赞则删除。
    • 操作成功后刷新点赞数。

第四步:统计与防刷

  • 点赞数统计:远程数据聚合 like 表,按 target_id 分组计数。
  • 防止重复点赞:按钮状态根据当前用户是否已点赞动态切换。
  • 可结合平台内置变量、数据过滤条件实现防刷和统计。

常见问题

  • 如何防止重复点赞?
    • 通过 user_id+target_id 唯一性约束或前端判断,已点赞则不可重复操作。
  • 如何统计总点赞数?
    • 远程数据聚合查询 like 表,按目标对象分组计数。
  • 如何实现点赞动画或高亮?
    • 条件式容器切换不同图标或样式,配合动画组件。

建议结合平台内置变量、数据过滤、聚合查询等能力实现高效点赞功能。

Last updated on