1. 需求背景
1.1.1. 业务背景
当前美柚经期记录核心功能完善,但记录操作偏向工具化,缺少情感化反馈与留存钩子。竞品已开始通过视觉化、游戏化手段提升记录趣味性。本次需求旨在通过“视觉化反馈”,提升用户感知,增强产品趣味性与用户粘性,支撑活跃与留存指标。
1.1.2. 用户背景
/
2. 业务目标影响
| 指标 | 目标 |
|---|---|
| 次月留存率 | 提升 X% |
3. 设计分析
| 分析项 | 内容 |
|---|---|
| 竞品分析 | 主流竞品多采用文字(少/中/多)或简单滴状图标,缺少模拟真实视觉感知的沉浸式反馈。 |
| 用户心理 | 女性经期对“血”的颜色、状态敏感。可视化的血量反馈不只是记录,更是对身体状态的确认。 |
| 数据支撑 | 正常月经量为 20-60ml,超过 80ml 为过多。通过视觉差异(轻微点滴 → 满溢感)可潜意识引导用户关注经量是否异常,并与美柚健康分析业务形成闭环。 |
4. 体验优化方案
4.1.1. 设计流程图
https://record-blood.xmmeiyou.com/
4.1.2. 交付入口
| 入口 | 内容 |
|---|---|
| 1 UI demo | 统一收纳 9 个正式动效 demo:默认血液、历史血液、超长周期、跨月、异常经期、打断场景、多段展示和震动提示。 |
| 2 交互文档 | 交互细则,包含颜色、节奏、震感、打断和降级规则。 |
| 3 需求文档 | 当前 PRD 阅读版。 |
| 4 客户端交付 | 提供完整 zip 下载包,以及提示词、双端说明、Android/iOS/跨端参考代码和方案 1 HTML 单文件预览。 |
4.1.3. 需求范围
| 项目 | 说明 |
|---|---|
| 覆盖身份 | 全身份。 |
| 端范围 | 仅 iOS & Android,不包含鸿蒙。 |
| 版本限制 | 版本 ≥ 9.07.0,平台 = iOS 或 Android。 |
| 触发入口 | 仅记录 tab 触发血量动效;其他入口只同步最终记录状态。 |
| 实验互斥 | 907 版本中,2232 记录月经动效实验与 1830 不规律经期实验互斥。 |
4.1.4. AB 实验信息
| 环境 | 控制组1 | 控制组2 | 实验组1 |
|---|---|---|---|
| 旧版/新版 | 旧版 | 旧版 | 新版 |
| 实验信息(正式) | 实验ID:2232;实验别名:period_record_effect;分组ID:13463;变量:is_new=0 | 实验ID:2232;实验别名:period_record_effect;分组ID:13464;变量:is_new=0 | 实验ID:2232;实验别名:period_record_effect;分组ID:13465;变量:is_new=1 |
| 实验信息(测试) | 实验ID:2155;实验别名:period_record_effect;分组ID:7573;变量:is_new=0 | 实验ID:2155;实验别名:period_record_effect;分组ID:7574;变量:is_new=0 | 实验ID:2155;实验别名:period_record_effect;分组ID:7575;变量:is_new=1 |
5. 详细需求
5.1 交互总流程
| 阶段 | 需求说明 |
|---|---|
| 初始状态 | 经期中日期格子显示深粉色;预测经期日期显示浅粉格子;今天或选中日显示红色描边和白色内描边;未点击“是”前不显示黄色开始 icon。 |
| 点击“是” | 点击被接受后立即触发一次较强震感;本次经期范围内格子先变白 white_AN,并在选中开始日显示黄色开始 icon。该阶段只做白底中间态,不播放血流。 |
| 必填弹窗 | 白底中间态完成后弹出记经期必填弹窗。 |
| 弹窗确定 | 点击确定后展开下方当天记录列表,并开始播放血流动画。 |
| 弹窗取消 | 点击取消后弹窗收起,不写入记录、不播放血流,恢复未记录态。 |
| 动画播放中 | 日历表格禁用,不能切换其他日期;下方当天记录列表可以操作。 |
| 动画完成 | 血流播放完后才弹出分析弹泡;分析弹泡出现后,代表本次记录完成,再允许其他日期选择和操作。 |
5.2 页面示意图
5.3 颜色与视觉规则
| 对象 | 规则 |
|---|---|
| 白底中间态 | 点击“是”后、必填弹窗弹出前,本次经期范围内格子先变白 white_AN;历史日和今天文字为 #FF4D88,未来日文字为 #FFCADB;选中开始日显示黄色开始 icon。 |
| 血液液面 | 统一使用 #FF4D88,保持水波纹和粘黏感。 |
| 文字反白 | 血液覆盖到文字部分时,覆盖部分变白;未覆盖部分保持原粉色,确保文字可读。 |
| 最终定格-历史日/今天 | 格子 #FF4D88,文字 #FFFFFF。 |
| 最终定格-未来日 | 格子 #FFD6E4,文字 #FFFFFF。 |
| 开始 icon | 确定记录后显示在选中开始日,尺寸 12×12;未确认前不显示。 |
5.4 经期天数与血量比例
| 规则 | 说明 |
|---|---|
| 默认周期 | 未设置时默认 5 天。 |
| 常规周期 | 常规范围 3-15 天,使用用户设置值。 |
| 1 天周期 | 不提供 1 天血量比例模型;异常出现时按最终态静态兜底。 |
| 主动画上限 | 前 7 天按比例逐格播放。 |
| 8 天以上 | 第 8 天及以后统一 5% 液面轻量反馈,最后一起冲满 100% 并定格。 |
| 跨月经期 | 按真实日期连续计算,不按当前日历视图是否可见截断;整段周期都参与播放。当前页面只渲染可见日期,切换到跨月其他月份时直接展示最终态。 |
| 经期天数 | 血量数组 | 说明 |
|---|---|---|
| 2 天 | [60, 100] | 2 天起按真实趋势展示。 |
| 3 天 | [60, 90, 40] | 先升高,再回落。 |
| 4 天 | [50, 90, 60, 30] | 第二天附近达到高点。 |
| 5 天 | [40, 80, 60, 30, 20] | 默认 demo 使用。 |
| 6 天 | [35, 80, 65, 40, 22, 12] | 后段逐步降低。 |
| 7 天 | [30, 60, 85, 65, 40, 24, 15] | 主动画播放上限。 |
| 8 天以上 | [30, 60, 85, 65, 40, 24, 15, 5, 5, 5...] | 第 8 天及以后统一 5%。 |
5.5 动效节奏参数
| 参数 | 规则 |
|---|---|
| 单格时长公式 | duration = 125 + level * 5.3 |
| 100% 参考时长 | 655ms |
| 白底中间态停留 | 115ms |
| 重叠比例 | 0.35,下一格在上一格约 65% 进度时启动。 |
| 最小启动间隔 | 118ms |
| 统一冲满等待 | 170ms |
| 统一冲满时长 | 360ms |
| 整体时长 | 5 天常规动效约 1.9 秒;15 天超长周期约 2.4 秒;整体建议不超过 2.5 秒。 |
5.6 震感规则
| 规则项 | 需求说明 |
|---|---|
| 点击“是” | 需要触发一次较强震感,作为用户确认记录“大姨妈来了”的即时反馈;强震感发生在“是”按钮点击被客户端接受后,并与白底中间态启动同时发生,早于必填弹窗和血流动画。 |
| 点击“否”/取消 | 不触发额外强震感;点击后立即恢复未记录态。 |
| iOS | 点击“是”建议使用 UIImpactFeedbackGenerator(style: .heavy);点击“否”或取消仅保留系统控件默认触感反馈,不额外调用强震感。 |
| Android | 点击“是”需要触发较强震感;点击“否”或取消不调用震动能力。 |
| 禁止项 | 不要用页面抖动、按钮抖动或其他视觉动画替代震感;震感不作为记录成功判断依据。 |
6. 场景规则
| 场景 | 处理规则 |
|---|---|
| 常规记录经期 | 用户在记录 tab 点击“大姨妈来了-是”后,先进入白底中间态并显示黄色开始 icon,再弹出必填弹窗;点击确定后展开下方当天记录列表并播放血流动画;动画完成后弹出分析弹泡并进入最终定格态。 |
| 历史日补记/提前来了 | 用户在已记录的经期开始了情况下修改开始日,弹窗提示确认;点击确定后进入优先弹窗流程并播放动效,点击取消不播放且不改写原周期。 |
| 跨月经期 | 按真实日期连续计算,不按当前日历视图是否可见来截断;跨月经期整段周期都参与播放。当前页面只渲染可见日期,切换到其他月份时直接展示最终态。 |
| 长周期经期 | 前 7 天按血量比例逐格播放;第 8 天及以后日期统一 5% 液面做轻量反馈,最后一起冲满 100% 并定格。 |
| 播放中下方列表操作 | 血流动画播放期间,下方当天记录列表可以继续操作,按线上逻辑保存;日历血流继续播放。 |
| 播放中日历操作 | 血流动画播放期间,日历表格禁用,不允许切换其他日期或触发新的经期范围修改;分析弹泡出现后恢复。 |
| 打断/切断 | 页面触发系统不可见时中断动画,例如切换 tab、离开记录 tab 进入二级页、退后台、锁屏等。中断后不续播半截动画,回来后按接口最终结果展示成功最终态或失败回滚态。 |
| 接口失败 | 保存失败时,如果用户仍在记录页,回滚到记录前状态并按线上规则提示;如果已经发生切断场景,页面恢复后直接按接口最终结果展示成功态或失败回滚态。 |
| 低性能设备 | 可降级关闭水波纹,保留液面高度、文字反白和最终定格。 |
7. 验收标准
- 点击“是”后先完成白底中间态并显示黄色开始 icon,再弹出必填弹窗;点击确定后才展开当天记录列表并开始血流动画。
- 血流播放期间日历表格禁用,下方当天记录列表可操作。
- 血流播放完后才弹出分析弹泡;分析弹泡出现后恢复其他日期选择和操作。
- 白底中间态、血流上涨、文字反白、最终定格、黄色开始 icon 均符合颜色规则。
- 点击“是”有较强震感;点击“否”或取消不触发额外强震感。
- 历史日补记、提前来了、异常周期、跨月经期都按整段新范围播放。
- 长周期前 7 天按比例播放,第 8 天及以后统一 5% 反馈,最终一起定格。
- 切断场景不续播半截动画,直接按接口最终结果展示最终态或回滚态。
- UI demo、交互文档、需求文档、客户端交付入口均可在手机浏览器正常打开。