Skip to content

5. 第3方数据对接

jones edited this page Oct 28, 2021 · 12 revisions

数据替换接口

所有HQChart内部请求的数据,都可以通过NetworkFilter回调函数截获,在回调里面可以阻止当次内部请求,替换成自己的数据. 在Option配置里面设置 NetworkFilter:function(data, callback) { } 这样每次数据请求时都会调用这个回调。

NetworkFilter回调说明

data 请求数据内容

{
 Name:原始的类名::函数名
 Explain: 说明
 Request: 原始的请求信息
 Request.Type 请求类型
 Request.Data 请求参数
 Request.Url 请求地址
 PreventDefault 是否阻止默认网路协议发送, 默认false, 如果设置成true, HQChart就不会再请求数据。
 ....... 以上是主要的字段, 其他的自己打印看下
}

callback

数据设置到hqchart接口

回调函数样例

function NetworkFilter(data, callback)	//网络协议回调
{
    console.log('[NetworkFilter] data', data);
    data.PreventDefault=true;	//设置hqchart不请求数据
    switch(data.Name)
    {
     	case 'KLineChartContainer::ReqeustHistoryMinuteData':           //分钟全量数据下载
     	    //通过data.Request里的数据 对应到第3方数据
			$.ajax({
		        url:'第3方数据地址'
		        .....
		        success: function (data)
		        {
		           var hqchartData;//把第3方数据data转成 hqchart数据
		           callback(hqchartData); //把数据传回hqchart
		        }
		    });
     		break;
     	case 'KLineChartContainer::RequestMinuteRealtimeData':          //分钟增量数据更新
     	    ............同上
     	    break;
     	case 'KLineChartContainer::RequestHistoryData':                 //日线全量数据下载
     	    ............同上
     	    break;
     	case 'KLineChartContainer::RequestRealtimeData':                //日线实时数据更新
     	    .............同上
     	    break;
        ..................... //其他数据
	}
}

小程序,及第3放app平台对接注意事项

小程序, uniapp 网络接口都是自己封装的, 真实的网络数据都在里面的data中, 传递给hqchart的时候也需要包一层

var hqChartData={code:0, data:[]};
hqChartData.symbol='BTCUSDT.BIT';
hqChartData.name='BTCUSDT';
.......
callback({data:hqChartData});

基础K线数据对接

全量日K数据

全量分钟K线数据

增量日线数据

增量分钟K线数据

Clone this wiki locally