hqchart 1.1.12499 → 1.1.12505

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.
@@ -51259,7 +51259,16 @@ function HistoryDataStringFormat()
51259
51259
 
51260
51260
  this.Width=157;
51261
51261
  if (this.LanguageID==JSCHART_LANGUAGE_ID.LANGUAGE_ENGLISH_ID) this.Width=180;
51262
+ var titleData=this.GetFormatTitle(data);
51263
+ if (!titleData) return false;
51264
+ var outData=this.GenerateTitleHtml(titleData);
51265
+ if (!outData) return false;
51262
51266
 
51267
+ this.Text=outData.Html;
51268
+ this.Height=outData.LineCount*this.LineHeight;
51269
+ return true;
51270
+
51271
+ /*
51263
51272
  var date=new Date(parseInt(data.Date/10000),(data.Date/100%100-1),data.Date%100);
51264
51273
  var strDate=IFrameSplitOperator.FormatDateString(data.Date);
51265
51274
  var title2=g_JSChartLocalization.GetText(WEEK_NAME[date.getDay()],this.LanguageID);
@@ -51349,6 +51358,178 @@ function HistoryDataStringFormat()
51349
51358
 
51350
51359
  this.Height=this.LineCount*this.LineHeight;
51351
51360
  return true;
51361
+ */
51362
+ }
51363
+
51364
+ this.GenerateTitleHtml=function(data)
51365
+ {
51366
+ var lineCount=0;
51367
+ var strHtml="", text;
51368
+ if (data.Name)
51369
+ {
51370
+ text=`<span style='color:rgb(0,0,0);font:微软雅黑;font-size:12px;text-align:center;display: block;'>${data.Name}</span>`;
51371
+ strHtml+=text;
51372
+ ++lineCount;
51373
+ }
51374
+
51375
+ if (data.Title)
51376
+ {
51377
+ text=`<span class='tooltip-title'>${data.Title}</span>`;
51378
+ strHtml+=text;
51379
+ ++lineCount;
51380
+ }
51381
+
51382
+ if (IFrameSplitOperator.IsNonEmptyArray(data.AryText))
51383
+ {
51384
+ for(var i=0;i<data.AryText.length;++i)
51385
+ {
51386
+ var item=data.AryText[i];
51387
+ if (i>0) strHtml+='<br/>';
51388
+ var text=`<span class='tooltip-con'>${item.Title}</span><span class='tooltip-num' style='color:${item.Color};'>${item.Text}</span>`;
51389
+ strHtml+=text;
51390
+ ++lineCount;
51391
+ }
51392
+ }
51393
+
51394
+ return { Html:strHtml, LineCount:lineCount };
51395
+ }
51396
+
51397
+ this.GetFormatTitle=function(data)
51398
+ {
51399
+ if (!data) return null;
51400
+
51401
+ var upperSymbol=this.Symbol.toUpperCase();
51402
+ var defaultfloatPrecision=GetfloatPrecision(this.Symbol);//价格小数位数
51403
+ var date=new Date(parseInt(data.Date/10000),(data.Date/100%100-1),data.Date%100);
51404
+ var strDate=IFrameSplitOperator.FormatDateString(data.Date);
51405
+
51406
+ var title2=g_JSChartLocalization.GetText(WEEK_NAME[date.getDay()],this.LanguageID);
51407
+ var isTickPeriod=ChartData.IsTickPeriod(this.Value.ChartPaint.Data.Period);
51408
+ if (ChartData.IsMinutePeriod(this.Value.ChartPaint.Data.Period,true)) // 分钟周期
51409
+ {
51410
+ title2=IFrameSplitOperator.FormatTimeString(data.Time);
51411
+ }
51412
+ else if (ChartData.IsSecondPeriod(this.Value.ChartPaint.Data.Period) || isTickPeriod)
51413
+ {
51414
+ title2=IFrameSplitOperator.FormatTimeString(data.Time,'HH:MM:SS');
51415
+ }
51416
+
51417
+ var result={ AryText:null, Title:`${strDate}&nbsp&nbsp${title2}`, Name:null };
51418
+ if (isTickPeriod)
51419
+ {
51420
+ var aryText=
51421
+ [
51422
+ {
51423
+ Title:g_JSChartLocalization.GetText('DivTooltip-Price',this.LanguageID),
51424
+ Text:IFrameSplitOperator.IsNumber(data.Open)? data.Open.toFixed(defaultfloatPrecision):'--',
51425
+ Color:this.GetColor(data.Open,data.YClose)
51426
+ },
51427
+ ];
51428
+
51429
+ if (IFrameSplitOperator.IsNumber(data.YClose))
51430
+ {
51431
+ var increase=(data.Close-data.YClose)/data.YClose*100;
51432
+ var item=
51433
+ {
51434
+ Title:g_JSChartLocalization.GetText('DivTooltip-Increase',this.LanguageID),
51435
+ Text:`${increase.toFixed(2)}%`,
51436
+ Color:this.GetColor(increase,0)
51437
+ }
51438
+ aryText.push(item);
51439
+ }
51440
+
51441
+ result.AryText=aryText;
51442
+ }
51443
+ else if (data.IsNonTrade)
51444
+ {
51445
+
51446
+ }
51447
+ else
51448
+ {
51449
+ var vol=data.Vol;
51450
+ if (upperSymbol && MARKET_SUFFIX_NAME.IsSHSZ(upperSymbol)) vol/=100; //A股统一转成手
51451
+ var eventUnchangeKLine=null; //定制平盘K线颜色事件
51452
+ if (this.GetEventCallback) eventUnchangeKLine=this.GetEventCallback(JSCHART_EVENT_ID.ON_CUSTOM_UNCHANGE_KLINE_TITLE_COLOR);
51453
+
51454
+ var aryText=
51455
+ [
51456
+ {
51457
+ Title:g_JSChartLocalization.GetText('DivTooltip-Open',this.LanguageID),
51458
+ Text:IFrameSplitOperator.IsNumber(data.Open)? data.Open.toFixed(defaultfloatPrecision):'--',
51459
+ Color:this.GetPriceColor("DivTooltip-Open",data.Open,data.YClose,data,eventUnchangeKLine),
51460
+ },
51461
+ {
51462
+ Title:g_JSChartLocalization.GetText('DivTooltip-High',this.LanguageID),
51463
+ Text:IFrameSplitOperator.IsNumber(data.High)? data.High.toFixed(defaultfloatPrecision):'--',
51464
+ Color:this.GetPriceColor("DivTooltip-High",data.High,data.YClose,data,eventUnchangeKLine)
51465
+ },
51466
+ {
51467
+ Title:g_JSChartLocalization.GetText('DivTooltip-Low',this.LanguageID),
51468
+ Text:IFrameSplitOperator.IsNumber(data.Low)? data.Low.toFixed(defaultfloatPrecision):'--',
51469
+ Color:this.GetPriceColor('DivTooltip-Low',data.Low,data.YClose,data,eventUnchangeKLine)
51470
+ },
51471
+ {
51472
+ Title:g_JSChartLocalization.GetText('DivTooltip-Close',this.LanguageID),
51473
+ Text:IFrameSplitOperator.IsNumber(data.Close)? data.Close.toFixed(defaultfloatPrecision):'--',
51474
+ Color:this.GetPriceColor('DivTooltip-Close',data.Close,data.YClose,data,eventUnchangeKLine)
51475
+ },
51476
+ {
51477
+ Title:g_JSChartLocalization.GetText('DivTooltip-Vol',this.LanguageID),
51478
+ Text:IFrameSplitOperator.IsNumber(vol)? IFrameSplitOperator.FormatValueString(vol,2,this.LanguageID):'--',
51479
+ Color:this.VolColor
51480
+ },
51481
+ {
51482
+ Title:g_JSChartLocalization.GetText('DivTooltip-Amount',this.LanguageID),
51483
+ Text:IFrameSplitOperator.IsNumber(data.Amount)? IFrameSplitOperator.FormatValueString(data.Amount,2,this.LanguageID):'--',
51484
+ Color:this.AmountColor
51485
+ }
51486
+ ];
51487
+
51488
+ if (IFrameSplitOperator.IsNumber(data.YClose))
51489
+ {
51490
+ var increase=(data.Close-data.YClose)/data.YClose*100;
51491
+ var item=
51492
+ {
51493
+ Title:g_JSChartLocalization.GetText('DivTooltip-Increase',this.LanguageID),
51494
+ Text:`${increase.toFixed(2)}%`,
51495
+ Color:this.GetColor(increase,0)
51496
+ }
51497
+ aryText.push(item);
51498
+ }
51499
+
51500
+ if(MARKET_SUFFIX_NAME.IsSHSZStockA(this.Symbol) && data.FlowCapital>0) //换手率
51501
+ {
51502
+ var value=data.Vol/data.FlowCapital*100;
51503
+ var item=
51504
+ {
51505
+ Title:g_JSChartLocalization.GetText('DivTooltip-Exchange',this.LanguageID),
51506
+ Text:`${value.toFixed(2)}%`,
51507
+ Color:this.TurnoverRateColor
51508
+ }
51509
+ aryText.push(item);
51510
+ }
51511
+
51512
+ if (MARKET_SUFFIX_NAME.IsFutures(upperSymbol) && IFrameSplitOperator.IsNumber(data.Position))
51513
+ {
51514
+ var item=
51515
+ {
51516
+ Title:g_JSChartLocalization.GetText('DivTooltip-Position',this.LanguageID),
51517
+ Text:`${data.Position}`,
51518
+ Color:this.PositionColor
51519
+ }
51520
+ }
51521
+
51522
+ //叠加股票
51523
+ if (this.Value.ChartPaint.Name=="Overlay-KLine")
51524
+ {
51525
+ result.Name=this.Value.ChartPaint.Title;
51526
+ }
51527
+
51528
+ result.AryText=aryText;
51529
+ }
51530
+
51531
+
51532
+ return result;
51352
51533
  }
