Ben Lin
2024-11-12 a42c6f16bbb177dfcc754d53d925afddead38eba
src/store/modules/websocket.ts
@@ -19,6 +19,8 @@
  socketError: number;
  heartTime: any;
  HeartTimeOut: number;
  printTag: string;
  printJson: string;
}
export const useWebSocketStore = defineStore({
@@ -33,6 +35,8 @@
    socketError: 0,
    heartTime: null,
    HeartTimeOut: 30000,
    printTag: '',
    printJson: ''
  }),
  getters: {
    GetSocket(state) {
@@ -43,6 +47,12 @@
    },
    GetSocketState(state) {
      return state.readyState;
    },
    GetPrintTag(state) {
      return state.printTag;
    },
    GetPrintJson(state) {
      return state.printJson;
    },
  },
  actions: {
@@ -60,13 +70,21 @@
      // 监听消息事件
      this.socket.onmessage = (event) => {
        console.log(event.data, 'event2');
        const message = JSON.parse(event.data);
        if (message.Data == 'heartbeat') {
        const d = JSON.parse(event.data);
        switch (d.Data) {
          case 'heartbeat':
          this.resetHeart();
          console.log('心跳');
        } else {
          console.log('WebSocket消息: ', message);
          this.SetMessage(message);
            break;
          case 'PrintJS':
            const json = JSON.parse(d.Message)
            this.SetPrintTag(json.Tag);
            this.SetPrintJson(json.Message);
          break;
          default:
            console.log('WebSocket消息: ', d.Message);
            this.SetMessage(d.Message);
            break;
        }
      };
@@ -91,6 +109,12 @@
    },
    SetMessage(message: string) {
      this.socketMessage = message;
    },
    SetPrintTag(tag: string) {
      this.printTag = tag;
    },
    SetPrintJson(json: string) {
      this.printJson = json;
    },
    SetSocket(socket: WebSocket) {
      this.socket = socket;
@@ -120,7 +144,7 @@
            'wsApply ' +
              JSON.stringify({
                Data: 'ping',
                Message: 'BS端心跳发送'
                Message: 'BS端心跳发送',
              }),
          );
          this.socketHeart = this.socketHeart + 1;