更新若干功能

This commit is contained in:
李琦
2026-08-15 17:18:00 +08:00
parent 4954295961
commit 6a81e479ef
77 changed files with 8165 additions and 2372 deletions

View File

@@ -11,9 +11,14 @@ alwaysApply: true
# ✅ 正确:产出 bin/code-count.exe带图标、版本信息、无控制台窗口
wails3 task windows:build
# ✅ 安装包NSIS,内部会先执行上面的 build
# ✅ 安装包NSIS;先 api:package再 windows:build + makensis
# 若报 makensis not found把 NSIS 加入 PATH 后再跑,例如:
# $env:Path = "C:\Program Files (x86)\NSIS;" + $env:Path
wails3 task package
# ✅ 仅打包后端有改动才重编强制wails3 task api:package FORCE=1
wails3 task api:package
# ❌ 错误:裸 go build 出的 exe 没有图标、双击会闪控制台黑框
go build -o bin/code-count.exe .
```
@@ -27,6 +32,28 @@ production 构建还带 `-tags production -ldflags "-w -s -H windowsgui"`。
裸 `go build` 仅可用于快速验证编译通过(如 `go vet` / `go test` 前置检查),
产物不得交付给用户。
## 后端一并打包(必须是 linux/amd64
`wails3 task package` 会先跑 `api:package`:检测同级目录 `../nl-pms-api` 源码指纹,
有改动才交叉编译到 `bin/nl-pms-api/`,并带上 `init.sql`、`migrations/*.sql`、
`config.example.yaml`。部署服务器时拷该目录即可。
### 硬性要求(打包后必须核对)
- 目标平台固定为 **`GOOS=linux` + `GOARCH=amd64`**(线上 Linux 服务器用)。
- 产物路径:`bin/nl-pms-api/nl-pms-api`**无** `.exe` 后缀)。
- **禁止**把 Windows 本机 `go build` 出的 `nl-pms-api.exe` 当作后端交付物。
- 脚本 `tools/package-api.ps1` 编完后会校验文件头为 ELF`7F 45 4C 46`);不是 ELF 则失败。
- 人工抽查(可选):
```powershell
# 应为 ELF 64-bit LSB executable, x86-64
Format-Hex bin\nl-pms-api\nl-pms-api -Count 4
# 前 4 字节应为 7F 45 4C 46
```
单独只打后端:`wails3 task api:package`;强制重编:`wails3 task api:package FORCE=1`。
## 换 logo 的流程
1. 替换 `build/appicon.png`(源头,正方形 PNG