# 技术栈 ## 后端 - Go:`1.23.0` - 桌面框架:`github.com/wailsapp/wails/v3 v3.0.0-alpha.9` - 本地数据库:`modernc.org/sqlite v1.38.2` - 系统热键:`golang.design/x/hotkey v0.4.1` 运行策略: - Windows 10+ 是主要目标环境。 - macOS / Linux 保留代码边界,但不在 MVP 承诺完整体验。 - 平台差异统一放在 `platform/` 或明确 provider 层。 Wails CLI 安装命令: ```powershell go install github.com/wailsapp/wails/v3/cmd/wails3@v3.0.0-alpha.9 ``` 不要直接安装 `wails3@latest`,避免 CLI、Go SDK 和前端 runtime 版本不匹配。 ## 前端 - Vue:`^3.2.45` - TypeScript:`^4.9.3` - Vite:`^8.1.3` - Wails runtime:`@wailsio/runtime 3.0.0-alpha.66` - UI:Ant Design Vue `^4.2.6` - 样式:Tailwind CSS `^3.4.1` - 国际化:Vue I18n `^11.1.5` UI 策略: - 不自研完整组件库。 - 优先复用 Ant Design Vue。 - 只沉淀项目级组合组件和使用示例,例如筛选表格、设置项、状态标签、日志列表。 ## 目录职责 ```text . ├── main.go # Wails 应用入口、服务注册、资源嵌入 ├── internal/ │ ├── models/ # 数据模型 │ └── services/ # Wails 服务、配置、数据库、热键、OCR ├── platform/ # Windows / macOS 平台差异实现 ├── frontend/ │ ├── src/ # Vue 源码 │ ├── bindings/ # Wails 生成的前端绑定 │ └── dist/ # 前端构建产物,git 忽略 ├── build/ # Wails 打包配置 └── docs/ # Harness Coding 文档 ``` ## 常用命令 安装前端依赖: ```powershell cd frontend npm install ``` 后端测试: ```powershell go test ./... ``` 前端构建: ```powershell cd frontend npm run build ``` 后端编译: ```powershell go build -o bin\cmbone.exe . ``` 统一验证入口: ```powershell .\init.ps1 ``` 开发启动: ```powershell wails3 dev ``` Wails 构建: ```powershell wails3 build ``` Windows 快捷脚本: ```powershell .\dev.bat .\build.bat ``` Windows build 资源: - `build/windows/wails.exe.manifest` - `build/windows/info.json` - `build/windows/icon.ico` `wails3 build` 会重新生成 `frontend/bindings`,当前 CLI 生成的是 `.js` bindings。 ## 版本升级规则 - 升级 Go 前,先确认 Wails v3 alpha、SQLite 和热键库的兼容性。 - 升级 Wails 后,同时检查 `@wailsio/runtime` 和 `frontend/bindings`。 - 升级 Vite / TypeScript 后,必须跑 `npm run build`。 - 依赖升级必须单独提交,不和业务功能混在一起。 ## 目标模块技术边界 - 登录:通过 `AuthProvider` 支持本地固定账号和真实后端,不在前端写死密码。 - 主业务:商品图片 AI 优化通过服务层封装,MVP 可先用本地模拟 provider。 - 操作日志:审计日志进 SQLite,运行日志可进 SQLite 或本地滚动日志文件。 - 数据统计:MVP 直接 SQL 聚合,不提前引入 BI 或图表后端。