Skip to content

HXKline 全局 API

verifyProjectPermission(projectInfo): boolean

typescript
({
  id: string;
  token: string;
}) => boolean;

验证项目权限,返回是否有权限,详情请移步组件锁

  • id 项目 ID
  • token 项目密钥,由项目信息和密钥生成,用于加密解密。

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_CNen_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;

设置全局配置。

version()

typescript
() => string;

获取当前版本号。

isIndexMarket(marketId)

typescript
(marketId: string) => boolean

判断指定市场是否为指数市场。

  • marketId 市场ID,字符串类型
  • 返回值为布尔类型,true表示是指数市场,false表示不是指数市场

Released under the Apache License V2.