51353
51534
 
51354
51535
  this.GetColor=function(price,yclse)
@@ -102122,7 +102303,7 @@ function JSDraw(errorHandler,symbolData)
102122
102303
  {
102123
102304
  let drawData=[];
102124
102305
  let result={DrawData:drawData, DrawType:'POLYLINE'};
102125
- let isNumber=typeof(data)=='number';
102306
+ let isNumber=IFrameSplitOperator.IsNumber(data);
102126
102307
 
102127
102308
  let bFirstPoint=false;
102128
102309
  let bSecondPont=false;
@@ -102139,10 +102320,10 @@ function JSDraw(errorHandler,symbolData)
102139
102320
  }
102140
102321
  }
102141
102322
  }
102142
- else
102323
+ else if (Array.isArray(condition))
102143
102324
  {
102144
102325
  var bFind=false;
102145
- for(var i in condition)
102326
+ for(var i=0; i<condition.length; ++i)
102146
102327
  {
102147
102328
  drawData[i]=null;
102148
102329
  if (bFind)
@@ -102161,39 +102342,77 @@ function JSDraw(errorHandler,symbolData)
102161
102342
  }
102162
102343
  else
102163
102344
  {
102164
- let lineCache={Start:{ },End:{ }, List:new Array()};
102165
- for(let i in condition)
102345
+ if (IFrameSplitOperator.IsNumber(condition))
102166
102346
  {
102167
- drawData[i]=null;
102168
- if (bFirstPoint==false && bSecondPont==false)
102347
+ if (!condition) return result;
102348
+ let lineCache={Start:{ },End:{ }, List:[]};
102349
+ for(var i=0;i<data.length;++i)
102169
102350
  {
102170
- if (condition[i]==null || !condition[i]) continue;
102171
- if (i>=data.length || !this.IsNumber(data[i])) continue;
102351
+ drawData[i]=null;
102352
+ if (bFirstPoint==false && bSecondPont==false)
102353
+ {
102354
+ if (!this.IsNumber(data[i])) continue;
102172
102355
 
102173
- bFirstPoint=true;
102174
- lineCache.Start={ID:parseInt(i), Value:data[i]}; //第1个点
102175
- }
102176
- else if (bFirstPoint==true && bSecondPont==false)
102177
- {
102178
- if (condition[i]==null || !condition[i]) continue;
102179
- if (i>=data.length || !this.IsNumber(data[i])) continue;
102356
+ bFirstPoint=true;
102357
+ lineCache.Start={ID:parseInt(i), Value:data[i]}; //第1个点
102358
+ }
102359
+ else if (bFirstPoint==true && bSecondPont==false)
102360
+ {
102361
+ if (!this.IsNumber(data[i])) continue;
102180
102362
 
102181
- lineCache.End={ID:parseInt(i), Value:data[i]}; //第2个点
102182
- //根据起始点和结束点 计算中间各个点的数据
102183
- let lineData=this.CalculateDrawLine(lineCache); //计算2个点的线上 其他点的数值
102363
+ lineCache.End={ID:parseInt(i), Value:data[i]}; //第2个点
102364
+ //根据起始点和结束点 计算中间各个点的数据
102365
+ let lineData=this.CalculateDrawLine(lineCache); //计算2个点的线上 其他点的数值
102366
+
102367
+ for(let j in lineData)
102368
+ {
102369
+ let item=lineData[j];
102370
+ drawData[item.ID]=item.Value;
102371
+ }
102372
+
102373
+ let start={ ID:lineCache.End.ID,Value:lineCache.End.Value };
102374
+ lineCache={Start:start,End:{ } };
102375
+ }
102376
+ }
102184
102377
 
102185
- for(let j in lineData)
102378
+ this.CalculateDrawDataExtendLine(drawData);
102379
+ }
102380
+ else
102381
+ {
102382
+ let lineCache={Start:{ },End:{ }, List:[]};
102383
+ for(let i in condition)
102384
+ {
102385
+ drawData[i]=null;
102386
+ if (bFirstPoint==false && bSecondPont==false)
102186
102387
  {
102187
- let item=lineData[j];
102188
- drawData[item.ID]=item.Value;
102388
+ if (condition[i]==null || !condition[i]) continue;
102389
+ if (i>=data.length || !this.IsNumber(data[i])) continue;
102390
+
102391
+ bFirstPoint=true;
102392
+ lineCache.Start={ID:parseInt(i), Value:data[i]}; //第1个点
102189
102393
  }
102394
+ else if (bFirstPoint==true && bSecondPont==false)
102395
+ {
102396
+ if (condition[i]==null || !condition[i]) continue;
102397
+ if (i>=data.length || !this.IsNumber(data[i])) continue;
102398
+
102399
+ lineCache.End={ID:parseInt(i), Value:data[i]}; //第2个点
102400
+ //根据起始点和结束点 计算中间各个点的数据
102401
+ let lineData=this.CalculateDrawLine(lineCache); //计算2个点的线上 其他点的数值
102190
102402
 
102191
- let start={ ID:lineCache.End.ID,Value:lineCache.End.Value };
102192
- lineCache={Start:start,End:{ } };
102403
+ for(let j in lineData)
102404
+ {
102405
+ let item=lineData[j];
102406
+ drawData[item.ID]=item.Value;
102407
+ }
102408
+
102409
+ let start={ ID:lineCache.End.ID,Value:lineCache.End.Value };
102410
+ lineCache={Start:start,End:{ } };
102411
+ }
102193
102412
  }
102194
- }
102195
102413
 
102196
- this.CalculateDrawDataExtendLine(drawData);
102414
+ this.CalculateDrawDataExtendLine(drawData);
102415
+ }
102197
102416
  }
