fix(ai): 补齐失败态判定的三处遗漏(评审跟进)
对抗式评审发现上一版仍有三处同类缺口,一并修掉: - formatCreativeResult 不再回落 payload.answer:失败报文里 answer 是 workflow_run_id(UUID),而 status 缺失时(message_end 事件、后端流式兜底 分支)失败短路不生效,裸 UUID 会进气泡 - 新增 isDisplayableAnswer / pickDisplayable:把 UUID 与无空格长 token 这类内部标识符挡在展示之外,formatOutlineResult 与 formatManuscriptResult 复用;大纳/稿件也一并加失败态短路,避免 03 落地后端后渲染成 「标题 + 失败文案」 - creative-assistant 的 workflowFailed 补 data.status 回退,与 assistant 页 及后端 workflowStatus(两处都看)对齐,避免退回误导性的「待执行」空态 验证:verify-frontend-fallback.js 17/17;verify-frontend-e2e.js 以后端真实产出 为输入跑通,渲染结果无内部标识符与原始 JSON。 Refs: .scratch/ai-assistant/issues/01-creative-assistant-raw-json-bubble.md
This commit is contained in:
@@ -255,11 +255,20 @@
|
||||
/**
|
||||
* 后端判定工作流失败时不再下发 outputs/raw,只给 status + 可读 answer。
|
||||
* 这里据此提示失败,避免落到「待执行」空态误导用户(见 issue 01)。
|
||||
*
|
||||
* <p>判定需与 assistant 页及后端 `workflowStatus` 一致:顶层优先,
|
||||
* 回退 `data.status`(后端两处都看,前端不能只看一处)。
|
||||
*/
|
||||
workflowFailed() {
|
||||
return String((this.workflowResponse && this.workflowResponse.status) || '')
|
||||
.trim()
|
||||
.toLowerCase() === 'failed'
|
||||
const payload = this.workflowResponse
|
||||
if (!payload || typeof payload !== 'object') {
|
||||
return false
|
||||
}
|
||||
const status =
|
||||
payload.status !== undefined && payload.status !== null
|
||||
? payload.status
|
||||
: payload.data && payload.data.status
|
||||
return String(status || '').trim().toLowerCase() === 'failed'
|
||||
},
|
||||
loadingTitle() {
|
||||
if (this.uploadedFiles.length && String(this.content || '').trim()) {
|
||||
|
||||
Reference in New Issue
Block a user