32 lines
2.8 KiB
Markdown
32 lines
2.8 KiB
Markdown
项目下的 美柚APP备孕日历功能列表.md 和 经期设置和计算.md 是美柚这个产品跟备孕日历设置相关的内容(不一定完全准确)。
|
||
我想在pink项目里面,逐步实现大部分相关的功能。
|
||
首先,我想实现经期设置 最基础的功能,在日历上展示:月经期、预测经期、排卵期、排卵日
|
||
我们的日历需要相应的改造,能够呈现月经期、预测经期、排卵期、排卵日的状态。
|
||
|
||
预测经期:通过 淡粉色背景色填充日历的格子, 在日历上自动多选连续的预测经期。
|
||
排卵期: 通过 紫色背景色填充日历的格子, 在日历上自动多选连续的排卵期。
|
||
排卵日: 使用 深紫色的 小实心6变形,在日历中被预测的排卵日那个格子右下角花上这个6边形。
|
||
月经期:当月日历中,实际的月经期,可能跟预测经期重叠,也可能不重叠。如果重叠或者部分重叠。重叠的格子,则显示深粉色的背景色(月经期的背景色)。
|
||
目前你选择的日历是Period多选方式,对照美柚的UI ,可以看到这里应该采用单选,选中某个日期,则在当前界面日历的下面呈现可以打卡的项目列表(月经来了,爱爱、心情、白带等等)。
|
||
月经来了:这是一个 是/否 这样的一个switch开关,用户点击了选择了**是**,则表示这一天是当月月经开始的第一天,根据用户设置的**经期长度**,自动通过 深粉色背景色填充日历的格子, 在日历上自动多选连续的实际的经期。
|
||
用户只要重新设置了**月经来了**,这自动重算当前月日历视图上的实际的月经期。
|
||
|
||
|
||
在MinePage添加一行导航,放在“设置”上面,点击则弹出 经期设置 的界面(使用dialog方式),设置:
|
||
经期长度:通过轮播方式选择经期的天数,3,4,5,6,7,8....15 --- 设置您的月经大概维持几天?
|
||
周期长度:通过轮播方式选择周期的天数,17,18,......31 --- 两次月经开始日大概间隔多久?
|
||
最近一次月经开始时间:这里通过弹出一个日期选择?
|
||
有了以上3个数据,就可以根据公式,算出预测经期、排卵期、排卵日!
|
||
|
||
### 标准计算公式
|
||
1. 先算「下次月经来潮日」
|
||
本次月经首日 + 平均月经周期天数 = 下次月经首日
|
||
2. 排卵日 = 下次月经首日 − 14天
|
||
示例:
|
||
本次月经7.1,周期30天
|
||
下次月经:7.1+30=7.31
|
||
排卵日=7.31−14=7.17
|
||
|
||
---
|
||
|
||
你需要研究一下,怎么在本地的Room数据库存储,经期数据和关联的打卡数据。仔细分析美柚的两个文件、结合你对类似产品功能的设计能力,给出你的业务流程和建议,技术实现方案! 你把你的设计内容写成文档到docs目录 |