From fc34ff38d34ab7c70939d7755b1747183dd059d0 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Tue, 15 Jul 2025 17:52:06 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E5=BA=94=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../assets/js/components/MicroApps/iframe.vue | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/resources/assets/js/components/MicroApps/iframe.vue b/resources/assets/js/components/MicroApps/iframe.vue index 51a9e4d51..eeff49920 100644 --- a/resources/assets/js/components/MicroApps/iframe.vue +++ b/resources/assets/js/components/MicroApps/iframe.vue @@ -106,24 +106,26 @@ export default { case 'MICRO_APP_READY': this.handleLoad() this.isLoading = false - this.$store.commit('microApps/update', { - name: this.name, - data: { - onBeforeClose: () => { - return new Promise(resolve => { - const message = { - id: $A.randomString(16), - name: this.name - } - this.$refs.iframe.contentWindow.postMessage({ - type: 'MICRO_APP_BEFORE_CLOSE', - message - }, '*') - this.onBeforeClose[message.id] = resolve - }) + if (message && message.supportBeforeClose) { + this.$store.commit('microApps/update', { + name: this.name, + data: { + onBeforeClose: () => { + return new Promise(resolve => { + const message = { + id: $A.randomString(16), + name: this.name + } + this.$refs.iframe.contentWindow.postMessage({ + type: 'MICRO_APP_BEFORE_CLOSE', + message + }, '*') + this.onBeforeClose[message.id] = resolve + }) + } } - } - }) + }) + } break case 'MICRO_APP_METHOD':