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/config/index.js | 4
src/views/home/components/HomeLb.vue | 1
src/views/home/components/HomeLtr.vue | 947 ++++++++++++++++++++++++++++++++++++++++++++--
src/views/home/Home.vue | 15
src/views/home/components/HomeRight.vue | 2
src/eastmoney/HQData.js | 226 +++++-----
6 files changed, 1,017 insertions(+), 178 deletions(-)
diff --git a/src/config/index.js b/src/config/index.js
index b3dbd93..6a4bf45 100644
--- a/src/config/index.js
+++ b/src/config/index.js
@@ -1,5 +1,5 @@
-const dev = "https://api.acapl.net"; // 开发环境url
-const prod = "https://api.acapl.net"; // 生产环境url
+const dev = "https://api.acapl.net/"; // 开发环境url
+const prod = "https://api.acapl.net/"; // 生产环境url
export default {
baseURL: process.env.NODE_ENV == "development" ? dev : prod,
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;
diff --git a/src/views/home/Home.vue b/src/views/home/Home.vue
index b3bb1c3..1fa92c2 100644
--- a/src/views/home/Home.vue
+++ b/src/views/home/Home.vue
@@ -5,10 +5,14 @@
<home-ltl @choice="choice"></home-ltl>
<home-ltr :obj="singDetails"></home-ltr>
</div>
- <home-lb class="bottom" @choice="choice"></home-lb>
+ <home-lb class="bottom" @choice="choice" ref="BottomLb"></home-lb>
</div>
<div class="right">
- <HomeRight :obj="singDetails" :positionSn.sync="positionSn"></HomeRight>
+ <HomeRight
+ :obj="singDetails"
+ :positionSn.sync="positionSn"
+ @Refresh="Refresh"
+ ></HomeRight>
</div>
</div>
</template>
@@ -39,7 +43,7 @@
if (this.timer) clearInterval(this.timer);
this.timer = setInterval(() => {
this.getSingDetails(val);
- }, 3000);
+ }, 2000);
},
},
},
@@ -52,7 +56,6 @@
this.cId = val;
this.positionSn = positionSn;
},
-
async getSingDetails(code) {
let opts = {
code,
@@ -69,6 +72,10 @@
}
});
},
+ // 刷新持仓/平仓列表
+ Refresh() {
+ this.$refs.BottomLb.init();
+ },
},
};
</script>
diff --git a/src/views/home/components/HomeLb.vue b/src/views/home/components/HomeLb.vue
index c61a814..5229331 100644
--- a/src/views/home/components/HomeLb.vue
+++ b/src/views/home/components/HomeLb.vue
@@ -253,6 +253,7 @@
// 股票选择
Choice(val) {
this.$emit("choice", val.stockCode, val.positionSn);
+ console.log("1");
},
},
};
diff --git a/src/views/home/components/HomeLtr.vue b/src/views/home/components/HomeLtr.vue
index 4423fd9..250381e 100644
--- a/src/views/home/components/HomeLtr.vue
+++ b/src/views/home/components/HomeLtr.vue
@@ -91,10 +91,10 @@
// { Index:"KDJ", Modify: false, Change: true, Close: true},
// { Index: "KDJ", Modify: false, Change: false, Close: false }
],
- SplashTitle: "loading...",
+
Symbol: "AAPL.usa",
IsAutoUpdate: true, // 是自动更新数据
- AutoUpdateFrequency: 1000,
+ AutoUpdateFrequency: 20000,
DayCount: 1, // 1 最新交易日数据 >1 多日走势图
IsShowRightMenu: false, // 是否显示右键菜单
CorssCursorTouchEnd: true,
@@ -146,6 +146,791 @@
return option;
};
+DefaultData.GetMinuteIndexMenu = function () {
+ var data = [
+ {
+ Name: "MACD",
+ ID: "MACD",
+ WindowIndex: 2,
+ },
+ {
+ Name: "KDJ",
+ ID: "KDJ",
+ WindowIndex: 2,
+ },
+ {
+ Name: "DMI",
+ ID: "DMI",
+ WindowIndex: 2,
+ },
+ {
+ Name: "ROC",
+ ID: "ROC",
+ WindowIndex: 2,
+ },
+ ];
+
+ return data;
+};
+
+DefaultData.GetKLineIndexMenu = function () {
+ var data = [
+ {
+ Name: "MA",
+ ID: "MA",
+ WindowIndex: 0,
+ },
+ {
+ Name: "BOLL",
+ ID: "BOLL",
+ WindowIndex: 0,
+ },
+ {
+ Name: "MACD",
+ ID: "MACD",
+ WindowIndex: 1,
+ },
+ {
+ Name: "KDJ",
+ ID: "KDJ",
+ WindowIndex: 1,
+ },
+ {
+ Name: "DMI",
+ ID: "DMI",
+ WindowIndex: 1,
+ },
+ {
+ Name: "ROC",
+ ID: "ROC",
+ WindowIndex: 1,
+ },
+ ];
+
+ return data;
+};
+
+DefaultData.GetTestSymbolMenu = function () {
+ // 品种代码规则 ${东方财富品种代码}_${东方财富市场}.${HQChart内部市场后缀}
+ var data = [
+ {
+ Title: "美股",
+ Icon: "",
+ Sub: [
+ {
+ Name: "网易",
+ Code: "NTES_105.usa",
+ },
+ {
+ Name: "微软",
+ Code: "MSFT_105.usa",
+ },
+ {
+ Name: "亚马逊",
+ Code: "AMZN_105.usa",
+ },
+ {
+ Name: "人人网",
+ Code: "RENN_106.usa",
+ },
+ {
+ Name: "滴滴",
+ Code: "DIDI_106.usa",
+ },
+ {
+ Name: "阿里巴巴",
+ Code: "BABA_106.usa",
+ },
+ {
+ Name: "知乎",
+ Code: "ZH_106.usa",
+ },
+ {
+ Name: "道琼斯",
+ Code: "DJIA_100.usa",
+ },
+ {
+ Name: "标普500",
+ Code: "SPX_100.usa",
+ },
+ {
+ Name: "纳斯达克",
+ Code: "NDX_100.usa",
+ },
+ ],
+ },
+ {
+ Title: "沪深A股",
+ Icon: "",
+ Sub: [
+ {
+ Name: "浦发银行",
+ Code: "600000_1.sh",
+ },
+ {
+ Name: "东方财富",
+ Code: "300059_0.sz",
+ },
+ {
+ Name: "上证指数",
+ Code: "000001_1.sh",
+ },
+ {
+ Name: "深证成指",
+ Code: "399001_0.sz",
+ },
+ ],
+ },
+ {
+ Title: "北交所",
+ Icon: "",
+ Sub: [
+ {
+ Name: "凯添燃气",
+ Code: "831010_0.bj",
+ },
+ {
+ Name: "驱动力",
+ Code: "838275_0.bj",
+ },
+ {
+ Name: "齐鲁华信",
+ Code: "830832_0.bj",
+ },
+ {
+ Name: "苏轴股份",
+ Code: "430418_0.bj",
+ },
+ ],
+ },
+ {
+ Title: "ETF基金",
+ Icon: "",
+ Sub: [
+ {
+ Name: "50ETF基金",
+ Code: "510800_1.sh",
+ },
+ {
+ Name: "上证180ETF",
+ Code: "510180_1.sh",
+ },
+ {
+ Name: "恒生ETF",
+ Code: "159920_0.sz",
+ },
+ {
+ Name: "创业板50ETF",
+ Code: "159949_0.sz",
+ },
+ ],
+ },
+ {
+ Title: "港股",
+ Icon: "",
+ Sub: [
+ {
+ Name: "比亚迪股份",
+ Code: "01211_116.hk",
+ },
+ {
+ Name: "招商银行",
+ Code: "03968_116.hk",
+ },
+ {
+ Name: "汇丰控股",
+ Code: "00005_116.hk",
+ },
+ {
+ Name: "长和",
+ Code: "00001_116.hk",
+ },
+ {
+ Name: "恒生指数",
+ Code: "HSI_100.hk",
+ },
+ ],
+ },
+ {
+ Title: "外汇",
+ Icon: "",
+ Sub: [
+ {
+ Name: "美元兑加元",
+ Code: "USDCAD_119.FOREX",
+ },
+ {
+ Name: "美元兑港币",
+ Code: "USDHKD_119.FOREX",
+ },
+ {
+ Name: "美元兑欧元",
+ Code: "USDEUR_119.FOREX",
+ },
+ {
+ Name: "欧元兑英镑",
+ Code: "EURGBP_119.FOREX",
+ },
+ {
+ Name: "美元指数",
+ Code: "UPI_100.ET",
+ },
+ ],
+ },
+ {
+ Title: "上海期货交易所",
+ Icon: "",
+ Sub: [
+ {
+ Name: "沪铜主力",
+ Code: "CUM_113.SHFE",
+ },
+ {
+ Name: "沪锡主力",
+ Code: "SNM_113.SHFE",
+ },
+ {
+ Name: "沪金主力",
+ Code: "AUM_113.SHFE",
+ },
+ {
+ Name: "沪镍主力",
+ Code: "NIM_113.SHFE",
+ },
+ {
+ Name: "橡胶主力",
+ Code: "RUM_113.SHFE",
+ },
+ {
+ Name: "螺纹钢主力",
+ Code: "RBM_113.SHFE",
+ },
+ {
+ Name: "沪银主力",
+ Code: "AGM_113.SHFE",
+ },
+ {
+ Name: "线材主力",
+ Code: "WRM_113.SHFE",
+ },
+ {
+ Name: "沪铅主力",
+ Code: "PBM_113.SHFE",
+ },
+ {
+ Name: "沪锌主力",
+ Code: "ZNM_113.SHFE",
+ },
+ {
+ Name: "石油沥青主力",
+ Code: "BUM_113.SHFE",
+ },
+ {
+ Name: "沪铝主力",
+ Code: "ALM_113.SHFE",
+ },
+ {
+ Name: "燃油主力",
+ Code: "FUM_113.SHFE",
+ },
+ {
+ Name: "热轧卷板主力",
+ Code: "HCM_113.SHFE",
+ },
+ {
+ Name: "纸浆主力",
+ Code: "SPM_113.SHFE",
+ },
+ {
+ Name: "不锈钢主力",
+ Code: "SSM_113.SHFE",
+ },
+ ],
+ },
+ {
+ Title: "上海国际能源交易中心",
+ Icon: "",
+ Sub: [
+ {
+ Name: "原油主力",
+ Code: "SCM_142.SHFE",
+ },
+ {
+ Name: "20号胶主力",
+ Code: "NRM_142.SHFE",
+ },
+ {
+ Name: "低硫燃油主力",
+ Code: "LUM_142.SHFE",
+ },
+ {
+ Name: "国际铜主力",
+ Code: "BCM_142.SHFE",
+ },
+ ],
+ },
+ {
+ Title: "大连商品交易所",
+ Icon: "",
+ Sub: [
+ {
+ Name: "玉米主力",
+ Code: "CM_114.DCE",
+ },
+ {
+ Name: "豆一主力",
+ Code: "AM_114.DCE",
+ },
+ {
+ Name: "豆二主力",
+ Code: "BM_114.DCE",
+ },
+ {
+ Name: "豆粕主力",
+ Code: "MM_114.DCE",
+ },
+ {
+ Name: "豆油主力",
+ Code: "YM_114.DCE",
+ },
+ {
+ Name: "棕榈油主力",
+ Code: "PM_114.DCE",
+ },
+ {
+ Name: "聚乙烯主力",
+ Code: "LM_114.DCE",
+ },
+ {
+ Name: "聚氯乙烯主力",
+ Code: "VM_114.DCE",
+ },
+
+ {
+ Name: "焦炭主力",
+ Code: "JM_114.DCE",
+ },
+ {
+ Name: "焦煤主力",
+ Code: "JMM_114.DCE",
+ },
+ {
+ Name: "纤维板主力",
+ Code: "FBM_114.DCE",
+ },
+ {
+ Name: "胶合板主力",
+ Code: "BBM_114.DCE",
+ },
+ {
+ Name: "铁矿石主力",
+ Code: "IM_114.DCE",
+ },
+ {
+ Name: "鸡蛋主力",
+ Code: "JDM_114.DCE",
+ },
+
+ {
+ Name: "聚丙烯主力",
+ Code: "PPM_114.DCE",
+ },
+ {
+ Name: "玉米淀粉主力",
+ Code: "CSM_114.DCE",
+ },
+ {
+ Name: "乙二醇主力",
+ Code: "EGM_114.DCE",
+ },
+ {
+ Name: "粳米主力",
+ Code: "RRM_114.DCE",
+ },
+ {
+ Name: "苯乙烯主力",
+ Code: "EBM_114.DCE",
+ },
+ {
+ Name: "LPG主力",
+ Code: "PGM_114.DCE",
+ },
+ {
+ Name: "生猪主力",
+ Code: "LHM_114.DCE",
+ },
+ ],
+ },
+ {
+ Title: "郑州商品交易所",
+ Icon: "",
+ Sub: [
+ {
+ Name: "强麦主力",
+ Code: "WHM_115.CZC",
+ },
+ {
+ Name: "普麦主力",
+ Code: "PMM_115.CZC",
+ },
+ {
+ Name: "一号棉花主力",
+ Code: "CFM_115.CZC",
+ },
+ {
+ Name: "白糖主力",
+ Code: "SRM_115.CZC",
+ },
+ {
+ Name: "PTA主力",
+ Code: "TAM_115.CZC",
+ },
+ {
+ Name: "菜油主力",
+ Code: "OIM_115.CZC",
+ },
+ {
+ Name: "早籼稻主力",
+ Code: "RIM_115.CZC",
+ },
+ {
+ Name: "甲醇主力",
+ Code: "MAM_115.CZC",
+ },
+ {
+ Name: "玻璃主力",
+ Code: "FGM_115.CZC",
+ },
+ {
+ Name: "菜籽主力",
+ Code: "RSM_115.CZC",
+ },
+ {
+ Name: "菜粕主力",
+ Code: "RMM_115.CZC",
+ },
+ {
+ Name: "粳稻主力",
+ Code: "JRM_115.CZC",
+ },
+ {
+ Name: "晚籼稻主力",
+ Code: "LRM_115.CZC",
+ },
+ {
+ Name: "硅铁主力",
+ Code: "SFM_115.CZC",
+ },
+ {
+ Name: "锰硅主力",
+ Code: "SMM_115.CZC",
+ },
+ {
+ Name: "动力煤主力",
+ Code: "ZCM_115.CZC",
+ },
+ {
+ Name: "棉纱主力",
+ Code: "CYM_115.CZC",
+ },
+ {
+ Name: "苹果主力",
+ Code: "APM_115.CZC",
+ },
+ {
+ Name: "红枣主力",
+ Code: "CJM_115.CZC",
+ },
+ {
+ Name: "尿素主力",
+ Code: "URM_115.CZC",
+ },
+ {
+ Name: "纯碱主力",
+ Code: "SAM_115.CZC",
+ },
+ {
+ Name: "短纤主力",
+ Code: "PFM_115.CZC",
+ },
+ {
+ Name: "花生主力",
+ Code: "PKM_115.CZC",
+ },
+ ],
+ },
+ {
+ Title: "中国金融期货交易所",
+ Icon: "",
+ Sub: [
+ {
+ Name: "二债主力",
+ Code: "TS-130130_8.CFE",
+ },
+ {
+ Name: "五债主力",
+ Code: "TF-050130_8.CFE",
+ },
+ {
+ Name: "十债主力",
+ Code: "T-110130_8.CFE",
+ },
+ {
+ Name: "上证主力",
+ Code: "IH-070130_8.CFE",
+ },
+ {
+ Name: "中证主力",
+ Code: "IC-060130_8.CFE",
+ },
+ {
+ Name: "沪深主力",
+ Code: "IF-040130_8.CFE",
+ },
+ ],
+ },
+ {
+ Title: "芝加哥商业交易所",
+ Icon: "",
+ Sub: [
+ {
+ Name: "小麦当月连续",
+ Code: "ZW00Y_103.CBOT",
+ },
+ {
+ Name: "迷你小麦当月连续",
+ Code: "XW00Y_103.CBOT",
+ },
+ {
+ Name: "玉米当月连续",
+ Code: "ZC00Y_103.CBOT",
+ },
+ {
+ Name: "迷你玉米当月连续",
+ Code: "XC00Y_103.CBOT",
+ },
+ {
+ Name: "大豆当月连续",
+ Code: "ZS00Y_103.CBOT",
+ },
+ {
+ Name: "迷你大豆当月连续",
+ Code: "XK00Y_103.CBOT",
+ },
+ {
+ Name: "豆油当月连续",
+ Code: "ZL00Y_103.CBOT",
+ },
+ {
+ Name: "豆粕当月连续",
+ Code: "ZM00Y_103.CBOT",
+ },
+ {
+ Name: "燕麦当月连续",
+ Code: "ZO00Y_103.CBOT",
+ },
+ {
+ Name: "稻谷当月连续",
+ Code: "ZR00Y_103.CBOT",
+ },
+
+ {
+ Name: "小型纳指当月连续",
+ Code: "NQ00Y_103.CBOT",
+ },
+ {
+ Name: "小型标普当月连续",
+ Code: "ES00Y_103.CBOT",
+ },
+ {
+ Name: "小型道指当月连续",
+ Code: "YM00Y_103.CBOT",
+ },
+
+ {
+ Name: "2年美国债当月连续",
+ Code: "TU00Y_103.CBOT",
+ },
+ {
+ Name: "5年美国债当月连续",
+ Code: "FV00Y_103.CBOT",
+ },
+ {
+ Name: "10年美国债当月连续",
+ Code: "TY00Y_103.CBOT",
+ },
+ {
+ Name: "30年美国债当月连续",
+ Code: "US00Y_103.CBOT",
+ },
+ {
+ Name: "超国债当月连续",
+ Code: "UL00Y_103.CBOT",
+ },
+ ],
+ },
+ {
+ Title: "纽约商品交易所",
+ Icon: "",
+ Sub: [
+ {
+ Name: "NYMEX原油",
+ Code: "CL00Y_102.NYMEX",
+ },
+ {
+ Name: "NYMEX铂金",
+ Code: "PL00Y_102.NYMEX",
+ },
+ {
+ Name: "迷你原油",
+ Code: "QM00Y_102.NYMEX",
+ },
+ {
+ Name: "NYMEX燃油",
+ Code: "HO00Y_102.NYMEX",
+ },
+ {
+ Name: "NYMEX汽油",
+ Code: "RB00Y_102.NYMEX",
+ },
+ {
+ Name: "NYMEX钯金",
+ Code: "PA00Y_102.NYMEX",
+ },
+ {
+ Name: "热轧钢卷",
+ Code: "HR00Y_102.NYMEX",
+ },
+ {
+ Name: "天然气",
+ Code: "NG00Y_102.NYMEX",
+ },
+ ],
+ },
+ {
+ Title: "纽约商业期货交易所",
+ Icon: "",
+ Sub: [
+ {
+ Name: "COMEX白银",
+ Code: "SI00Y_101.COMEX",
+ },
+ {
+ Name: "迷你白银",
+ Code: "QI00Y_101.COMEX",
+ },
+ {
+ Name: "微型黄金",
+ Code: "MGC00Y_101.COMEX",
+ },
+ {
+ Name: "迷你黄金",
+ Code: "QO00Y_101.COMEX",
+ },
+ {
+ Name: "COMEX黄金",
+ Code: "GC00Y_101.COMEX",
+ },
+ {
+ Name: "COMEX铜",
+ Code: "HG00Y_101.COMEX",
+ },
+ ],
+ },
+ {
+ Title: "纽约期货交易所",
+ Icon: "",
+ Sub: [
+ {
+ Name: "棉花当月连续",
+ Code: "CT00Y_108.NYBOT",
+ },
+ ],
+ },
+ {
+ Title: "伦敦金属交易所",
+ Icon: "",
+ Sub: [
+ {
+ Name: "综合镍03",
+ Code: "NI-LNKT_109.LME",
+ },
+ {
+ Name: "综合铜03",
+ Code: "CA-LCPT_109.LME",
+ },
+ {
+ Name: "综合铝03",
+ Code: "AH-LALT_109.LME",
+ },
+ {
+ Name: "综合锡03",
+ Code: "SN-LTNT_109.LME",
+ },
+ {
+ Name: "综合锌03",
+ Code: "ZS-LZNT_109.LME",
+ },
+ {
+ Name: "综合铅03",
+ Code: "PB-LLDT_109.LME",
+ },
+ ],
+ },
+ {
+ Title: "东京商品交易所",
+ Icon: "",
+ Sub: [
+ {
+ Name: "日铂金当月连续",
+ Code: "JPL00Y_111.TOCOM",
+ },
+ {
+ Name: "日白银当月连续",
+ Code: "JAG00Y_111.TOCOM",
+ },
+ {
+ Name: "日原油当月连续",
+ Code: "JCO00Y_111.TOCOM",
+ },
+ {
+ Name: "日煤油当月连续",
+ Code: "JKE00Y_111.TOCOM",
+ },
+ {
+ Name: "日橡胶当月连续",
+ Code: "JRU00Y_111.TOCOM",
+ },
+ {
+ Name: "日黄金当月连续",
+ Code: "JAU00Y_111.TOCOM",
+ },
+ {
+ Name: "日汽油当月连续",
+ Code: "JGL00Y_111.TOCOM",
+ },
+ ],
+ },
+ {
+ Title: "美国洲际交易所",
+ Icon: "",
+ Sub: [
+ {
+ Name: "布伦特原油当月连续",
+ Code: "B00Y_112.IPE",
+ },
+ {
+ Name: "重柴油当月连续",
+ Code: "G00Y_112.IPE",
+ },
+ ],
+ },
+ ];
+
+ return data;
+};
+
+// k形图
DefaultData.GetKLineOption = function () {
var option = {
Type: "历史K线图", // 创建图形类型
@@ -167,13 +952,13 @@
},
// { Index: 'MACD', Modify: true, Change: true, Close: false }
],
- SplashTitle: "loading...",
// Symbol: "600015.sh",
+ Symbol: "",
IsAutoUpdate: false, // 是自动更新数据
AutoUpdateFrequency: 2000,
IsApiPeriod: true,
IsShowRightMenu: false, // 是否显示右键菜单
- CorssCursorTouchEnd: true,
+ // CorssCursorTouchEnd:true,
KLine: {
DragMode: 1, // 拖拽模式 0 禁止拖拽 1 数据拖拽 2 区间选择
@@ -243,8 +1028,37 @@
return option;
};
+DefaultData.GetMinuteDayMenu = function () {
+ var data = [
+ {
+ Name: "1D",
+ ID: 1,
+ },
+ {
+ Name: "2D",
+ ID: 2,
+ },
+ {
+ Name: "3D",
+ ID: 3,
+ },
+ {
+ Name: "4D",
+ ID: 4,
+ },
+ {
+ Name: "5D",
+ ID: 5,
+ },
+ ];
+
+ return data;
+};
+
DefaultData.GetKLinePeriodMenu = function () {
var data = [
+ // { Name: i18n.t('hj86'), ID: 3 },分时额外处理
+ // { Name: i18n.t("hj86"), ID: 4 },
{
Name: i18n.t("hj87"),
ID: 0,
@@ -274,6 +1088,25 @@
return data;
};
+DefaultData.GetKLineRightMenu = function () {
+ var data = [
+ {
+ Name: i18n.t("hj93"),
+ ID: 0,
+ },
+ {
+ Name: i18n.t("hj94"),
+ ID: 1,
+ },
+ {
+ Name: i18n.t("hj95"),
+ ID: 2,
+ },
+ ];
+
+ return data;
+};
+
export default {
name: "HomeLtr",
props: {
@@ -293,15 +1126,25 @@
chartType: "kline",
KLineChart: null, // 图形控件 K线图
Chart: null, // 图形控件 分时图
- timerss: null,
+ timerss1: null,
+ timerss2: null,
isShow: false,
+ MinuteDayMenu: DefaultData.GetMinuteDayMenu(),
+ KLineRightMenu: DefaultData.GetKLineRightMenu(),
+ MinuteIndexMenu: DefaultData.GetMinuteIndexMenu(),
+ KLineIndexMenu: DefaultData.GetKLineIndexMenu(),
+ Symbol: "", // HQChart内部编码美股加后缀.usa AAPL.usa
+ NavMenuAry: DefaultData.GetTestSymbolMenu(),
+ VolChartHeight: 10,
};
},
watch: {
obj: {
handler(newVal, oldVal) {
if (newVal.id && newVal.id != oldVal.id) {
- this.KLineChart.ChangeSymbol(newVal.code + ".sz");
+ this.clearTime(); // 清除所有定时器
+ this.KLineChart.ChangeSymbol(newVal.code);
+ this.Chart.ChangeSymbol(newVal.code);
}
},
deep: true,
@@ -313,11 +1156,30 @@
beforeDestroy() {
this.KLineChart.ChartDestory();
this.Chart.ChartDestory();
- if (this.timerss) {
- clearInterval(this.timerss);
+ if (this.timerss1) {
+ clearInterval(this.timerss1);
}
+ if (this.timerss2) {
+ clearInterval(this.timerss2);
+ }
+ this.clearTime();
},
methods: {
+ handleClick(tab) {
+ this.clearTime(); // 清除所有定时器
+ this.KLineChart.ChangePeriod(tab.$attrs.Id);
+ this.Chart.ChangePeriod(tab.$attrs.Id);
+ },
+ // 清除所有定时器
+ clearTime() {
+ // 创建一个额外的定时器以获取当前最大定时器 ID
+ let lastIntervalId = setInterval(() => {}, 1000);
+ // 遍历并清除所有定时器
+ for (let i = 1; i <= lastIntervalId; i++) {
+ clearInterval(i);
+ clearTimeout(i);
+ }
+ },
init() {
this.OnSize();
this.SetChartStyle();
@@ -325,12 +1187,6 @@
this.$nextTick(() => {
// this.CreateMinuteChart();
this.CreateKLineChart();
-
- this.timerss = setInterval(() => {
- if (this.KLineChart) {
- this.KLineChart.ChangeSymbol(this.obj.code);
- }
- }, 30000);
});
let that = this;
window.onresize = _.debounce(this.OnSize, 200);
@@ -385,15 +1241,11 @@
blackStyle.DownBarColor = "#e13b45";
HQChart.Chart.JSChart.SetStyle(blackStyle);
},
- handleClick(tab) {
- this.KLineChart.ChangePeriod(tab.$attrs.Id);
- },
CreateMinuteChart() {
var option = DefaultData.GetMinuteOption();
option.NetworkFilter = (data, callback) => {
- // console.log("CreateMinuteChart", data, callback);
- this.NetworkFilter(data, callback);
+ this.NetworkFilter2(data, callback);
}; // 网络请求回调函数
var chart = HQChart.Chart.JSChart.Init(this.$refs.kline);
@@ -407,7 +1259,7 @@
HQChart.Chart.JSChart.GetResource().FrameLogo.Text = null;
option.NetworkFilter = (data, callback) => {
- this.NetworkFilter(data, callback);
+ this.NetworkFilter1(data, callback);
}; // 网络请求回调函数
chart.SetOption(option);
@@ -415,49 +1267,32 @@
this.KLineChart = chart;
},
- NetworkFilter(
+ NetworkFilter1(
data,
callback // 第3方数据替换接口
) {
- // if (this.timerss) {
- // clearInterval(this.timerss);
- // this.timerss = null;
- // }
- this.timeChange(data, callback);
- // this.timerss = setInterval(() => {
- // // this.KLineChart.ChangeSymbol(this.obj.code);
- // this.timeChange(data, callback);
- // }, 3000);
- },
- timeChange(data, callback) {
EastMoney.HQData.Log("[HQChartDemo::NetworkFilter] data", data);
- console.log("NetworkFilter", data.Name);
- switch (data.Name) {
- // 分时图数据对接
- case "MinuteChartContainer::RequestMinuteData":
- EastMoney.HQData.NetworkFilter(data, callback);
- break;
- case "MinuteChartContainer::RequestHistoryMinuteData":
- EastMoney.HQData.NetworkFilter(data, callback);
- break;
+ EastMoney.HQData.NetworkFilter(data, callback);
+ this.timerss1 = setInterval(() => {
+ EastMoney.HQData.NetworkFilter(data, callback);
+ }, 2000);
+ },
- case "KLineChartContainer::RequestHistoryData": // 日线全量数据下载
- EastMoney.HQData.NetworkFilter(data, callback);
- break;
- case "KLineChartContainer::RequestRealtimeData": // 日线实时数据更新
- EastMoney.HQData.NetworkFilter(data, callback);
- break;
- case "KLineChartContainer::RequestFlowCapitalData": // 流通股本
- EastMoney.HQData.NetworkFilter(data, callback);
- break;
- case "KLineChartContainer::ReqeustHistoryMinuteData": // 分钟全量数据下载
- EastMoney.HQData.NetworkFilter(data, callback);
- break;
- case "KLineChartContainer::RequestMinuteRealtimeData": // 分钟增量数据更新
- EastMoney.HQData.NetworkFilter(data, callback);
- break;
+ NetworkFilter2(
+ data,
+ callback // 第3方数据替换接口
+ ) {
+ EastMoney.HQData.Log("[HQChartDemo::NetworkFilter] data", data);
+
+ if (this.timerss2) {
+ clearInterval(this.timerss2);
+ this.timerss2 = null;
}
+ this.timerss2 = setInterval(() => {
+ EastMoney.HQData.NetworkFilter(data, callback);
+ console.log("另一个的数据", data);
+ }, 2000);
},
},
};
diff --git a/src/views/home/components/HomeRight.vue b/src/views/home/components/HomeRight.vue
index 829fddb..f103f2e 100644
--- a/src/views/home/components/HomeRight.vue
+++ b/src/views/home/components/HomeRight.vue
@@ -224,6 +224,7 @@
if (data.status === 0) {
this.$message.success(data.msg);
this.getMoney();
+ this.$emit("Refresh");
} else {
this.$message.error(data.msg);
}
@@ -248,6 +249,7 @@
if (data.status == 0) {
this.$message.success(data.msg);
this.getInfoSite();
+ this.$emit("Refresh");
}
}),
},
--
Gitblit v1.9.3