From 810c878a1e72c182a1f901ef5ab52ee669dac883 Mon Sep 17 00:00:00 2001 From: zzlgreat Date: Mon, 24 Nov 2025 16:49:04 +0800 Subject: [PATCH] update pay function --- src/components/StockChart/KLineChartModal.tsx | 25 ++++++++++++++--- .../StockChart/TimelineChartModal.tsx | 27 ++++++++++++++++--- 2 files changed, 45 insertions(+), 7 deletions(-) diff --git a/src/components/StockChart/KLineChartModal.tsx b/src/components/StockChart/KLineChartModal.tsx index 67ef561d..a5605826 100644 --- a/src/components/StockChart/KLineChartModal.tsx +++ b/src/components/StockChart/KLineChartModal.tsx @@ -88,10 +88,13 @@ const KLineChartModal: React.FC = ({ eventTime || undefined ); + console.log('[KLineChartModal] API响应:', response); + if (!response || !response.data || response.data.length === 0) { throw new Error('暂无K线数据'); } + console.log('[KLineChartModal] 数据条数:', response.data.length); setData(response.data); logger.info('KLineChartModal', 'loadData', 'K线数据加载成功', { dataCount: response.data.length, @@ -109,8 +112,10 @@ const KLineChartModal: React.FC = ({ useEffect(() => { if (!chartRef.current || !isOpen) return; - // 创建图表实例 - chartInstance.current = echarts.init(chartRef.current, 'dark'); + console.log('[KLineChartModal] 初始化图表...'); + + // 创建图表实例(不使用主题,直接在option中配置背景色) + chartInstance.current = echarts.init(chartRef.current); // 监听窗口大小变化 const handleResize = () => { @@ -127,7 +132,15 @@ const KLineChartModal: React.FC = ({ // 更新图表数据 useEffect(() => { - if (!chartInstance.current || data.length === 0) return; + if (!chartInstance.current || data.length === 0) { + console.log('[KLineChartModal] 跳过图表更新:', { + hasChart: !!chartInstance.current, + dataLength: data.length, + }); + return; + } + + console.log('[KLineChartModal] 开始更新图表,数据点:', data.length); const dates = data.map((d) => d.time); const klineData = data.map((d) => [d.open, d.close, d.low, d.high]); @@ -355,6 +368,12 @@ const KLineChartModal: React.FC = ({ }; chartInstance.current.setOption(option); + + // 强制resize以确保图表正确显示 + setTimeout(() => { + chartInstance.current?.resize(); + console.log('[KLineChartModal] 图表已设置并resize'); + }, 100); }, [data, stock]); // 加载数据 diff --git a/src/components/StockChart/TimelineChartModal.tsx b/src/components/StockChart/TimelineChartModal.tsx index cb049be5..ca1aa4d5 100644 --- a/src/components/StockChart/TimelineChartModal.tsx +++ b/src/components/StockChart/TimelineChartModal.tsx @@ -83,14 +83,17 @@ const TimelineChartModal: React.FC = ({ const response = await stockService.getKlineData( stock.stock_code, - 'minute', + 'timeline', eventTime || undefined ); + console.log('[TimelineChartModal] API响应:', response); + if (!response || !response.data || response.data.length === 0) { throw new Error('暂无分时数据'); } + console.log('[TimelineChartModal] 数据条数:', response.data.length); setData(response.data); logger.info('TimelineChartModal', 'loadData', '分时图数据加载成功', { dataCount: response.data.length, @@ -108,8 +111,10 @@ const TimelineChartModal: React.FC = ({ useEffect(() => { if (!chartRef.current || !isOpen) return; - // 创建图表实例 - chartInstance.current = echarts.init(chartRef.current, 'dark'); + console.log('[TimelineChartModal] 初始化图表...'); + + // 创建图表实例(不使用主题,直接在option中配置背景色) + chartInstance.current = echarts.init(chartRef.current); // 监听窗口大小变化 const handleResize = () => { @@ -126,7 +131,15 @@ const TimelineChartModal: React.FC = ({ // 更新图表数据 useEffect(() => { - if (!chartInstance.current || data.length === 0) return; + if (!chartInstance.current || data.length === 0) { + console.log('[TimelineChartModal] 跳过图表更新:', { + hasChart: !!chartInstance.current, + dataLength: data.length, + }); + return; + } + + console.log('[TimelineChartModal] 开始更新图表,数据点:', data.length); const times = data.map((d) => d.time); const prices = data.map((d) => d.price); @@ -347,6 +360,12 @@ const TimelineChartModal: React.FC = ({ }; chartInstance.current.setOption(option); + + // 强制resize以确保图表正确显示 + setTimeout(() => { + chartInstance.current?.resize(); + console.log('[TimelineChartModal] 图表已设置并resize'); + }, 100); }, [data, stock]); // 加载数据