From c2ed051de071d24f266e30d2cdbdf2f41de61f4d Mon Sep 17 00:00:00 2001 From: Peanut Date: Sun, 28 Jun 2026 09:16:37 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20ScriptView=20=E5=A4=8D=E7=94=A8=20Messa?= =?UTF-8?q?geCard=20=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - story-card 使用 MessageCard - result-chat-list 中的 assistant 消息按内容长度自动切换短消息/完整卡片模式 Co-Authored-By: Claude Opus 4.8 (1M context) --- mini-program/src/pages/main/ScriptView.vue | 107 +++++++-------------- 1 file changed, 34 insertions(+), 73 deletions(-) diff --git a/mini-program/src/pages/main/ScriptView.vue b/mini-program/src/pages/main/ScriptView.vue index 9b8f0d5..79e24af 100644 --- a/mini-program/src/pages/main/ScriptView.vue +++ b/mini-program/src/pages/main/ScriptView.vue @@ -169,87 +169,47 @@ - - - - {{ currentResult?.title || '我的人生剧本' }} - - {{ tag }} - - - - - - - - - - {{ displayedResultContent }} - - {{ displayedResultContent }} - - {{ storyCollapsed ? '展开全文' : '收起全文' }} - - - - - - - - - - - - - + - {{ getMessageDisplayContent(message) }} - - - - - - - {{ isMessageCollapsed(message) ? '展开' : '收起' }} - + :content="message.content" + :collapsed="isMessageCollapsed(message)" + :content-length="message.content.length" + :is-short-message="message.content.length < 100" + :tts-icon="ttsPlayer.playing.value ? 'Ⅱ' : '▶'" + :tts-text="ttsPlayer.playing.value ? '暂停' : '播放'" + @toggle-collapse="toggleMessageCollapse(message)" + @copy="copyMessageContent(message)" + @change-direction="changeDirection" + @not-like-me="notLikeMe" + @continue="continueInChat" + @play-tts="playMessageTts(message)" + /> + + {{ message.content }} + {{ message.time }} - - - - - - - - {{ message.time }} @@ -312,6 +272,7 @@ import { useTtsPlayer } from '../../composables/useTtsPlayer.js' import { useTypewriterStream } from '../../composables/useTypewriterStream.js' import { transcribeAudio } from '../../services/asr.js' import { streamAiScene } from '../../services/aiRuntime.js' +import MessageCard from '../../components/MessageCard.vue' const store = useAppStore() const pagePath = '/pages/main/ScriptView'