docs: complete task 37 acceptance archive (#37)
This commit is contained in:
@@ -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
|
||||
<!-- gitea-wiki-mirror:end -->
|
||||
|
||||
# 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)
|
||||
|
||||
Reference in New Issue
Block a user