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; } //