| | |
| | | /** |
| | | * @module initWebSocket 初始化 |
| | | * @module websocketonopen 连接成功 |
| | | * @module websocketonerror 连接失败 |
| | | * @module websocketclose 断开连接 |
| | | * @module resetHeart 重置心跳 |
| | | * @module sendSocketHeart 心跳发送 |
| | | * @module reconnect 重连 |
| | | * @module sendMsg 发送数据 |
| | | * @module websocketonmessage 接收数据 |
| | | * @module test 测试收到消息传递 |
| | | * @description socket 通信 |
| | | * @param {any} url socket地址 |
| | | * @param {any} websocket websocket 实例 |
| | | * @param {any} heartTime 心跳定时器实例 |
| | | * @param {number} socketHeart 心跳次数 |
| | | * @param {number} HeartTimeOut 心跳超时时间 |
| | | * @param {number} socketError 错误次数 |
| | | */ |
| | | |
| | | import { getToken } from '@/utils/auth'; |
| | | import { ElNotification } from 'element-plus'; |
| | | import useNoticeStore from '@/store/modules/notice'; |
| | |
| | | if (import.meta.env.VITE_APP_WEBSOCKET === 'false') { |
| | | return; |
| | | } |
| | | url = url + '?Authorization=Bearer ' + getToken() + '&clientid=' + import.meta.env.VITE_APP_CLIENT_ID |
| | | url = url + '?Authorization=Bearer ' + getToken() + '&clientid=' + import.meta.env.VITE_APP_CLIENT_ID; |
| | | useWebSocket(url, { |
| | | autoReconnect: { |
| | | // 重连最大次数 |
| | |
| | | delay: 1000, |
| | | onFailed() { |
| | | console.log('websocket重连失败'); |
| | | }, |
| | | } |
| | | }, |
| | | heartbeat: { |
| | | message: JSON.stringify({type: 'ping'}), |
| | | message: JSON.stringify({ type: 'ping' }), |
| | | // 发送心跳的间隔 |
| | | interval: 10000, |
| | | // 接收到心跳response的超时时间 |
| | | pongTimeout: 2000, |
| | | pongTimeout: 2000 |
| | | }, |
| | | onConnected() { |
| | | console.log('websocket已经连接'); |