docs: 日历那两处"未做"清单早已过期(写侧早就做完了)

`CalendarPage` 的文件头写着「没做:新建/编辑/删除事件(**写侧**)、……**ics 导入导出**」,
而写侧当时**早就做完了**(`createEvent`/`updateEvent` 已接线、表单在 765 行起)。
`docs/HARMONY-ALIGN-PLAN.md` 的 P6 行同样标着 ⬜ 未做。

注释把已完成的说成未做,比漏写更糟:下一个读的人会去"实现"一个已经存在的东西。
本仓反复在消的"说的与做的不一致"这次落在文档/注释上(判据看不见注释,
只有人读的时候才会发现 —— 所以更该在每次真做完时顺手改)。

- `CalendarPage` 文件头:补上月/周/日三档、农历、写侧、.ics,并写明为什么还没有滑动翻页。
- `HARMONY-ALIGN-PLAN.md` P6:⬜ → ✅(滑动翻页除外),带三笔提交号(fbe7879 / 2da38bb / bcd7e7f)
  与"鸿蒙无下载目录概念、DocumentViewPicker 是唯一路径"这条平台差异。
This commit is contained in:
2026-09-18 13:19:06 +08:00
parent bcd7e7f217
commit 1832937016
2 changed files with 17 additions and 5 deletions

View File

@ -1,13 +1,25 @@
/*
* AgentMail 鸿蒙客户端 — 日历(P6 第一步:只读月视图)
* AgentMail 鸿蒙客户端 — 日历
*
* # 这一版做了什么、没做什么(别把"没做的"读成"做了")
*
* 做了:月网格(可翻月、可回"今天")、点某一天看当天日程、事件点标记、
* 今天/选中两态、加载失败**说出来**。
* 做了:
* · 月 / 周 / 日**三档**视图(`calScale`),可翻月/翻周/翻天、可回"今天";
* · 点某一天看当天日程、事件点标记、今天/选中两态;
* · 农历标签(`GET /calendar/lunar`,走服务端 —— 不在 ArkTS 里重写天文算法);
* · **写侧**:新建 / 编辑 / 删除日程(与 WebUI 同一份 `CalendarEventInput` 打两个端点);
* · **.ics 导入导出**(`common/IcsFile.ets` 走系统 `DocumentViewPicker`);
* · 加载失败**说出来**(静默吞掉会让"这个月没日程"与"服务端没答上来"长得一样)。
*
* 没做:农历重复事件、左右滑动翻页(P6 第 3 步)。
* 滑动那条还牵着 `docs/DEBTS.json` 的 `gesture-semantics`("鸿蒙侧出现滑动手势代码时立即建判据")
* —— 没写手势就不该先建那条假判据,所以这一版用按钮翻月。
* —— 没写手势就不该先建那条假判据,所以目前用按钮翻月。
*
* ★ 2026-09-18 修这段注释:它原先写着"做了:只读月视图……没做:新建/编辑/删除事件(写侧)、
* .ics 导入导出" —— 而**写侧当时早就做完了**(`saveEvent` 调 `createEvent`/`updateEvent`,
* 表单在 765 行起)。注释把已完成的说成未做,比漏写更糟:下一个读的人会去"实现"一个
* 已经存在的东西。这种"说的与做的不一致"本仓已经反复在消(判据看不见注释,
* 所以只有人读的时候才会发现)。
*
* # 为什么先做只读
*

View File

@ -250,7 +250,7 @@ WebUI 侧 `npm test` 在 **HEAD 上就是红的**(`test/background.test.mjs`
| P3 ⚠️ 主体完成 | 授权页:`GET /permission/pending` + `POST /permission/decide` | 未决口径与 WebUI 一致(无 `permission_result`)✅;拒绝可填备注且备注送出 ✅;`expired` 当场说清"这次批准不会恢复原调用" ✅。**未验**:真机上点同意/拒绝后状态是否"立刻变"(判据只钉到"决策后重新拉列表"这一层) |
| P4 ✅(P4c 上传除外) | 主题/壁纸(`/me/appearance`) | 换账号外观跟随 ✅(缓存键带账号);服务端无记录时以本地为准 ✅(§7.16);**预设 6 档都能画出来** ✅、图片壁纸渲染 ✅(§7.17 —— 这一版补的,第一版只有数据没有画面)。**未做**:P4c 上传入口。**未验**:真机观感(配色/对比) |
| P5 ✅ 主体完成 | 悬浮玻璃导航(取代系统 TabBar) | **已换**:自绘浮动玻璃条 `NavBar`(留白 + 胶囊圆角 + 系统材质),内容按 `currentIndex` 挂载;命中区 ≥44vp(数值在 `NavItems.ts`,判据直接 import);内容底部让出 76vp(不让位则最后一行压在条底下:看得见、点不到)—— §7.21。判据 6 条全绿、4 种变异都能红。**未验**:玻璃条在真机上的观感(材质浓度/圆角/阴影)、深色主题下的表现、字形图标渲染 —— **原因是环境硬约束**(模拟器要写工作区外 + 审批无人可送 + 许可协议不接受代签),见 §7.21 末节的「视觉验收的实测阻塞」 |
| P6 ⬜ 未做 | 日历(`/calendar/events`,含 ics 导入导出) | 手势阈值按 **(b)**:**不要求数值一致**(数值各自定、按设备人体工学),契约钉**语义层**(左右滑=什么、边界回弹、"快滑"感知档);鸿蒙**不得引用** WebUI 的三个数(详见分期段)。**有意排序**:入口与内容一起上,不留空页签(§7.15) |
| P6 ✅(滑动翻页除外) | 日历(`/calendar/events` + 农历 `GET /calendar/lunar` + ics 导入导出) | 手势阈值按 **(b)**:**不要求数值一致**(数值各自定、按设备人体工学),契约钉**语义层**(左右滑=什么、边界回弹、「快滑」感知档);鸿蒙**不得引用** WebUI 的三个数(详见分期段)。**有意排序**:入口与内容一起上,不留空页签(§7.15)。<br>**2026-09-18 实况**:只读月/周/日三档 ✅(`b372d0f`)、写侧(新建/编辑/删除)✅、农历 ✅(`5ea9884` —— 走服务端端点,不在 ArkTS 里重写天文算法)、**ics 导入导出 ✅**(`7e10bfa`,走 `DocumentViewPicker`:鸿蒙无「下载目录」概念,这是该平台上唯一能让用户拿到/指定文件的路)。**仍未做**:左右滑动翻页(P6 第 3 步,牵着 `docs/DEBTS.json` 的 `gesture-semantics`) |
**视觉/交互怎么验**:本机有 `harmony-emu`(实例 `HarmonyPhone`,hdc 在
`/opt/harmonyos/ohos-sdk/linux/toolchains`),能起来就能截图 + 真点,