HXKline 全局 API
verifyProjectPermission(projectInfo): boolean
typescript
({
id: string;
token: string;
}) => boolean;
验证项目权限,返回是否有权限,详情请移步组件锁。
id
项目 IDtoken
项目密钥,由项目信息和密钥生成,用于加密解密。
setProjectMode(mode)
typescript
(mode: SourceModeMap) => void
设置当前业务域数据源模式,遵循业务域名配置。
initChart(domId, stockInfo, options, chartCallback)
typescript
(
domId: string,
stockInfo: StockInfo,
options: {
chartType?: 'line' | 'candle';
dateFormat?:
| string
| {
Tooltip: 'YYYY/MM/DD HH:mm';
Crosshair: 'YYYY/MM/DD HH:mm';
XAxis: 'YYYY/MM/DD HH:mm';
};
locale?: string;
styles?: string | object;
timezone?: string;
customApi?: {
formatDate?: (dateTimeFormat: Intl.DateTimeFormat, timestamp: number, format: string, type: number) => string;
formatBigNumber?: (value: string | number) => string;
};
thousandsSeparator?: string;
},
chartCallback: (chartEvent: ChartEvent, data: any) => void
) => Chart;
初始化一个图表,返回 HXKlineChart 实例。
domId
DOM 的 id。stockInfo
个股信息
typescript
{
/*
* 用户传入(对用户来说是必传的,即便是传false)
* 如果为订阅请求,则id不能为等效false的值
* 如果为取消订阅请求,id等效false的值时,则删除该个股当前Key下的所有订阅,否则删除指定id的订阅
*/
id: boolean | string;
// 必需:个股代码
code: string;
// 必需:个股市场id(优先使用小市场代码,对新的四位市场代码可能存在兼容性问题)
market: string;
// 必需:数据类型:*分时:trend、K线:kline、快照:snapshot
data_class: DataClass;
// 交易时段:盘前:pre_market、盘中:intraday、盘后:post_market、所有时间段:all、集合竞价:open_auction、close_auction
// ⚠ 注意,all并非所有市场都支持,例如国内市场仅支持intraday、仅沪深A支持集合竞价
trade_class: TradeClass;
// 交易时间: 0:最近交易日、[Date, Date]:指定日期范围、Date:指定日期
// ⚠ 注意,仅K线支持指定日期范围,其他数据类型(例如分时)不支持
trade_date: Date | [Date, Date] | 0;
/* 可选(默认为normal,通常会自动判断,但polling轮询时则为必选):
* 订阅类型:
* - Quote(ws): 普通行情,使用WebSocket订阅
* - Option(wsOption): 期权行情,使用WebSocket订阅
* - OptionBigDeal(wsOptionBigDeal): 期权大单,使用WebSocket订阅
* - Polling(polling): 轮询订阅,使用HTTP轮询而非WebSocket
* 注:只有polling类型使用轮询订阅,其他类型均使用WebSocket订阅
*/
subscribe_type?: SubscribeType;
// k线可选:各个时间周期及有效数据范围(默认日K):"min_1"(近3月) "min_5" "min_15" "min_30"(近一年) "hour_1" "day_1" "week_1" "month_1" "quarter_1" "year_1"(所有时间)
time_period?: TimePeriod;
// K线可选:k线专用-复权类型(默认不复权):前复权:'forward'、后复权:'backward'不复权:'actual'
adjust_type?: AdJustType;
// 是否需要鉴权:0:鉴权、>0:不鉴权(不鉴权仅能返回延时数据、仅支持港美股、接口参数优先级高于全局参数)
gpid?: 0;
// ws回调函数,用于接收该个股对应的ws推送数据以及相关事件;SocketEvent:open、close、error、message、success、fail,并通过data参数返回数据。
msgCallback: (type: SocketEvent, data: any) => void
}
options
可选配置项。dateFormat
配置 Crosshair、Tooltip、xAxis 日期格式化,默认为YYYY/MM/DD HH:mm
。- 参数为
string
时,配置 Crosshair、Tooltip、xAxis 日期格式 - 参数为
object
时,需要符合以下格式:typescript{ Tooltip: 'YYYY/MM/DD HH:mm', Crosshair: 'YYYY/MM/DD HH:mm', XAxis: 'YYYY/MM/DD HH:mm', }
- 参数为
locale
语言,内置支持zh_CN
和en_US
。timezone
时区名,如'Asia/Shanghai',如果不设置会自动获取本机时区,时区对应名字列表请参阅时区列表。styles
可以是通过HXKlineChart.registerStyles
注册的样式名,也可以是 object,样式列表,详情参阅样式,支持增量。customApi
自定义一些 api。formatDate
格式化日期。formatBigNumber
格式化大的数字,如 1000 转换成 1k,1000000 转换为 1M 等。
thousandsSeparator
千分符
chartCallback
创建 chart 后的回调事件,ChartEvent:- success 创建图表成功
- loading 创建图表加载中
- more_data 加载更多数据完成
- update_data 通过 ws 推送更新最新数据完成
- message 收到推送消息
- error 图表异常
dispose(ds,callback)
同disposeChart
。
typescript
(
domId: string,
callback: (data: any) => void
) => void;
WARNING
- 销毁图标后的操作,要通过
callback
回调函数异步执行 - 销毁图表时,会自动取消订阅对应个股。
销毁一个图表。
domId
图表实例的 dom id。callback
图表销毁后的回调函数。
initDataFeed({callback,codeList})
typescript
({
callback?: (SocketEvent,data) => void,
codeList?: string[]
}) => Chart;
初始化一个数据池,返回数据池实例。
callback
(可选)websocket 回调函数,用于接收全局(与个股中的msCallback
不同)ws 推送数据以及相关事件;SocketEvent
:open
: 连接成功message
: 收到消息error
: 连接错误close
: 连接关闭
data
绘图数据,例如分时图就是分时数据,K 线图就是 K 线数据message
提示消息
codeList
(可选)订阅初始化时需要订阅的个股,需要遵循订阅数据结构。
TIP
- 两个参数非必须参数,可以传空数组和空函数。当 codeList 不为空时,会自动订阅传入的个股。
setGlobalConfig(config)
typescript
(config: GlobalConfig) => void;
设置全局配置。
config
全局配置,遵循全局配置数据结构。
version()
typescript
() => string;
获取当前版本号。
isIndexMarket(marketId)
typescript
(marketId: string) => boolean
判断指定市场是否为指数市场。
marketId
市场ID,字符串类型- 返回值为布尔类型,
true
表示是指数市场,false
表示不是指数市场