102198
102417
 
102199
102418
  return result
@@ -128256,7 +128475,7 @@ function HQChartScriptWorker()
128256
128475
 
128257
128476
 
128258
128477
 
128259
- var HQCHART_VERSION="1.1.12498";
128478
+ var HQCHART_VERSION="1.1.12504";
128260
128479
 
128261
128480
  function PrintHQChartVersion()
128262
128481
  {
@@ -95,6 +95,12 @@ function IKLineInfo()
95
95
  MaxRequestMinuteDayCount:hqChart.MaxRequestMinuteDayCount, //分钟数据请求的天数
96
96
  Period:hqChart.Period //周期
97
97
  };
98
+
99
+ //K线数据范围
100
+ var hisData=null;
101
+ if (hqChart.ChartOperator_Temp_GetHistroyData) hisData=hqChart.ChartOperator_Temp_GetHistroyData();
102
+ if (hisData)
103
+ obj.DateRange=hisData.GetDateRange();
98
104
 
99
105
  return obj;
100
106
  }
@@ -152,12 +158,17 @@ function InvestorInfo()
152
158
  this.newMethod();
153
159
  delete this.newMethod;
154
160
 
155
- this.RequestData=function(hqChart)
161
+ this.ClassName="InvestorInfo";
162
+ this.Explain="互动易";
163
+
164
+ this.RequestData=function(hqChart, obj)
156
165
  {
157
166
  var self = this;
158
167
  var param={ HQChart:hqChart };
159
168
  this.Data=[];
160
169
 
170
+ if (this.NetworkFilter(hqChart,obj)) return; //已被上层替换,不调用默认的网络请求
171
+
161
172
  //请求数据
162
173
  wx.request({
163
174
  url: g_JSChartResource.Domain+g_JSChartResource.KLine.Info.Investor.ApiUrl,
@@ -303,12 +314,14 @@ function PforecastInfo()
303
314
  this.ClassName='PforecastInfo';
304
315
  this.Explain='业绩预告';
305
316
 
306
- this.RequestData=function(hqChart)
317
+ this.RequestData=function(hqChart,obj)
307
318
  {
308
319
  var self = this;
309
320
  this.Data = [];
310
321
  var param={ HQChart:hqChart };
311
322
 
323
+ if (this.NetworkFilter(hqChart,obj)) return; //已被上层替换,不调用默认的网络请求
324
+
312
325
  //请求数据
313
326
  wx.request({
314
327
  url: g_JSChartResource.Domain+g_JSChartResource.KLine.Info.Pforecast.ApiUrl,
@@ -377,13 +390,15 @@ function ResearchInfo()
377
390
  this.ClassName='ResearchInfo';
378
391
  this.Explain='投资者关系';
379
392
 
380
- this.RequestData=function(hqChart)
393
+ this.RequestData=function(hqChart,obj)
381
394
  {
382
395
  var self = this;
383
396
  var param= { HQChart:hqChart };
384
397
 
385
398
  this.Data=[];
386
399
 
400
+ if (this.NetworkFilter(hqChart,obj)) return; //已被上层替换,不调用默认的网络请求
401
+
387
402
  //请求数据
388
403
  wx.request({
389
404
  url: g_JSChartResource.Domain+g_JSChartResource.KLine.Info.Research.ApiUrl,
@@ -441,12 +456,14 @@ function BlockTrading()
441
456
  this.ClassName='BlockTrading';
442
457
  this.Explain='大宗交易';
443
458
 
444
- this.RequestData=function(hqChart)
459
+ this.RequestData=function(hqChart,obj)
445
460
  {
446
461
  var self = this;
447
462
  var param={ HQChart:hqChart,};
448
463
  this.Data=[];
449
464
 
465
+ if (this.NetworkFilter(hqChart,obj)) return; //已被上层替换,不调用默认的网络请求
466
+
450
467
  //请求数据
451
468
  wx.request({
452
469
  url: g_JSChartResource.Domain+g_JSChartResource.KLine.Info.BlockTrading.ApiUrl,
@@ -521,13 +538,15 @@ function TradeDetail()
521
538
  this.ClassName='TradeDetail';
522
539
  this.Explain='龙虎榜';
523
540
 
524
- this.RequestData=function(hqChart)
541
+ this.RequestData=function(hqChart,obj)
525
542
  {
526
543
  var self = this;
527
544
  var param={ HQChart:hqChart };
528
545
 
529
546
  this.Data=[];
530
547
 
548
+ if (this.NetworkFilter(hqChart,obj)) return; //已被上层替换,不调用默认的网络请求
549
+
531
550
  //请求数据
532
551
  wx.request({
533
552
  url: g_JSChartResource.Domain+g_JSChartResource.KLine.Info.TradeDetail.ApiUrl,
@@ -609,7 +628,7 @@ function PolicyInfo()
609
628
  }
610
629
  }
611
630
 
612
- this.RequestData = function (hqChart)
631
+ this.RequestData = function (hqChart,obj)
613
632
  {
614
633
  var self = this;
615
634
  this.Data = [];
@@ -617,6 +636,8 @@ function PolicyInfo()
617
636
 
618
637
  // setTimeout(function () { self.RecvData(null, param); }, 2000); //模拟数据到达
619
638
 
639
+ if (this.NetworkFilter(hqChart,obj)) return; //已被上层替换,不调用默认的网络请求
640
+
620
641
  //请求数据
621
642
  wx.request({
622
643
  url: g_JSChartResource.Domain + g_JSChartResource.KLine.Info.Policy.ApiUrl,
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
 
8
- var HQCHART_VERSION="1.1.12494";
8
+ var HQCHART_VERSION="1.1.12500";
9
9
 
10
10
  function PrintHQChartVersion()
11
11
  {