点赞功能
场景说明
点赞功能广泛应用于社交、内容平台等场景,用于提升用户互动和内容热度。常见于朋友圈、评论区、文章、商品等内容的互动。
数据模型设计
- 新建点赞表(如 like),字段建议:
- 用户ID(user_id):与账户表关联
- 目标对象ID(target_id):如文章、评论、商品等的唯一标识
- 点赞时间(created_at)
- 目标对象表(如 article/comment/product)无需冗余点赞数,可通过聚合查询统计
组件搭建与交互逻辑
- 在目标内容区域添加点赞按钮(如心形/拇指图标)。
- 显示点赞数(可用文本组件)。
- 配置按钮点击事件:
- 若当前用户未点赞,则新增一条点赞记录,点赞数+1,按钮高亮。
- 若已点赞,则删除点赞记录,点赞数-1,按钮恢复未选中。
- 可通过条件式容器或按钮状态切换实现高亮/未高亮。
- 点赞数实时更新:
- 通过页面数据源数据统计点赞表中目标对象ID的记录数。
- 支持页面刷新或局部刷新。
操作步骤示例
第一步:新建数据模型
- 新建点赞表
- 在账户表与点赞表之间建立一对多关系。
- 在文章表与点赞表之间建立一对多关系。
- 建立关系后会产生对应的关系字段:账户_账户,文章_文章表
第二步:页面组件搭建
- 在内容卡片、详情页等区域添加点赞按钮和点赞数。
- 点赞按钮可用条件式容器切换“已点赞/未点赞”两种状态。
第三步:交互配置
- 按钮点击时:
- 判断当前用户是否已点赞(可通过过滤点赞表的账户_账户,文章_文章表两个字段判断是否有记录)。
- 未点赞则添加点赞记录,已点赞则删除。
- 操作成功后刷新点赞数。
页面数据源过滤 | 条件配置 |
---|---|
![]() | ![]() |
未点赞 | 已点赞 |
---|---|
![]() | ![]() |
第四步:统计与防刷
- 点赞数统计:页面数据源聚合点赞表,按文章_文章表过滤分组统计数量。
- 防止重复点赞:按钮状态根据当前用户是否已点赞动态切换。
- 可结合平台内置变量、数据过滤条件实现防刷和统计。
常见问题
- 如何防止重复点赞?
- 通过 user_id+target_id 唯一性约束或前端判断,已点赞则不可重复操作。
- 如何统计总点赞数?
- 页面数据源聚合查询 like 表,按目标对象分组计数。
- 如何实现点赞动画或高亮?
- 条件式容器切换不同图标或样式,配合动画组件。
建议结合平台内置变量、数据过滤、聚合查询等能力实现高效点赞功能。
Last updated on