From 8b3d81462826dfc25e6dfb4956762e7c47e1d0bb Mon Sep 17 00:00:00 2001 From: QiuSW <105186638@qq.com> Date: Wed, 12 Aug 2026 18:34:36 +0800 Subject: [PATCH] docs: complete task 37 acceptance archive (#37) --- .../37-Sense-Windows前后端一键打包.md | 52 +++++++++++++------ 1 file changed, 37 insertions(+), 15 deletions(-) diff --git a/docs/task/37-Sense-Windows前后端一键打包.md b/docs/task/37-Sense-Windows前后端一键打包.md index 673794c..5376b07 100644 --- a/docs/task/37-Sense-Windows前后端一键打包.md +++ b/docs/task/37-Sense-Windows前后端一键打包.md @@ -2,16 +2,16 @@ generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Task-37-Sense-Windows前后端一键打包 wiki_url: https://git.ilapage.cn/ila/yovision/wiki/Task-37-Sense-Windows%E5%89%8D%E5%90%8E%E7%AB%AF%E4%B8%80%E9%94%AE%E6%89%93%E5%8C%85.- -wiki_revision: bf4f4a64f1831d32eb8780dc8d9eb35cb568acc3 -synchronized_at: 2026-08-12T10:30:09Z +wiki_revision: 50a1b74dd33ccd52b8642599b3b579cbf4ac870e +synchronized_at: 2026-08-12T10:33:06Z # 37 Sense Windows前后端一键打包 -- 类型:需求 / 缺陷 / 重构 -- 所属 Epic:# -- 所属 MVP / 版本:# -- 状态:待验收 / 已完成 +- 类型:需求 +- 所属 Epic:#7 +- 所属 MVP / 版本:#8 +- 状态:待验收 - 日期:2026-08-12 - Gitea 工单:https://git.ilapage.cn/ila/yovision/issues/37 - Wiki 页面:Task-37-Sense-Windows前后端一键打包 @@ -19,32 +19,54 @@ synchronized_at: 2026-08-12T10:30:09Z ## 背景与目标 - +客户需要在 Windows 上快速查看和交付 Sense。目标是用一个简单 BAT 从冻结工具链构建 Vue 前端和 Go 后端,组装不含秘密的 Windows amd64 运行目录及 ZIP,并提供临时预览和生产配置边界。 ## 最终方案 - +- `Sense/scripts/package-windows.bat` 精确校验 Go 1.26.5、Node 22.22.1、pnpm 9.15.1,执行冻结安装、前端构建、CGO 关闭的 Windows amd64 后端编译、白名单文件组装和 ZIP 压缩。 +- 产物固定为被 Git 忽略的 `Sense/dist/sense-windows-amd64/` 与 `Sense/dist/sense-windows-amd64.zip`;路径保护确保重建只清理这两个目标。 +- 包内包含后端 EXE、前端静态资源、空值示例配置、上游许可证、`start-sense.bat` 和 `README-WINDOWS.md`。 +- `start-sense.bat demo` 是明确的内存临时预览;无参数生产启动强制要求外部 PostgreSQL URL、身份签名密钥、引导令牌和凭据加密密钥。 +- Wiki 增加本地打包、交付边界与排错说明;全量镜像同步同时带入其他已完成工单的最新 Wiki revision。 ## 修改文件 -- `<文件>`:<改动说明> +- `Sense/scripts/package-windows.bat`:一键构建、组装与压缩。 +- `Sense/scripts/runtime/start-sense.bat`:demo/生产双模式启动入口。 +- `Sense/scripts/runtime/README-WINDOWS.md`:包内运行说明。 +- `Sense/config/sense.env.example`:补齐身份、凭据、ONVIF 与 MediaMTX 空值示例。 +- `Sense/README.md`:增加 Windows 打包入口。 +- `docs/04-local-development-and-verification.md`、`docs/06-troubleshooting.md`、`docs/delivery/README.md`:Wiki-first 镜像。 +- `wiki-docs.json`、`docs/task/37-Sense-Windows前后端一键打包.md`:任务归档登记和镜像。 ## 验收结果 | 验收标准 | 结果 | |---|---| -| | 通过 / 未通过 | +| 冻结工具链一键生成前后端 ZIP | 通过;连续执行两次均成功 | +| ZIP 含 EXE、UI、空值配置、许可证、启动脚本与说明 | 通过;共 14 个条目 | +| 包内不含秘密或生产数据 | 通过;敏感示例值为空且文本扫描未发现令牌、私钥或带密码 PostgreSQL URL | +| 包内后端加载 UI,健康检查与首页可访问 | 通过;`/healthz` 200,`/` 200 且包含 Vue 挂载点 | +| 固定路径安全重复覆盖 | 通过 | +| Brain、Bell 离线可构建和验证 | 通过 | ## 测试 -- 执行命令:`<命令>` -- 结果: -- **未验证部分**: +- `cmd /c Sense\scripts\package-windows.bat`:连续两次通过;前端仅有既有 vendor bundle 体积建议警告。 +- ZIP:7,281,398 bytes;SHA-256 `1BAEB17F1976DD925D8C01A245C951081FAE149E5151DA5523190F24E0B6AA6D`。 +- 包内后端:内存模式绑定 `127.0.0.1:18082`,绕过本机代理后 `/healthz` 与 `/` 均为 200。 +- `python -m unittest discover -s tests -v`:31 项通过。 +- `python dev_scripts/check_harness.py --strict`:通过。 +- `python dev_scripts/sync_wiki_docs.py --check`:通过。 +- `git diff --check`:通过。 +- **未验证部分**:未连接真实 PostgreSQL、MediaMTX 或摄像机;未用真实生产秘密运行生产模式;未由目标实施/运维人员完成解压和人工验收。 ## 遗留问题 - +- 前端 vendor bundle 超过 Vue CLI 建议体积阈值,本工单不改变现有分包策略,不阻塞 Windows 打包。 ## 相关提交 -- `<提交哈希>` <提交说明> +- `e80180e` build: add Sense Windows package script (#37) +- `efb48b4` docs: document Sense Windows package workflow (#37) +- `6d35fa7` docs: create task 37 acceptance archive (#37)