feat: 创建类型定义文件

This commit is contained in:
zdl
2025-11-22 23:10:00 +08:00
parent ad2a374069
commit 5bb8a17588

View File

@@ -0,0 +1,122 @@
/**
* KLineChart 图表类型定义
*
* 适配 klinecharts@10.0.0-beta1
* 文档: https://github.com/klinecharts/KLineChart
*/
/**
* K 线数据点(符合 KLineChart 10.0 规范)
*
* 注意: 10.0 版本要求 timestamp 为数字类型(毫秒时间戳)
*/
export interface KLineDataPoint {
/** 时间戳(毫秒) */
timestamp: number;
/** 开盘价 */
open: number;
/** 最高价 */
high: number;
/** 最低价 */
low: number;
/** 收盘价 */
close: number;
/** 成交量 */
volume: number;
/** 成交额(可选) */
turnover?: number;
}
/**
* 后端原始数据格式
*
* 支持多种时间字段格式time/date/timestamp
*/
export interface RawDataPoint {
/** 时间字符串分时图格式HH:mm */
time?: string;
/** 日期字符串日线格式YYYY-MM-DD */
date?: string;
/** 时间戳字符串或数字 */
timestamp?: string | number;
/** 开盘价 */
open: number;
/** 最高价 */
high: number;
/** 最低价 */
low: number;
/** 收盘价 */
close: number;
/** 成交量 */
volume: number;
/** 均价(分时图专用) */
avg_price?: number;
}
/**
* 图表类型枚举
*/
export type ChartType = 'timeline' | 'daily';
/**
* 图表配置接口
*/
export interface ChartConfig {
/** 图表类型 */
type: ChartType;
/** 显示技术指标 */
showIndicators: boolean;
/** 默认技术指标列表 */
defaultIndicators?: string[];
/** 图表高度px */
height?: number;
/** 是否显示网格 */
showGrid?: boolean;
/** 是否显示十字光标 */
showCrosshair?: boolean;
}
/**
* 事件标记接口
*
* 用于在 K 线图上标记重要事件发生时间点
*/
export interface EventMarker {
/** 唯一标识 */
id: string;
/** 时间戳(毫秒) */
timestamp: number;
/** 标签文本 */
label: string;
/** 标记位置 */
position: 'top' | 'middle' | 'bottom';
/** 标记颜色 */
color: string;
/** 图标(可选) */
icon?: string;
/** 是否可拖动(默认 false */
draggable?: boolean;
}
/**
* DataLoader 回调参数KLineChart 10.0 新增)
*/
export interface DataLoaderCallbackParams {
/** K 线数据 */
data: KLineDataPoint[];
/** 是否还有更多数据 */
more: boolean;
}
/**
* DataLoader getBars 参数KLineChart 10.0 新增)
*/
export interface DataLoaderGetBarsParams {
/** 回调函数 */
callback: (data: KLineDataPoint[], options?: { more: boolean }) => void;
/** 范围参数(可选) */
range?: {
from: number;
to: number;
};
}