1
PC-20250623MANY\Administrator
2025-09-20 9d7de030d38f8d71fdf54ddfe26e46e71f17e9c0
src/eastmoney/HQData.js
@@ -319,17 +319,17 @@
      HQData.RequestHistoryData(data, callback);
      break;
    case "KLineChartContainer::RequestRealtimeData": // 日线实时数据更新
      HQData.RequestRealtimeData(data, callback);
      // HQData.RequestRealtimeData(data, callback);
      break;
    case "KLineChartContainer::RequestFlowCapitalData": // 流通股本
      HQData.RequestFlowCapitalData(data, callback);
      // HQData.RequestFlowCapitalData(data, callback);
      break;
    case "KLineChartContainer::ReqeustHistoryMinuteData": // 分钟全量数据下载
      HQData.RequestHistoryMinuteData(data, callback);
      break;
    case "KLineChartContainer::RequestMinuteRealtimeData": // 分钟增量数据更新
      HQData.RequestMinuteRealtimeData(data, callback);
      // HQData.RequestMinuteRealtimeData(data, callback);
      break;
  }
};
@@ -825,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 {
@@ -1300,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;
@@ -1339,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 {
@@ -1407,15 +1407,19 @@
    callback(hqChartData);
  }
};
// 日线全量数据下载
HQData.RequestHistoryData = 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::RequestHistoryData] Symbol=${symbol}`);
  var obj = HQData.GetKLineApiUrl(symbol, period, right, null);
  console.log(
    `日线全量数据下载 [HQData::RequestHistoryData] Symbol=${symbol}`,
    obj.Url
  );
  $.ajax({
    url: obj.Url,
@@ -1495,7 +1499,7 @@
    callback(hqChartData);
  }
};
// 日线实时数据更新
HQData.RequestRealtimeData = function (data, callback) {
  data.PreventDefault = true;
  var symbol = data.Request.Data.symbol[0]; // 请求的股票代码
@@ -1507,10 +1511,10 @@
  if (dateRange && dateRange.End && dateRange.End.Date > 0)
    option.End = dateRange.End.Date;
  console.log(`[HQData::RequestRealtimeData] Symbol=${symbol}`);
  console.log(
    `日线实时数据更新 [HQData::RequestRealtimeData] Symbol=${symbol}`
  );
  var obj = HQData.GetKLineApiUrl(symbol, period, right, option);
  if (!obj.Url) return;
  $.ajax({
    url: obj.Url,
@@ -1523,14 +1527,44 @@
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 || "" };
  // 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.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
  //   yClose = close
  // }
  const kLines = JSON.parse(window.localStorage.getItem("kLine"));
  // var yClose = data.preKPrice;
  var yClose = "123";
  console.log("recvDatadata====", data);
  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 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]);
@@ -1552,19 +1586,46 @@
      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] };
  // if (option.Data.Self.IsDestroy === false) {
  HQData.Log("[HQData.RecvRealtimeData] hqchartData ", hqchartData);
  callback(hqchartData);
  // }
};
// 分钟全量数据下载
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}`
  );
  var obj = HQData.GetMinuteKLineApiUrl(symbol, period, right, null);
  $.ajax({
@@ -1654,7 +1715,7 @@
  if (dateRange && dateRange.End && dateRange.End.Date > 0)
    option.End = dateRange.End.Date;
  console.log(`[HQData::RequestMinuteRealtimeData] Symbol=${symbol}`, obj.Url);
  console.log(`[HQData::RequestMinuteRealtimeData] Symbol=${symbol}`);
  var obj = HQData.GetMinuteKLineApiUrl(symbol, period, right, option);
  $.ajax({
@@ -1676,7 +1737,7 @@
    data: [],
    ver: 2.0,
    symbol: option.Obj.Symbol,
    name: data.name || "",
    name: data.name,
  }; // 更新数据使用2.0版本格式
  var yClose = data.preKPrice;