提醒与通知
一条事项可以挂多条提醒。以及为什么「完成 / 推迟」不在通知横幅上。
挂在哪
任务、排期块、事件都能挂提醒,而且可以挂多条。
每条提醒有两种锚点:
- 相对:「开始前 15 分钟」这类。事项改期后自动跟着变。
- 绝对:一个固定时刻,与事项时间无关。
排期块能单独挂提醒这件事值得单独说:「今天 14:00 开始写方案」和 「这件事周五 18:00 到期」是两个需要被提醒的时刻,只能挂一条就得二选一。
到点会发生什么
本机发系统通知。渠道是可扩展的——内置系统通知与第三方渠道 (当前有飞书,微信 / 企微待实现)走同一条路径,不是给某个渠道开的特例。
为什么横幅上没有按钮
桌面系统通知没有动作按钮。这不是懒,是这条路径拿不到可靠的动作回调 (也拿不到真实投递结果)。
所以「完成 / 推迟 / 知晓」落在应用里,而且有两个出口:
- 浮窗顶部的错过 / 推迟清单;
- 标题栏的提醒收件箱(铃铛带计数,没有待处理项时整个按钮不渲染—— 常驻一个空铃铛只会被习惯性忽略)。
两个出口是必要的:浮窗热键是可以被用户关掉的,只做浮窗那一处的话, 关掉热键就等于没有出口。
安时自己在前台时也会提醒
macOS 默认在应用处于前台时不弹自己的横幅。这条已经在通知层修掉了—— 不修的话,「你正在用安时」时的提醒会全部静默,而那恰恰是最需要提醒的时候。
能配什么
- 总开关(关着时下面的配置仍然可改,改完重新打开就生效);
- 逐个渠道开关;
- 按类型订阅(任务 / 排期 / 事件);
- 静默时段;
- 新建时自动挂的默认提醒(默认不挂);
- 全天日程的提醒时刻。
总开关关闭时,下面的开关会置灰并说明原因,不是静默失效—— 「点了没反应」比「置灰」难受得多。
当前的边界
- 重复事项只覆盖首个锚点。RRULE 的 occurrence 持久化还在路线图里, 所以「每周一提醒」目前只对第一次生效。
- 拿不到真实投递结果。官方插件的桌面端把系统调用的错误丢掉了,权限状态硬编码为已授权。 也就是说「显示已发送」不等于「你真的看到了」。