From 92dd4aaaa7fb67c4d65df18e0e69cbc6775575d3 Mon Sep 17 00:00:00 2001
From: lxf <1371462558@qq.com>
Date: Wed, 23 Apr 2025 19:19:13 +0800
Subject: [PATCH] feat 沙特添加石油黄金

---
 src/eastmoney/HQData.js |  174 +++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 105 insertions(+), 69 deletions(-)

diff --git a/src/eastmoney/HQData.js b/src/eastmoney/HQData.js
index f3ea47e..dc38901 100644
--- a/src/eastmoney/HQData.js
+++ b/src/eastmoney/HQData.js
@@ -21,16 +21,16 @@
 // import Chart from '../../jscommon/umychart.vue/umychart.vue.js'
 // var HQChart={ Chart:Chart };
 
-function HQData() {}
+function HQData() { }
 window.globalVar = apiRrl.baseURL;
 HQData.Explain = "东财财富网接口";
 
-HQChart.Chart.JSConsole.Chart.Log = () => {};
-HQChart.Chart.JSConsole.Complier.Log = () => {};
+HQChart.Chart.JSConsole.Chart.Log = () => { };
+HQChart.Chart.JSConsole.Complier.Log = () => { };
 
 HQData.Log = HQChart.Chart.JSConsole.Chart.Log;
 
-HQData.SetMinuteChartCoordinate = function() {
+HQData.SetMinuteChartCoordinate = function () {
   HQChart.Chart.MARKET_SUFFIX_NAME.IsShowAvPrice = upperSymbol => {
     return HQData.IsShowAvPrice(upperSymbol);
   };
@@ -303,7 +303,7 @@
   }; // 获取市场状态 0=闭市 1=盘前 2=盘中 3=盘后
 };
 
