验收日期:2026-10-15
验收对象:城市生命线驾驶舱蓝湖正式素材替换(lanhu-cockpit-asset-replacement)
验收依据:分批替换与终稿验收规格
验收入口:真实 /cockpit @ http://127.0.0.1:8000/#/cockpit(按 AGENTS.md 运行环境约定)
授权:维护者本轮明确指示「运行终稿验收」
终稿验收通过(2026-10-15,维护者确认签收):
/cockpit @ 1280×720:全部离线断言面 6 套全绿;四个一级模式逐一走查通过;字体 5/5 实际加载;404 = 0;控制台业务报错 = 0;临时素材关闭清单核对完成(核心资源组已全部换正式素材)。/cockpit 走查因宿主集成既有问题(runtime.js 的 history 契约不匹配,非本图缺陷)未完成,已记入待办。签收:维护者 2026-10-15 确认签收,并同意关闭票 13 与整张地图。共识经验已提取留档至 CONSENSUS.md。
五张执行票均已关闭并各自附走查单:
| 批次 | 执行票 | 走查单/证据 | 状态 |
|---|---|---|---|
| 1 品牌/图标 | 票 14 | 票内四轮迭代记录;沉淀 UI 设计及图标素材使用共识 | 已关闭 |
| 2 面板 token | 票 15 | 批次 2 验收说明 | 已关闭 |
| 3 位置符号 | 票 16 | 票内七轮签收走查;锚点迁移对抗式验证 7/7 | 已关闭 |
| 4 字体接入 | 票 17 | 批次 4 验收说明 | 已关闭 |
| 5 装饰/纹理 | 票 18 | 批次 5 验收说明 | 已关闭 |
/cockpit 对照(本轮实测)走查环境:真实 /cockpit,视口经设备度量精确设为 1280×720 CSS px(@view 1280x720),硬刷新后进入系统。
四个一级模式逐一走查(截图留存于本会话):
| 模式 | 面板组合(实测) | 结果 |
|---|---|---|
总体概览 overview |
左:态势总览 / 基础设施;右:运行监测 / 预警设置 | 通过 |
基础设施 infrastructure |
左:基础档案 / 运行信息;右:管理信息 / 应急保障 | 通过 |
运行监测 monitoring |
左:监测概览 / 监测分布;右:运行概况 / 监测点台账 | 通过 |
预警处置 warningResponse |
左:当前预警 / 历史分析;右:预警效率 / 预警分析 | 通过 |
结构保护核对:4 模式 / 16 panelId / 每模式 4 面板 / 两栏 + 中央一张图——全部与 ADR 0003 一致,未见结构漂移。状态图例 8 行常驻(报警/预警/工单处置/正常/离线/无设备/状态未发布/无关联设备)。
位置符号:地图上 DOM overlay 标记可见(水滴徽标 + 内层图标 + 中文标签),四模式均正常渲染;markerPlan 合成计划断言 38/38 全绿。
1280×720 检查:左右栏与中央地图边界清晰、无面板重叠;面板标题、读数、图表、图例完整可读;面板内滚动可用。
未替换临时项:仅 1 条 —— icon.blank(status: temporary、core: false、manifest 第 56 条),登记类型为「设计稿未覆盖」(蓝湖 9 画板中空面板占位图示无对应物),按规格 12「设计稿未覆盖项维持现状」保留,不阻断发布。
P0 阻断项:0 条。
已关闭项:icon.brand / icon.layers / icon.points / icon.event / icon.resource(批次 1 替换为蓝湖正式切图);font.body.* / font.num.*(批次 4 接入)。
带缺口交付项(全部 P3 或已确认):token.fs.* 可读性上调(维护者已确认)、token.panel-gradient 三停近似(维护者已要求并反馈)、token.fs-standalone 独立档位、token.column-detail-width、token.point-status-colors、token.chart-categories、ui.section-status-dot、decor.grid-scanline-vignette、decor.brand-pool、decor.unconsumed-candidates、decor.panel-corner-color。
字体侧待走查确认项:子集外汉字走回退(规格 11 Q14 预期行为)、--num 逐字度量偏差 16 项、Noto Sans SC Medium 字重未单独嵌入、Alimama FangYuanTi 无授权证据未接入(不阻断)、PingFang 系统字体不可嵌入(已锁)。
| 原临时素材 | 现状 | 新正式素材(manifest 条目) | 状态 |
|---|---|---|---|
内联 SVG 占位图标(brand/layers/points/event/resource) |
icons.js 已无内联 SVG 几何 |
icon.brand、icon.layers、icon.points、icon.event、icon.resource 等 55 条 formal |
已替换 |
设备临时形状簇(markerSvg 几何形状) |
合成计划层已改双层水滴徽标 | marker.master.solid / marker.master.hollow / marker.inner.* |
已替换 |
| 系统字体栈(未接入 Web 字体) | 已插入 5 个子集 woff2 | font.body.regular/bold、font.num.regular/bold/mono |
已替换 |
icon.blank(空面板占位图示) |
仍为临时 SVG | 无(设计稿未覆盖) | 登记未替换(P3,不阻断) |
aerial.webp(无地理配准临时影像) |
仍在被引用 | — | 不属本图(归票 21/22 底图线,见下) |
关于 aerial.webp:实测 MapCanvas.vue:119 仍以 ${base}cockpit/aerial.webp 作临时底图,contractMocks.js:911 亦引用。它是临时底图影像,票 01/02 与 public/cockpit/README.md 均已明确「真底图/瓦片归票 21/22」,不在本图素材替换范围内,故不计为未关闭临时项。
核心资源组关闭判据核对(规格 13 Q9):品牌标识 ✓ 已换正式切图;点位/设备状态形状语义 ✓ 已换双层徽标体系;状态色语义 ✓ 由 tokens.css 唯一来源 + 运行时着色。核心资源组全部换正式素材 ✓。
decor.grid-scanline-vignette:5 项氛围增强(网格/扫描线/暗角/辉光/切角)蓝湖无对应图层,现状维持——需设计方确认是否补图或认可现状。decor.brand-pool:光池消费点为推断(标题运行时 404u ≠ 设计 470 逻辑尺寸),非像素级对位。decor.unconsumed-candidates:11 个装饰候选无消费点(已挪归档),需设计方确认落点。原判「无宿主工程 → 无法执行」经维护者指示「尝试去补一下」后已补做:自建最小宿主(仓库外 → 后移至 .scratch/lanhu-cockpit-asset-replacement/qiankun-host-acceptance/,未污染 public/ 产物),用仓库既有 qiankun@2.10.16 UMD 离线加载 http://127.0.0.1:8000/ 的被嵌应用。
已证实的部分(通过):
| 检查项 | 实测结果 |
|---|---|
| 宿主加载被嵌应用 | beforeLoad / beforeMount / afterMount 均触发,appName = TvT.js |
| 基址注入 | __INJECTED_PUBLIC_PATH_BY_QIANKUN__ = http://127.0.0.1:8000/(生效) |
| 被嵌应用渲染 | 渲染出自身 3D 场景,无白屏 |
| cockpit 模块图资源解析 | CockpitShell.vue / MapCanvas.vue / PanelBlocks.vue / StatusTag.vue / markerPlan 等全部 200,走注入基址解析,无 404、无硬编码路径 |
未通过的部分(宿主集成既有问题,非本图缺陷):
/cockpit 未渲染(落在 TvT 默认页),控制台报 TypeError: Cannot read properties of undefined (reading 'push') at src/.fes/plugin-qiankun/micro/runtime.js:26。runtime.js:24 解构 { router, history } 并在 :26 调 history.push(...),但 FES 4 的 onRouterCreated 契约只保证 router(同签名的 @fesjs/plugin-access 只解构 { router })→ history 为 undefined。git status 无本地改动,是仓库既有文件;属宿主集成问题,不在本图素材替换范围(本图 Destination 是素材替换,不是宿主路由集成)。/cockpit 未挂载,宿主内字体/图标请求为 0 —— 如实记录,不粉饰。结论:规格 13 要求的「宿主内验证资源解析与基址注入」已执行并通过(模块图全 200、注入基址生效);「宿主内完整 /cockpit 走查」因既有集成问题未能完成,该问题应作为独立事项处理,不由本图修复或掩盖。
| 级别 | 数量 | 明细 |
|---|---|---|
| P0 阻断 | 0 | 核心资源组无缺失;无状态语义误导;无授权风险(字体白名单全部 OFL 且证据归档) |
| P1 高 | 0 | 1280×720 下无不可读/不可操作/重叠;位置符号可辨;锚点正确 |
| P2 中 | 0 | 无观感或性能阻断项 |
| P3 低 | 11 | 见 §3 缺口清单(含 icon.blank、装饰现状维持项、token 近似项),全部已登记、不阻断发布 |
| 断言面 | 结果 |
|---|---|
batch2-token-check.mjs |
10/10 通过(token 唯一性、裸字面量清退、字体槽位一致) |
batch5-decor-check.mjs |
11/11 通过(光池消费链、无死资源、四角色值收口、结构保护) |
check-manifest.mjs |
通过(56 条,含文件可达性与 hash 一致性) |
cross-check-icons.mjs |
通过(注册表 51 / manifest 56,四处交叉引用一致,缺失 0) |
check-marker-plan.mjs |
38 过 / 0 败(母版归属、尺寸层级、尖端锚点、tint 推导、降饱和) |
check-fonts.mjs |
通过(5 条目 / 7 许可、门禁逐条 ok、回退链、对抗式反证) |
t01-panel-catalog.mjs |
通过(4 模式 / 16 面板 / 地图生命周期幂等 / 基址解析) |
/cockpit @ 1280×720)| 检查项 | 结果 |
|---|---|
| 字体请求 | 5/5 全部加载(noto-sans-sc-400/700、rajdhani-400/700、share-tech-mono-400,font/woff2,200/304)——符合「字体请求为 0 必判 FAIL」纪律 |
| 404 请求 | 0(1727 次请求中无 404) |
| 控制台业务报错 | 0(仅 hm.baidu.com 第三方统计的 Permissions policy 提示与浏览器扩展日志) |
| 页面结构 | 4 模式切换正常;16 面板齐备;8 行状态图例常驻;DOM overlay 标记可见 |
| 数据源 | 配置就绪 · 数据源 real(真实后端 192.168.110.96:8301) |
已达成:真实 /cockpit 环境终稿验收通过;核心资源组全部换正式素材;P0/P1/P2 缺陷为 0;全部断言面与运行时实测证据齐备。
未闭合(本票保持 open):
建议下一步:维护者确认本报告后签收;若 qiankun 宿主短期内不提供,建议在规格 13 中把该项标注为「环境前置未满足」并明确后续触发条件(宿主工程建立时补验),而非无限期挂起。
本报告由代理在用户明确授权下运行验收生成。按 AGENTS.md:本轮运行了用户明确要求的验收命令(dev server 已在 8000 端口运行、浏览器走查),未额外启动服务。