From d560f63d70512e232085d907ed3833d2d9a5f3a2 Mon Sep 17 00:00:00 2001 From: Peanut Date: Mon, 20 Jul 2026 00:19:19 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20chat=20=E8=A7=86=E5=9B=BE=20loading=20?= =?UTF-8?q?=E5=9C=A8=E7=AD=89=E5=BE=85=E9=A6=96=E4=B8=AA=20assistant=20?= =?UTF-8?q?=E5=93=8D=E5=BA=94=E6=9C=9F=E9=97=B4=E6=8C=81=E7=BB=AD=E6=98=BE?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mini-program/src/pages/main/ScriptView.vue | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/mini-program/src/pages/main/ScriptView.vue b/mini-program/src/pages/main/ScriptView.vue index b567f1d..f1f88f8 100644 --- a/mini-program/src/pages/main/ScriptView.vue +++ b/mini-program/src/pages/main/ScriptView.vue @@ -174,7 +174,7 @@ - + @@ -941,6 +941,19 @@ const generationCopy = computed(() => { return '正在把你的心愿写成故事' }) +// chat 视图 loading 显示条件:等待首个 assistant 响应期间 +// - generationPhase === 'generating':生成流程未完成 +// - generationStatus !== 'failed':非失败状态 +// - 最后一条消息是 user:说明还没收到 assistant 响应(card/outline/novel) +const showChatLoading = computed(() => { + if (generationPhase.value !== 'generating') return false + if (generationStatus.value === 'failed') return false + const list = resultMessages.value + if (!list || !list.length) return false + const lastMsg = list[list.length - 1] + return lastMsg && lastMsg.role === 'user' +}) + const generationSubcopy = computed(() => { if (generationStatus.value === 'verySlow') return '如果网络波动,稍后会给你温和提示,不会丢掉当前心愿。' if (generationStatus.value === 'slow') return 'AI 还没有吐出第一句话,但请求仍在进行中。'