From 9f5adc78ec0e386684a12f3b4f26a0fff4a3286f Mon Sep 17 00:00:00 2001
From: PC-20250623MANY\Administrator <344137771@qq.com>
Date: Sat, 30 Aug 2025 16:28:12 +0800
Subject: [PATCH] 1

---
 src/eastmoney/HQData.js |  226 +++++++++++++++++++++++++++-----------------------------
 1 files changed, 110 insertions(+), 116 deletions(-)

diff --git a/src/eastmoney/HQData.js b/src/eastmoney/HQData.js
index da2358f..16f68dd 100644
--- a/src/eastmoney/HQData.js
+++ b/src/eastmoney/HQData.js
@@ -305,7 +305,7 @@
 };
 
 HQData.NetworkFilter = function (data, callback) {
-  HQData.Log(`网络过滤器 [HQData::NetworkFilter] ${HQData.Explain}`, data);
+  HQData.Log(`[HQData::NetworkFilter] ${HQData.Explain}`, data);
 
   switch (data.Name) {
     case "MinuteChartContainer::RequestMinuteData": // 分时图数据对接
@@ -319,11 +319,10 @@
       HQData.RequestHistoryData(data, callback);
       break;
     case "KLineChartContainer::RequestRealtimeData": // 日线实时数据更新
-      HQData.RequestRealtimeData(data, callback);
-      // HQData.RequestHistoryData(data, callback);
+      // HQData.RequestRealtimeData(data, callback);
       break;
     case "KLineChartContainer::RequestFlowCapitalData": // 流通股本
-      HQData.RequestFlowCapitalData(data, callback);
+      // HQData.RequestFlowCapitalData(data, callback);
       break;
 
     case "KLineChartContainer::ReqeustHistoryMinuteData": // 分钟全量数据下载
@@ -331,7 +330,6 @@
       break;
     case "KLineChartContainer::RequestMinuteRealtimeData": // 分钟增量数据更新
       // HQData.RequestMinuteRealtimeData(data, callback);
-      HQData.RequestHistoryMinuteData(data, callback);
       break;
   }
 };
@@ -827,14 +825,14 @@
   // if (kLines.type === 'IN' ||kLines.type === 'US') {
   url =
     window.globalVar +
-    `/api/stock/getKData.do?pid=${kLines.pid}&interval=1&stockType=${kLines.type}`;
+    `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}`
-  // url = window.globalVar+`/api/stock/getKData.do?pid=${kLines.pid}&interval=${interval}&stockType=${kLines.type}`
+  // url = window.globalVar+`api/stock/getKData.do?symbol=${encodeURIComponent(kLines.pid)}&cmd=history&period=1440&stockType=${kLines.type}`
+  // url = window.globalVar+`api/stock/getKData.do?pid=${kLines.pid}&interval=${interval}&stockType=${kLines.type}`
   // url = `http://api-v1-f.js-stock.top/getkine?symbol=${encodeURIComponent(kLines.pid)}&cmd=history&period=1440&key=jssj2023key`
   // }
