diff --git a/README.md b/README.md index 524ff98..ce6a705 100644 --- a/README.md +++ b/README.md @@ -66,6 +66,8 @@ Windows 下也可以直接运行: .\build.bat ``` +`dev.bat` 会从 `9245` 开始选择一个空闲 Vite 端口,避免已有 dev server 占用端口时无法打开 GUI。 + ## 维护约定 - Go 模块名统一为 `cmbone`。 diff --git a/build.bat b/build.bat index 9d09536..43e6c68 100644 --- a/build.bat +++ b/build.bat @@ -1 +1 @@ -@for /f "delims=" %%G in ('go env GOPATH') do @set "PATH=%%G\bin;%PATH%" && wails3 build +@cd /d "%~dp0" && for /f "delims=" %%G in ('go env GOPATH') do @set "PATH=%%G\bin;%PATH%" && wails3 build diff --git a/dev.bat b/dev.bat index 69b7539..9200fec 100644 --- a/dev.bat +++ b/dev.bat @@ -1 +1 @@ -@for /f "delims=" %%G in ('go env GOPATH') do @set "PATH=%%G\bin;%PATH%" && wails3 dev +@cd /d "%~dp0" && for /f "delims=" %%G in ('go env GOPATH') do @set "PATH=%%G\bin;%PATH%" && for /f %%P in ('powershell -NoProfile -Command "$p=9245; while (Get-NetTCPConnection -LocalPort $p -State Listen -ErrorAction SilentlyContinue) { $p++ }; $p"') do @wails3 dev -config .\build\config.yml -port %%P diff --git a/docs/03-tech-stack.md b/docs/03-tech-stack.md index 0a7dabc..b3dc946 100644 --- a/docs/03-tech-stack.md +++ b/docs/03-tech-stack.md @@ -107,6 +107,8 @@ Windows 快捷脚本: .\build.bat ``` +`dev.bat` 会先切到项目根目录,把 Go bin 加入当前进程 PATH,再从 `9245` 开始选择空闲端口运行 `wails3 dev`。 + Windows build 资源: - `build/windows/wails.exe.manifest` diff --git a/docs/06-tasks.md b/docs/06-tasks.md index 1da019a..7f21d88 100644 --- a/docs/06-tasks.md +++ b/docs/06-tasks.md @@ -50,7 +50,7 @@ | T-031 | 文档化 Wails bindings 生成流程 | T-012 | README 或技术栈文档说明 `wails3 generate bindings` 的使用、失败处理和版本要求 | TODO | | T-032 | 补充 Windows 打包验证文档 | T-031 | `wails3 package` 前置条件、输出目录和常见失败处理写入 README 或 docs | TODO | | T-033 | 完成一次模板 smoke 清单 | T-023 | 登录、设置、业务样例、日志、统计、组件示例、托盘、热键都按清单验证并记录结果 | TODO | -| T-034 | 添加 Windows Wails 快捷脚本 | T-001 | `dev.bat` 一行把 Go bin 加入当前进程 PATH 并运行 `wails3 dev`;`build.bat` 一行把 Go bin 加入当前进程 PATH 并运行 `wails3 build`;README、技术栈、当前状态和执行流水已同步 | DONE | +| T-034 | 添加 Windows Wails 快捷脚本 | T-001 | `dev.bat` 一行切到项目根目录、补 Go bin PATH、自动选择空闲端口并运行 `wails3 dev`;`build.bat` 一行切到项目根目录、补 Go bin PATH 并运行 `wails3 build`;README、技术栈、当前状态和执行流水已同步 | DONE | ## Backlog diff --git a/docs/current-state.md b/docs/current-state.md index 13b8705..b440945 100644 --- a/docs/current-state.md +++ b/docs/current-state.md @@ -98,10 +98,11 @@ wails3 build 同日新增 Windows Wails 快捷脚本: -- `dev.bat` 一行把 Go bin 加入当前进程 PATH 并运行 `wails3 dev`。 -- `build.bat` 一行把 Go bin 加入当前进程 PATH 并运行 `wails3 build`。 +- `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` 通过。 diff --git a/progress.md b/progress.md index 9c6ec5e..691da0f 100644 --- a/progress.md +++ b/progress.md @@ -104,8 +104,8 @@ - 任务:完成 `T-034`,新增一行 bat 脚本运行 Wails dev 和 build 命令。 - 结果: - - 新增 `dev.bat`,通过 `go env GOPATH` 把 Go bin 加入当前进程 PATH 并运行 `wails3 dev`。 - - 新增 `build.bat`,通过 `go env GOPATH` 把 Go bin 加入当前进程 PATH 并运行 `wails3 build`。 + - 新增 `dev.bat`,切到项目根目录,通过 `go env GOPATH` 把 Go bin 加入当前进程 PATH,并从 `9245` 开始选择空闲端口运行 `wails3 dev`。 + - 新增 `build.bat`,切到项目根目录,通过 `go env GOPATH` 把 Go bin 加入当前进程 PATH 并运行 `wails3 build`。 - 补齐 `build/windows/wails.exe.manifest` 和 `build/windows/info.json`,满足 Windows syso 生成步骤。 - `wails3 build` 按当前 CLI 重新生成 `frontend/bindings`,当前绑定文件形态为 `.js`。 - 更新 README、技术栈、API、当前状态和任务看板。 @@ -115,6 +115,11 @@ - `cmd /c build.bat` 通过。 - `.\init.ps1` 通过。 - `git diff --check` 通过。 +- 修复记录: + - 用户反馈 `dev.bat` 没有 GUI 窗口后,复现发现原因是 Vite 端口 `9245` 被占用,Wails dev 在前端启动阶段失败。 + - `dev.bat` 已改为先切到项目根目录,再从 `9245` 开始选择空闲端口运行 `wails3 dev`。 + - 修复后 `dev.bat` 已进入 `windows:run`,连接前端 dev server,并加载 WebView 资源。 + - `build.bat` 已改为先切到项目根目录,避免从其他目录运行时找不到项目配置。 - 非阻塞警告: - `wails3 build` 提示 `wails3 build` 是 `wails3 task` 的 alias。 - `npm install` 仍报告 3 个 moderate audit findings。