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

@@ -39,15 +39,27 @@ export const THEME: CompanyTheme = {
};
// ============================================
// Tab 懒加载组件
// Tab 懒加载组件(带 webpack chunk 命名)
// ============================================
const CompanyOverview = lazy(() => import('./components/CompanyOverview'));
const DeepAnalysis = lazy(() => import('./components/DeepAnalysis'));
const MarketDataView = lazy(() => import('./components/MarketDataView'));
const FinancialPanorama = lazy(() => import('./components/FinancialPanorama'));
const ForecastReport = lazy(() => import('./components/ForecastReport'));
const DynamicTracking = lazy(() => import('./components/DynamicTracking'));
const CompanyOverview = lazy(() =>
import(/* webpackChunkName: "company-overview" */ './components/CompanyOverview')
);
const DeepAnalysis = lazy(() =>
import(/* webpackChunkName: "company-deep-analysis" */ './components/DeepAnalysis')
);
const MarketDataView = lazy(() =>
import(/* webpackChunkName: "company-market-data" */ './components/MarketDataView')
);
const FinancialPanorama = lazy(() =>
import(/* webpackChunkName: "company-financial" */ './components/FinancialPanorama')
);
const ForecastReport = lazy(() =>
import(/* webpackChunkName: "company-forecast" */ './components/ForecastReport')
);
const DynamicTracking = lazy(() =>
import(/* webpackChunkName: "company-tracking" */ './components/DynamicTracking')
);
// ============================================
// Tab 配置