weicw-dshsa 024d3dd122 fix(ai): 兜底收敛公共模块,失败态不再 stringify 整包(issue 03)
「拿不到字段就 stringify 整包」的兜底此前在 3 个页面各写一份,
其中 activity-outline:332 显式把 payload.raw 当兜底内容源,是最严重的一例。

- 新增 utils/ai-result.js:getPayloadStatus / isFailedPayload /
  isDisplayableAnswer / pickDisplayable / resolveDisplayText /
  logRawPayload 统一一处;解析不出内容给可读文案,原始报文只进
  console.error 不进 UI;UUID 与无空格长 token 不算可展示内容
- manuscript parseResult:失败态短路、pickDisplayable 挡标识符、
  summary 不再回显内部字段名
- activity-outline parseOutline:删掉 payload.raw 显式兜底,失败态短路
- assistant 页删除自带副本,改为 import 公共模块
- 流式收尾:appendAssistantChunk / appendOutlineChunk 支持 reset——
  后端判定失败时丢弃已累积的半截内容;新增 streamFailed 跟踪,
  失败后不再 toast「内容生成完成」/「活动策划大纲生成完成」
- 删除死代码:两页 stringifyUnknown、大纲页 pickNonEmptyString

验证:verify-other-links.js 27/27(修复前代码跑同脚本 13 失败,判别力已证伪);
verify-frontend-fallback.js 17/17 回归通过。

Refs: .scratch/ai-assistant/issues/03-other-links-raw-payload-fallback.md
2026-09-24 04:22:41 +08:00
2026-07-20 11:56:02 +08:00
2026-07-20 11:56:02 +08:00
2026-07-20 11:56:02 +08:00
2026-07-20 11:56:02 +08:00
2026-07-20 11:56:02 +08:00
2026-07-20 11:56:02 +08:00
2026-07-20 11:56:02 +08:00
2026-07-20 11:56:02 +08:00
2026-07-20 11:56:02 +08:00
2026-07-20 11:56:02 +08:00
2026-07-20 11:56:02 +08:00
2026-07-20 11:56:02 +08:00
S
Description
No description provided
1.7 MiB
Languages
Vue 70.2%
JavaScript 28.5%
SCSS 1.2%