‹ 返回合集

PRD

3 需求文档

这是当前最新需求文档,保留核心规则用于评审和开发对齐;点击“编辑”可直接修改正文。

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. 验收标准

  1. 点击“是”后先完成白底中间态并显示黄色开始 icon,再弹出必填弹窗;点击确定后才展开当天记录列表并开始血流动画。
  2. 血流播放期间日历表格禁用,下方当天记录列表可操作。
  3. 血流播放完后才弹出分析弹泡;分析弹泡出现后恢复其他日期选择和操作。
  4. 白底中间态、血流上涨、文字反白、最终定格、黄色开始 icon 均符合颜色规则。
  5. 点击“是”有较强震感;点击“否”或取消不触发额外强震感。
  6. 历史日补记、提前来了、异常周期、跨月经期都按整段新范围播放。
  7. 长周期前 7 天按比例播放,第 8 天及以后统一 5% 反馈,最终一起定格。
  8. 切断场景不续播半截动画,直接按接口最终结果展示最终态或回滚态。
  9. UI demo、交互文档、需求文档、客户端交付入口均可在手机浏览器正常打开。