1
PC-20250623MANY\Administrator
2025-09-25 4f437aec7cfb60fe87daec1c5e52b3ed1d10e719
src/page/kline/components/kLine.vue
@@ -67,8 +67,8 @@
</template>
<script>
let timerss = null; //定时器
import * as echarts from "echarts";
import _ from "lodash";
import HQChart from "hqchart";
import "hqchart/src/jscommon/umychart.resource/css/tools.css";
@@ -93,8 +93,8 @@
    ],
    SplashTitle: "loading...",
    Symbol: "AAPL.usa",
    IsAutoUpdate: true, // 是自动更新数据
    AutoUpdateFrequency: 20000,
    IsAutoUpdate: false, // 是自动更新数据
    AutoUpdateFrequency: 2000,
    DayCount: 1, // 1 最新交易日数据 >1 多日走势图
    IsShowRightMenu: false, // 是否显示右键菜单
    CorssCursorTouchEnd: true,
@@ -1139,7 +1139,6 @@
      VolChartHeight: 10,
      chartType: "kline",
      timerss: null,
      isShow: false,
      xData: []
    };
@@ -1169,22 +1168,9 @@
    // this.CreateKLineChart();
    this.$nextTick(() => {
      // this.timerss = setInterval(() => {
      this.CreateMinuteChart();
      this.CreateKLineChart();
      // }, 3000);
      // timerss = setInterval(() => {
      // this.CreateMinuteChart();
      // this.CreateKLineChart();
      // this.timerss = setInterval(() => {
      //   // this.KLineChart = null
      //   // this.CreateMinuteChart();
      //   // this.CreateKLineChart();
      //   console.log(this.KLinePeriodMenu);
      //   //此处为了 让k线实时刷新
      //   this.OnClickKLinePeriodMenu(this.KLinePeriodIndex, 0, 'kline')
      //   this.OnClickKLinePeriodMenu(this.KLinePeriodIndex, this.KLinePeriodMenu[this.KLinePeriodIndex],
      //     'kline')
      // }, 3000);
      this.CreateKLineChart();
    });
    let that = this;
    window.onresize = _.debounce(this.OnSize, 200);
@@ -1219,11 +1205,9 @@
    });
  },
  beforeDestroy() {
    clearInterval(this.timerss); // 在组件销毁前清除定时器
    this.timerss = null;
  },
  destroyed() {
    clearInterval(this.timerss); // 在组件销毁前清除定时器
    clearInterval(timerss); // 在组件销毁前清除定时器
    timerss = null;
    this.clearTime();
  },
  methods: {
    OnSize() {
@@ -1245,7 +1229,16 @@
      if (this.Chart) this.Chart.OnSize();
      if (this.KLineChart) this.KLineChart.OnSize();
    },
    // 清除所有定时器
    clearTime() {
      // 创建一个额外的定时器以获取当前最大定时器 ID
      let lastIntervalId = setInterval(() => {}, 1000);
      // 遍历并清除所有定时器
      for (let i = 1; i <= lastIntervalId; i++) {
        clearInterval(i);
        clearTimeout(i);
      }
    },
    changeRightContent(type) {
      this.KLinePeriodIndex = 0;
      this.chartType = type;
@@ -1330,7 +1323,7 @@
      item,
      type // K线周期
    ) {
      console.log("1");
      this.clearTime();
      //分时额外处理才注释的
      this.chartType = type;
      this.KLinePeriodIndex = index;
@@ -1364,40 +1357,11 @@
      callback // 第3方数据替换接口
    ) {
      EastMoney.HQData.Log("[HQChartDemo::NetworkFilter] data", data);
      if (this.timerss) {
        clearInterval(this.timerss);
        this.timerss = null;
      }
      EastMoney.HQData.NetworkFilter(data, callback);
      this.timerss = setInterval(() => {
      timerss = setInterval(() => {
        EastMoney.HQData.NetworkFilter(data, callback);
        // switch (data.Name) {
        //   // 分时图数据对接
        //   case "MinuteChartContainer::RequestMinuteData":
        //     EastMoney.HQData.NetworkFilter(data, callback);
        //     break;
        //   case "MinuteChartContainer::RequestHistoryMinuteData":
        //     EastMoney.HQData.NetworkFilter(data, callback);
        //     break;
        //   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;
        // }
      }, 5000);
      }, 3000);
    },
    handleSelect(key, keyPath) {