| | |
| | | |
| | | import { getToken } from '@/utils/auth'; |
| | | import useNoticeStore from '@/store/modules/notice'; |
| | | import { ElNotification } from "element-plus"; |
| | | |
| | | const { addNotice } = useNoticeStore(); |
| | | |
| | |
| | | |
| | | // 初始化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); |
| | |
| | | // 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; |
| | | }; |
| | | }; |