From 19337b937149197a8af6171aaedb3d450ee8dd31 Mon Sep 17 00:00:00 2001 From: Peanut Date: Sun, 28 Jun 2026 22:42:24 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20ScriptView=20loadMessages=20=E5=AF=B9?= =?UTF-8?q?=E4=B8=B4=E6=97=B6=20conversationId=20=E6=AD=A3=E5=88=99?= =?UTF-8?q?=E7=9F=AD=E8=B7=AF=E4=BF=9D=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mini-program/src/pages/main/ScriptView.vue | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/mini-program/src/pages/main/ScriptView.vue b/mini-program/src/pages/main/ScriptView.vue index 340bf98..eab1358 100644 --- a/mini-program/src/pages/main/ScriptView.vue +++ b/mini-program/src/pages/main/ScriptView.vue @@ -661,11 +661,21 @@ const continueCurrentVersion = () => { } const loadMessages = async () => { - // 短路保护:conversationId 为空时不请求接口,显示友好提示 - if (!conversationId.value) { - uni.showToast({ title: '暂无对话记录', icon: 'none' }) + if (!conversationId.value) return + + // 临时 ID 短路保护: + // 当 conversationId 是 ensureConversationId() 在前端自造的 `conv--` 形式, + // 且没有 script.conversationId 背书(即后端还没通过 createWithDialogue 落库), + // 此时去查 listByConversation 必然是空且会产生 5xx 噪音。 + // 在 streamScriptChat 第一次成功落库前,直接跳过查询。 + const looksLikeTempId = /^conv-\d+-[a-z0-9]{6}$/.test(conversationId.value) + const backedByScript = Boolean(currentResult.value?.conversationId) + if (looksLikeTempId && !backedByScript) { + messages.value = [] + versions.value = [] return } + try { const res = await listMessagesByConversation({ conversationId: conversationId.value, includeVersions: false }) messages.value = res.data || []