Clone
3
Task-37-Sense-Windows前后端一键打包
ila edited this page 2026-08-14 09:53:08 +08:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

37 Sense Windows前后端一键打包

  • 类型:需求
  • 所属 Epic:#7
  • 所属 MVP / 版本:#8
  • 状态:已完成
  • 日期:2026-08-12
  • Gitea 工单:#37
  • Wiki 页面:Task-37-Sense-Windows前后端一键打包
  • Wiki revision:见本地镜像头

背景与目标

客户需要在 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)

用户验收

  • 2026-08-14:用户明确确认当前未验收工单通过验收。
  • 本次验收确认该工单在历史 explore 快照中的交付与证据;不恢复旧自研基础框架为 dev 产品基线,后续迁移仍受 #58、#61、#62 约束。