v2.1.0 流程改造 + 农历准确性修复 + 双向同步 + 闰月支持
部署到群晖 / deploy (push) Successful in 44s

- Phase 1: 添加纪念日合并人物创建流程(方案 B)
- Phase 2: 农历提醒按 lunarMonth/Day 计算每年公历
- Phase 3: 人员数据同步到后端(新增 /api/person)
- Phase 4: 新设备启动从云端恢复数据
- Phase 5: 工具函数收敛 utils/format.js
- Phase 6: 同步失败入队 + 启动重试
- Phase 7: 闰月生日完整支持(含 isLeapMonth + UI 警示)
- 修复 lunarInfo 数据表错位(替换为权威源 jjonline/calendar.js)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
yuming
2026-06-02 05:51:17 +08:00
parent 06d22884b9
commit ddcfe3334e
16 changed files with 1001 additions and 167 deletions
+21 -9
View File
@@ -1,16 +1,20 @@
<!--add-anniversary.wxml-->
<view class="container">
<view class="form">
<!-- 关联人员 -->
<!-- 关联人员(姓名输入 + 已有人员快捷选择) -->
<view class="form-item">
<text class="label required">关联人员</text>
<picker mode="selector" range="{{personList}}" range-key="name" value="{{personIndex}}" bindchange="onPersonChange">
<view class="picker">
<text wx:if="{{selectedPerson}}" class="picker-text">{{selectedPerson}}</text>
<text wx:else class="picker-placeholder">请选择关联人员</text>
<text class="picker-arrow"></text>
</view>
</picker>
<text class="label required">为谁记录</text>
<input class="input" placeholder="输入姓名,例如:妈妈" value="{{inputName}}" bindinput="onNameInput" disabled="{{!!anniversaryId}}" />
<view wx:if="{{personList.length > 0 && !anniversaryId}}" class="chips">
<view
wx:for="{{personList}}"
wx:key="id"
class="chip {{item.id === personId ? 'chip-active' : ''}}"
data-id="{{item.id}}"
data-name="{{item.name}}"
bindtap="onPickPerson"
>{{item.name}}</view>
</view>
</view>
<!-- 纪念日类型 -->
@@ -49,6 +53,14 @@
<text class="picker-arrow"></text>
</view>
</picker>
<!-- 选了农历后展示对应农历日期,闰月给醒目提示 -->
<view wx:if="{{formData.isLunar && lunarText}}" class="lunar-hint {{isLeapMonth ? 'lunar-hint-warn' : ''}}">
<text>对应农历:{{lunarText}}</text>
<text wx:if="{{isLeapMonth}}" class="leap-tag">⚠ 闰月</text>
</view>
<view wx:if="{{formData.isLunar && isLeapMonth}}" class="lunar-warn-detail">
该日期属于闰月。无闰月的年份将按对应普通月份提醒(例如闰二月初一 → 二月初一)。
</view>
</view>
<!-- 重要程度 -->