hqchart 1.1.13887 → 1.1.13895

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/lib/umychart.vue.js +166 -168
  2. package/package.json +1 -1
  3. package/src/jscommon/umychart.js +53 -82
  4. package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +54 -83
  5. package/src/jscommon/umychart.version.js +1 -1
  6. package/src/jscommon/umychart.vue/umychart.vue.js +54 -83
  7. package/src/jscommon/umychart.wechat.testdata/Day5Minute/000001.sz.5day.minute.js +0 -10991
  8. package/src/jscommon/umychart.wechat.testdata/Day5Minute/000001.sz.5day.minute.json +0 -10977
  9. package/src/jscommon/umychart.wechat.testdata/Day5Minute/000151.sz.5day.minute.js +0 -10988
  10. package/src/jscommon/umychart.wechat.testdata/Day5Minute/000151.sz.5day.minute.json +0 -10977
  11. package/src/jscommon/umychart.wechat.testdata/Day5Minute/600000.sh.5day.minute.js +0 -10988
  12. package/src/jscommon/umychart.wechat.testdata/Day5Minute/600000.sh.5day.minute.json +0 -10980
  13. package/src/jscommon/umychart.wechat.testdata/DayKLine/000001.sh.day.kline.js +0 -15
  14. package/src/jscommon/umychart.wechat.testdata/DayKLine/000001.sz.day.kline.js +0 -12
  15. package/src/jscommon/umychart.wechat.testdata/DayKLine/000151.sz.day.kline.js +0 -12
  16. package/src/jscommon/umychart.wechat.testdata/DayKLine/000300.sh.day.kline.js +0 -10
  17. package/src/jscommon/umychart.wechat.testdata/DayKLine/399001.sz.day.kline.js +0 -11
  18. package/src/jscommon/umychart.wechat.testdata/DayKLine/399005.sz.day.kline.js +0 -10
  19. package/src/jscommon/umychart.wechat.testdata/DayKLine/399006.sz.day.kline.js +0 -11
  20. package/src/jscommon/umychart.wechat.testdata/DayKLine/600000.sh.day.kline.js +0 -12
  21. package/src/jscommon/umychart.wechat.testdata/DayKLine/readme.txt +0 -1
  22. package/src/jscommon/umychart.wechat.testdata/DayMinute/000001.sz.1day.minute.js +0 -2214
  23. package/src/jscommon/umychart.wechat.testdata/DayMinute/000001.sz.1day.minute.json +0 -2205
  24. package/src/jscommon/umychart.wechat.testdata/DayMinute/000151.sz.1day.minute.js +0 -2215
  25. package/src/jscommon/umychart.wechat.testdata/DayMinute/000151.sz.1day.minute.json +0 -2205
  26. package/src/jscommon/umychart.wechat.testdata/DayMinute/600000.sh.1day.minute.js +0 -2217
  27. package/src/jscommon/umychart.wechat.testdata/DayMinute/600000.sh.1day.minute.json +0 -2206
  28. package/src/jscommon/umychart.wechat.testdata/M1KLine/000001.sh.minute.kline.js +0 -9
  29. package/src/jscommon/umychart.wechat.testdata/M1KLine/000001.sz.minute.kline.js +0 -10
  30. package/src/jscommon/umychart.wechat.testdata/M1KLine/000151.sz.minute.kline.js +0 -9
  31. package/src/jscommon/umychart.wechat.testdata/M1KLine/000300.sh.minute.kline.js +0 -10
  32. package/src/jscommon/umychart.wechat.testdata/M1KLine/399001.sz.minute.kline.js +0 -10
  33. package/src/jscommon/umychart.wechat.testdata/M1KLine/399005.sz.minute.kline.js +0 -11
  34. package/src/jscommon/umychart.wechat.testdata/M1KLine/399006.sz.minute.kline.js +0 -10
  35. package/src/jscommon/umychart.wechat.testdata/M1KLine/600000.sh.minute.kline.js +0 -12
  36. package/src/jscommon/umychart.wechat.testdata/M1KLine/readme.txt +0 -1
  37. package/src/jscommon/umychart.wechat.testdata/umychart.NetworkFilterTest.wechat.js +0 -1009
