docs: 记录 #70 白屏修复验收证据

This commit is contained in:
QiuSW
2026-08-15 17:12:17 +08:00
parent 4ca4abff7b
commit 2c0e39bae8
@@ -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
<!-- gitea-wiki-mirror:end -->
# 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 包白屏并增加静态资源闭环审计。