Parent
#1 feat: 睡眠定时器 (Sleep Timer)
What to build
扩展睡眠定时器的触发行为,除暂停外支持「停止播放」和「退出应用」两种行为,并在 UI 中提供选择。
端到端路径:
-
主进程 — SleepTimerService:
SleepTimerAction 类型扩展为 'pause' | 'stop' | 'quit'
start() 的 action 参数支持三种值
action === 'stop' 时调用 AudioSession.stop()(完全清理)
action === 'quit' 时调用 app.quit()(触发已有优雅退出流程)
-
主进程 — 生命周期集成:
- 在
lifecycle.ts 的 cleanupBeforeQuit() 中添加 sleepTimerService.cancel()
- 确保应用退出时不残留定时器回调导致异常
-
UI — Popover 行为选择:
- 在预设时长按钮上方增加单选组:( ) 暂停 ( ) 停止 ( ) 退出
- 默认选中"暂停"
- 选择行为后点击时长按钮才生效
Acceptance criteria
Blocked by
#2 (Slice 1: MVP 核心定时器)
Parent
#1 feat: 睡眠定时器 (Sleep Timer)
What to build
扩展睡眠定时器的触发行为,除暂停外支持「停止播放」和「退出应用」两种行为,并在 UI 中提供选择。
端到端路径:
主进程 — SleepTimerService:
SleepTimerAction类型扩展为'pause' | 'stop' | 'quit'start()的 action 参数支持三种值action === 'stop'时调用AudioSession.stop()(完全清理)action === 'quit'时调用app.quit()(触发已有优雅退出流程)主进程 — 生命周期集成:
lifecycle.ts的cleanupBeforeQuit()中添加sleepTimerService.cancel()UI — Popover 行为选择:
Acceptance criteria
Blocked by
#2 (Slice 1: MVP 核心定时器)