hqchart 1.1.13059 → 1.1.13065

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.
@@ -2799,7 +2799,8 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
2799
2799
  {
2800
2800
  IsValueFullRange:false ,
2801
2801
  IsDisplayLatest:false,
2802
- SelectedBorder:{ Mode:0, SelFrame:0 } //边框选中模式 Mode:0=禁用 1=右侧标记选中 2=指标窗口标记选中
2802
+ SelectedBorder:{ Mode:0, SelFrame:0 }, //边框选中模式 Mode:0=禁用 1=右侧标记选中 2=指标窗口标记选中
2803
+ SelectedXBorder: { Mode:0, Date:null } //X边框选中模式 Mode:0=禁用 分时图图有效
2803
2804
  //XDateFormat (多日分时图x轴底部日期格式)
2804
2805
  };
2805
2806
 
@@ -3252,6 +3253,20 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
3252
3253
  }
3253
3254
  }
3254
3255
 
3256
+ if (this.GlobalOption.SelectedXBorder && this.GlobalOption.SelectedXBorder.Mode>=1)
3257
+ {
3258
+ if (this.PtInMulitDayMinute)
3259
+ {
3260
+ var item=this.GlobalOption.SelectedXBorder;
3261
+ var selectedDate=this.PtInMulitDayMinute(x,y);
3262
+ if (item.Date!=selectedDate)
3263
+ {
3264
+ item.Date=selectedDate
3265
+ bDrawDynamicInfo=true;
3266
+ }
3267
+ }
3268
+ }
3269
+
3255
3270
  if (this.TryClickCrossCursor(x,y, e))
3256
3271
  {
3257
3272
  return;
@@ -5056,6 +5071,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
5056
5071
  this.DrawSelectedStatus();
5057
5072
 
5058
5073
  this.DrawSelectedBorder();
5074
+ if (this.DrawSelectedXBorder) this.DrawSelectedXBorder();
5059
5075
 
5060
5076
  var moveonPoint=null;
5061
5077
  if (this.LastMouseStatus && this.LastMouseStatus.MoveOnPoint) moveonPoint=this.LastMouseStatus.MoveOnPoint;
@@ -5260,7 +5276,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
5260
5276
  var item=this.ExtendChartPaint[i];
5261
5277
  if (item.IsCallbackDraw)
5262
5278
  {
5263
- if (["KLineYAxisBGPaint","DepthMapPaint","BackgroundPaint","MinuteBackgroundPaint"].includes(item.ClassName))
5279
+ if (["KLineYAxisBGPaint","DepthMapPaint","BackgroundPaint","MinuteBackgroundPaint", "SessionBreaksPaint"].includes(item.ClassName))
5264
5280
  {
5265
5281
  if (item.FrameID==frame.Identify) item.Draw();
5266
5282
  }
@@ -5482,6 +5498,7 @@ function JSChartContainer(uielement, OffscreenElement, cacheElement)
5482
5498
 
5483
5499
  this.DrawSelectedStatus();
5484
5500
  this.DrawSelectedBorder();
5501
+ if (this.DrawSelectedXBorder) this.DrawSelectedXBorder();
5485
5502
 
5486
5503
  var moveonPoint=null;
5487
5504
  if (this.LastMouseStatus && this.LastMouseStatus.MoveOnPoint) moveonPoint=this.LastMouseStatus.MoveOnPoint;
@@ -38968,7 +38985,8 @@ function ExtendChartPaintFactory()
38968
38985
  [
38969
38986
  ["FrameSplitPaint", { Create:function() { return new FrameSplitPaint(); } }],
38970
38987
  ["RectSelectPaint", { Create:function() { return new RectSelectPaint(); } }],
38971
- ["DragMovePaint", { Create:function() { return new DragMovePaint(); } }]
38988
+ ["DragMovePaint", { Create:function() { return new DragMovePaint(); } }],
38989
+ ["SessionBreaksPaint", { Create:function() { return new SessionBreaksPaint(); }}]
38972
38990
  ]
38973
38991
  );
38974
38992
 
@@ -43226,6 +43244,266 @@ function DragMovePaint()
43226
43244
  }
43227
43245
 
43228
43246
 
