From 58187c96b345b271c8d00f7e74ec3d82a1cf6877 Mon Sep 17 00:00:00 2001 From: cirry <812852553@qq.com> Date: Sun, 21 Jun 2026 21:09:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BB=E5=BA=94=E7=94=A8=E5=AD=90=E5=BA=94?= =?UTF-8?q?=E7=94=A8globalData=E9=80=9A=E4=BF=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/Home.vue | 235 ++++++++++++++++++++++++++++++++++++++++++++- src/vite-env.d.ts | 26 +++++ 2 files changed, 257 insertions(+), 4 deletions(-) diff --git a/src/views/Home.vue b/src/views/Home.vue index 895acac..b6f5dee 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -40,15 +40,102 @@ + + +
+
📡 跨应用通信
+ +
+ 共享计数器 + {{ count }} +
+ +
+ + +
+ +
+
📋 通信日志(vue3-app 视角)
+
+
+ {{ log.time }} + {{ log.msg }} +
+
等待通信...
+
+
+
diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts index 844e0a7..10b63a4 100644 --- a/src/vite-env.d.ts +++ b/src/vite-env.d.ts @@ -32,4 +32,30 @@ interface Window { * micro-app 注入的公共路径 — 用于拼接静态资源路径 */ __MICRO_APP_PUBLIC_PATH__?: string + + /** + * micro-app 子应用通信 API + */ + microApp?: { + /** 获取主应用 setData 传递的数据 */ + getData(): Record + /** 监听主应用推送的数据 */ + addDataListener(callback: (data: any) => void, autoTrigger?: boolean): void + /** 移除数据监听 */ + removeDataListener(callback: (data: any) => void): void + /** 向主应用发送数据 */ + dispatch(data: Record): void + + // ============================================================ + // globalData API — 全局状态池(主应用 + 所有子应用共享) + // ============================================================ + /** 获取全局数据 */ + getGlobalData(): Record | null + /** 设置全局数据(广播给主应用和所有子应用) */ + setGlobalData(data: Record): void + /** 监听全局数据变化 */ + addGlobalDataListener(callback: (data: any) => void, autoTrigger?: boolean): void + /** 移除全局数据监听 */ + removeGlobalDataListener(callback: (data: any) => void): void + } }