From e381c2a9d72d7ef3eb595f1dcba5d90e1f8a52b6 Mon Sep 17 00:00:00 2001 From: Lxy Date: Sat, 23 May 2026 16:57:15 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E9=A1=B5=E5=8A=A0=E8=BD=BD=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/static/futures_analysis.css | 4 +- app/static/futures_analysis.js | 67 +++++++++++++++++++++++++++++++-- 2 files changed, 66 insertions(+), 5 deletions(-) diff --git a/app/static/futures_analysis.css b/app/static/futures_analysis.css index e0c8a79..e7947c3 100644 --- a/app/static/futures_analysis.css +++ b/app/static/futures_analysis.css @@ -670,8 +670,8 @@ body { justify-content: flex-end; } -.up { color: var(--green); } -.down { color: var(--red); } +.up { color: var(--red); } +.down { color: var(--green); } .neutral { color: var(--amber); } .suggestion-badge { diff --git a/app/static/futures_analysis.js b/app/static/futures_analysis.js index 4e1a25b..1515bde 100644 --- a/app/static/futures_analysis.js +++ b/app/static/futures_analysis.js @@ -143,14 +143,75 @@ function showListView() { } } -function showDetailView(symbol) { +async function showDetailView(symbol) { currentSymbol = symbol; document.getElementById('list-view').classList.remove('active'); document.getElementById('detail-view').classList.add('active'); + + // 1. 加载行情数据 loadFuturesDetail(symbol); loadKlineData(symbol, currentPeriod); - loadHistoryList(symbol); - loadAIAnalysis(); + + // 2. 加载历史记录 + await loadHistoryListForAnalysis(symbol); +} + +async function loadHistoryListForAnalysis(symbol) { + try { + const response = await fetch(`${API_BASE}/ai-analysis/${symbol}/history?limit=20`); + const data = await response.json(); + + if (data.success) { + renderHistoryList(data.data); + + // 3. 查找今天的最新分析记录 + const today = new Date(); + const todayStr = today.toISOString().split('T')[0]; + + let todayRecord = null; + if (data.data && data.data.length > 0) { + for (const record of data.data) { + const recordDate = new Date(record.analysis_time); + const recordDateStr = recordDate.toISOString().split('T')[0]; + if (recordDateStr === todayStr) { + todayRecord = record; + break; + } + } + } + + // 4. 根据是否有今天的记录进行不同处理 + if (todayRecord) { + console.log(`找到今天的分析记录: ${symbol} (${todayRecord.analysis_time})`); + currentAIAnalysis = { + id: todayRecord.id, + symbol: todayRecord.symbol, + analysis_time: todayRecord.analysis_time, + result: todayRecord.analysis_data + }; + displayAIAnalysisResult(currentAIAnalysis); + syncAIToPanels(todayRecord.analysis_data); + } else { + console.log(`没有找到今天的分析记录: ${symbol}`); + showAIAnalysisPlaceholder(); + } + } else { + showAIAnalysisPlaceholder(); + } + } catch (error) { + console.error('加载历史记录失败:', error); + showAIAnalysisPlaceholder(); + } +} + +function showAIAnalysisPlaceholder() { + const content = document.getElementById('ai-analysis-content'); + content.innerHTML = ` +
+ +

点击"智能分析"按钮获取AI分析结果

+
+ `; } async function loadWatchedSymbols() {