# DeskFloat 开发进度 最后更新:2026-05-25 ## 总体状态:MVP 完成 ✅ 7 个里程碑全部完成,可运行/可构建,待真实环境联调与样式打磨。 --- ## 里程碑详情 ### 1. 项目骨架 ✅ - [x] `package.json` / `tsconfig.json` / `vite.config.ts` - [x] `src-tauri/Cargo.toml` / `tauri.conf.json` / `build.rs` - [x] `src-tauri/capabilities/default.json`(窗口/fs/shell/notification/global-shortcut 等权限) - [x] 应用图标:用 `mmx image generate` 生成紫蓝玻璃风格 256² PNG,再用 `npx tauri icon` 转出 ICO/ICNS/各分辨率 PNG - [x] 透明无边框窗口配置(decorations: false, transparent: true, alwaysOnTop, skipTaskbar) - [x] `data-tauri-drag-region` 拖拽热区 ### 2. JSON 持久化 + Zustand ✅ - [x] `storage.rs`:`AppState` 结构 + `data_path/ensure_data_file/read_state/write_state` - [x] 启动时若 `data.json` 不存在则写入默认值(含 2 个示例快捷方式) - [x] `commands.rs`:`load_state` / `save_state` 双向通道 - [x] `useAppStore.ts`:Zustand 全局 store + 300ms 防抖落盘 - [x] 启动 hydrate → store 落地 → `ready` 标志门控渲染 ### 3. 任务列表 ✅ - [x] 工具栏触发按钮 `TasksTrigger`(含未完成数量徽标) - [x] 展开面板 `TasksPanel`:输入框(回车新增)+ 列表 - [x] 单条任务:勾选、双击编辑、悬停显示删除/编辑按钮 - [x] @dnd-kit 拖拽排序 - [x] "清除已完成"批量动作 ### 4. 自定义快捷按钮 ✅ - [x] `ShortcutsBar`:工具栏内横向滚动按钮区 - [x] `ShortcutsPanel`:管理面板(列表 + 增删改) - [x] `ShortcutEditor`:编辑表单(名称 / 类型 / 目标 / 参数 / 工作目录 / 图标网格) - [x] 4 种执行器: - `url` → 前端 `@tauri-apps/plugin-opener` - `app` / `cmd` / `powershell` → Rust `runner.rs::execute`(带 `CREATE_NO_WINDOW` 防控制台闪烁) - [x] 27 个 lucide 图标白名单可选(避免引入全量包) ### 5. 番茄钟 ✅ - [x] `pomodoroStore.ts`:阶段(work/break)+ 剩余秒 + tick 逻辑 - [x] `PomodoroIndicator`:工具栏指示器(脉冲点 + MM:SS) - [x] `PomodoroPanel`:开始/暂停/重置 + 进度条 + 可调工作/休息分钟 - [x] 阶段切换自动调用 `notify_user` 发系统通知 - [x] 监听 `deskfloat:toggle-pomodoro` 自定义事件(响应全局快捷键) ### 6. 设置 + 全局快捷键 + 自启 ✅ - [x] `SettingsPanel`:置顶 / 透明度 / 自启 / 数据目录入口 - [x] 三个全局热键编辑(`showHide` / `newTask` / `togglePomodoro`) - [x] `useHotkeys.ts`:`register` + `unregisterAll`,配置变更时重新注册 - [x] 透明度通过 CSS 变量 `--bg-opacity` 实时刷新 - [x] 置顶通过 `set_always_on_top` 命令同步到窗口 - [x] 开机自启使用 `tauri-plugin-autostart` ### 7. 打磨 ✅ - [x] 折叠态(180×40)/ 正常态(560×56)/ 展开态(自适应)三档窗口尺寸动态切换(`set_window_size`) - [x] 抽屉式面板下滑动画 - [x] 自定义 toggle / range 控件样式 - [x] README + 当前 PROGRESS 文档 - [x] 前端 `tsc -b && vite build` 通过:bundle 245 KB JS / 17 KB CSS(gzip 后 77 KB / 3.6 KB) - [x] 后端 `cargo check` 通过 --- ## 验证清单(手工 QA TODO) 下次需要在真机上跑 `npm run tauri:dev` 后逐项验证: - [ ] 窗口透明 + 置顶 + 拖动正常 - [ ] 任务增删改查 + 拖拽排序持久化 - [ ] 4 种快捷方式分别执行成功(URL/notepad/cmd echo/PS) - [ ] 番茄钟阶段切换通知到达 - [ ] 3 个全局快捷键在窗口失焦时仍生效 - [ ] 修改快捷键 → 旧热键释放、新热键注册 - [ ] 开机自启开关可来回切换 - [ ] `npm run tauri:build` 出 MSI / NSIS 安装包并能安装运行 --- ## 后续可选增强(非 MVP) - ~~系统托盘 + 右键菜单(show/hide/quit)~~ ✅ 已实现(`src-tauri/src/tray.rs`) - 番茄钟"专注次数"统计(用户在初版选择不要) - 快捷方式拖拽排序 - 多主题切换(浅色 / 高对比) - 多窗口/多个独立工具栏布局