@@ -1,1009 +0,0 @@
1
-
2
- /////////////////////////////////////////////////////////////////////
3
- // 模拟测试数据
4
- //
5
- //
6
- /////////////////////////////////////////////////////////////////////
7
-
8
- import { SH_000001_DAY_KLINE } from "./DayKLine/000001.sh.day.kline.js"
9
- import { SZ_000001_DAY_KLINE } from "./DayKLine/000001.sz.day.kline.js"
10
- import { SZ_000151_DAY_KLINE } from "./DayKLine/000151.sz.day.kline.js"
11
- import { SH_000300_DAY_KLINE } from "./DayKLine/000300.sh.day.kline.js"
12
- import { SZ_399001_DAY_KLINE } from "./DayKLine/399001.sz.day.kline.js"
13
- import { SZ_399005_DAY_KLINE } from "./DayKLine/399005.sz.day.kline.js"
14
- import { SZ_399006_DAY_KLINE } from "./DayKLine/399006.sz.day.kline.js"
15
- import { SH_600000_DAY_KLINE } from "./DayKLine/600000.sh.day.kline.js"
16
-
17
- import { SH_000001_M1_KLINE } from "./M1KLine/000001.sh.minute.kline.js"
18
- import { SZ_000001_M1_KLINE } from "./M1KLine/000001.sz.minute.kline.js"
19
- import { SZ_000151_M1_KLINE } from "./M1KLine/000151.sz.minute.kline.js"
20
- import { SH_000300_M1_KLINE } from "./M1KLine/000300.sh.minute.kline.js"
21
- import { SZ_399001_M1_KLINE } from "./M1KLine/399001.sz.minute.kline.js"
22
- import { SZ_399005_M1_KLINE } from "./M1KLine/399005.sz.minute.kline.js"
23
- import { SZ_399006_M1_KLINE } from "./M1KLine/399006.sz.minute.kline.js"
24
- import { SH_600000_M1_KLINE } from "./M1KLine/600000.sh.minute.kline.js"
25
-
26
- import { SZ_000001_1DAY_MINUTE } from "./DayMinute/000001.sz.1day.minute.js"
27
- import { SZ_000151_1DAY_MINUTE } from "./DayMinute/000151.sz.1day.minute.js"
28
- import { SH_600000_1DAY_MINUTE } from "./DayMinute/600000.sh.1day.minute.js"
29
-
30
-
31
- import { SZ_000001_5DAY_MINUTE } from "./Day5Minute/000001.sz.5day.minute.js"
32
- import { SZ_000151_5DAY_MINUTE } from "./Day5Minute/000151.sz.5day.minute.js"
33
- import { SH_600000_5DAY_MINUTE } from "./Day5Minute/600000.sh.5day.minute.js"
34
-
35
- function HQData() { }
36
-
37
- HQData.Explain="本地测试数据";
38
-
39
- HQData.NetworkFilter=function(data, callback)
40
- {
41
- console.log(`[HQData::NetworkFilter] ${HQData.Explain}`, data);
42
-
43
- switch(data.Name)
44
- {
45
- case 'MinuteChartContainer::RequestMinuteData': //分时图数据对接
46
- HQData.Minute_RequestMinuteData(data, callback);
47
- break;
48
- case "MinuteChartContainer::RequestHistoryMinuteData": //多日分时图
49
- HQData.Minute_RequestHistoryMinuteData(data, callback);
50
- break;
51
-
52
- case "MinuteChartContainer::RequestOverlayMinuteData":
53
- HQData.Minute_RequestOverlayMinuteData(data, callback);
54
- break;
55
-
56
- case "MinuteChartContainer::RequestOverlayHistoryMinuteData":
57
- HQData.Minute_RequestOverlayHistoryMinuteData(data, callback);
58
- break;
59
-
60
- case 'KLineChartContainer::RequestHistoryData': //日线全量数据下载
61
- HQData.RequestHistoryData(data,callback);
62
- break;
63
- case 'KLineChartContainer::RequestRealtimeData': //日线实时数据更新
64
- HQData.RequestRealtimeData(data,callback);
65
- break;
66
- case 'KLineChartContainer::RequestFlowCapitalData': //流通股本
67
- HQData.RequestFlowCapitalData(data,callback);
68
- break;
69
-
70
- case "KLineChartContainer::RequestOverlayHistoryData": //叠加股票
71
- //HQChart使用教程30-K线图如何对接第3方数据16-日K叠加股票
72
- HQData.RequestOverlayHistoryData(data, callback);
73
- break;
74
-
75
- case "KLineChartContainer::RequestOverlayHistoryMinuteData":
76
- //HQChart使用教程30-K线图如何对接第3方数据17- 分钟K叠加股票
77
- HQData.RequestOverlayHistoryMinuteData(data, callback);
78
- break;
79
-
80
- case 'KLineChartContainer::ReqeustHistoryMinuteData': //分钟全量数据下载
81
- HQData.RequestHistoryMinuteData(data, callback);
82
- break;
83
- case 'KLineChartContainer::RequestMinuteRealtimeData': //分钟增量数据更新
84
- HQData.RequestMinuteRealtimeData(data,callback);
85
- break;
86
-
87
- case "KLineChartContainer::RequestDragDayData": //拖动下载
88
- HQData.RequestDragDayData(data, callback);
89
- break;
90
-
91
- case "KLineChartContainer::RequestDragMinuteData": //分钟拖动下载
92
- HQData.RequestDragMinuteData(data, callback);
93
- break;
94
-
95
- case "JSSymbolData::GetVariantData": //额外的变量数据
96
- HQData.RequestIndexVariantData(data,callback);
97
- break;
98
-
99
- case "JSSymbolData::GetOtherSymbolData":
100
- HQData.RequestOtherSymbolData(data, callback);
101
- break;
102
-
103
- case "AnnouncementInfo::RequestData":
104
- HQData.AnnouncementInfo_RequestData(data,callback);
105
- break;
106
-
107
- case "PforecastInfo::RequestData":
108
- HQData.PforecastInfo_RequestData(data,callback);
109
- break;
110
-
111
- case "InvestorInfo::RequestData":
112
- HQData.InvestorInfo_RequestData(data,callback);
113
- break;
114
-
115
- case "ResearchInfo::RequestData":
116
- break;
117
-
118
- case "BlockTrading::RequestData":
119
- HQData.BlockTrading_RequestData(data,callback);
120
- break;
121
-
122
- case "TradeDetail::RequestData":
123
- HQData.TradeDetail_RequestData(data,callback);
124
- break;
125
-
126
- case "JSSymbolData::GetGPJYValue":
127
- HQData.GPJYValue_RequestData(data,callback);
128
- break;
129
- case "JSSymbolData::GetSCJYValue":
130
- HQData.SCJYValue_RequestData(data,callback);
131
- break;
132
- case "JSSymbolData::GetBKJYValue":
133
- HQData.BKJYValue_RequestData(data,callback);
134
- break;
135
-
136
- case "JSSymbolData::GetGPJYOne":
137
- HQData.GPJYOne_RequestData(data,callback);
138
- break;
139
- case "JSSymbolData::GetSCJYOne":
140
- HQData.SCJYOne_RequestData(data,callback);
141
- break;
142
- case "JSSymbolData::GetBKJYOne":
143
- HQData.BKJYOne_RequestData(data,callback);
144
- break;
145
- case "JSSymbolData::GetFinValue":
146
- HQData.FinValue_RequestData(data,callback);
147
- break;
148
- case "JSSymbolData::GetFinOne":
149
- HQData.FinOne_RequestData(data,callback);
150
- break;
151
- }
152
- }
153
-
154
- HQData.Minute_RequestMinuteData=function(data, callback)
155
- {
156
- data.PreventDefault=true;
157
- var symbol=data.Request.Data.symbol[0]; //请求的股票代码
158
- var dayCount=data.Request.Data.daycount;
159
- console.log(`[HQData::Minute_RequestMinuteData] Symbol=${symbol}`);
160
-
161
- var fullData=this.GetDayMinuteDataBySymbol(symbol);
162
- var stockItem=fullData[0];
163
- var hqchartData={ code:0, name:symbol, symbol: symbol, stock:[stockItem]};
164
-
165
- callback({data:hqchartData});
166
- }
167
-
168
- HQData.Minute_RequestHistoryMinuteData=function(data, callback)
169
- {
170
- data.PreventDefault=true;
171
- var symbol=data.Request.Data.symbol; //请求的股票代码
172
- var dayCount=data.Request.Data.daycount;
173
- console.log(`[HQData::Minute_RequestHistoryMinuteData] Symbol=${symbol}`);
174
-
175
- var fullData=this.GetMulitDayMinuteDataBySymbol(symbol);
176
- var hqchartData={ code:0, data:[], name:symbol, symbol: symbol };
177
-
178
- var start=fullData.length-dayCount;
179
- if (start<0) start=0;
180
-
181
- hqchartData.data=fullData.slice(start);
182
-
183
- callback({data:hqchartData});
184
- }
185
-
186
- HQData.Minute_RequestOverlayMinuteData=function (data, callback)
187
- {
188
- data.PreventDefault=true;
189
- var symbol=data.Request.Data.symbol;
190
- var date=data.Request.Data.days[0];
191
-
192
- var fullData=HQData.GetMulitDayMinuteDataBySymbol(symbol);
193
- var aryDay=HQData.GetMulitDayMinuteDataByDate(fullData, [date]);
194
-
195
- var hqchartData={ code:0, data:aryDay, name:symbol, symbol:symbol };
196
- callback({data:hqchartData});
197
- }
198
-
199
- HQData.Minute_RequestOverlayHistoryMinuteData=function(data, callback)
200
- {
201
- data.PreventDefault=true;
202
- var symbol=data.Request.Data.symbol;
203
- var aryDate=data.Request.Data.days;
204
- var fullData=HQData.GetMulitDayMinuteDataBySymbol(symbol);
205
- var aryDay=HQData.GetMulitDayMinuteDataByDate(fullData, aryDate);
206
-
207
- var hqchartData={ code:0, data:aryDay, name:symbol, symbol:symbol };
208
- callback({data:hqchartData});
209
- }
210
-
211
- HQData.RequestHistoryData=function(data,callback)
212
- {
213
- data.PreventDefault=true;
214
- var symbol=data.Request.Data.symbol; //请求的股票代码
215
- var count=data.Request.Data.count
216
- console.log(`[HQData::RequestMinuteDaysData] Symbol=${symbol}`);
217
-
218
- var fullData=HQData.GetDayKLineDataBySymbol(symbol);
219
- var aryData=[];
220
- if (HQData.IsNonEmptyArray(fullData))
221
- {
222
- var dataCount=fullData.length;
223
- var start=dataCount-count;
224
- if (start<0) start=0;
225
- aryData=fullData.slice(start);
226
- }
227
- var hqchartData={ name:symbol, symbol:symbol, data:aryData, ver:2.0 };
228
-
229
- callback({data:hqchartData});
230
- }
231
-
232
- HQData.RequestFlowCapitalData=function(data,callback)
233
- {
234
- data.PreventDefault=true;
235
- var symbol=data.Request.Data.symbol; //请求的股票代码
236
-
237
- console.log(`[HQData::RequestFlowCapitalData] Symbol=${symbol}`);
238
-
239
- var hqchartData=KLINE_CAPITAL_DATA;
240
- callback({data:hqchartData});
241
- }
242
-
243
- HQData.RequestRealtimeData=function(data,callback)
244
- {
245
- data.PreventDefault=true;
246
- var symbol=data.Request.Data.symbol[0]; //请求的股票代码
247
- var end=data.Request.Data.dateRange.End;
248
- var endDate=end.Date;
249
- var aryStock=[];
250
-
251
- for(var i=0;i<data.Request.Data.symbol.length;++i)
252
- {
253
- var item=data.Request.Data.symbol[i];
254
- var fullData=HQData.GetDayKLineDataBySymbol(item);
255
- if (!HQData.IsNonEmptyArray(fullData)) continue;
256
-
257
- var aryData=HQData.GetKLineDataByDate(fullData, endDate, 20999999);
258
- if (!HQData.IsNonEmptyArray(aryData)) continue;
259
-
260
- var kItem=aryData[0];
261
- var price=kItem[5];
262
- var value=Math.ceil(Math.random()*10)/1000*price;
263
- var bUp=Math.ceil(Math.random()*10)>=5;
264
- if (bUp) price+=value;
265
- else price-=value;
266
-
267
- var stockItem={ symbol:item, name:item };
268
- stockItem.date=kItem[0];
269
- stockItem.yclose=kItem[1];
270
- stockItem.open=kItem[2];
271
- stockItem.high=Math.max(kItem[3],price);
272
- stockItem.low=Math.min(kItem[4],price);
273
- stockItem.price=price;
274
- stockItem.vol=kItem[6];
275
- stockItem.amount=kItem[7];
276
-
277
- aryStock.push(stockItem);
278
- }
279
-
280
- var hqchartData={ code:0, stock:aryStock };
281
-
282
- callback({data:hqchartData});
283
- }
284
-
285
-
286
- HQData.RequestHistoryMinuteData=function(data, callback)
287
- {
288
- data.PreventDefault=true;
289
- var symbol=data.Request.Data.symbol; //请求的股票代码
290
- var count=data.Request.Data.count*200; //请求的数据长度
291
-
292
- console.log(`[HQData::RequestHistoryMinuteData] Symbol=${symbol}`);
293
-
294
- var fullData=HQData.GetM1KLineDataBySymbol(symbol);
295
- var aryData=[];
296
- if (HQData.IsNonEmptyArray(fullData))
297
- {
298
- var dataCount=fullData.length;
299
- var start=dataCount-count;
300
- if (start<0) start=0;
301
- aryData=fullData.slice(start);
302
- }
303
-
304
- var hqchartData={ name:symbol, symbol:symbol, data:aryData, ver:2.0 };
305
-
306
- callback({data:hqchartData});
307
-
308
- }
309
-
310
-
311
- HQData.RequestMinuteRealtimeData=function(data,callback)
312
- {
313
- data.PreventDefault=true;
314
- var symbol=data.Request.Data.symbol[0]; //请求的股票代码
315
- var end=data.Request.Data.dateRange.End;
316
- var endDate=end.Date;
317
- var endTime=end.Time;
318
-
319
- console.log(`[HQData::RequestMinuteRealtimeData] Symbol=${symbol}`);
320
-
321
- var aryOverlay=[ ]; //叠加
322
- var aryMainData=[]; //主图
323
- for(var i=0;i<data.Request.Data.symbol.length;++i)
324
- {
325
- var symbol=data.Request.Data.symbol[i];
326
- var fullData=HQData.GetM1KLineDataBySymbol(symbol);
327
- if (!HQData.IsNonEmptyArray(fullData)) continue;
328
-
329
- var aryData=HQData.GetKLineDataByDateTime(fullData, endDate, endTime, 20999999, 9999);
330
- if (!HQData.IsNonEmptyArray(aryData)) continue;
331
-
332
- var kItem=JSON.parse(JSON.stringify(aryData[0]));
333
-
334
- //生成随机测试数据
335
- var price=kItem[5];
336
- var value=Math.ceil(Math.random()*10)/10000*price;
337
- var bUp=Math.ceil(Math.random()*10)>=5;
338
-
339
- if (bUp) price+=value;
340
- else price-=value;
341
- kItem[5]=price;
342
- kItem[3]=Math.max(price, kItem[3]);
343
- kItem[4]=Math.min(price, kItem[4]);
344
-
345
- if (i==0)
346
- {
347
- aryMainData.push(kItem);
348
- }
349
- else
350
- {
351
- var stock={ data:[kItem], symbol:symbol, name:symbol };
352
- aryOverlay.push(stock);
353
- }
354
- }
355
-
356
- var hqchartData={ name:symbol, symbol:symbol, ver:2.0, data:aryMainData };
357
- if (HQData.IsNonEmptyArray(aryOverlay)) hqchartData.overlay=aryOverlay;
358
-
359
- callback({data:hqchartData});
360
- }
361
-
362
-
363
- HQData.RequestIndexVariantData=function(data,callback)
364
- {
365
- var varName=data.Request.Data.VariantName; //变量名称
366
- if (varName=="FROMOPEN")
367
- {
368
- var hqchartData={ };
369
- //单数据
370
- hqchartData.Data={ Date:20230707, Value:240 };
371
- hqchartData.DataType=1;
372
- callback({data:hqchartData});
373
- }
374
-
375
- }
376
-
377
- HQData.RequestOtherSymbolData=function(data, callback)
378
- {
379
- data.PreventDefault=true;
380
- var symbol=data.Request.Data.symbol;
381
- var period=data.Request.Data.period;
382
- var right=data.Request.Data.right;
383
- var hqchartData=null;
384
- if (ChartData.IsDayPeriod(period,true)) hqchartData=KLINE_DAY_DATA2;
385
- else if (ChartData.IsMinutePeriod(period,true)) hqchartData=KLINE_MINUTE_DATA2;
386
- hqchartData.name=symbol;
387
- hqchartData.symbol=symbol;
388
- callback({data:hqchartData});
389
- }
390
-
391
- HQData.AnnouncementInfo_RequestData=function(data,callback)
392
- {
393
- data.PreventDefault=true;
394
- var symbol=data.Request.Symbol;
395
-
396
- var hqchartData={ symbol:symbol, report:[] };
397
-
398
- var kData=data.HQChart.ChartPaint[0].Data;
399
- for(var i=0, j=1;i<kData.Data.length;++i)
400
- {
401
- var kItem=kData.Data[i];
402
- if (i%10!=4) continue;
403
-
404
- var itemReport={ releasedate:kItem.Date, time:kItem.Time, title:`公告(${j}) xxxx`, }
405
-
406
- hqchartData.report.push(itemReport);
407
-
408
- ++j;
409
- }
410
-
411
- callback({data:hqchartData});
412
- }
413
-
414
-
415
- HQData.PforecastInfo_RequestData=function(data,callback)
416
- {
417
- data.PreventDefault=true;
418
- var symbol=data.Request.Symbol;
419
-
420
- var hqchartData={ symbol:symbol, report:[] };
421
-
422
- var kData=data.HQChart.ChartPaint[0].Data;
423
- for(var i=0, j=1;i<kData.Data.length;++i)
424
- {
425
- var kItem=kData.Data[i];
426
- if (i%10!=4) continue;
427
-
428
- var itemReport={ date:kItem.Date, time:kItem.Time, title:`公告(${j}) xxxx`, }
429
-
430
- hqchartData.report.push(itemReport);
431
-
432
- ++j;
433
- }
434
-
435
- callback({data:hqchartData});
436
- }
437
-
438
- HQData.InvestorInfo_RequestData=function(data,callback)
439
- {
440
- data.PreventDefault=true;
441
- var symbol=data.Request.Symbol;
442
-
443
- callback({data:TEST_NEWSINTERACT_DATA});
444
- }
445
-
446
- HQData.BlockTrading_RequestData=function(data,callback)
447
- {
448
- data.PreventDefault=true;
449
- var symbol=data.Request.Symbol;
450
-
451
- callback({data:TEST_BLOCK_TRADING_DATA});
452
- }
453
-
454
- HQData.TradeDetail_RequestData=function(data,callback)
455
- {
456
- data.PreventDefault=true;
457
- var symbol=data.Request.Symbol;
458
-
459
- callback({data:TEST_TRADE_DETAL_DATA});
460
- }
461
-
462
- //GPJYVALUE(ID,N,TYPE),ID为数据编号,N表示第几个数据(取1或2),TYPE:为1表示做平滑处理,没有数据的周期返回上一周期的值;为0表示不做平滑处理;2表示没有数据则为0.
463
- HQData.GPJYValue_RequestData=function(data,callback)
464
- {
465
- data.PreventDefault=true;
466
- var symbol=data.Request.Data.symbol;
467
- var id=data.Request.Data.Args[0];
468
- var n=data.Request.Data.Args[1];
469
- var type=data.Request.Data.Args[2];
470
-
471
- var aryData=[];
472
- var kData=data.Self.Data;
473
- for(var i=0;i<kData.Data.length;++i)
474
- {
475
- var kItem=kData.Data[i];
476
- if (i%50==15)
477
- {
478
- var value=HQData.GetRandomTestData(10,100)
479
- aryData.push({ Date:kItem.Date, Time:kItem.Time, Value:value });
480
- }
481
- }
482
-
483
- callback(aryData);
484
- }
485
-
486
- HQData.SCJYValue_RequestData=function(data,callback)
487
- {
488
- data.PreventDefault=true;
489
- var symbol=data.Request.Data.symbol;
490
- var id=data.Request.Data.Args[0];
491
- var n=data.Request.Data.Args[1];
492
- var type=data.Request.Data.Args[2];
493
-
494
- var aryData=[];
495
- var kData=data.Self.Data;
496
- for(var i=0;i<kData.Data.length;++i)
497
- {
498
- var kItem=kData.Data[i];
499
- if (i%50==20)
500
- {
501
- var value=HQData.GetRandomTestData(1000,2000)
502
- aryData.push({ Date:kItem.Date, Time:kItem.Time, Value:value });
503
- }
504
- }
505
-
506
- callback(aryData);
507
- }
508
-
509
- HQData.BKJYValue_RequestData=function(data,callback)
510
- {
511
- data.PreventDefault=true;
512
- var symbol=data.Request.Data.symbol;
513
- var id=data.Request.Data.Args[0];
514
- var n=data.Request.Data.Args[1];
515
- var type=data.Request.Data.Args[2];
516
-
517
- var aryData=[];
518
- var kData=data.Self.Data;
519
- for(var i=0;i<kData.Data.length;++i)
520
- {
521
- var kItem=kData.Data[i];
522
- if (i%60==33)
523
- {
524
- var value=HQData.GetRandomTestData(500,1000)
525
- aryData.push({ Date:kItem.Date, Time:kItem.Time, Value:value });
526
- }
527
- }
528
-
529
- callback(aryData);
530
- }
531
-
532
- HQData.GPJYOne_RequestData=function(data,callback)
533
- {
534
- data.PreventDefault=true;
535
- var symbol=data.Request.Data.symbol;
536
- var id=data.Request.Data.Args[0];
537
- var n=data.Request.Data.Args[1];
538
- var year=data.Request.Data.Args[2];
539
- var day=data.Request.Data.Args[3];
540
-
541
- var value=HQData.GetRandomTestData(800,1200);
542
- callback({ Date:20230509, Value:value});
543
- }
544
-
545
- HQData.SCJYOne_RequestData=function(data,callback)
546
- {
547
- data.PreventDefault=true;
548
- var symbol=data.Request.Data.symbol;
549
- var id=data.Request.Data.Args[0];
550
- var n=data.Request.Data.Args[1];
551
- var year=data.Request.Data.Args[2];
552
- var day=data.Request.Data.Args[3];
553
-
554
- var value=HQData.GetRandomTestData(400,500);
555
- callback({ Date:20230509, Value:value});
556
- }
557
-
558
- HQData.BKJYOne_RequestData=function(data,callback)
559
- {
560
- data.PreventDefault=true;
561
- var symbol=data.Request.Data.symbol;
562
- var id=data.Request.Data.Args[0];
563
- var n=data.Request.Data.Args[1];
564
- var year=data.Request.Data.Args[2];
565
- var day=data.Request.Data.Args[3];
566
-
567
- var value=HQData.GetRandomTestData(900,2000);
568
- callback({ Date:20230509, Value:value});
569
- }
570
-
571
- HQData.FinValue_RequestData=function(data,callback)
572
- {
573
- data.PreventDefault=true;
574
- var symbol=data.Request.Data.symbol;
575
- var id=data.Request.Data.Args[0];
576
-
577
- var aryData=[];
578
- var kData=data.Self.Data;
579
- for(var i=0;i<kData.Data.length;++i)
580
- {
581
- var kItem=kData.Data[i];
582
- if (i%60==21)
583
- {
584
- var value=HQData.GetRandomTestData(10,20)
585
- aryData.push({ Date:kItem.Date, Time:kItem.Time, Value:value });
586
- }
587
- }
588
-
589
- callback(aryData);
590
- }
591
-
592
- HQData.FinOne_RequestData=function(data,callback)
593
- {
594
- data.PreventDefault=true;
595
- var symbol=data.Request.Data.symbol;
596
- var id=data.Request.Data.Args[0];
597
- var year=data.Request.Data.Args[1];
598
- var day=data.Request.Data.Args[2];
599
-
600
- var value=HQData.GetRandomTestData(80,90);
601
- callback({ Date:20230509, Value:value});
602
- }
603
-
604
- HQData.RequestOverlayHistoryData=function(data, callback)
605
- {
606
- data.PreventDefault=true;
607
- var symbol=data.Request.Data.symbol;
608
- var first=data.Request.Data.first;
609
- var fullData=HQData.GetDayKLineDataBySymbol(symbol);
610
- var aryData=[];
611
-
612
- if (HQData.IsNonEmptyArray(fullData))
613
- {
614
- aryData=HQData.GetKLineDataByDate(fullData, first.date, 20999999)
615
- }
616
-
617
- var hqchartData={ code:0, symbol: symbol,name: symbol, ver:2.0, data:aryData };
618
-
619
- callback({data:hqchartData});
620
- }
621
-
622
- HQData.RequestOverlayHistoryMinuteData=function(data, callback)
623
- {
624
- data.PreventDefault=true;
625
- var symbol=data.Request.Data.symbol;
626
- var first=data.Request.Data.first;
627
- var aryData=[];
628
-
629
- var fullData=HQData.GetM1KLineDataBySymbol(symbol);
630
- if (fullData)
631
- {
632
- aryData=HQData.GetKLineDataByDateTime(fullData, first.date, first.time, 20999999, 9999)
633
- }
634
-
635
- var hqchartData={ symbol: symbol,name: symbol, ver:2.0, data:aryData };
636
-
637
- callback({data:hqchartData});
638
- }
639
-
640
- HQData.RequestDragDayData=function(data, callback)
641
- {
642
- data.PreventDefault=true;
643
- var dataCount=data.Option.XShowCount;
644
- var symbol=data.Request.Data.symbol; //请求的股票代码
645
- var firstDateTime=data.Request.Data.first;
646
- var aryOverlay=data.Request.Data.overlay; //叠加股票
647
-
648
- console.log(`[HQData::RequestDragDayData] Symbol=${symbol} date=${firstDateTime.date} time=${firstDateTime.time}`);
649
-
650
- var self=data.Self;
651
- self.IsOnTouch = false;
652
- self.LastMovePoint=null;
653
-
654
- var option=data.Option;
655
- var title=`拖动下载数据中...... 起始位置 ${firstDateTime.date}, 下载数据个数${dataCount}`
656
- self.EnableSplashScreen({Title:title, Draw:true });
657
-
658
- setTimeout(()=>
659
- {
660
- var findIndex=-1;
661
- var date=firstDateTime.date;
662
- var fullData=HQData.GetDayKLineDataBySymbol(symbol);
663
-
664
- if (date==null)
665
- {
666
- findIndex=fullData.length-1;
667
- }
668
- else
669
- {
670
- for(var i=0;i<fullData.length;++i)
671
- {
672
- var kItem=fullData[i];
673
- var value=kItem[0];
674
- if (value>=date)
675
- {
676
- findIndex=i;
677
- break;
678
- }
679
- }
680
- }
681
-
682
- if (findIndex<=0) //数据到头了
683
- {
684
- var hqchartData={ name:symbol, symbol:symbol, code:0, ver:2, data:[] };
685
- self.ChartSplashPaint.EnableSplash(false);
686
- callback(hqchartData);
687
- alert("数据到头了,没有数据了!!")
688
- return;
689
- }
690
-
691
- var downloadCount=100; //下载100个数据
692
- var startIndex=findIndex-downloadCount;
693
- if (startIndex<0) startIndex=0;
694
- var hqchartData={ name:symbol, symbol:symbol, code:0, ver:2, data:[] };
695
- for(var i=startIndex; i<findIndex; ++i)
696
- {
697
- hqchartData.data.push(fullData[i]);
698
- }
699
-
700
- option.DataOffset=-parseInt(dataCount/2); //当前屏数据往前移动
701
- self.ChartSplashPaint.EnableSplash(false);
702
-
703
- console.log('[HQData::RequestDragDayData] ', hqchartData);
704
-
705
- if (HQData.IsNonEmptyArray(aryOverlay))
706
- {
707
- hqchartData.overlay=[];
708
- var startDate=hqchartData.data[0][0];
709
- var endDate=hqchartData.data[hqchartData.data.length-1][0];
710
- for(var i=0;i<aryOverlay.length;++i)
711
- {
712
- var item=aryOverlay[i];
713
- var overlayFullData=HQData.GetDayKLineDataBySymbol(item.symbol);
714
- var aryData=HQData.GetKLineDataByDate(overlayFullData, startDate, endDate);
715
- hqchartData.overlay.push({ symbol:item.symbol, name:item.symbol, data:aryData});
716
- }
717
- }
718
-
719
- callback({data:hqchartData});
720
-
721
- },1000);
722
- }
723
-
724
-
725
- HQData.RequestDragMinuteData=function (data, callback)
726
- {
727
- data.PreventDefault=true;
728
- var dataCount=data.Option.XShowCount;
729
- var symbol=data.Request.Data.symbol; //请求的股票代码
730
- var firstDateTime=data.Request.Data.first;
731
- var aryOverlay=data.Request.Data.overlay; //叠加股票
732
-
733
- console.log(`[HQData::RequestDragMinuteData] Symbol=${symbol} date=${firstDateTime.date} time=${firstDateTime.time}`);
734
-
735
- var self=data.Self;
736
- self.IsOnTouch = false;
737
- self.LastMovePoint=null;
738
- var option=data.Option;
739
- var title=`拖动下载数据中...... 起始位置 ${firstDateTime.date} ${firstDateTime.time}, 下载数据个数${dataCount}`
740
- self.EnableSplashScreen({ Title:title, Draw:true });
741
-
742
- setTimeout(()=>
743
- {
744
- var fullData=HQData.GetM1KLineDataBySymbol(symbol);
745
-
746
- var findIndex=-1;
747
- if (firstDateTime.date==null)
748
- {
749
- findIndex=fullData.length-1;
750
- }
751
- else
752
- {
753
- var dateTime=firstDateTime.date*10000+firstDateTime.time;
754
- for(var i=0;i<fullData.length;++i)
755
- {
756
- var kItem=fullData[i];
757
- var value=kItem[0]*10000+kItem[8];
758
- if (value>=dateTime)
759
- {
760
- findIndex=i;
761
- break;
762
- }
763
- }
764
- }
765
-
766
- if (findIndex<=0) //数据到头了
767
- {
768
- var hqchartData={ name:symbol, symbol:symbol, code:0, ver:2, data:[] };
769
- self.ChartSplashPaint.EnableSplash(false);
770
- callback(hqchartData);
771
- alert("数据到头了,没有数据了!!")
772
- return;
773
- }
774
-
775
- var donwloadCount=100;
776
- var startIndex=findIndex-donwloadCount;
777
- if (startIndex<0) startIndex=0;
778
- var hqchartData={ name:symbol, symbol:symbol, code:0, ver:2, data:[] };
779
- for(var i=startIndex; i<findIndex; ++i)
780
- {
781
- hqchartData.data.push(fullData[i]);
782
- }
783
-
784
- option.DataOffset=-parseInt(dataCount/2); //当前屏数据往前移动
785
-
786
-
787
- if (HQData.IsNonEmptyArray(aryOverlay))
788
- {
789
- hqchartData.overlay=[];
790
- var startDate=hqchartData.data[0][0];
791
- var startTime=hqchartData.data[0][8]
792
- var endDate=hqchartData.data[hqchartData.data.length-1][0];
793
- var endTime=hqchartData.data[hqchartData.data.length-1][8];
794
- for(var i=0;i<aryOverlay.length;++i)
795
- {
796
- var item=aryOverlay[i];
797
- var overlyFullData=HQData.GetM1KLineDataBySymbol(item.symbol);
798
- var aryData=this.GetKLineDataByDateTime(overlyFullData, startDate, startTime ,endDate, endTime);
799
- hqchartData.overlay.push({ symbol:item.symbol, name:item.symbol, data:aryData});
800
- }
801
- }
802
-
803
- self.ChartSplashPaint.EnableSplash(false);
804
-
805
- console.log('[KLineChart::RequestDragMinuteData] ', hqchartData);
806
-
807
- callback({data:hqchartData});
808
-
809
- },1000);
810
- }
811
-
812
-
813
- HQData.GetRandomTestData=function(min, max) //测试数据
814
- {
815
- min = Math.ceil(min);
816
- max = Math.floor(max);
817
- return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值
818
- }
819
-
820
- HQData.GetM1KLineDataBySymbol=function(symbol)
821
- {
822
- var data=null;
823
- switch(symbol)
824
- {
825
- case "000001.sh":
826
- data=SH_000001_M1_KLINE;
827
- break;
828
- case "000300.sh":
829
- data=SH_000300_M1_KLINE;
830
- break;
831
- case "399001.sz":
832
- data=SZ_399001_M1_KLINE;
833
- break;
834
- case "000001.sz":
835
- data=SZ_000001_M1_KLINE;
836
- break;
837
- case "600000.sh":
838
- data=SH_600000_M1_KLINE;
839
- break;
840
- case "000151.sz":
841
- data=SZ_000151_M1_KLINE;
842
- break;
843
- case "399005.sz":
844
- data=SZ_399005_M1_KLINE;
845
- break;
846
- case "399006.sz":
847
- data=SZ_399006_M1_KLINE;
848
- break;
849
- default:
850
- data=SZ_000001_M1_KLINE;
851
- break;
852
- }
853
-
854
- if (!data) return null;
855
-
856
- return data.data;
857
- }
858
-
859
- HQData.GetDayKLineDataBySymbol=function(symbol)
860
- {
861
- var data=null;
862
- switch(symbol)
863
- {
864
- case "000001.sh":
865
- data=SH_000001_DAY_KLINE;
866
- break;
867
- case "000300.sh":
868
- data=SH_000300_DAY_KLINE;
869
- break;
870
-
871
- case "399001.sz":
872
- data=SZ_399001_DAY_KLINE;
873
- break;
874
- case "000001.sz":
875
- data=SZ_000001_DAY_KLINE;
876
- break;
877
- case "600000.sh":
878
- data=SH_600000_DAY_KLINE;
879
- break;
880
- case "000151.sz":
881
- data=SZ_000151_DAY_KLINE;
882
- break;
883
- case "399005.sz":
884
- data=SZ_399005_DAY_KLINE;
885
- break;
886
- case "399006.sz":
887
- data=SZ_399006_DAY_KLINE;
888
- break;
889
- default:
890
- data=SZ_000001_DAY_KLINE;
891
- break;
892
- }
893
-
894
- if (!data) return null;
895
-
896
- return data.data;
897
- }
898
-
899
- HQData.GetKLineDataByDateTime=function(fullData, startDate, startTime, endDate, endTime)
900
- {
901
- var start=startDate*10000+startTime;
902
- var end=endDate*10000+endTime;
903
-
904
- var aryData=[];
905
- for(var i=0;i<fullData.length;++i)
906
- {
907
- var kItem=fullData[i];
908
- var date=kItem[0];
909
- var time=kItem[8];
910
- var dateTime=date*10000+time;
911
- if (dateTime>=start && dateTime<=end)
912
- aryData.push(kItem);
913
- }
914
-
915
- return aryData;
916
- }
917
-
918
- HQData.GetKLineDataByDate=function(fullData, startDate, endDate)
919
- {
920
- var aryData=[];
921
- for(var i=0;i<fullData.length;++i)
922
- {
923
- var kItem=fullData[i];
924
- var date=kItem[0];
925
- if (date>=startDate && date<=endDate)
926
- aryData.push(kItem);
927
- }
928
-
929
- return aryData;
930
- }
931
-
932
- HQData.GetMulitDayMinuteDataBySymbol=function(symbol)
933
- {
934
- var data=null;
935
- switch(symbol)
936
- {
937
- case "000001.sz":
938
- data=SZ_000001_5DAY_MINUTE;
939
- break;
940
- case "600000.sh":
941
- data=SH_600000_5DAY_MINUTE;
942
- break;
943
- case "000151.sz":
944
- data=SZ_000151_5DAY_MINUTE;
945
- break;
946
- default:
947
- data=SZ_000151_5DAY_MINUTE;
948
- break;
949
- }
950
-
951
- if (!data) return null;
952
- return data.data;
953
- }
954
-
955
- HQData.GetDayMinuteDataBySymbol=function(symbol)
956
- {
957
- var data=null;
958
- switch(symbol)
959
- {
960
- case "000001.sz":
961
- data=SZ_000001_1DAY_MINUTE;
962
- break;
963
- case "600000.sh":
964
- data=SH_600000_1DAY_MINUTE;
965
- break;
966
- case "000151.sz":
967
- data=SZ_000151_1DAY_MINUTE;
968
- break;
969
- default:
970
- data=SZ_000151_1DAY_MINUTE;
971
- break;
972
- }
973
-
974
- if (!data) return null;
975
- return data.stock;
976
- }
977
-
978
- HQData.GetMulitDayMinuteDataByDate=function(aryDay, aryDate)
979
- {
980
- var aryData=[];
981
- if (!HQData.IsNonEmptyArray(aryDay)) return aryData;
982
-
983
- for(var i=0;i<aryDay.length;++i)
984
- {
985
- var item=aryDay[i];
986
- if (aryDate.includes(item.date))
987
- {
988
- aryData.push(item);
989
- }
990
- }
991
-
992
- return aryData;
993
- }
994
-
995
-
996
- //是否是非空的数组
997
- HQData.IsNonEmptyArray=function(ary)
998
- {
999
- if (!ary) return false;
1000
- if (!Array.isArray(ary)) return false;
1001
-
1002
- return ary.length>0;
1003
- }
1004
-
1005
- /*暴露外部用的方法*/
1006
- export
1007
- {
1008
- HQData
1009
- }