43247
+ function SessionBreaksPaint()
43248
+ {
43249
+ this.newMethod=IExtendChartPainting; //派生
43250
+ this.newMethod();
43251
+ delete this.newMethod;
43252
+
43253
+ this.ClassName='SessionBreaksPaint';
43254
+ this.IsDynamic=false;
43255
+ this.IsCallbackDraw=true; //在回调函数里绘制, 不在Draw()中绘制
43256
+ this.FrameID=0;
43257
+ this.KDataFeature; //数据特征 { Symbol, Period, DataCount }
43258
+ this.Data;
43259
+ this.ChartFrame;
43260
+
43261
+ this.BGColor=g_JSChartResource.SessionBreaksPaint.BGColor.slice();
43262
+ this.SplitLine=
43263
+ {
43264
+ Color:g_JSChartResource.SessionBreaksPaint.SplitLine.Color,
43265
+ Width:g_JSChartResource.SessionBreaksPaint.SplitLine.Width,
43266
+ Dash:g_JSChartResource.SessionBreaksPaint.SplitLine.Dash
43267
+ };
43268
+
43269
+ this.MapPeriod=new Map(
43270
+ [
43271
+ [0, { SplitType:1 }], //日
43272
+ [1, { SplitType:1 }], //周
43273
+ [2, { SplitType:2 }], //月
43274
+ [21, { SplitType:2 }], //双周
43275
+
43276
+ [4, { SplitType:3 }], //1分钟
43277
+ [5, { SplitType:3 }], //5分钟
43278
+ [6, { SplitType:3 }], //15分钟
43279
+ [7, { SplitType:3 }],
43280
+ [8, { SplitType:3 }],
43281
+ ]); //周期和分割对应关系
43282
+
43283
+ this.SetOption=function(option) //设置
43284
+ {
43285
+ if (option.FrameID>0) this.FrameID=option.FrameID;
43286
+ }
43287
+
43288
+ this.Draw=function()
43289
+ {
43290
+ if (!this.HQChart) return;
43291
+ var hisData=this.HQChart.ChartOperator_Temp_GetHistroyData();;
43292
+ if (!hisData) return; //数据还没有到达
43293
+ if (!IFrameSplitOperator.IsNonEmptyArray(hisData.Data)) return;
43294
+
43295
+ if (this.IsKDataChange(hisData))
43296
+ {
43297
+ this.BuildCacheData(hisData);
43298
+ }
43299
+
43300
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.Data)) return;
43301
+
43302
+ var mainFrame=this.HQChart.Frame.SubFrame[0].Frame;
43303
+ var bHScreen=(this.ChartFrame.IsHScreen===true);
43304
+ var dataWidth=mainFrame.DataWidth;
43305
+ var distanceWidth=mainFrame.DistanceWidth;
43306
+ var xPointCount=mainFrame.XPointCount;
43307
+
43308
+ if (bHScreen)
43309
+ {
43310
+ var border=this.ChartBorder.GetHScreenBorder();
43311
+ var chartright=border.BottomEx;
43312
+ var xOffset=border.TopEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
43313
+ }
43314
+ else
43315
+ {
43316
+ var border=this.ChartBorder.GetBorder();
43317
+ var xOffset=border.LeftEx+distanceWidth/2.0+g_JSChartResource.FrameLeftMargin;
43318
+ var chartright=border.RightEx;
43319
+ }
43320
+
43321
+ var preID=null;
43322
+ var aryBG=[];
43323
+ var bgItem=null;
43324
+ for(var i=hisData.DataOffset,j=0;i<hisData.Data.length && j<xPointCount;++i,++j,xOffset+=(dataWidth+distanceWidth))
43325
+ {
43326
+ var item=this.Data[i];
43327
+ if (!item) continue;
43328
+
43329
+ var left=xOffset;
43330
+ var right=xOffset+dataWidth;
43331
+ if (right>chartright) break;
43332
+ var x=left+(right-left)/2;
43333
+
43334
+ var xStart=left-distanceWidth/2;
43335
+ var xEnd=right+distanceWidth/2;
43336
+
43337
+ var id=item.ID;
43338
+ if (!IFrameSplitOperator.IsNumber(id)) continue;
43339
+
43340
+ if (preID==null)
43341
+ {
43342
+ bgItem={ Start:{ X:xStart }, End:{ X:xEnd }, ColorIndex:id, Count:1, IsStart:false, IsEnd:false };
43343
+ preID=id;
43344
+ if (i-1>=0)
43345
+ {
43346
+ var preItem=this.Data[i-1];
43347
+ if (preItem && preItem.ID!=id) bgItem.IsStart=true;
43348
+ }
43349
+ }
43350
+ else if (preID!=id)
43351
+ {
43352
+ bgItem.End.X=xStart;
43353
+ bgItem.IsEnd=true;
43354
+ aryBG.push(bgItem);
43355
+
43356
+ bgItem={ Start:{ X:xStart }, End:{ X:xEnd }, ColorIndex:id, Count:1, IsStart:true, IsEnd:false };
43357
+ preID=id;
43358
+ }
43359
+ else
43360
+ {
43361
+ bgItem.End.X=xEnd;
43362
+ ++bgItem.Count;
43363
+ }
43364
+ }
43365
+
43366
+ if (bgItem && bgItem.Count>=2) aryBG.push(bgItem);
43367
+
43368
+ this.Canvas.save();
43369
+ this.DrawBG(aryBG);
43370
+ this.Canvas.restore();
43371
+ }
43372
+
43373
+ this.DrawBG=function(aryBG)
43374
+ {
43375
+ if (!IFrameSplitOperator.IsNonEmptyArray(aryBG)) return;
43376
+
43377
+ var bHScreen=(this.ChartFrame.IsHScreen===true);
43378
+ if (bHScreen)
43379
+ {
43380
+ var border=this.ChartBorder.GetHScreenBorder();
43381
+ var top=border.RightEx;
43382
+ var bottom=border.Left;
43383
+ var height=bottom-top;
43384
+ }
43385
+ else
43386
+ {
43387
+ var border=this.ChartBorder.GetBorder();
43388
+ var top=border.TopEx;
43389
+ var bottom=border.BottomEx;
43390
+ var height=bottom-top;
43391
+ }
43392
+
43393
+
43394
+ var bDrawSplitLine=false;
43395
+ if (this.SplitLine.Color) bDrawSplitLine=true;
43396
+ var lineCount=0;
43397
+ for(var i=0;i<aryBG.length;++i)
43398
+ {
43399
+ var item=aryBG[i];
43400
+ var xLeft=item.Start.X;
43401
+ var xRight=item.End.X;
43402
+
43403
+ var index=item.ColorIndex%this.BGColor.length;
43404
+ var bgColor=this.BGColor[index];
43405
+ if (bgColor)
43406
+ {
43407
+ this.Canvas.fillStyle=bgColor;
43408
+ if (bHScreen)
43409
+ this.Canvas.fillRect(ToFixedPoint(top),ToFixedPoint(xLeft),ToFixedRect(height),ToFixedRect(xRight-xLeft));
43410
+ else
43411
+ this.Canvas.fillRect(ToFixedPoint(xLeft),ToFixedPoint(top),ToFixedRect(xRight-xLeft),ToFixedRect(height));
43412
+ }
43413
+
43414
+ if (bDrawSplitLine && item.IsStart)
43415
+ {
43416
+ if (lineCount==0) this.Canvas.beginPath();
43417
+ if (bHScreen)
43418
+ {
43419
+ this.Canvas.moveTo(top, ToFixedPoint(xLeft));
43420
+ this.Canvas.lineTo(bottom, ToFixedPoint(xLeft));
43421
+ }
43422
+ else
43423
+ {
43424
+ this.Canvas.moveTo(ToFixedPoint(xLeft), top);
43425
+ this.Canvas.lineTo(ToFixedPoint(xLeft), bottom);
43426
+ }
43427
+
43428
+ ++lineCount;
43429
+ }
43430
+ }
43431
+
43432
+ if (bDrawSplitLine && lineCount>=1)
43433
+ {
43434
+ if (this.SplitLine.Width>=1) this.Canvas.linewidth=this.SplitLine.Width;
43435
+ if (this.SplitLine.Dash) this.Canvas.setLineDash(this.SplitLine.Dash);
43436
+ if (this.SplitLine.Color) this.Canvas.strokeStyle=this.SplitLine.Color;
43437
+
43438
+ this.Canvas.stroke();
43439
+ }
43440
+ }
43441
+
43442
+ this.IsKDataChange=function(hisData)
43443
+ {
43444
+ if (!this.KDataFeature) return true;
43445
+
43446
+ if (this.KDataFeature.Symbol!=this.HQChart.Symbol) return true;
43447
+ if (this.KDataFeature.Period!=this.HQChart.Period) return true;
43448
+ if (this.KDataFeature.DataCount!=hisData.Data.length) return true;
43449
+
43450
+ return false;
43451
+ }
43452
+
43453
+ this.BuildCacheData=function(hisData)
43454
+ {
43455
+ var period=this.HQChart.Period;
43456
+ if (!this.MapPeriod.has(period))
43457
+ {
43458
+ this.Data=[];
43459
+ this.KDataFeature={ Symbol:this.HQChart.Symbol, Period:period, DataCount:hisData.Data.length };
43460
+ return;
43461
+ }
43462
+
43463
+ var splitType=this.MapPeriod.get(period).SplitType; //1=month 2=year 3=day 4=1hour
43464
+
43465
+ var startDate=0;
43466
+ var index=-1;
43467
+ this.Data=[];
43468
+ for(var i=0;i<hisData.Data.length;++i)
43469
+ {
43470
+ var item=hisData.Data[i];
43471
+ switch(splitType)
43472
+ {
43473
+ case 1: //月
43474
+ if (parseInt(item.Date/100)!=parseInt(startDate/100))
43475
+ {
43476
+ startDate=item.Date;
43477
+ ++index;
43478
+ }
43479
+ this.Data.push({ ID:index, Date:item.Date });
43480
+ break;
43481
+ case 2: //年
43482
+ if (parseInt(item.Date/10000)!=parseInt(startDate/10000))
43483
+ {
43484
+ startDate=item.Date;
43485
+ ++index;
43486
+ }
43487
+ this.Data.push({ ID:index, Date:item.Date });
43488
+ break;
43489
+ case 3: //日
43490
+ if (item.Date!=startDate)
43491
+ {
43492
+ startDate=item.Date;
43493
+ ++index;
43494
+ }
43495
+ this.Data.push({ ID:index, Date:item.Date });
43496
+ break;
43497
+ }
43498
+
43499
+ }
43500
+
43501
+
43502
+ this.KDataFeature={ Symbol:this.HQChart.Symbol, Period:period, DataCount:hisData.Data.length };
43503
+ }
43504
+ }
43505
+
43506
+
43229
43507
 
