feat: persist main window state

This commit is contained in:
QiuSW
2026-07-09 00:34:47 +08:00
parent 91debb9ad6
commit 7942add8b6
14 changed files with 362 additions and 23 deletions
+20
View File
@@ -226,3 +226,23 @@
- 非阻塞警告:
- `cmd /c build.bat` 仍提示 `wails3 build` 是 `wails3 task` 的 alias。
- 前端构建仍提示 Browserslist 数据过期和 chunk 大小警告。
### 持久化窗口尺寸和最大化状态
- 任务:完成 `T-015`,保存主窗口尺寸和最大化状态,下次启动恢复用户上次选择,第二窗口不参与该逻辑。
- 结果:
- 新增 `internal/services/window_state.go`,集中处理主窗口状态读取、恢复和写回。
- 主窗口启动时读取 `window.width`、`window.height`、`window.start_state` 和 `window.remember_state`。
- 主窗口 resize、maximize、restore 和 closing 时保存普通尺寸和最大化状态。
- `window.remember_state` 默认值调整为 `true`,关闭后默认恢复用户上次选择。
- 补充旧默认值迁移,把 T-014 旧描述下的 `window.remember_state=false` 升级为 `true`。
- 第二窗口仍固定为 `340x320`,没有注册窗口状态持久化逻辑。
- 新增窗口状态配置单元测试。
- 验证:
- `go test ./...` 通过。
- `cd frontend && npm run build` 通过。
- `go build -o bin\cmbone.exe .` 通过。
- `cmd /c build.bat` 通过。
- 非阻塞警告:
- `cmd /c build.bat` 仍提示 `wails3 build` 是 `wails3 task` 的 alias。
- 前端构建仍提示 Browserslist 数据过期和 chunk 大小警告。