diff --git a/src/App.vue b/src/App.vue index dbf15fc..a1bc78f 100644 --- a/src/App.vue +++ b/src/App.vue @@ -15,6 +15,8 @@ import sleep from '@/utils/sleep'; import LayoutMain from './layout/main.vue'; import activeWebsocketService, { + wsService, + restart, msg, } from './ws'; @@ -43,9 +45,11 @@ async function wsReconnect() { if (stopReconnect) { return; } + stopReconnect = true; await sleep(1000); console.log('reconnect ws'); activeWebsocketService(); + stopReconnect = false; } onMounted(async () => { @@ -65,6 +69,13 @@ onMounted(async () => { store.dispatch('watchWsMsg'); }); activeWebsocketService(); + + // 监听窗口重新获得焦点 + window.addEventListener('focus', () => { + if (wsService.connected !== 1) { + restart(); + } + }); }); window.addEventListener('unhandledrejection', (event) => {