43230
43508
  //弹幕数据 { X:X偏移, Y:Y偏移, Text:内容, Color:颜色 }
43231
43509
  function BarrageList()
@@ -63471,6 +63749,12 @@ function JSChartResource()
63471
63749
  Font:14*GetDevicePixelRatio() +"px 微软雅黑"
63472
63750
  }
63473
63751
 
63752
+ this.SessionBreaksPaint=
63753
+ {
63754
+ BGColor:[null, "rgb(245,246,246)"],
63755
+ SplitLine:{ Color:'rgb(73,133,231)', Width:1*GetDevicePixelRatio(), Dash:[5*GetDevicePixelRatio(),5*GetDevicePixelRatio()] }
63756
+ }
63757
+
63474
63758
 
63475
63759
  //成交明细
63476
63760
  this.DealList=
@@ -64415,6 +64699,19 @@ function JSChartResource()
64415
64699
  if (item.Font) this.DragMovePaint.Font=item.Font;
64416
64700
  }
64417
64701
 
64702
+ if (style.SessionBreaksPaint)
64703
+ {
64704
+ var item=style.SessionBreaksPaint;
64705
+ if (IFrameSplitOperator.IsNonEmptyArray(item.BGColor)) this.SessionBreaksPaint.BGColor=item.BGColor.slice();
64706
+ if (item.SplitLine)
64707
+ {
64708
+ var subItem=item.SplitLine;
64709
+ if (subItem.Color) this.SessionBreaksPaint.SplitLine.Color=subItem.Color;
64710
+ if (IFrameSplitOperator.IsNumber(subItem.Width)) this.SessionBreaksPaint.SplitLine.Width=subItem.Width;
64711
+ this.SessionBreaksPaint.SplitLine.Dash=subItem.Dash;
64712
+ }
64713
+ }
64714
+
64418
64715
  if (IFrameSplitOperator.IsNumber(style.ToolbarButtonStyle)) this.ToolbarButtonStyle=style.ToolbarButtonStyle;
