From 2ab12f74ee92402d59cbad1e3525b98ad0540a9b Mon Sep 17 00:00:00 2001 From: kuaifan Date: Sat, 21 May 2022 19:40:34 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E7=AB=AF=E7=94=9F=E5=91=BD=E5=91=A8=E6=9C=9F=E9=87=8D=E8=BF=9E?= =?UTF-8?q?ws=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/assets/js/App.vue | 19 ++++++++++++++++++- resources/assets/js/store/actions.js | 8 ++++---- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/resources/assets/js/App.vue b/resources/assets/js/App.vue index 40f04a32b..319eafa9f 100755 --- a/resources/assets/js/App.vue +++ b/resources/assets/js/App.vue @@ -33,6 +33,7 @@ export default { created() { this.electronEvents(); + this.eeuiEvents(); }, mounted() { @@ -82,7 +83,7 @@ export default { handler() { this.$store.dispatch("websocketConnection"); // - if (this.$isEEUiApp) { + if (this.$isEEUiApp && this.userId > 0) { setTimeout(_ => { const webview = requireModuleJs("webview"); webview && webview.sendMessage({ @@ -220,6 +221,22 @@ export default { this.$store.dispatch(action, data); }) this.manifestUrl = $A.apiUrl("../manifest") + }, + + eeuiEvents() { + if (!this.$isEEUiApp) { + return; + } + // 页面失活 + window.__onPagePause = () => { + + } + // 页面激活 + window.__onPageResume = (num) => { + if (num > 0) { + this.$store.state.ws === null && this.$store.dispatch("websocketConnection"); + } + } } } } diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js index 0f4510e48..06ee96136 100644 --- a/resources/assets/js/store/actions.js +++ b/resources/assets/js/store/actions.js @@ -2201,11 +2201,11 @@ export default { */ websocketConnection({state, dispatch, commit}) { clearTimeout(state.wsTimeout); + if (state.ws) { + state.ws.close(); + state.ws = null; + } if (state.userId === 0) { - if (state.ws) { - state.ws.close(); - state.ws = null; - } return; } //