# 22: 前端执行票 —— 真实响应信封消费与业务错误映射修复 Type: task Status: resolved-as-not-a-defect Label: ready-for-human Category: frontend-execution ## 结论更正(2026-10-10 15:58,本票前提被推翻) **本票最初的前提「前端把真实数据读成空、把业务失败读成成功」不成立。经复核应予撤销。** ## 复核方法与证据 1. **独立进程复现**:`t18-envelope-probe.mjs` 单独调用前端适配层,`fetchBaseArchives` → `state=success`、`facilityCount=1006`;`fetchMapSnapshot` → `state=success`、`total=13`、`snapshotAt` 正常。业务载荷键齐全(`totals`/`industryDistribution`/`districtDistribution` 均存在)。 2. **抗顺序复现**:`t18-envelope-repro.mjs` 依次在「首次调用」「一次 raw 请求后」「后端 `code=500` 之后」「20 次同类请求之后」四种前置状态下调用,五次全部返回 `success/1006`。未复现任何读空或误判。 3. **浏览器真实取证**:`DATA_SOURCE.REAL` 下 `/infrastructure/base-archives` 请求 HTTP 200、载荷 1820 字节真实数据,面板渲染出**真实读数**(设施总数 1006、管线里程 18.81943、供水 1004/排水 2、片区「未分区」1006、建成年限 1002/4)。网络层与适配层均正常。 ## 结论 前端**确实**正确地把后端 `code=500` 判为失败分区(界面显示「数据加载失败 · 数据源暂不可用 · 该面板加载失败(其它分区不受影响)」),**没有**把失败显示成成功,也**没有**把真实数据显示成空。此前列为失败的三项探针检查(`frontend-envelope-archive`、`frontend-envelope-map`、`frontend-business-error-not-success`)是**探针脚本自身的缺陷**,不是产品缺陷。 ## 仍然成立的部分(保留,非本票原范围) 面板失败的真实成因是后端业务 `code=500`,归 [票 19](19-19-early-warning-warning-name.md)(部署时序错位)。但有一项**独立的真实前端缺陷**在浏览器取证中新发现,需另立票:运行监测-监测点台账在真实空态下显示「已列出 0 个点位 · 本端点序列共 **undefined** 条」——分母取到了 `undefined` 并直接渲染,属真实展示缺陷。 ## 状态 本票**关闭为「前提不成立」**,不作为待修缺陷。真实待修项已分别落在 19(后端部署)、20(管网映射)、23(分页与八桶契约)、24(设施管线图层)、25(署名)、26(抖动诊断);台账 `undefined` 展示缺陷另立票跟踪。 ## 关联 发现于票 18;本票的撤销是票 18 复核过程中对自己早前结论的更正。