-  // 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}`
   // var url = `http://api-in.js-stock.top/kline?interval=D&key=nvmihAoT51LnAWCpDeuw&pid=${internalSymbol.Symbol}`
 
   return {
@@ -1288,7 +1286,7 @@
   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
 
-  // var internalSymbol = HQData.GetInternalSymbol(symbol);
+  var internalSymbol = HQData.GetInternalSymbol(symbol);
   // console.log(internalSymbol,'caonima');
   // if (!internalSymbol.Market) {
   //   internalSymbol.Market = '106'
@@ -1302,13 +1300,13 @@
   const interval = ["D", "W", "M"][period];
   var url =
     window.globalVar +
-    `/api/stock/getKData.do?pid=${kLines.pid}&interval=${interval}&stockType=${kLines.type}`;
+    `api/stock/getKData.do?pid=${kLines.pid}&interval=${interval}&stockType=${kLines.type}`;
   // }
   const interval2 = [1440, 10080, 10080][period];
   // const interval2 = [1440, 10080, 43200][period]
   // if (kLines.type === 'qh') {
-  // var url = window.globalVar+`/api/stock/getKData.do?pid=${kLines.pid}&interval=${interval}&stockType=${kLines.type}`
-  // url = window.globalVar+`/api/stock/getKData.do?symbol=${encodeURIComponent(kLines.pid)}&cmd=history&period=${interval2}&stockType=${kLines.type}`
+  // var url = window.globalVar+`api/stock/getKData.do?pid=${kLines.pid}&interval=${interval}&stockType=${kLines.type}`
+  // url = window.globalVar+`api/stock/getKData.do?symbol=${encodeURIComponent(kLines.pid)}&cmd=history&period=${interval2}&stockType=${kLines.type}`
   // }
   if (option && option.Update === true) {
     var beginDate = option.End;
@@ -1323,7 +1321,7 @@
   return {
     Url: url,
     Symbol: symbol,
-    // InternalSymbol: internalSymbol,
+    InternalSymbol: internalSymbol,
     Period: period,
     Right: right,
   };
@@ -1341,7 +1339,7 @@
     const kLines = JSON.parse(window.localStorage.getItem("kLine"));
     url =
       window.globalVar +
-      `/api/stock/getKData.do?pid=${kLines.pid}&interval=${internalPeriod}&stockType=${kLines.type}`;
+      `api/stock/getKData.do?pid=${kLines.pid}&interval=${internalPeriod}&stockType=${kLines.type}`;
   }
 
   return {
@@ -1416,10 +1414,13 @@
   var period = data.Self.Period; // 周期
   var right = data.Self.Right; // 复权
 
-  console.log(`日线全量数据下载 [HQData::RequestHistoryData] Symbol=${symbol}`);
   var obj = HQData.GetKLineApiUrl(symbol, period, right, null);
 
-  // return
+  console.log(
+    `日线全量数据下载 [HQData::RequestHistoryData] Symbol=${symbol}`,
+    obj.Url
+  );
+
   $.ajax({
     url: obj.Url,
     type: "GET",
@@ -1491,25 +1492,12 @@
       //
       yClose = close;
     }
-
-    // var aaa = [
-    //   "20250829",
-    //   yClose,
-    //   Math.random() * 100,
-    //   Math.random() * 100,
-    //   Math.random() * 100,
-    //   Math.random() * 100,
-    //   Math.random() * 100,
-    //   Math.random() * 100,
-    // ];
-    // hqChartData.data.push(aaa);
   }
-  console.log("全量数据", hqChartData);
 
-  // if (option.Data.Self.IsDestroy === false) {
-  HQData.Log("[HQData.RecvHistoryData] hqchartData ", hqChartData);
-  callback(hqChartData);
-  // }
+  if (option.Data.Self.IsDestroy === false) {
+    HQData.Log("[HQData.RecvHistoryData] hqchartData ", hqChartData);
+    callback(hqChartData);
+  }
 };
 // 日线实时数据更新
 HQData.RequestRealtimeData = function (data, callback) {
@@ -1523,107 +1511,115 @@
   if (dateRange && dateRange.End && dateRange.End.Date > 0)
     option.End = dateRange.End.Date;
 
-  var obj = HQData.GetKLineApiUrl(symbol, period, right, option);
   console.log(
-    `日线实时数据更新 [HQData::RequestRealtimeData] Symbol=${symbol}`,
-    obj
+    `日线实时数据更新 [HQData::RequestRealtimeData] Symbol=${symbol}`
   );
+  var obj = HQData.GetKLineApiUrl(symbol, period, right, option);
 
-  if (!obj.Url) return;
-
-  // return
   $.ajax({
     url: obj.Url,
     type: "GET",
     success: function (recvData) {
-      HQData.RecvRealtimeData(recvData, callback, {
-        Data: data,
-        Obj: obj,
-      });
+      HQData.RecvRealtimeData(recvData, callback, { Data: data, Obj: obj });
     },
   });
 };
 
 HQData.RecvRealtimeData = function (recvData, callback, option) {
-  // var data = recvData.data;
-  var data = JSON.parse(recvData);
-  const kLines = JSON.parse(window.localStorage.getItem("kLine"));
-  var yClose = "123";
-  // console.log("recvDatadata====", data, kLines);
-  console.log("recvDatadata====", kLines, option);
+  var data = recvData.data;
+  // var stock = { symbol: option.Obj.Symbol, name: 'K线图' }
   // var stock = { symbol: option.Obj.Symbol, name: data.name || "" };
-  // if (!data || !data.klines) return;
-  // if (kLines.type === "IN" || kLines.type === "US") {
-  //   for (var i = 0; i < data.klines.length; ++i) {
-  //     var strItem = data.klines[i];
-  //     var item = strItem.split(",");
-  //     var date = moment.unix(Date.parse(item[0])).format("YYYYMMDD");
+  // var yClose = data[0].c
+  // for (var i = 0; i < data.length; ++i) {
+  //   var item = data[i]
+  //   // var item = strItem.split(',')
+  //   // var today = new Date(item.t)
+  //   // var date = today.getFullYear() * 10000 + (today.getMonth() + 1) * 100 + today.getDate()
+  //   var date = moment.unix(item.t).format('YYYYMMDD')
 
-  //     var open = parseFloat(item[1]);
-  //     var close = parseFloat(item[2]);
-  //     var high = parseFloat(item[3]);
-  //     var low = parseFloat(item[4]);
-  //     var vol = parseFloat(item[5]) * 100;
-  //     var amount = parseFloat(item[6]);
+  //   var open = parseFloat(item.o)
+  //   var close = parseFloat(item.c)
+  //   var high = parseFloat(item.h)
+  //   var low = parseFloat(item.l)
+  //   var vol = parseFloat(item.vo)
+  //   var amount = parseFloat(item.v)
 
-  //     stock.yclose = yClose;
-  //     stock.open = open;
-  //     stock.high = high;
-  //     stock.low = low;
-  //     stock.price = close;
-  //     stock.vol = vol;
-  //     stock.amount = amount;
-  //     stock.date = date;
+  //   stock.yclose = yClose
+  //   stock.open = open
+  //   stock.high = high
+  //   stock.low = low
+  //   stock.price = close
+  //   stock.vol = vol
+  //   stock.amount = amount
+  //   stock.date = date
 
-  //     yClose = close;
+  //   yClose = close
+  // }
+  const kLines = JSON.parse(window.localStorage.getItem("kLine"));
+  // var yClose = data.preKPrice;
+  var yClose = "123";
+  console.log("recvDatadata====", data);
+  if (kLines.type === "IN" || kLines.type === "US") {
+    for (var i = 0; i < data.klines.length; ++i) {
+      var strItem = data.klines[i];
+      var item = strItem.split(",");
+      // var today = new Date(Date.parse(item[0]))
+      // var date = today.getFullYear() * 10000 + (today.getMonth() + 1) * 100 + today.getDate()
+      var date = moment.unix(Date.parse(item[0])).format("YYYYMMDD");
+
+      var open = parseFloat(item[1]);
+      var close = parseFloat(item[2]);
+      var high = parseFloat(item[3]);
+      var low = parseFloat(item[4]);
+      var vol = parseFloat(item[5]) * 100;
+      var amount = parseFloat(item[6]);
+
+      stock.yclose = yClose;
+      stock.open = open;
+      stock.high = high;
+      stock.low = low;
+      stock.price = close;
+      stock.vol = vol;
+      stock.amount = amount;
+      stock.date = date;
+
+      yClose = close;
+    }
+  }
+  // if (kLines.type === 'qh') {
+  //   for (var x = 0; x < recvData.list.length; ++x) {
+  //     var strItem2 = recvData.list[x]
+  //     //   var item = strItem.split(',')
+  //     // var today = new Date(strItem.t)
+  //     // var date = today.getFullYear() * 10000 + (today.getMonth() + 1) * 100 + today.getDate()
+  //     var date2 = moment.unix(strItem2.ctm).format('YYYYMMDD')
+  //     //
+  //     var open2 = parseFloat(strItem2.open)
+  //     var close2 = parseFloat(strItem2.close)
+  //     var high2 = parseFloat(strItem2.high)
+  //     var low2 = parseFloat(strItem2.low)
+  //     var vol2 = 100
+  //     // var vol2 = parseFloat(strItem2.v) * 100
+  //     var amount2 = parseFloat((Math.random() * 100) + '')
+  //     //
+  //     var newItem2 = [date2, yClose, open2, high2, low2, close2, vol2, amount2]
+  //     hqChartData.data.push(newItem2)
+  //     //
+  //     yClose = close
   //   }
   // }
-  // var hqchartData = { code: 0, stock: [stock] };
 
-  // HQData.Log("[HQData.RecvRealtimeData] hqchartData ", hqchartData);
-  // callback(hqchartData);
+  var hqchartData = { code: 0, stock: [stock] };
 
-  //#region ---------------------------
-  var strItem = data[data.length - 1];
-
-  var date = moment.unix(strItem.t).format("YYYYMMDD");
-  var open = parseFloat(strItem.o);
-  var close = parseFloat(strItem.c);
-  var high = parseFloat(strItem.h);
-  var low = parseFloat(strItem.l);
-  var vol = parseFloat(strItem.v) * 100;
-  var amount = parseFloat(Math.random() * 100 + "");
-  yClose = close;
-
-  // var newItem = {
-  //   name: "123",
-  //   // symbol: option.Obj.Symbol,
-  //   date,
-  //   yClose,
-  //   open,
-  //   high: Math.random() * 100,
-  //   low,
-  //   close,
-  //   vol,
-  //   amount,
-  // };
-
-  var newItem = [date, yClose, open, high, low, close, vol, amount];
-
-  var hqchartData = {
-    code: 0,
-    stock: [newItem],
-  };
-  console.log("hqchartData", hqchartData);
-
+  // if (option.Data.Self.IsDestroy === false) {
   HQData.Log("[HQData.RecvRealtimeData] hqchartData ", hqchartData);
   callback(hqchartData);
-  //#endregion
+  // }
 };
 // 分钟全量数据下载
 HQData.RequestHistoryMinuteData = function (data, callback) {
   data.PreventDefault = true;
-  var symbol = data.Request.Data.symbol[0]; // 请求的股票代码
+  var symbol = data.Request.Data.symbol; // 请求的股票代码
   var period = data.Self.Period; // 周期
   var right = data.Self.Right; // 复权
 
@@ -1652,8 +1648,7 @@
   hqChartData.name = "123";
 
   var yClose = "";
-  // console.log("recvData===data.name22", recvData, kLines);
-  console.log("recvData===data.name22", kLines);
+  console.log("recvData===data.name22", recvData, kLines);
   recvData = JSON.parse(recvData);
 
   if (kLines.type === "SZHB") {
@@ -1708,7 +1703,7 @@
     callback(hqChartData);
   }
 };
-// 分钟增量数据更新
+
 HQData.RequestMinuteRealtimeData = function (data, callback) {
   data.PreventDefault = true;
   var symbol = data.Request.Data.symbol[0]; // 请求的股票代码
@@ -1720,9 +1715,8 @@
   if (dateRange && dateRange.End && dateRange.End.Date > 0)
     option.End = dateRange.End.Date;
 
-  // console.log(`[HQData::RequestMinuteRealtimeData] Symbol=${symbol}`, obj.Url);
-  var obj = HQData.GetKLineApiUrl(symbol, period, right, option);
-  // var obj = HQData.GetMinuteKLineApiUrl(symbol, period, right, option);
+  console.log(`[HQData::RequestMinuteRealtimeData] Symbol=${symbol}`);
+  var obj = HQData.GetMinuteKLineApiUrl(symbol, period, right, option);
 
   $.ajax({
     url: obj.Url,
@@ -1743,7 +1737,7 @@
     data: [],
     ver: 2.0,
     symbol: option.Obj.Symbol,
-    name: data.name || "",
+    name: data.name,
   }; // 更新数据使用2.0版本格式
 
   var yClose = data.preKPrice;

--
Gitblit v1.9.3