首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

让圈子活起来:PHP+UniApp的动态点赞、评论与@提醒功能设计的圈子系统同城圈子小程序搭子圈

一、核心功能设计

1. 动态点赞功能

前端交互(UniApp)

按钮状态:点赞按钮区分“未点赞”和“已点赞”状态(图标/颜色变化)。

实时反馈:点击后立即更新点赞数,无需刷新页面(通过WebSocket或轮询接口)。

取消点赞:二次点击取消点赞,同步减少点赞数。

后端逻辑(PHP)

接口设计

POST /api/like:接收动态ID、用户ID,记录点赞关系(用户-动态关联表)。

DELETE /api/like:删除点赞记录,更新动态点赞数。

数据校验:防止重复点赞(检查用户是否已点赞过该动态)。

缓存优化:使用Redis缓存热门动态的点赞数,减少数据库查询压力。

2. 评论功能

前端交互(UniApp)

评论列表:按时间倒序展示,支持分页加载(滚动到底部自动加载更多)。

回复嵌套:支持对评论的回复(二级嵌套),通过缩进或层级标记区分。

输入框优化

输入时实时显示字数统计。

点击“@用户”触发用户列表选择(支持模糊搜索)。

后端逻辑(PHP)

接口设计

POST /api/comment:提交评论(动态ID、用户ID、内容、@用户列表)。

GET /api/comments:查询评论列表(支持动态ID、分页参数)。

敏感词过滤:使用正则表达式或第三方API过滤违规内容。

@提醒机制:解析评论内容中的@用户名,生成提醒记录(关联用户与评论)。

3. @提醒功能

前端交互(UniApp)

提醒入口:在个人中心或消息中心展示“@我”的评论列表。

跳转逻辑:点击提醒直接跳转到对应动态的评论位置(需记录评论在动态中的位置)。

后端逻辑(PHP)

提醒生成

评论提交时,解析内容中的@用户名(如@张三)。

查询被@用户是否存在,存在则生成提醒记录(用户-评论关联表)。

提醒推送

实时推送:通过WebSocket将提醒发送给被@用户。

离线推送:用户登录后,查询未读提醒并标记为已读。

二、技术优化点

性能优化

动态点赞数使用Redis缓存,定期同步到数据库。

评论分页查询时,通过索引优化(如post_id+create_time复合索引)。

防刷机制

限制点赞/评论频率(如1分钟内最多5次)。

评论内容重复检测(如连续发布相同内容)。

用户体验优化

评论输入框支持Emoji表情和图片上传(通过UniApp的<input>或<textarea>扩展)。

提醒列表支持“一键标记全部已读”。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OcQ92sYRjyTWyUBc-r-t8RtA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券