perf: 优化各 Tab 数据加载为按需请求

MarketDataView (股票行情):
- 初始只加载 summary + tradeData(2个接口)
- funding/bigDeal/unusual/pledge 数据在切换 Tab 时按需加载
- 新增 loadDataByType 方法支持懒加载

FinancialPanorama (财务全景):
- 初始只加载 stockInfo + metrics + comparison + mainBusiness(4个接口)
- 从9个接口优化到4个接口

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
zdl
2025-12-18 18:32:14 +08:00
parent 3953efc2ed
commit 5331bc64b4
21 changed files with 368 additions and 123 deletions

View File

@@ -4,8 +4,7 @@
*/
import React, { useEffect, useRef, useState, useMemo } from 'react';
import { Box, Spinner, Center, Text } from '@chakra-ui/react';
import * as echarts from 'echarts';
import type { ECharts, EChartsOption } from 'echarts';
import { echarts, type ECharts, type EChartsOption } from '@lib/echarts';
import { getApiBase } from '@utils/apiConfig';
import type { MiniTimelineChartProps, TimelineDataPoint } from '../types';

View File

@@ -4,7 +4,7 @@
*/
import React, { useRef, useEffect, useCallback, useMemo } from 'react';
import { Box } from '@chakra-ui/react';
import * as echarts from 'echarts';
import { echarts } from '@lib/echarts';
import { getAlertMarkPointsGrouped } from '../utils/chartHelpers';
import { colors, glassEffect } from '../../../theme/glassTheme';

View File

@@ -56,7 +56,7 @@ import TradeDatePicker from '@components/TradeDatePicker';
import HotspotOverview from './components/HotspotOverview';
import FlexScreen from './components/FlexScreen';
import { BsGraphUp, BsLightningFill } from 'react-icons/bs';
import * as echarts from 'echarts';
import { echarts } from '@lib/echarts';
import { logger } from '../../utils/logger';
import tradingDays from '../../data/tradingDays.json';
import { useStockOverviewEvents } from './hooks/useStockOverviewEvents';