# 花栗鼠关爱小姨妈(小程序) **Repository Path**: jltx/Period_Diary ## Basic Information - **Project Name**: 花栗鼠关爱小姨妈(小程序) - **Description**: 用小程序记录大姨妈,推测将来的经期时间和排卵期 - **Primary Language**: 微信 - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 13 - **Created**: 2024-03-11 - **Last Updated**: 2024-03-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 小姨妈日历 #### 介绍 记录大姨妈,预测经期及排卵期 ### 结构: 三个tabbar,record,diary, my, 分别是第一页第二页和第三页, **- record是显示下次经期什么时候来,如果已经来了,显示来了多久;** 1. 插入日期用微信自带插件picker,使用日期选择器,并将日期插入到数组“dateList”,数组以后会继续调用,因此用wx.setStorageSync在storage也存一份 1. 用wx:if来实现页面不同显示,如果“dateList”是奇数项,表示现在处于姨妈期间,页面显示来了多少天;如果是偶数项,表示上次姨妈已经结束,显示下次是多少天之后来 1. **- my是表示不同年份下的经期记录,我的做法是把数据结构设计成如下模式:** [ { year:2020, record:[ {start:2020-03-02,end:2020-03-07}, {start:2020-02-02,end:2020-02-07}, ]}, { year:2019, record:[ {start:2019-03-02,end:2019-03-07}, {start:2019-02-02,end:2019-02-07}, ]} ] 这样新增的时候,可以通过判断年份,再确定添加到哪个年份中去。 另外增加了一个record_edit的页面,用于删除错误记录。在my页面点击数据,将开始日期和结束日期作为参数传入record_edit页面,拿到后在数组中找到位置,进行删除或者更改(更改我暂时还没有做,蛤蛤蛤。。) **- diary则是用日历形式表示过往经期,预测的排卵期和预测的经期时间段;** 1. 分别用不同颜色表示不同期间 1. 日历我选择了网上现成的,改了样式,另外三个日期段,我用了三个数组表示,我在Util文件夹下封装了一个处理各种日期的函数,有一个是根据开始日期和结束日期来得到中间的每个日期 1. 然后将三个数组的数据在一开始的dateInit函数中添加进去,比如isInOvulationPeriodList:ovulationPeriodList.indexOf(date)===-1,得到该布尔值