diff --git a/docs/task/70-Sense-Windows配置启动与打包交付.md b/docs/task/70-Sense-Windows配置启动与打包交付.md index 5655384..9919687 100644 --- a/docs/task/70-Sense-Windows配置启动与打包交付.md +++ b/docs/task/70-Sense-Windows配置启动与打包交付.md @@ -2,8 +2,8 @@ generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Task-70-Sense-Windows配置启动与打包交付 wiki_url: https://git.ilapage.cn/ila/yovision/wiki/Task-70-Sense-Windows%E9%85%8D%E7%BD%AE%E5%90%AF%E5%8A%A8%E4%B8%8E%E6%89%93%E5%8C%85%E4%BA%A4%E4%BB%98.- -wiki_revision: e0a0ed3760720a7efc3def925c6d1e2313e1433a -synchronized_at: 2026-08-15T07:57:01Z +wiki_revision: 412da1c81551d8fadbba3feb0d3b05868b83deee +synchronized_at: 2026-08-15T09:11:53Z # 70 Sense Windows配置启动与打包交付 @@ -51,14 +51,14 @@ synchronized_at: 2026-08-15T07:57:01Z | demo 与 production 明确隔离 | 通过;独立配置且数据库名必须含 demo/test | | 提供安全初始化、密码修改、停止、备份和恢复步骤 | 通过;脚本、包内说明与长期 Wiki 已更新 | -最终 ZIP:`Sense/dist/sense-windows-amd64.zip`,大小 56,595,209 字节,SHA-256 `7E35394F6377F9F4AB0046E8413F29B140D6F301383C54C87CE871B435EF253D`。包内 `VERSION.txt` 记录集成提交 `c088caf816422cb684c402bb8c85e18db1832186`,包含已验收 #92 与待验收 #95 的旧库兼容修复。 +最终 ZIP:`Sense/dist/sense-windows-amd64.zip`,大小 56,597,422 字节,SHA-256 `217BEBADF77D34DBA314074FD56B43A2A5A66D73479F3D57BB7BBCEECFBAE114`。包内 `VERSION.txt` 记录修复提交 `4ca4abff7bbe8ade47b321b8db302004591a29e1`,包含 #92、#95 的旧库兼容修复及本次白屏修复。 ## 测试 - `go test ./...`、`go vet ./...`、`go build ./...`:通过。 - `go test -race ./app/sense/media ./cmd/api`:通过。 -- PowerShell 包测试:18 项断言通过,覆盖配置注入不执行、特殊字符、环境优先级、demo 数据库隔离、不支持字段拒绝及全部脚本语法。 -- `Sense/scripts/build/build-windows.ps1 -MediaMTXPath <已审核本机路径>`:通过;前端仅有冻结上游 6 条构建 warning。 +- PowerShell 包测试:21 项断言通过,覆盖配置注入不执行、特殊字符、环境优先级、demo 数据库隔离、不支持字段拒绝、HTML 本地资源正反例及全部脚本语法。 +- `Sense/scripts/build/build-windows.ps1 -MediaMTXPath <已审核本机路径>`:通过;前端剩余 4 条非阻塞构建 warning;导致启动失败的 runtime 与 SCSS 导出 warning 已消除。 - `Sense/scripts/build/test-package.ps1 -PackageRoot Sense/dist/sense-windows-amd64`:通过。 - 隔离 PostgreSQL 17:空库 8 个迁移通过;首页、SPA fallback、`/healthz`、MediaMTX Control API、包外目录启动停止通过;119,630 字节 custom-format 备份及恢复到另一数据库通过。 - `git diff --check`:通过。 @@ -73,6 +73,15 @@ synchronized_at: 2026-08-15T07:57:01Z - Web 首页、SPA、`/healthz`、MediaMTX Control API 均返回 200;停止脚本成功且 Sense/MediaMTX 监听端口全部清空。 - PowerShell `Invoke-WebRequest` 在本机受代理环境影响而无法访问 loopback;使用明确绕过代理的本机 HTTP 客户端确认服务正常,该现象不属于 Sense 服务失败。 + +## 白屏验收反馈修复 + +- 用户运行发布包后访问生产入口出现白屏。只读诊断确认首页 HTML 返回 200,但现代浏览器请求的 `runtime.daef9028.js` 不在包内并返回 404;修复 runtime 内联配置后,浏览器继续暴露 GoAdmin `:export` 主题变量在 css-loader 6 下没有 JavaScript 导出的启动错误。 +- 删除不可靠的 runtime 内联插件配置,使现代与 legacy runtime 都作为独立文件进入产物;为 css-loader 启用不改写普通类名的 ICSS mode,保留 GoAdmin 原有 SCSS `:export` 变量模式。 +- 新增 `assert-web-assets.ps1`,构建阶段逐项核对 `index.html` 引用的本地 JS/CSS;缺失 runtime 的反例会直接使包构建失败。 +- Chromium 最终打开 `http://127.0.0.1:18080/` 并进入账号登录页;首屏 7 个 JS/CSS 全部返回 200,白屏和阻止 Vue 挂载的错误消失。测试完成后停止 Sense 与 MediaMTX,18080 无监听。 +- 浏览器仍观察到不阻塞首屏的既有 `/api/v1/app-config` 404 和上游默认百度统计请求;不属于本次白屏修复范围,未混入当前提交。 + ## 遗留问题 - Harness 严格检查的 #66/#67 既有归档格式问题需独立处理,不阻塞 #70 产品代码和交付包验证。 @@ -82,3 +91,4 @@ synchronized_at: 2026-08-15T07:57:01Z - `6b79478` 建立 Sense Windows 交付包。 - `e4544a0` 记录 Sense Windows 交付流程。 +- `4ca4abf` 修复 Windows 包白屏并增加静态资源闭环审计。