-HQData.NetworkFilter = function(data, callback) {
+HQData.NetworkFilter = function (data, callback) {
   HQData.Log(`[HQData::NetworkFilter] ${HQData.Explain}`, data);
 
   switch (data.Name) {
@@ -333,7 +333,7 @@
   }
 };
 
-HQData.RequestMinuteData = function(data, callback) {
+HQData.RequestMinuteData = function (data, callback) {
   data.PreventDefault = true;
 
   var symbol = data.Request.Data.symbol[0]; // 请求的股票代码
@@ -344,13 +344,13 @@
   $.ajax({
     url: obj.Url,
     type: "GET",
-    success: function(recvData) {
+    success: function (recvData) {
       HQData.RecvMinuteData(recvData, callback, { Data: data, Obj: obj });
     }
   });
 };
 
-HQData.RecvMinuteData = function(recvData, callback, option) {
+HQData.RecvMinuteData = function (recvData, callback, option) {
   // var data = recvData.data
   var stock = { symbol: option.Obj.Symbol, minute: [] };
   // stock.name = data.name
@@ -364,7 +364,12 @@
   var isLME = HQChart.Chart.MARKET_SUFFIX_NAME.IsLME(symbolUpper); // 伦敦金属交易所
   // if (isChinaFutrues) stock.yclearing = data.preSettlement // 期货昨结算价
   // for (var i = 0; i < data.trends.length; ++i) {
-  recvData = JSON.parse(recvData);
+  if (typeof recvData === 'string') {
+    recvData = JSON.parse(recvData);
+  }
+
+  console.log('recvData: ', recvData)
+
   // var date = moment.unix(strItem.t || strItem.id).format("YYYYMMDD");
   // //
   // var open = parseFloat(strItem.o || strItem.open);
@@ -416,7 +421,7 @@
   }
 };
 
-HQData.RequestMinuteDaysData = function(data, callback) {
+HQData.RequestMinuteDaysData = function (data, callback) {
   data.PreventDefault = true;
   var symbol = data.Request.Data.symbol; // 请求的股票代码
   var dayCount = data.Request.Data.daycount;
@@ -427,7 +432,7 @@
   $.ajax({
     url: obj.Url,
     type: "GET",
-    success: function(recvData) {
+    success: function (recvData) {
       if (
         HQChart.Chart.MARKET_SUFFIX_NAME.IsSHFE(symbolUpper) ||
         HQChart.Chart.MARKET_SUFFIX_NAME.IsDCE(symbolUpper) ||
@@ -445,7 +450,7 @@
   });
 };
 
-HQData.RecvMinuteDaysData = function(recvData, callback, option) {
+HQData.RecvMinuteDaysData = function (recvData, callback, option) {
   var data = recvData.data;
   var aryDayData = [];
   var itemDay = null;
@@ -535,7 +540,7 @@
 };
 
 // 期货模式
-HQData.RecvMinuteDaysDataV2 = function(recvData, callback, option) {
+HQData.RecvMinuteDaysDataV2 = function (recvData, callback, option) {
   var data = recvData.data;
   var aryDayData = [];
   var yClose = data.preClose;
@@ -648,7 +653,7 @@
   }
 };
 
-HQData.CorrectMinuteData = function(minuteData, xDatetime) {
+HQData.CorrectMinuteData = function (minuteData, xDatetime) {
   if (minuteData.length === xDatetime.length) return null;
 
   var mapData = new Map();
@@ -676,7 +681,7 @@
   return newMinuteData;
 };
 // HQChart内置代码转成东方财富代码
-HQData.GetInternalSymbol = function(symbol) {
+HQData.GetInternalSymbol = function (symbol) {
   var aryData = symbol.split(".");
   var symbolUpper = symbol.toUpperCase();
   var arySymbol = "";
@@ -815,7 +820,7 @@
     }
     */
 };
-HQData.GetMinuteApiUrl = function(symbol, dayCount) {
+HQData.GetMinuteApiUrl = function (symbol, dayCount) {
   var internalSymbol = HQData.GetInternalSymbol(symbol);
   console.log("查看", internalSymbol);
   // var url=`http://push2his.eastmoney.com/api/qt/stock/trends2/get?fields1=f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13&fields2=f51,f52,f53,f54,f55,f56,f57,f58&secid=${internalSymbol.Market}.${internalSymbol.Symbol}&ndays=1&iscr=0&iscca=0`
@@ -824,9 +829,17 @@
   const kLines = JSON.parse(window.localStorage.getItem("kLine"));
   console.log("kLines===", kLines);
   // if (kLines.type === 'IN' ||kLines.type === 'US') {
-  url =
-    window.globalVar +
-    `api/stock/getKData.do?pid=${kLines.pid}&interval=1&stockType=${kLines.type}`;
+  // debugger;
+  if (kLines.type == "HJ") {
+    url =
+      window.globalVar +
+      `api/stock/getKData.do?pid=8888&interval=1&stockType=${kLines.name}`;
+  } else {
+    url =
+      window.globalVar +
+      `api/stock/getKData.do?pid=${kLines.pid}&interval=1&stockType=${kLines.type}`;
+  }
+
   // }
   // if (kLines.type === 'qh') {
   // url = window.globalVar+`api/stock/getKData.do?symbol=${encodeURIComponent(kLines.pid)}&cmd=history&period=1440&stockType=${kLines.type}`
@@ -844,17 +857,17 @@
   };
 };
 
-HQData.IsSHSZ = function(symbol) {
+HQData.IsSHSZ = function (symbol) {
   // 是否是A股
   return HQChart.Chart.MARKET_SUFFIX_NAME.IsSHSZ(symbol);
 };
 
-HQData.IsChinaFutures = function(symbol) {
+HQData.IsChinaFutures = function (symbol) {
   // 国内期货
   return HQChart.Chart.MARKET_SUFFIX_NAME.IsChinaFutures(symbol);
 };
 
-HQData.IsShowAvPrice = function(upperSymbol) {
+HQData.IsShowAvPrice = function (upperSymbol) {
   // 是否显示均价
   if (HQChart.Chart.MARKET_SUFFIX_NAME.IsLME(upperSymbol)) return false;
   if (upperSymbol === "UDI_100.ET") return false;
@@ -862,7 +875,7 @@
   return true;
 };
 // 是否显示第2个成交量图
-HQData.IsShowVolChart = function(upperSymbol) {
+HQData.IsShowVolChart = function (upperSymbol) {
   if (HQChart.Chart.MARKET_SUFFIX_NAME.IsForeignExchange(upperSymbol))
     return false;
   if (upperSymbol === "UDI_100.ET") return false;
@@ -874,7 +887,7 @@
 //
 //  美国洲际交易所 重柴油
 //
-HQData.GetCustomTradeTimeData = function(key) {
+HQData.GetCustomTradeTimeData = function (key) {
   // 美国洲际交易所 重柴油 数据从7:50开始,是盘前数据吗????
   if (key === "IPE_G") {
     // 7:50-6:00
@@ -971,7 +984,7 @@
 // 美股走势图X轴坐标
 //
 /// /////////////////////////////////////////////////////////////////////////
-HQData.CreateUSAData = function(minuteStringData) {
+HQData.CreateUSAData = function (minuteStringData) {
   const TIME_SPLIT = [
     { Start: 2130, End: 2359 },
     { Start: 0, End: 400 }
@@ -980,7 +993,7 @@
   return minuteStringData.CreateTimeData(TIME_SPLIT);
 };
 
-HQData.GetUSAData = function(upperSymbol, width) {
+HQData.GetUSAData = function (upperSymbol, width) {
   const SHZE_MINUTE_X_COORDINATE = {
     // 完整模式
     Full: [
@@ -1017,7 +1030,7 @@
     Count: 391, //! ! 一共的分钟数据个数,不要填错了
     MiddleCount: 195, // Count/2 就可以。
 
-    GetData: function(width) {
+    GetData: function (width) {
       if (width < 200) return this.Min;
       else if (width < 400) return this.Simple;
 
@@ -1032,7 +1045,7 @@
 // A股走势图X轴坐标
 //
 /// ////////////////////////////////////////////////////////////////////////
-HQData.CreateSHSZData = function(minuteStringData) {
+HQData.CreateSHSZData = function (minuteStringData) {
   const TIME_SPLIT = [
     { Start: 930, End: 1130 },
     { Start: 1301, End: 1500 }
@@ -1041,7 +1054,7 @@
   return minuteStringData.CreateTimeData(TIME_SPLIT);
 };
 
-HQData.GetSHSZData = function(upperSymbol, width) {
+HQData.GetSHSZData = function (upperSymbol, width) {
   const SHZE_MINUTE_X_COORDINATE = {
     // 完整模式
     Full: [
@@ -1073,7 +1086,7 @@
     Count: 241, //! ! 一共的分钟数据个数,不要填错了
     MiddleCount: 121, // Count/2 就可以。
 
-    GetData: function(width) {
+    GetData: function (width) {
       if (width < 200) return this.Min;
       else if (width < 400) return this.Simple;
 
@@ -1088,7 +1101,7 @@
 // 港股走势图X轴坐标
 //
 /// ////////////////////////////////////////////////////////////////////////////////////
-HQData.CreateHKData = function(minuteStringData) {
+HQData.CreateHKData = function (minuteStringData) {
   const TIME_SPLIT = [
     { Start: 930, End: 1200 },
     { Start: 1301, End: 1600 }
@@ -1097,7 +1110,7 @@
   return minuteStringData.CreateTimeData(TIME_SPLIT);
 };
 
-HQData.GetHKData = function(upperSymbol, width) {
+HQData.GetHKData = function (upperSymbol, width) {
   const HK_MINUTE_X_COORDINATE = {
     // 完整模式
     Full: [
@@ -1133,7 +1146,7 @@
     Count: 331,
     MiddleCount: 150,
 
-    GetData: function(width) {
+    GetData: function (width) {
       if (width < 200) return this.Min;
       else if (width < 450) return this.Simple;
 
@@ -1147,7 +1160,7 @@
 //  外汇走势图X轴坐标
 //
 /// /////////////////////////////////////////////////////////////////////////////////////
-HQData.CreateForeignExchangeData = function(minuteStringData) {
+HQData.CreateForeignExchangeData = function (minuteStringData) {
   // 外汇 5:00 - 4:59
   const TIME_SPLIT = [
     { Start: 500, End: 2359 },
@@ -1157,7 +1170,7 @@
   return minuteStringData.CreateTimeData(TIME_SPLIT);
 };
 
-HQData.GetForeignExchangeData = function(upperSymbol, width) {
+HQData.GetForeignExchangeData = function (upperSymbol, width) {
   const FOREX_MINUTE_X_COORDINATE = {
     // 完整模式
     Full: [
@@ -1194,7 +1207,7 @@
     Count: 1440,
     MiddleCount: 600,
 
-    GetData: function(width) {
+    GetData: function (width) {
       if (width < 200) return this.Min;
       else if (width < 450) return this.Simple;
 
@@ -1209,7 +1222,7 @@
 //  美元指数
 //
 /// ////////////////////////////////////////////////////////////////////
-HQData.GetETTimeData = function(upperSymbol, minuteStringData) {
+HQData.GetETTimeData = function (upperSymbol, minuteStringData) {
   if (upperSymbol === "UDI_100.ET") {
     // 美元指数 6:00 - 5:59
     const TIME_SPLIT = [
@@ -1221,7 +1234,7 @@
   }
 };
 
-HQData.GetETData = function(upperSymbol) {
+HQData.GetETData = function (upperSymbol) {
   if (upperSymbol === "UDI_100.ET") {
     const data = {
       // 完整模式
@@ -1260,7 +1273,7 @@
       Count: 1440,
       MiddleCount: 600,
 
-      GetData: function(width) {
+      GetData: function (width) {
         if (width < 200) return this.Min;
         else if (width < 450) return this.Simple;
 
@@ -1272,7 +1285,7 @@
   }
 };
 
-HQData.GetETDecimal = function(symbol) {
+HQData.GetETDecimal = function (symbol) {
   var upperSymbol = symbol.toUpperCase();
   if (upperSymbol === "UDI_100.ET") return 2;
 
@@ -1283,7 +1296,7 @@
 // K线数据对接
 //
 /// //////////////////////////////////////////////////////////////////////////////
-HQData.GetKLineApiUrl = function(symbol, period, right, option) {
+HQData.GetKLineApiUrl = function (symbol, period, right, option) {
   console.log(111111, symbol, period, right, option);
   // https://push2his.eastmoney.com/api/qt/stock/kline/get?fields1=f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13&fields2=f51,f52,f53,f54,f55,f56,f57,f58,f59,f60,f61&beg=0&end=20500101&ut=fa5fd1943c7b386f172d6893dbfba10b&rtntype=6&secid=0.300059&klt=101&fqt=0
 
@@ -1299,9 +1312,18 @@
   const kLines = JSON.parse(window.localStorage.getItem("kLine"));
   // if (kLines.type === 'IN' ||kLines.type === 'US') {
   const interval = ["D", "W", "M"][period];
-  var url =
-    window.globalVar +
-    `api/stock/getKData.do?pid=${kLines.pid}&interval=${interval}&stockType=${kLines.type}`;
+
+  if (kLines.type === 'HJ') {
+    url =
+      window.globalVar +
+      `api/stock/getKData.do?pid=8888&interval=${interval}&stockType=${kLines.name}`;
+  } else {
+    var url = window.globalVar + `api/stock/getKData.do?pid=${kLines.pid}&interval=${interval}&stockType=${kLines.type}`;
+  }
+
+  // var url =
+  //   window.globalVar +
+  //   `api/stock/getKData.do?pid=${kLines.pid}&interval=${interval}&stockType=${kLines.type}`;
   // }
   const interval2 = [1440, 10080, 10080][period];
   // const interval2 = [1440, 10080, 43200][period]
@@ -1328,7 +1350,7 @@
   };
 };
 
-HQData.GetMinuteKLineApiUrl = function(symbol, period, right, option) {
+HQData.GetMinuteKLineApiUrl = function (symbol, period, right, option) {
   var internalSymbol = HQData.GetInternalSymbol(symbol);
   var internalPeriod = HQData.GetInternalPeriod(period);
   var internalRight = HQData.GetInternalRight(right);
@@ -1338,9 +1360,19 @@
     var beginDate = option.End;
   } else {
     const kLines = JSON.parse(window.localStorage.getItem("kLine"));
-    url =
-      window.globalVar +
-      `api/stock/getKData.do?pid=${kLines.pid}&interval=${internalPeriod}&stockType=${kLines.type}`;
+    if (kLines.type === 'HJ') {
+      url =
+        window.globalVar +
+        `api/stock/getKData.do?pid=8888&interval=${internalPeriod}&stockType=${kLines.name}`;
+    } else {
+      url =
+        window.globalVar +
+        `api/stock/getKData.do?pid=${kLines.pid}&interval=${internalPeriod}&stockType=${kLines.type}`;
+    }
+
+    // url =
+    //   window.globalVar +
+    //   `api/stock/getKData.do?pid=${kLines.pid}&interval=${internalPeriod}&stockType=${kLines.type}`;
 
   }
 
@@ -1353,7 +1385,7 @@
   };
 };
 
-HQData.GetInternalPeriod = function(periodID) {
+HQData.GetInternalPeriod = function (periodID) {
   var MAP_PERIOD = new Map([
     [0, 101], // day
     [1, 102], // week
@@ -1369,13 +1401,13 @@
   return MAP_PERIOD.get(periodID);
 };
 
-HQData.GetInternalRight = function(right) {
+HQData.GetInternalRight = function (right) {
   if (right === 0) return 0;
   else if (right === 1) return 1;
   else return 2;
 };
 // 是否支持复权
-HQData.IsEnableRight = function(period, symbol) {
+HQData.IsEnableRight = function (period, symbol) {
   var symbolUpper = null;
   symbolUpper = symbol.toUpperCase();
   // var symbolUpper = symbol.toUpperCase()
@@ -1401,7 +1433,7 @@
   return false;
 };
 
-HQData.RequestFlowCapitalData = function(data, callback) {
+HQData.RequestFlowCapitalData = function (data, callback) {
   data.PreventDefault = true;
   var hqChartData = { code: 0, stock: [] }; // 如果没有数据就填空
 
@@ -1410,7 +1442,7 @@
   }
 };
 
-HQData.RequestHistoryData = function(data, callback) {
+HQData.RequestHistoryData = function (data, callback) {
   data.PreventDefault = true;
   var symbol = data.Request.Data.symbol; // 请求的股票代码
   var period = data.Self.Period; // 周期
@@ -1422,13 +1454,13 @@
   $.ajax({
     url: obj.Url,
     type: "GET",
-    success: function(recvData) {
+    success: function (recvData) {
       HQData.RecvHistoryData(recvData, callback, { Data: data, Obj: obj });
     }
   });
 };
 
-HQData.RecvHistoryData = function(recvData, callback, option) {
+HQData.RecvHistoryData = function (recvData, callback, option) {
   // var data = recvData.data
 
   var hqChartData = { code: 0, data: [] };
@@ -1439,7 +1471,9 @@
   const kLines = JSON.parse(window.localStorage.getItem("kLine"));
   // var yClose = data.preKPrice
   var yClose = "500";
-  recvData = JSON.parse(recvData);
+  if (typeof recvData === 'string') {
+    recvData = JSON.parse(recvData);
+  }
 
   if (kLines.type === "SZHB") {
     recvData = recvData.data;
@@ -1498,7 +1532,7 @@
   }
 };
 
-HQData.RequestRealtimeData = function(data, callback) {
+HQData.RequestRealtimeData = function (data, callback) {
   data.PreventDefault = true;
   var symbol = data.Request.Data.symbol[0]; // 请求的股票代码
   var period = data.Self.Period; // 周期
@@ -1515,13 +1549,13 @@
   $.ajax({
     url: obj.Url,
     type: "GET",
-    success: function(recvData) {
+    success: function (recvData) {
       HQData.RecvRealtimeData(recvData, callback, { Data: data, Obj: obj });
     }
   });
 };
 
-HQData.RecvRealtimeData = function(recvData, callback, option) {
+HQData.RecvRealtimeData = function (recvData, callback, option) {
   var data = recvData.data;
   // var stock = { symbol: option.Obj.Symbol, name: 'K线图' }
   // var stock = { symbol: option.Obj.Symbol, name: data.name || "" };
@@ -1608,23 +1642,23 @@
   var hqchartData = { code: 0, stock: [stock] };
 
   // if (option.Data.Self.IsDestroy === false) {
-    HQData.Log("[HQData.RecvRealtimeData] hqchartData ", hqchartData);
-    callback(hqchartData);
+  HQData.Log("[HQData.RecvRealtimeData] hqchartData ", hqchartData);
+  callback(hqchartData);
   // }
 };
-HQData.RequestHistoryMinuteData = function(data, callback) {
+HQData.RequestHistoryMinuteData = function (data, callback) {
   data.PreventDefault = true;
   var symbol = data.Request.Data.symbol; // 请求的股票代码
   var period = data.Self.Period; // 周期
   var right = data.Self.Right; // 复权
 
-  console.log(`[HQData::RequestHistoryMinuteData] Symbol=${symbol}`);
+  console.log(`[HQData::RequestHistoryMinuteData] Symbol=${symbol}`, data.Request);
   var obj = HQData.GetMinuteKLineApiUrl(symbol, period, right, null);
 
   $.ajax({
     url: obj.Url,
     type: "GET",
-    success: function(recvData) {
+    success: function (recvData) {
       HQData.RecvHistoryMinuteData(recvData, callback, {
         Data: data,
         Obj: obj
@@ -1633,7 +1667,7 @@
   });
 };
 
-HQData.RecvHistoryMinuteData = function(recvData, callback, option) {
+HQData.RecvHistoryMinuteData = function (recvData, callback, option) {
   var hqChartData = { code: 0, data: [] };
   hqChartData.symbol = option.Obj.Symbol;
   // hqChartData.name = data.name
@@ -1642,7 +1676,9 @@
 
   var yClose = "";
   console.log("recvData===data.name22", recvData, kLines);
-  recvData = JSON.parse(recvData);
+  if (typeof recvData === 'string') {
+    recvData = JSON.parse(recvData);
+  }
 
   if (kLines.type === "SZHB") {
     recvData = recvData.data;
@@ -1697,7 +1733,7 @@
   }
 };
 
-HQData.RequestMinuteRealtimeData = function(data, callback) {
+HQData.RequestMinuteRealtimeData = function (data, callback) {
   data.PreventDefault = true;
   var symbol = data.Request.Data.symbol[0]; // 请求的股票代码
   var period = data.Self.Period; // 周期
@@ -1714,7 +1750,7 @@
   $.ajax({
     url: obj.Url,
     type: "GET",
-    success: function(recvData) {
+    success: function (recvData) {
       HQData.RecvMinuteRealtimeData(recvData, callback, {
         Data: data,
         Obj: obj
@@ -1723,7 +1759,7 @@
   });
 };
 
-HQData.RecvMinuteRealtimeData = function(recvData, callback, option) {
+HQData.RecvMinuteRealtimeData = function (recvData, callback, option) {
   var data = recvData.data;
   var hqChartData = {
     code: 0,

--
Gitblit v1.9.3