feat: 重构 Reminder Notification 系统并更新应用包名
This commit is contained in:
@@ -19,6 +19,8 @@
|
||||
2. 展示文案“取消”必须映射到内部动作 `archive`,并归档对应日程(`status=archived`)。
|
||||
3. 归档后的 UI 渲染必须灰色显示;不强制改写原始 metadata 颜色。
|
||||
4. 前端动作上报后端采用最终一致性:本地 outbox + 重放机制。
|
||||
5. 每轮提醒铃声时长默认 15 秒;若用户未点击通知,系统按 10 分钟节奏进入下一轮提醒。
|
||||
6. 点击系统通知必须定位到对应日程,并打开提醒详情页(展示日程详情 + 底部动作:归档/稍后提醒)。
|
||||
|
||||
---
|
||||
|
||||
@@ -55,6 +57,7 @@
|
||||
|
||||
- `archive`: 内部归档动作(UI 展示文案为“取消”)
|
||||
- `snooze10m`: 用户点击稍后提醒,重排到 `now + 10m`
|
||||
- `defaultRetry10m`: 用户未点击通知时,15 秒铃声结束后自动进入 `now + 10m` 下一轮提醒(内部调度语义,不额外上报动作)
|
||||
|
||||
### UI Label Mapping
|
||||
|
||||
@@ -105,6 +108,9 @@
|
||||
### Normal schedule
|
||||
|
||||
- `remindAt = startAt - reminderMinutes`
|
||||
- 当 `remindAt <= now < endAt` 时,启动补偿提醒建议 `now + 5s`
|
||||
- 每轮提醒后均进入 10 分钟节奏,直到超出 `endAt`
|
||||
- 截止条件:`fireAt > endAt` 时不再调度后续提醒
|
||||
|
||||
### Bootstrap/reinstall compensation
|
||||
|
||||
@@ -151,6 +157,7 @@
|
||||
|
||||
- 优先 full-screen intent;系统可能因策略降级为 heads-up/横幅。
|
||||
- 声音和振动受通知通道及系统设置影响。
|
||||
- 本协议当前实现不依赖 full-screen intent 权限,采用标准高优先级通知 + 点击跳转提醒详情页。
|
||||
|
||||
### iOS
|
||||
|
||||
|
||||
Reference in New Issue
Block a user