From fc533471c2334aa56130161c3d62ce6d62715072 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=9D=B0?= Date: Thu, 14 Aug 2025 11:06:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E5=8E=86=E5=8F=B2=E8=AE=B0=E5=BD=95=E5=9C=BA=E6=99=AF=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E7=BB=93=E8=AE=BA=E4=B8=8D=E6=98=BE=E7=A4=BA=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/AiEmotion.vue | 51 +++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 47 insertions(+), 4 deletions(-) diff --git a/src/views/AiEmotion.vue b/src/views/AiEmotion.vue index f2e1a6e..496a05f 100644 --- a/src/views/AiEmotion.vue +++ b/src/views/AiEmotion.vue @@ -396,8 +396,9 @@ const clearConversations = () => { const addStock = (stockData) => { console.log('AiEmotion组件接收到股票数据:', stockData); - // 设置为历史记录模式 + // 设置为历史记录模式,并重置用户主动搜索标志 isHistoryMode.value = true; + isUserInitiated.value = false; // 1. 先清空页面显示节点和stockList中的数据 isPageLoaded.value = false; // 隐藏页面显示节点 @@ -456,7 +457,51 @@ const addStock = (stockData) => { // 3. 设置页面为已加载状态,重新渲染页面 isPageLoaded.value = true; - // 4. 使用nextTick确保DOM更新后启动高度监听器并滚动到底部 + // 4. 立即显示历史记录的结论文本 + if (stockData.conclusionData) { + try { + const conclusion = typeof stockData.conclusionData === 'object' + ? stockData.conclusionData + : JSON.parse(stockData.conclusionData); + + displayedTexts.value = { + one1: conclusion.one1 || '', + one2: conclusion.one2 || '', + two: conclusion.two || '', + three: conclusion.three || '', + four: conclusion.four || '', + disclaimer: '该内容由AI生成,请注意甄别' + }; + + displayedTitles.value = { + one: 'L1: 情绪监控', + two: 'L2: 情绪解码', + three: 'L3: 情绪推演', + four: 'L4: 情绪套利' + }; + + moduleVisibility.value = { + one: !!(conclusion.one1 || conclusion.one2), + two: !!conclusion.two, + three: !!conclusion.three, + four: !!conclusion.four, + disclaimer: true + }; + + // 标记该股票已显示过,避免重复触发 + const stockCode = stockData.stockInfo?.code || stockData.stockInfo?.symbol; + if (stockCode) { + stockTypewriterShown.value.set(stockCode, true); + stockAudioPlayed.value.set(stockCode, true); + } + + console.log('历史记录结论文本已立即显示:', conclusion); + } catch (error) { + console.error('解析历史记录结论数据失败:', error); + } + } + + // 5. 使用nextTick确保DOM更新后启动高度监听器并滚动到底部 nextTick(() => { // 启动页面高度监听器,实时监听内容变化并自动滚动 startHeightObserver(); @@ -3105,8 +3150,6 @@ const emit = defineEmits(['updateMessage', 'sendMessage', 'ensureAIchat']); padding: 30px; text-align: center; border-radius: 12px; - background: rgba(255, 255, 255, 0.05); - border: 1px dashed rgba(153, 153, 153, 0.3); } .bk-image .conclusion-placeholder p {