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 {