diff --git a/src/pages/dashboard/Dashboard.css b/src/pages/dashboard/Dashboard.css
index 8f7653f..90a2b2b 100644
--- a/src/pages/dashboard/Dashboard.css
+++ b/src/pages/dashboard/Dashboard.css
@@ -152,6 +152,11 @@
margin-bottom: 16px;
}
+.future-overview {
+ margin-bottom: 12px;
+ text-align: center;
+}
+
.future-metrics {
display: flex;
justify-content: space-between;
@@ -160,6 +165,53 @@
border-bottom: 1px solid #f0f0f0;
}
+.future-levels {
+ display: flex;
+ justify-content: space-between;
+ margin-bottom: 12px;
+ padding: 12px;
+ background: #fafafa;
+ border-radius: 4px;
+}
+
+.level-item {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ flex: 1;
+}
+
+.level-label {
+ font-size: 12px;
+ color: #8c8c8c;
+ margin-bottom: 4px;
+}
+
+.level-value {
+ font-size: 14px;
+ font-weight: 500;
+ color: #262626;
+}
+
+.future-ai-analysis {
+ margin-bottom: 16px;
+ padding: 12px;
+ background: #f0f8ff;
+ border-radius: 4px;
+ font-size: 12px;
+ line-height: 1.4;
+}
+
+.ai-label {
+ font-weight: 500;
+ color: #1890ff;
+ margin-right: 8px;
+}
+
+.ai-content {
+ color: #262626;
+}
+
.metric-item {
display: flex;
flex-direction: column;
diff --git a/src/pages/dashboard/Dashboard.jsx b/src/pages/dashboard/Dashboard.jsx
index 30056ec..3ffabb6 100644
--- a/src/pages/dashboard/Dashboard.jsx
+++ b/src/pages/dashboard/Dashboard.jsx
@@ -235,6 +235,13 @@ const Dashboard = () => {
¥{item.currentPrice.toFixed(2)}
+ {/* 整体预判 */}
+
+
+ {item.overallView}
+
+
+
胜率
@@ -250,6 +257,24 @@ const Dashboard = () => {
+ {/* 压力支撑位 */}
+
+
+ 压力
+ ¥{item.tradingAdvice?.resistance?.toFixed(2) || '-'}
+
+
+ 支撑
+ ¥{item.tradingAdvice?.support?.toFixed(2) || '-'}
+
+
+
+ {/* AI分析 */}
+
+ AI分析:
+ {item.aiAnalysis || '-'}
+
+
5MIN
diff --git a/src/utils/mockData.js b/src/utils/mockData.js
index af3b1f9..191ff51 100644
--- a/src/utils/mockData.js
+++ b/src/utils/mockData.js
@@ -126,6 +126,11 @@ export const generateFutureData = (code, name) => {
const entry = currentPrice;
const stopLoss = entry * (1 - 0.02 * (Math.random() + 0.5));
const target = entry * (1 + 0.03 * (Math.random() + 0.5));
+ const resistance = entry * (1 + 0.05 * (Math.random() + 0.5));
+ const support = entry * (1 - 0.05 * (Math.random() + 0.5));
+
+ const overallViews = ['观望', '中线', '多头排列', '空头排列', '震荡'];
+ const overallView = overallViews[Math.floor(Math.random() * overallViews.length)];
return {
code,
@@ -142,10 +147,14 @@ export const generateFutureData = (code, name) => {
tradingAdvice: {
entry: +entry.toFixed(2),
stopLoss: +stopLoss.toFixed(2),
- target: +target.toFixed(2)
+ target: +target.toFixed(2),
+ resistance: +resistance.toFixed(2),
+ support: +support.toFixed(2)
},
riskLevel: ['低', '中等', '高'][Math.floor(Math.random() * 3)],
- volatility: ['低', '中等', '高'][Math.floor(Math.random() * 3)]
+ volatility: ['低', '中等', '高'][Math.floor(Math.random() * 3)],
+ overallView,
+ aiAnalysis: `MACD:${indicators.macd} | RSI:${indicators.rsi} | 布林带:${indicators.bollinger}`
};
};
@@ -162,7 +171,10 @@ export const generateFuturesOverview = () => {
atr: data.atr,
adx: data.adx,
adxStatus: data.adxStatus,
- trends: data.trends
+ trends: data.trends,
+ tradingAdvice: data.tradingAdvice,
+ overallView: data.overallView,
+ aiAnalysis: data.aiAnalysis
};
});
};