一、功能概述
关注功能允许用户关注其他用户,当被关注用户发布新内容时,关注者能够通过站内信及时获知。该功能旨在增强社区互动,帮助用户建立内容订阅关系。
二、数据模型
2.1 关注关系表
| 字段 | 说明 |
|---|---|
| id | 主键 |
| follower_id | 关注者用户ID |
| followed_id | 被关注者用户ID |
| created_at | 关注时间 |
约束:同一对用户只能有一条记录(防止重复关注);不能关注自己。
2.2 用户表新增字段(统计用,非必需但推荐)
| 字段 | 说明 |
|---|---|
| following_count | 该用户关注了多少人(关注数) |
| followers_count | 该用户被多少人关注(粉丝数) |
三、交互流程
3.1 关注/取消关注操作
用户访问其他用户的个人主页或帖子时,可以看到“关注”按钮:
- 点击“关注” → 创建关注关系 → 被关注者收到站内信通知 → 按钮变为“已关注”
- 点击“已关注” → 弹出“取消关注?”确认框 → 确认后删除关注关系 → 被关注者不会收到通知
3.2 关注后触发站内信
场景一:用户A关注用户B
触发条件:用户A成功关注用户B
通知接收方:用户B
通知模板:
【通知】有人关注了你
用户 {用户名} 关注了你,想及时看到你的动态。
点击查看关注你的用户:{链接}
场景二:用户B发布新帖子
触发条件:用户B发布新帖子(已通过审核/直接发布)
通知接收方:所有关注用户B的用户
通知模板:
【通知】关注动态:{用户名} 发布了新帖子
你关注的用户 {用户名} 发布了新的帖子:
{帖子标题}
点击查看:{帖子链接}
四、用户界面
4.1 用户主页/帖子详情页
在用户个人主页顶部以及帖子详情页的作者信息区域,展示“关注”按钮:
- 未关注:显示“关注”
- 已关注:显示“已关注”
- 当前用户自己的页面:不显示按钮,或显示“这是你自己”
同时展示关注数和粉丝数,供用户参考。
4.2 个人主页的“我的关注”列表
在用户个人主页新增“关注”选项卡,展示该用户关注的所有用户列表,方便用户管理和查看自己关注的对象。
4.3 粉丝列表
在用户个人主页新增“粉丝”选项卡,展示关注该用户的所有用户列表,帮助用户了解谁在关注自己。
4.4 关注按钮状态
| 状态 | 显示 | 点击行为 |
|---|---|---|
| 未关注 | 关注 | 执行关注 |
| 已关注 | 已关注 | 弹出“取消关注?”确认框 |
五、站内信通知模板
5.1 新粉丝通知
【通知】有人关注了你
{用户名} 关注了你,想及时看到你的动态。
点击查看:{链接}
5.2 关注动态通知(批量发送的频控策略)
当被关注者发布新帖子时,系统需要向所有粉丝发送通知。当粉丝数量较多时,可考虑以下策略:
| 场景 | 推荐策略 |
|---|---|
| 粉丝数 < 100 | 逐条发送通知 |
| 粉丝数 ≥ 100 | 仅向近期活跃粉丝(近7天有登录)发送通知 |
| 粉丝数 ≥ 1000 | 改为“动态摘要”模式(每日汇总一次) |
聚合通知示例:
【通知】关注动态:{用户名} 发布了新帖子
你关注的用户 {用户名} 发布了新的帖子:
{帖子标题}
点击查看:{帖子链接}
若同一用户短时间发布多篇帖子,为避免骚扰,可将多条动态聚合为一条通知:
【通知】关注动态:{用户名} 发布了 {N} 篇新帖子
你关注的用户 {用户名} 发布了 N 篇新帖子,快来看看吧:
- {帖子标题1}
- {帖子标题2}
- {帖子标题3}
点击查看全部:{用户主页链接}
还没有评论,来抢沙发吧~