# 功能规范: 003 - 用户端体验

本文档定义了“蚊子”传播系统中与“用户端体验”相关的功能。

## 1. 用户故事与验收标准 (User Stories & Acceptance Criteria)

| 用户故事 | 验收标准 | 优先级 |
| :--- | :--- | :--- |
| **作为参与者**，我希望能方便地获取专属的邀请链接和海报，以便分享给朋友。 | 1. 页面显著位置提供“一键复制链接”按钮。<br>2. **(澄清)** 复制的链接为短链接形式。<br>3. 可生成带专属二维码的分享海报。<br>4. **(澄清)** 海报内容由管理员在活动中配置，默认在服务端生成，并提供客户端渲染作为高负载降级方案。 | **高** |
| **作为参与者**，我希望在个人中心看到我的邀请记录和奖励明细，以便了解我的贡献和收益。 | 1. 列表展示我邀请的好友及其状态。<br>2. **(澄清)** 好友信息包含：昵称、头像、部分打码的手机号。<br>3. **(澄清)** 好友状态包含：“已点击但未注册”、“已注册”、“已下单”等。<br>4. 列表展示我获得的每一笔奖励。<br>5. **(澄清)** “邀请记录”和“奖励明细”列表均采用无限滚动方式进行分页加载。 | **高** |

## 2. 澄清与边缘场景 (Clarifications & Edge Cases)

- **海报生成 (Poster Generation)**: 
    - 默认在服务端生成图片，以保证跨平台显示一致性。
    - 需监控服务负载，当图片生成请求队列过长或CPU占用过高时，应自动切换到客户端动态渲染模式，作为降级方案。

- **链接形式 (Link Format)**: 
    - 所有向用户展示的邀请链接，都必须经过短链接服务处理，生成类似 `t.cn/xxxx` 的短格式。

- **好友状态列表 (Friend Statuses)**: 
    - V1.0阶段，需要明确追踪并展示以下几种状态：`已点击`、`已注册`、`已下单`。
    - 该状态列表应可扩展，以适应未来更多的转化事件。

- **隐私保护 (Privacy Protection)**: 
    - 在“邀请的好友”列表中，手机号必须进行打码处理，例如 `138****1234`，仅展示头三位和后四位。

- **列表加载 (List Loading)**: 
    - 两个列表（邀请记录、奖励明细）在用户滚动到列表底部时，应自动触发加载下一页数据，无需用户点击“加载更多”按钮。
