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 还没有吐出第一句话,但请求仍在进行中。'