Files
cmbone/docs/current-state.md
T

134 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 当前状态
更新时间:2026-07-08
## 当前阶段
项目处于可复用桌面应用模板的产品定位校准阶段。目标已经从迁移后的基础工程调整为“Windows-first、可扩展到其他平台的桌面端应用模板”。
当前代码已从迁移后的 Wails/Vue/SQLite 基线推进到主应用路由骨架阶段,已具备设置、多语言、主题、本地配置、热键、托盘、OCR 示例和模板级模块入口。登录、商品图片 AI 优化、审计日志、运行日志和数据统计仍是骨架页面,尚未接入真实后端服务和数据模型。
## 已确认事实
- 项目类型:可复用桌面应用模板。
- 主要运行场景:Windows 10 以及以后的 Windows 操作系统。
- 跨平台策略:Windows-first,保留 macOS / Linux 适配边界,不在 MVP 承诺完整体验。
- 第一批业务样例:电商商品图片 AI 优化。
- 登录策略:本地固定账号 provider + 真实后端 provider 的可替换边界。
- 日志策略:审计日志用于用户动作追踪,运行日志用于系统排错。
- 第一批统计指标:今日处理图片数、AI 优化成功率、平均处理耗时、失败任务数、今日操作日志数、最近 7 天处理趋势。
- Go 模块名:`cmbone`
- Go 版本:`1.23.0`
- Wails 版本:`v3.0.0-alpha.9`
- 前端 runtime:`@wailsio/runtime 3.0.0-alpha.66`
- 前端框架:Vue 3、Vite、TypeScript、Tailwind CSS、Ant Design Vue
- 当前 Wails 前端 bindings:由 `wails3 build` / `wails3 generate bindings` 生成的 `.js` 文件。
- 本地数据库:SQLite,用户配置目录下 `cmbone/cmbone.db`
- 当前主窗口路由:`/#/` 重定向到 `/#/dashboard`。
- 当前主应用模块路由:`/#/login`、`/#/dashboard`、`/#/image-optimizer`、`/#/logs`、`/#/statistics`、`/#/settings`、`/#/components`。
- 当前兼容重定向路由:`/#/business/image-optimizer`、`/#/logs/audit`、`/#/logs/app`。
- 当前第二窗口路由:`/#/second`
- 已实现主窗口策略:默认不最大化,初始 `1280x800`,最小 `1024x720`,居中,可调整大小。
- 已实现页面布局策略:根容器 `width: 100%`、`height: 100vh`,内部 flex/grid 填满窗口。
- 已实现内容区策略:阅读型内容保留最大宽度;列表、仪表盘、设置页自适应拉伸。
- 已保留第二窗口策略:保持小窗,不参与主窗口最大化和尺寸恢复逻辑。
## 当前命令
统一验证:
```powershell
.\init.ps1
```
拆分验证:
```powershell
go test ./...
cd frontend
npm run build
npm run typecheck
cd ..
go build -o bin\cmbone.exe .
```
Wails CLI:
```powershell
go install github.com/wailsapp/wails/v3/cmd/wails3@v3.0.0-alpha.9
wails3 dev
wails3 build
.\dev.bat
.\build.bat
```
## 已知风险
- 模板范围容易膨胀,必须按任务小步实现。
- Wails v3 alpha 版本需要保持 CLI、Go 模块和前端 runtime 匹配。
- 登录 provider、AI provider、日志和统计模块尚未实现,当前只是文档目标。
- OCR 和热键依赖平台实现,跨平台修改需要分别验证。
- 当前前端以构建检查为主,暂未引入专门的前端单元测试。
- bindings 生成依赖本机安装的 `wails3`。
- `npm install` 当前报告 3 个 moderate audit findings,后续如做依赖治理应单独开任务。
- 前端构建当前有 Browserslist 数据过期和 chunk 大小警告,不阻塞生产构建。
- Windows 快捷脚本依赖 `go env GOPATH` 下的 `bin\wails3.exe`,如果未安装 Wails CLI,先按 README 安装固定版本。
- `dev.bat` 为了尽快打开 GUI,使用不含 `vue-tsc` 的 `build:dev`;提交前必须继续运行 `npm run build`。
## 最近验证
2026-07-08 已运行:
```powershell
.\init.ps1
```
结果:
- `npm install` 通过。
- `go test ./...` 通过。
- `npm run build` 通过。
- `go build -o bin\cmbone.exe .` 通过。
同日完成可复用桌面应用模板定位校准后,已再次运行旧定位残留检查、`git diff --check` 和 `.\init.ps1`,结果均通过。
同日完成主窗口启动参数与根布局策略实现后,已运行:
- `.\init.ps1` 通过。
- `go test ./...` 通过。
- `cd frontend && npm run build` 通过。
- `go build -o bin\cmbone.exe .` 通过。
- `bin\cmbone.exe` 启动 6 秒 smoke 通过。
同日新增 Windows Wails 快捷脚本:
- `dev.bat` 一行切到项目根目录,把 Go bin 加入当前进程 PATH,并从 `9245` 开始选择空闲端口运行 `wails3 dev`。
- `build.bat` 一行切到项目根目录,把 Go bin 加入当前进程 PATH 并运行 `wails3 build`。
- 已补齐 `build/windows/wails.exe.manifest` 和 `build/windows/info.json`,使 `wails3 build` 的 Windows syso 生成步骤可运行。
- `cmd /c build.bat` 通过。
- `dev.bat` 已验证能避开端口占用问题,进入 `windows:run` 并加载 WebView 资源。
- 使用同样 PATH 逻辑执行 `wails3 dev -help` 通过。
- `.\init.ps1` 通过。
同日修复 `dev.bat` 启动 GUI 等待过长问题:
- `frontend` 的 `build:dev` 改为快速 Vite dev 构建,避免 `vue-tsc` 在开发启动链路中长时间阻塞窗口打开。
- 新增 `npm run typecheck`,正式质量门禁仍由 `npm run build` 覆盖类型检查和生产构建。
- 已验证 `dev.bat` 能进入 `windows:run`,拉起 `bin/cmbone.exe`,并创建可见主窗口。
同日完成主应用路由骨架:
- 新增 `frontend/src/layouts/MainLayout.vue`,主窗口改为侧边导航、顶部窗口区和路由内容区。
- 新增登录、工作台、商品图片 AI 优化、操作日志、数据统计、设置、组件示例模块页。
- 新增 `frontend/src/components/template/ModulePageShell.vue`,用于模块标题、状态和摘要卡片。
- `frontend/src/router/index.ts` 已切换为主应用模块路由,第二窗口继续保留 `/#/second`。
- `npm run typecheck`、`npm run build`、`npm run build:dev`、`go test ./...`、`go build -o bin\cmbone.exe .`、`cmd /c build.bat` 和 `dev.bat` 烟测通过。
## 下一步
从 [`06-tasks.md`](06-tasks.md) 领取第一个 `TODO` 任务。目前建议先做 `T-013`:实现登录 provider 边界。
## 当前 blocker
无。