64419
64716
 
64420
64717
  if (style.Buttons)
@@ -72547,7 +72844,6 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
72547
72844
  this.DataStatus={ MultiDay:false, LatestDay:false }; //MultiDay=多日 LatestDay:当天
72548
72845
 
72549
72846
  this.ZoomStepPixel=50;
72550
-
72551
72847
 
72552
72848
  //集合竞价设置 obj={ Left:true/false, Right:true/false, MultiDay:{Left:, Right:} }
72553
72849
  this.SetCallCationDataBorder=function(obj)
@@ -77535,6 +77831,105 @@ function MinuteChartContainer(uielement,offscreenElement,cacheElement)
77535
77831
 
77536
77832
  return false;
77537
77833
  }
77834
+
77835
+ this.ClearSelectedXBorder=function()
77836
+ {
77837
+ if (!this.GlobalOption || !this.GlobalOption.SelectedXBorder) return;
77838
+ var item=this.GlobalOption.SelectedXBorder;
77839
+ item.Date=null;
77840
+ }
77841
+
77842
+ this.DrawSelectedXBorder=function()
77843
+ {
77844
+ if (this.DayCount<=1) return null;
77845
+ if (this.Frame.IsHScreen===true) return null;
77846
+
77847
+ if (!this.GlobalOption || !this.GlobalOption.SelectedXBorder) return;
77848
+ var item=this.GlobalOption.SelectedXBorder;
77849
+ if (!IFrameSplitOperator.IsPlusNumber(item.Mode)) return;
77850
+ if (!IFrameSplitOperator.IsPlusNumber(item.Date)) return;
77851
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.DayData)) return;
77852
+
77853
+ var rtSelected=null;
77854
+ var dayIndex=item.DayIndex;
77855
+ var border=this.Frame.ChartBorder.GetBorder();
77856
+ var rtClient={ Left:border.Left, Top:border.Top, Right:border.Right, Bottom: border.Bottom };
77857
+ rtClient.Width=rtClient.Right-rtClient.Left;
77858
+ var mainFrame=this.Frame.SubFrame[0].Frame; //主图框架
77859
+ var xPointCount=mainFrame.XPointCount;
77860
+ var minuteCount=mainFrame.MinuteCount;
77861
+ var lDayCount=xPointCount/minuteCount;
77862
+ var dayWidth=rtClient.Width/lDayCount;
77863
+
77864
+ if (border.DayBorder)
77865
+ {
77866
+
77867
+ }
77868
+ else
77869
+ {
77870
+ var dayIndex=-1;
77871
+ for(var i=0;i<this.DayData.length;++i)
77872
+ {
77873
+ var dayItem=this.DayData[i];
77874
+ if (dayItem.Date==item.Date)
77875
+ {
77876
+ dayIndex=this.DayData.length-1-i;
77877
+ break;
77878
+ }
77879
+ }
77880
+
77881
+ if (dayIndex<0) return;
77882
+
77883
+ rtSelected={ Left:border.Left+dayIndex*dayWidth, Width:dayWidth, Top:border.Bottom, Bottom:border.ChartHeight };
77884
+ rtSelected.Right=rtSelected.Left+rtSelected.Width;
77885
+ rtSelected.Height=rtSelected.Bottom-rtSelected.Top;
77886
+ }
77887
+
77888
+
77889
+ mainFrame.Canvas.strokeStyle=g_JSChartResource.SelFrameBorderColor;
77890
+ mainFrame.Canvas.strokeRect(ToFixedPoint(rtSelected.Left),ToFixedPoint(rtSelected.Top),ToFixedRect(rtSelected.Width),ToFixedRect(rtSelected.Height)-1);
77891
+ }
77892
+
77893
+ this.PtInMulitDayMinute=function(x,y)
77894
+ {
77895
+ if (this.DayCount<=1) return null;
77896
+ if (this.Frame.IsHScreen===true) return null;
77897
+ if (!IFrameSplitOperator.IsNonEmptyArray(this.DayData)) return null;
77898
+
77899
+ var border=this.Frame.ChartBorder.GetBorder();
77900
+ var rtClient={ Left:border.Left, Top:border.Top, Right:border.Right, Bottom: border.Bottom };
77901
+ rtClient.Width=rtClient.Right-rtClient.Left;
77902
+ if (!(x>rtClient.Left && x<rtClient.Right && y>rtClient.Top && y<rtClient.Bottom)) return null; //不在窗口里面
77903
+
77904
+ if (border.DayBorder)
77905
+ {
77906
+
77907
+ }
77908
+ else
77909
+ {
77910
+ var mainFrame=this.Frame.SubFrame[0].Frame; //主图框架
77911
+ var xPointCount=mainFrame.XPointCount;
77912
+ var minuteCount=mainFrame.MinuteCount;
77913
+ var lDayCount=xPointCount/minuteCount;
77914
+ var dayWidth=rtClient.Width/lDayCount;
77915
+ var rtDay={ Left:rtClient.Left, Right:dayWidth+rtClient.Left };
77916
+ for(var i=0;i<lDayCount;++i)
77917
+ {
77918
+ if (x>=rtDay.Left && x<=rtDay.Right)
77919
+ {
77920
+ var dayItem=this.DayData[this.DayData.length-1-i];
77921
+ if (!dayItem) return null;
77922
+
77923
+ return dayItem.Date;
77924
+ }
77925
+
77926
+ rtDay.Left+=dayWidth;
77927
+ rtDay.Right+=dayWidth;
77928
+ }
77929
+ }
77930
+
77931
+ return null;
77932
+ }
77538
77933
  }
