兰宝车间质量管理系统-前端
疯狂的狮子Li
2023-11-03 b829ba4aa0617d1d7c0559f859e1357f3ae6f0b3
src/utils/websocket.ts
@@ -20,6 +20,7 @@
import { getToken } from '@/utils/auth';
import useNoticeStore from '@/store/modules/notice';
import { ElNotification } from "element-plus";
const { addNotice } = useNoticeStore();
@@ -32,6 +33,9 @@
// 初始化socket
export const initWebSocket = (url: any) => {
  if (import.meta.env.VITE_APP_WEBSOCKET) {
    return;
  }
  socketUrl = url;
  // 初始化 websocket
  websocket = new WebSocket(url + '?Authorization=Bearer ' + getToken() + '&clientid=' + import.meta.env.VITE_APP_CLIENT_ID);
@@ -115,18 +119,23 @@
// socket 接收数据
export const websocketonmessage = () => {
  websocket.onmessage = function (e: any) {
    const msg = JSON.parse(e.data) as any;
    if (msg.type === 'heartbeat') {
    if (e.data.indexOf('heartbeat') > 0) {
      resetHeart();
    }
    if (msg.type === 'ping') {
    if (e.data.indexOf('ping') > 0) {
      return;
    }
    addNotice({
      message: msg,
      message: e.data,
      read: false,
      time: new Date().toLocaleString()
    });
    return msg;
    ElNotification({
      title: '消息',
      message: e.data,
      type: 'success',
      duration: 3000
    })
    return e.data;
  };
};