WebSocket

 data() {
    return {
      ws: null, // WebSocket对象
  }
},

  async mounted() {
    this.initWebSocket();
  },
destroyed() {
    this.closeWebSocket();
  },

  methods: {
 
    initWebSocket() {
      // WebSocket与普通的请求所用协议有所不同,ws等同于http,wss等同于https
      //const uuid = generateUUID();
      this.ws = new WebSocket(
        window.SHY_CONFIG.WEBSOCKET_URL +
          // "websocket/equipment/" +
          "ws/" +
          this.$route.query.boxNewId
        //+
        // "/" +
        // uuid
      );
      this.ws.onopen = this.wsonopen;
      this.ws.onerror = this.wsonerror;
      this.ws.onmessage = this.wsonmessage;
      this.ws.onclose = this.wsonclose;
    },

    wsonopen(e) {
      this.jsonLoading = true;
      console.log("连接成功");
      this.wssend("WebSocket连接成功");
    },
    wsonerror(e) {
      console.log("连接失败");
      this.wssend("WebSocket连接错误");
    },
    wsonmessage(e) {
      if (e.data) {
        const json = JSON.parse(e.data);
        const data = json.map((item) => JSON.parse(item));

        data.forEach((dataItem) => {
          const index = this.boxData.findIndex(
            (boxItem) => boxItem.thresholdId === dataItem.thresholdId
          );
          if (index !== -1) {
            this.$set(this.boxData, index, {
              ...this.boxData[index],
              ...dataItem,
            });
          }
        });
        // console.log(this.boxData);
      }
      this.jsonLoading = false;
    },
    wsonclose(e) {
      this.wssend("WebSocket连接关闭");
    },
    closeWebSocket() {
      if (this.ws) {
        console.log("websoket关闭");
        this.ws.close();
      }
    },
  },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值