- 按确认方案「两套实现并存对比」:
- npm 依赖 lightweight-charts@4.2.3(v3 §21 推荐库)
- components/StockChart/chartTypes.ts:共享 props 接口
- CandleChart.tsx(ECharts 版,重构复用共享类型)+ CandleChartLW.tsx
(Lightweight 版:蜡烛+成交量副刻度+MA+成交实心箭头/未成交信号圆点 markers)
- StockChart.tsx wrapper;个股页顶部「ECharts / Lightweight」切换(默认 Lightweight)
- /stocks/600519.SH 冒烟 200;tsc --noEmit 通过
13 lines
540 B
TypeScript
13 lines
540 B
TypeScript
"use client";
|
|
|
|
/** K 线图统一入口:可切换 ECharts / TradingView Lightweight Charts 两套实现(对比期)。 */
|
|
import type { CandleChartProps } from "./chartTypes";
|
|
import { CandleChart } from "./CandleChart";
|
|
import { CandleChartLW } from "./CandleChartLW";
|
|
|
|
export type ChartLibrary = "echarts" | "lightweight";
|
|
|
|
export function StockChart({ library = "lightweight", ...props }: CandleChartProps & { library?: ChartLibrary }) {
|
|
return library === "echarts" ? <CandleChart {...props} /> : <CandleChartLW {...props} />;
|
|
}
|