1.安装插件
npm i @vueuse/core@10.11.1
2.引入使用
import { useWebSocket } from "@vueuse/core"
const { send, open, close: wsClose, status } = useWebSocket('ws:
onMessage: (ws, { data }) => {
console.log("websocket链接", data,)
},
onDisconnected: () => {
console.log("websocket断开链接")
handleReconnect()
},
autoReconnect: {
retries: 3,
delay: 5000,
onFailed() {
ElMessage.error("websocket链接失败")
}
},
heartbeat: {
message: "ping",
interval: 10000,
pongTimeout: 1000
}
})
const handleReconnect = () => {
const reconnectInterval = setInterval(() => {
if (status.value === 1) {
console.log("WebSocket 已重新连接")
send(JSON.stringify({ userId: userStore?.userInfo?.id }))
clearInterval(reconnectInterval)
} else {
console.log("正在尝试重新连接 WebSocket...")
open()
}
}, 5000)
}
onMounted(() => {
send('初始连接ws')
})
3.在线测试
测试websocket连接
4.WebSocket 调试
WebSocket 调试神器