77539
77934
 
77540
77935
  //盘前数据
@@ -84703,6 +85098,39 @@ function KLineRightMenu(divElement)
84703
85098
  return data;
84704
85099
  }
84705
85100
 
85101
+ this.GetBGSplit=function(chart)
85102
+ {
85103
+ var data=
85104
+ [
85105
+ {
85106
+ text: "启用",
85107
+ click: function ()
85108
+ {
85109
+ chart.CreateExtendChart("SessionBreaksPaint", { });
85110
+ chart.Draw();
85111
+ }
85112
+ },
85113
+ {
85114
+ text: "关闭",
85115
+ click: function ()
85116
+ {
85117
+ var finder=chart.GetExtendChartByClassName("SessionBreaksPaint");
85118
+ if (finder)
85119
+ {
85120
+ chart.DeleteExtendChartByID(finder.Chart.ID);
85121
+ chart.Draw();
85122
+ }
85123
+ }
85124
+ },
85125
+ ];
85126
+
85127
+ var finder=chart.GetExtendChartByClassName("SessionBreaksPaint");
85128
+ if (finder) data[0].selected=true;
85129
+ else data[1].selected=true;
85130
+
85131
+ return data;
85132
+ }
85133
+
84706
85134
 
84707
85135
  this.GetKLineInfo=function(chart)
