From 6b0e67f964fa8a85fc204d275071ba68d1b81831 Mon Sep 17 00:00:00 2001 From: WangLeo <690854599@qq.com> Date: Thu, 18 Jun 2026 10:53:16 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=BD=AE=E8=AF=A2=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E6=97=B6=E6=8F=90=E5=8F=96=20error.message/m?= =?UTF-8?q?sg=20=E4=BD=9C=E4=B8=BA=E9=94=99=E8=AF=AF=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原有逻辑仅取 vendor_error 字段,部分后端返回的错误信息在 error 对象内的 message 或 msg 字段中,导致用户看不到具体报错。 现在优先检查 error.message → error.msg → error(字符串)→ vendor_error。 --- src/utils/taskPolling.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/utils/taskPolling.js b/src/utils/taskPolling.js index 5948a97..a7205d2 100644 --- a/src/utils/taskPolling.js +++ b/src/utils/taskPolling.js @@ -155,7 +155,17 @@ export async function generate(data, generateData) { clearInterval(pollInterval) activePollIntervals.delete(pollInterval) useDisplay.isSubGerenate = false - websocketError(4403, taskData.vendor_error || '生成失败') + // 优先取 error 对象内的 message/msg,其次 vendor_error + let errorMsg = taskData.vendor_error || '生成失败' + const err = taskData.error + if (err) { + if (typeof err === 'string') { + errorMsg = err + } else { + errorMsg = err.message || err.msg || errorMsg + } + } + websocketError(4403, errorMsg) } // queued / processing 状态继续轮询 } catch (error) {