You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

835 lines
23 KiB

  1. /*
  2. copyright (c) 2018 jones
  3. http://www.apache.org/licenses/LICENSE-2.0
  4. 开源项目 https://github.com/jones2000/HQChart
  5. jones_2000@163.com
  6. 小程序信息地雷数据
  7. */
  8. import {
  9. g_JSChartResource,
  10. } from './umychart.resource.wechat.js'
  11. import
  12. {
  13. IFrameSplitOperator,
  14. } from './umychart.framesplit.wechat.js'
  15. var KLINE_INFO_TYPE=
  16. {
  17. INVESTOR:1, //互动易
  18. ANNOUNCEMENT:2, //公告
  19. PFORECAST:3, //业绩预告
  20. ANNOUNCEMENT_QUARTER_1:4, //一季度报
  21. ANNOUNCEMENT_QUARTER_2:5, //半年报
  22. ANNOUNCEMENT_QUARTER_3:6, //2季度报
  23. ANNOUNCEMENT_QUARTER_4:7, //年报
  24. RESEARCH:8, //调研
  25. BLOCKTRADING:9, //大宗交易
  26. TRADEDETAIL:10, //龙虎榜
  27. POLICY:11 //策略信息
  28. }
  29. function KLineInfoData()
  30. {
  31. this.ID;
  32. this.Date;
  33. this.Title;
  34. this.InfoType;
  35. this.ExtendData; //扩展数据
  36. }
  37. /*
  38. 信息地雷
  39. 信息地雷列表
  40. */
  41. function JSKLineInfoMap()
  42. {
  43. }
  44. JSKLineInfoMap.Get=function(id)
  45. {
  46. var infoMap=new Map(
  47. [
  48. ["互动易", {Create:function(){ return new InvestorInfo()} }],
  49. ["公告", {Create:function(){ return new AnnouncementInfo()} }],
  50. ["业绩预告", {Create:function(){ return new PforecastInfo()} }],
  51. ["调研", {Create:function(){ return new ResearchInfo()} }],
  52. ["大宗交易", {Create:function(){ return new BlockTrading()} }],
  53. ["龙虎榜", {Create:function(){ return new TradeDetail()} }],
  54. ["策略选股", {Create: function () { return new PolicyInfo() } }]
  55. ]
  56. );
  57. return infoMap.get(id);
  58. }
  59. function IKLineInfo()
  60. {
  61. this.MaxRequestDataCount=1000;
  62. this.StartDate=20160101;
  63. this.Data;
  64. this.ClassName='IKLineInfo';
  65. this.Explain="IKLineInfo";
  66. this.GetToday=function()
  67. {
  68. var date=new Date();
  69. var today=date.getFullYear()*10000+(date.getMonth()+1)*100+date.getDate();
  70. return today;
  71. }
  72. this.GetRequestData=function(hqChart)
  73. {
  74. var obj=
  75. {
  76. Symbol:hqChart.Symbol ,
  77. MaxRequestDataCount: hqChart.MaxRequestDataCount, //日线数据个数
  78. MaxRequestMinuteDayCount:hqChart.MaxRequestMinuteDayCount, //分钟数据请求的天数
  79. Period:hqChart.Period //周期
  80. };
  81. //K线数据范围
  82. var hisData=null;
  83. if (hqChart.ChartOperator_Temp_GetHistroyData) hisData=hqChart.ChartOperator_Temp_GetHistroyData();
  84. if (hisData)
  85. obj.DateRange=hisData.GetDateRange();
  86. return obj;
  87. }
  88. this.NetworkFilter=function(hqChart,callInfo)
  89. {
  90. if (!hqChart.NetworkFilter) return false;
  91. var self=this;
  92. var param=
  93. {
  94. HQChart:hqChart,
  95. };
  96. var obj=
  97. {
  98. Name:`${this.ClassName}::RequestData`, //类名::函数
  99. Explain:this.Explain,
  100. Request:this.GetRequestData(hqChart),
  101. Self:this,
  102. HQChart:hqChart,
  103. CallInfo:callInfo,
  104. PreventDefault:false
  105. };
  106. if (callInfo)
  107. {
  108. if (callInfo.Update==true)
  109. {
  110. obj.Update={ Start:{ Date: callInfo.StartDate } };
  111. param.Update={ Start:{ Date: callInfo.StartDate } };
  112. }
  113. obj.CallFunctionName=callInfo.FunctionName; //内部调用函数名
  114. }
  115. hqChart.NetworkFilter(obj, function(data)
  116. {
  117. self.RecvData(data,param);
  118. });
  119. if (obj.PreventDefault==true) return true; //已被上层替换,不调用默认的网络请求
  120. return false;
  121. }
  122. }
  123. /*
  124. 互动易
  125. */
  126. function InvestorInfo()
  127. {
  128. this.newMethod=IKLineInfo; //派生
  129. this.newMethod();
  130. delete this.newMethod;
  131. this.ClassName="InvestorInfo";
  132. this.Explain="互动易";
  133. this.RequestData=function(hqChart, obj)
  134. {
  135. var self = this;
  136. var param={ HQChart:hqChart };
  137. this.Data=[];
  138. if (this.NetworkFilter(hqChart,obj)) return; //已被上层替换,不调用默认的网络请求
  139. //请求数据
  140. wx.request({
  141. url: g_JSChartResource.Domain+g_JSChartResource.KLine.Info.Investor.ApiUrl,
  142. data:
  143. {
  144. "filed": ["question","answerdate","symbol","id"],
  145. "symbol": [param.HQChart.Symbol],
  146. "querydate":{"StartDate":this.StartDate,"EndDate":this.GetToday()},
  147. "start":0,
  148. "end":this.MaxRequestDataCount,
  149. },
  150. method:"post",
  151. dataType: "json",
  152. success: function (recvData)
  153. {
  154. self.RecvData(recvData,param);
  155. }
  156. });
  157. return true;
  158. }
  159. this.RecvData=function(recvData,param)
  160. {
  161. var data=recvData.data;
  162. if (!data || !data.list || data.list.length<=0) return;
  163. for (var i in data.list)
  164. {
  165. var item = data.list[i];
  166. var infoData=new KLineInfoData();
  167. infoData.Date=item.answerdate;
  168. infoData.Title=item.question;
  169. infoData.InfoType=KLINE_INFO_TYPE.INVESTOR;
  170. this.Data.push(infoData);
  171. }
  172. param.HQChart.UpdataChartInfo();
  173. param.HQChart.Draw();
  174. }
  175. }
  176. /*
  177. 公告
  178. */
  179. function AnnouncementInfo()
  180. {
  181. this.newMethod=IKLineInfo; //派生
  182. this.newMethod();
  183. delete this.newMethod;
  184. this.ClassName='AnnouncementInfo';
  185. this.Explain="公告";
  186. this.RequestData=function(hqChart, obj)
  187. {
  188. var self = this;
  189. var param={ HQChart:hqChart };
  190. if (obj && obj.Update===true) //更新模式 不清内存数据
  191. {
  192. }
  193. else
  194. {
  195. this.Data=[];
  196. }
  197. if (this.NetworkFilter(hqChart, obj)) return; //已被上层替换,不调用默认的网络请求
  198. //请求数据
  199. wx.request({
  200. url: g_JSChartResource.Domain+g_JSChartResource.KLine.Info.Announcement.ApiUrl,
  201. data:
  202. {
  203. "filed": ["title","releasedate","symbol","id"],
  204. "symbol": [param.HQChart.Symbol],
  205. "querydate":{"StartDate":this.StartDate,"EndDate":this.GetToday()},
  206. "start":0,
  207. "end":this.MaxRequestDataCount,
  208. },
  209. method:"post",
  210. dataType: "json",
  211. success: function (recvData)
  212. {
  213. self.RecvData(recvData,param);
  214. }
  215. });
  216. return true;
  217. }
  218. this.RecvData=function(recvData,param)
  219. {
  220. var data=recvData.data;
  221. if (!data) return;
  222. if (!data.report || data.report.length<=0) return;
  223. for (var i in data.report)
  224. {
  225. var item = data.report[i];
  226. var infoData=new KLineInfoData();
  227. infoData.Date=item.releasedate;
  228. infoData.Title=item.title;
  229. infoData.InfoType=KLINE_INFO_TYPE.ANNOUNCEMENT;
  230. for(var j in item.type)
  231. {
  232. var typeItem=item.type[j];
  233. switch(typeItem)
  234. {
  235. case "一季度报告":
  236. infoData.InfoType=KLINE_INFO_TYPE.ANNOUNCEMENT_QUARTER_1;
  237. break;
  238. case "半年度报告":
  239. infoData.InfoType=KLINE_INFO_TYPE.ANNOUNCEMENT_QUARTER_2;
  240. break;
  241. case "三季度报告":
  242. infoData.InfoType=KLINE_INFO_TYPE.ANNOUNCEMENT_QUARTER_3;
  243. break;
  244. case "年度报告":
  245. infoData.InfoType=KLINE_INFO_TYPE.ANNOUNCEMENT_QUARTER_4;
  246. break;
  247. }
  248. }
  249. this.Data.push(infoData);
  250. }
  251. param.HQChart.UpdataChartInfo();
  252. param.HQChart.Draw();
  253. }
  254. }
  255. /*
  256. 业绩预告
  257. */
  258. function PforecastInfo()
  259. {
  260. this.newMethod=IKLineInfo; //派生
  261. this.newMethod();
  262. delete this.newMethod;
  263. this.ClassName='PforecastInfo';
  264. this.Explain='业绩预告';
  265. this.RequestData=function(hqChart,obj)
  266. {
  267. var self = this;
  268. this.Data = [];
  269. var param={ HQChart:hqChart };
  270. if (this.NetworkFilter(hqChart,obj)) return; //已被上层替换,不调用默认的网络请求
  271. //请求数据
  272. wx.request({
  273. url: g_JSChartResource.Domain+g_JSChartResource.KLine.Info.Pforecast.ApiUrl,
  274. data:
  275. {
  276. "field": ["pforecast.type","pforecast.reportdate","fweek"],
  277. "condition":
  278. [
  279. {"item":["pforecast.reportdate","int32","gte",this.StartDate]}
  280. ],
  281. "symbol": [param.HQChart.Symbol],
  282. "start":0,
  283. "end":this.MaxRequestDataCount,
  284. },
  285. method:"post",
  286. dataType: "json",
  287. success: function (recvData)
  288. {
  289. self.RecvData(recvData,param);
  290. }
  291. });
  292. return true;
  293. }
  294. this.RecvData=function(recvData,param)
  295. {
  296. var data=recvData.data;
  297. if (!data.stock || data.stock.length!=1) return;
  298. if (!data.stock[0].stockday || data.stock[0].stockday.length<=0) return;
  299. for (var i in data.stock[0].stockday)
  300. {
  301. var item = data.stock[0].stockday[i];
  302. if (item.pforecast.length>0)
  303. {
  304. var dataItem=item.pforecast[0];
  305. var infoData=new KLineInfoData();
  306. infoData.Date= item.date;
  307. infoData.Title=dataItem.type;
  308. infoData.InfoType=KLINE_INFO_TYPE.PFORECAST;
  309. infoData.ExtendData={ Type:dataItem.type, ReportDate:dataItem.reportdate}
  310. if(item.fweek) //未来周涨幅
  311. {
  312. infoData.ExtendData.FWeek={};
  313. if (item.fweek.week1!=null) infoData.ExtendData.FWeek.Week1=item.fweek.week1;
  314. if (item.fweek.week4!=null) infoData.ExtendData.FWeek.Week4=item.fweek.week4;
  315. }
  316. this.Data.push(infoData);
  317. }
  318. }
  319. param.HQChart.UpdataChartInfo();
  320. param.HQChart.Draw();
  321. }
  322. }
  323. /*
  324. 投资者关系 (调研)
  325. */
  326. function ResearchInfo()
  327. {
  328. this.newMethod=IKLineInfo; //派生
  329. this.newMethod();
  330. delete this.newMethod;
  331. this.ClassName='ResearchInfo';
  332. this.Explain='投资者关系';
  333. this.RequestData=function(hqChart,obj)
  334. {
  335. var self = this;
  336. var param= { HQChart:hqChart };
  337. this.Data=[];
  338. if (this.NetworkFilter(hqChart,obj)) return; //已被上层替换,不调用默认的网络请求
  339. //请求数据
  340. wx.request({
  341. url: g_JSChartResource.Domain+g_JSChartResource.KLine.Info.Research.ApiUrl,
  342. data:
  343. {
  344. "filed": ["releasedate","researchdate","level","symbol","id"],
  345. "querydate":{"StartDate":this.StartDate,"EndDate":this.GetToday()},
  346. "symbol": [param.HQChart.Symbol],
  347. "start":0,
  348. "end":this.MaxRequestDataCount,
  349. },
  350. method:"post",
  351. dataType: "json",
  352. success: function (recvData)
  353. {
  354. self.RecvData(recvData,param);
  355. }
  356. });
  357. return true;
  358. }
  359. this.RecvData=function(recvData,param)
  360. {
  361. var data=recvData.data;
  362. if (!data) return;
  363. if (!data.list || data.list.length<=0) return;
  364. for (var i in data.list)
  365. {
  366. var item = data.list[i];
  367. var infoData=new KLineInfoData();
  368. infoData.ID=item.id;
  369. infoData.Date= item.researchdate;
  370. infoData.InfoType=KLINE_INFO_TYPE.RESEARCH;
  371. infoData.ExtendData={ Level:item.level };
  372. this.Data.push(infoData);
  373. }
  374. param.HQChart.UpdataChartInfo();
  375. param.HQChart.Draw();
  376. }
  377. }
  378. /*
  379. 大宗交易
  380. */
  381. function BlockTrading()
  382. {
  383. this.newMethod=IKLineInfo; //派生
  384. this.newMethod();
  385. delete this.newMethod;
  386. this.ClassName='BlockTrading';
  387. this.Explain='大宗交易';
  388. this.RequestData=function(hqChart,obj)
  389. {
  390. var self = this;
  391. var param={ HQChart:hqChart,};
  392. this.Data=[];
  393. if (this.NetworkFilter(hqChart,obj)) return; //已被上层替换,不调用默认的网络请求
  394. //请求数据
  395. wx.request({
  396. url: g_JSChartResource.Domain+g_JSChartResource.KLine.Info.BlockTrading.ApiUrl,
  397. data:
  398. {
  399. "field": ["blocktrading.price","blocktrading.vol","blocktrading.premium","fweek","price"],
  400. "condition":
  401. [
  402. {"item":["date","int32","gte",this.StartDate]},
  403. {"item":["blocktrading.vol","int32","gte","0"]}
  404. ],
  405. "symbol": [param.HQChart.Symbol],
  406. "start":0,
  407. "end":this.MaxRequestDataCount,
  408. },
  409. method:"post",
  410. dataType: "json",
  411. success: function (recvData)
  412. {
  413. self.RecvData(recvData,param);
  414. }
  415. });
  416. return true;
  417. }
  418. this.RecvData=function(recvData,param)
  419. {
  420. var data=recvData.data;
  421. if (!data || !data.stock || data.stock.length!=1) return;
  422. if (!data.stock[0].stockday || data.stock[0].stockday.length<=0) return;
  423. for (var i in data.stock[0].stockday)
  424. {
  425. var item = data.stock[0].stockday[i];
  426. var infoData=new KLineInfoData();
  427. infoData.Date= item.date;
  428. infoData.InfoType=KLINE_INFO_TYPE.BLOCKTRADING;
  429. infoData.ExtendData=
  430. {
  431. Price:item.blocktrading.price, //交易价格
  432. Premium:item.blocktrading.premium, //溢价 (百分比%)
  433. Vol:item.blocktrading.vol, //交易金额单位(万元)
  434. ClosePrice:item.price, //收盘价
  435. };
  436. if(item.fweek) //未来周涨幅
  437. {
  438. infoData.ExtendData.FWeek={};
  439. if (item.fweek.week1!=null) infoData.ExtendData.FWeek.Week1=item.fweek.week1;
  440. if (item.fweek.week4!=null) infoData.ExtendData.FWeek.Week4=item.fweek.week4;
  441. }
  442. this.Data.push(infoData);
  443. }
  444. param.HQChart.UpdataChartInfo();
  445. param.HQChart.Draw();
  446. }
  447. }
  448. /*
  449. 龙虎榜
  450. */
  451. function TradeDetail()
  452. {
  453. this.newMethod=IKLineInfo; //派生
  454. this.newMethod();
  455. delete this.newMethod;
  456. this.ClassName='TradeDetail';
  457. this.Explain='龙虎榜';
  458. this.RequestData=function(hqChart,obj)
  459. {
  460. var self = this;
  461. var param={ HQChart:hqChart };
  462. this.Data=[];
  463. if (this.NetworkFilter(hqChart,obj)) return; //已被上层替换,不调用默认的网络请求
  464. //请求数据
  465. wx.request({
  466. url: g_JSChartResource.Domain+g_JSChartResource.KLine.Info.TradeDetail.ApiUrl,
  467. data:
  468. {
  469. "field": ["tradedetail.typeexplain","tradedetail.type","fweek"],
  470. "condition":
  471. [
  472. {"item":["date","int32","gte",this.StartDate]},
  473. {"item":["tradedetail.type","int32","gte","0"]}
  474. ],
  475. "symbol": [param.HQChart.Symbol],
  476. "start":0,
  477. "end":this.MaxRequestDataCount,
  478. },
  479. method:"post",
  480. dataType: "json",
  481. success: function (recvData)
  482. {
  483. self.RecvData(recvData,param);
  484. }
  485. });
  486. return true;
  487. }
  488. this.RecvData=function(recvData,param)
  489. {
  490. var data=recvData.data;
  491. if (!data || !data.stock || data.stock.length!=1) return;
  492. if (!data.stock[0].stockday || data.stock[0].stockday.length<=0) return;
  493. for (var i in data.stock[0].stockday)
  494. {
  495. var item = data.stock[0].stockday[i];
  496. var infoData=new KLineInfoData();
  497. infoData.Date= item.date;
  498. infoData.InfoType=KLINE_INFO_TYPE.TRADEDETAIL;
  499. infoData.ExtendData={Detail:new Array()};
  500. for(var j in item.tradedetail)
  501. {
  502. var tradeItem=item.tradedetail[j];
  503. infoData.ExtendData.Detail.push({"Type":tradeItem.type,"TypeExplain":tradeItem.typeexplain});
  504. }
  505. if(item.fweek) //未来周涨幅
  506. {
  507. infoData.ExtendData.FWeek={};
  508. if (item.fweek.week1!=null) infoData.ExtendData.FWeek.Week1=item.fweek.week1;
  509. if (item.fweek.week4!=null) infoData.ExtendData.FWeek.Week4=item.fweek.week4;
  510. }
  511. this.Data.push(infoData);
  512. }
  513. param.HQChart.UpdataChartInfo();
  514. param.HQChart.Draw();
  515. }
  516. }
  517. //策略信息
  518. function PolicyInfo()
  519. {
  520. this.newMethod = IKLineInfo; //派生
  521. this.newMethod();
  522. delete this.newMethod;
  523. this.ClassName='PolicyInfo';
  524. this.Explain='策略信息';
  525. this.PolicyList = []; //筛选的策略名字 {Name:策略名, Guid:策略的GUID}
  526. this.SetPolicyList=function(aryPolicy)
  527. {
  528. for(let i in aryPolicy)
  529. {
  530. this.PolicyList.push({Name:aryPolicy[i]});
  531. }
  532. }
  533. this.RequestData = function (hqChart,obj)
  534. {
  535. var self = this;
  536. this.Data = [];
  537. var param = { HQChart: hqChart };
  538. // setTimeout(function () { self.RecvData(null, param); }, 2000); //模拟数据到达
  539. if (this.NetworkFilter(hqChart,obj)) return; //已被上层替换,不调用默认的网络请求
  540. //请求数据
  541. wx.request({
  542. url: g_JSChartResource.Domain + g_JSChartResource.KLine.Info.Policy.ApiUrl,
  543. data: {
  544. "symbol": [param.HQChart.Symbol],
  545. field: ["policy"],
  546. "condition": [
  547. { "item": ["date", "int32", "gte", this.StartDate, "lte", this.GetToday()] }],
  548. "start": 0,
  549. "end": this.MaxRequestDataCount
  550. },
  551. method: "post",
  552. dataType: "json",
  553. success: function (recvData) {
  554. self.RecvData(recvData, param);
  555. }
  556. })
  557. return true;
  558. }
  559. this.RecvData = function (recvData, param)
  560. {
  561. var data = recvData.data;
  562. if (!data.stock || data.stock.length != 1) return;
  563. if (!data.stock[0].stockday || data.stock[0].stockday.length <= 0) return;
  564. var setName=new Set();
  565. for(var i in this.PolicyList) //把需要过滤的策略名字放set里, 方便后面过滤
  566. {
  567. setName.add(this.PolicyList[i].Name);
  568. }
  569. for (var i in data.stock[0].stockday)
  570. {
  571. var item = data.stock[0].stockday[i];
  572. var infoData = new KLineInfoData();
  573. infoData.Date = item.date;
  574. infoData.InfoType = KLINE_INFO_TYPE.POLICY;
  575. infoData.ExtendData = [];
  576. for (var j in item.policy)
  577. {
  578. var name = item.policy[j].name;
  579. if (setName.has(name)) infoData.ExtendData.push({ Name: name });
  580. }
  581. if (infoData.ExtendData.length>0) this.Data.push(infoData);
  582. }
  583. param.HQChart.UpdataChartInfo();
  584. param.HQChart.Draw();
  585. if (param.HQChart.UpdateUICallback) param.HQChart.UpdateUICallback('RecvPolicyInfoData', this);
  586. }
  587. }
  588. ////////////////////////////////////////////////////////////////////////////////////////////
  589. // 走势图信息地雷
  590. //
  591. //
  592. ////////////////////////////////////////////////////////////////////////////////////////////
  593. function JSMinuteInfoMap() { }
  594. JSMinuteInfoMap.InfoMap = new Map(
  595. [
  596. ["大盘异动", { Create: function () { return new MarketEventInfo() } }],
  597. ]);
  598. JSMinuteInfoMap.Get = function (id)
  599. {
  600. return JSMinuteInfoMap.InfoMap.get(id);
  601. }
  602. function IMinuteInfo()
  603. {
  604. this.Data;
  605. this.ClassName = 'IMinuteInfo';
  606. }
  607. //////////////////////////////////////////////////////////////////////
  608. // 大盘异动
  609. // 结构 {Date:日期 Time:时间, Title:标题, Type:0 }
  610. ////////////////////////////////////////////////////////////////////
  611. function MarketEventInfo()
  612. {
  613. this.newMethod = IMinuteInfo; //派生
  614. this.newMethod();
  615. delete this.newMethod;
  616. this.ClassName = 'MarketEventInfo';
  617. this.RequestData = function (hqChart)
  618. {
  619. var self = this;
  620. this.Data = [];
  621. var param =
  622. {
  623. HQChart: hqChart
  624. };
  625. var url = g_JSChartResource.CacheDomain + '/cache/analyze/shszevent/marketevent/concept/' + hqChart.TradeDate + '.json';
  626. if (hqChart.NetworkFilter) {
  627. var obj =
  628. {
  629. Name: 'MarketEventInfo::RequestData', //类名::
  630. Explain: '大盘异动',
  631. Request: { Url: url, Type: 'Get', Data: { Date: hqChart.TradeDate, Symbol: hqChart.Symbol } },
  632. Self: this,
  633. PreventDefault: false
  634. };
  635. hqChart.NetworkFilter(obj, function (data)
  636. {
  637. self.RecvData(data, param);
  638. param.HQChart.UpdataChartInfo();
  639. param.HQChart.Draw();
  640. });
  641. if (obj.PreventDefault == true) return; //已被上层替换,不调用默认的网络请求
  642. }
  643. //请求数据
  644. wx.request({
  645. url: url,
  646. method: "get",
  647. dataType: "json",
  648. success: function (recvData) {
  649. self.RecvData(recvData, param);
  650. },
  651. error: function (http, e) {
  652. console.warn("[MarketEventInfo::RequestData] error, http ", e, http);
  653. }
  654. });
  655. return true;
  656. }
  657. this.RecvData = function (recvData, param)
  658. {
  659. var data=recvData.data;
  660. for (var i in data.event)
  661. {
  662. var event = data.event[i];
  663. for (var j in event.data)
  664. {
  665. var item = event.data[j];
  666. if (Array.isArray(item))
  667. {
  668. if (item.length < 2) continue;
  669. var info = { Date: event.date, Time: item[0], Title: item[1], Type: 0 };
  670. this.Data.push(info);
  671. }
  672. else //2.0 格式
  673. {
  674. if (!IFrameSplitOperator.IsNumber(item.Date) || !IFrameSplitOperator.IsNumber(item.Time) || !item.Title) continue;
  675. var info={ Date:item.Date, Time:item.Time, Title:item.Title, Type:0 };
  676. if (item.Color) info.Color=item.Color;
  677. if (item.BGColor) info.BGColor=item.BGColor;
  678. if (IFrameSplitOperator.IsNumber(item.Price)) info.Price=item.Price;
  679. if (item.Content) info.Content=item.Content;
  680. if (item.Link) info.Link=item.Link;
  681. this.Data.push(info);
  682. }
  683. }
  684. }
  685. param.HQChart.UpdataChartInfo();
  686. param.HQChart.Draw();
  687. }
  688. }
  689. //导出统一使用JSCommon命名空间名
  690. export
  691. {
  692. JSKLineInfoMap,
  693. KLINE_INFO_TYPE,
  694. JSMinuteInfoMap,
  695. };
  696. /*
  697. module.exports =
  698. {
  699. JSCommonKLineInfo:
  700. {
  701. JSKLineInfoMap: JSKLineInfoMap,
  702. KLINE_INFO_TYPE: KLINE_INFO_TYPE,
  703. JSMinuteInfoMap: JSMinuteInfoMap,
  704. },
  705. //单个类导出
  706. JSCommon_JSKLineInfoMap: JSKLineInfoMap,
  707. JSCommon_KLINE_INFO_TYPE: KLINE_INFO_TYPE,
  708. JSCommon_JSMinuteInfoMap: JSMinuteInfoMap,
  709. };
  710. */