84708
85136
  {
@@ -84809,6 +85237,10 @@ function KLineRightMenu(divElement)
84809
85237
  {
84810
85238
  text:"工具",
84811
85239
  children:this.GetTools(chart)
85240
+ },
85241
+ {
85242
+ text:"背景分割",
85243
+ children:this.GetBGSplit(chart)
84812
85244
  }
84813
85245
  ];
84814
85246
 
@@ -460,6 +460,12 @@ function GetBlackStyle()
460
460
  TextColor:"rgb(255,255,255)",
461
461
  //Font:14*GetDevicePixelRatio() +"px 微软雅黑"
462
462
  },
463
+
464
+ SessionBreaksPaint:
465
+ {
466
+ BGColor:[null, "rgb(42,46,57)"],
467
+ SplitLine:{ Color:'rgb(73,133,231)', Width:1*GetDevicePixelRatio(), Dash:[5*GetDevicePixelRatio(),5*GetDevicePixelRatio()] }
468
+ },
463
469
 
464
470
  //成交明细
465
471
  DealList:
@@ -51,6 +51,10 @@ HQData.NetworkFilter=function(data, callback)
51
51
  HQData.AnnouncementInfo_RequestData(data,callback);
52
52
  break;
53
53
 
54
+ case "JSSymbolData::GetLatestData":
55
+ HQData.RequestLatestData(data,callback);
56
+ break;
57
+
54
58
 
55
59
 
56
60
 
@@ -282,3 +286,36 @@ HQData.TradeDetail_RequestData=function(data,callback)
282
286
 
283
287
  callback(TEST_TRADE_DETAL_DATA);
284
288
  }
289
+
290
+ HQData.RequestLatestData=function(data,callback)
291
+ {
292
+ data.PreventDefault=true;
293
+ var symbol=data.Request.Data.symbol[0];
294
+ var id=data.Args[0];
295
+ var value=1;
296
+ switch(id)
297
+ {
298
+ case 3:
299
+ value=KLINE_1DAY_DATA.stock[0].yclose;
300
+ break;
301
+ case 4:
302
+ value=KLINE_1DAY_DATA.stock[0].open;
303
+ break;
304
+ case 5:
305
+ value=KLINE_1DAY_DATA.stock[0].high;
306
+ break;
307
+ case 6:
308
+ value=KLINE_1DAY_DATA.stock[0].low;
309
+ break;
310
+ case 7:
311
+ value=KLINE_1DAY_DATA.stock[0].price;
312
+ break;
313
+ case 8:
314
+ value=KLINE_1DAY_DATA.stock[0].vol;
315
+ break;
316
+ }
317
+
318
+ var hqchartData={ symbol:symbol, ver:2.0, data:[ {id:id, value:value }]};
319
+
320
+ callback(hqchartData);
321
+ }