@vnb/mfe-events 0.0.1-rc.5 → 0.0.1-rc.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -146,7 +146,7 @@ mfeEventPlugin.register({
146
146
 
147
147
  // Shell → App:Token 刷新
148
148
  [EvtMfe.AuthTokenUpdate]: (data) => {
149
- // data: { token: string; user?: User; permissions?: string[] }
149
+ // data: { token: string; user?: User; permissions?: string[]; appId?: string }
150
150
  updateToken(data.token);
151
151
  },
152
152
 
@@ -225,7 +225,7 @@ mfeBus.on(EvtMfe.ShlTokenExpired, (data) => {
225
225
  // 子应用 token 过期 → 重发当前 token
226
226
  });
227
227
 
228
- // 3. 定向发送(子应用必须已 register(),否则 emitTo 静默失败)
228
+ // 3. 定向发送(三级降级:registry DOM 扫描 iframe[data-mfe-app] → 广播 fallback)
229
229
  mfeEventPlugin.emitTo('mma', EvtMfe.RouteNavigate, { path: '/chairman' });
230
230
 
231
231
  // 4. 广播(所有子应用均可收到)
@@ -239,6 +239,7 @@ mfeEventPlugin.shellReady();
239
239
  mfeEventPlugin.authLogin({ userId: '1', name: 'Admin' });
240
240
  mfeEventPlugin.authLogout('user');
241
241
  mfeEventPlugin.tokenUpdate({ token: 'xxx', permissions: ['read', 'write'] });
242
+ mfeEventPlugin.tokenGrant('mma', { token: 'xxx', user: { userId: '1' } });
242
243
  mfeEventPlugin.authExpired();
243
244
 
244
245
  // 7. 通知
@@ -271,7 +272,8 @@ shlBus.on(EvtShl.TabOverflow, (data) => {
271
272
  │ └─────────────────────────────────────────────────────────────┘ │
272
273
  │ │
273
274
  │ ┌─ 定向(Shell → 指定 App)───────────────────────────────────┐ │
274
- │ │ AuthSelf "你自行登录(没有 OIDC 配置)" │ │
275
+ │ │ AuthSelf "我不帮你做任何登录,你自行登录" │ │
276
+ │ │ AuthTokenGrant "给你下发了专属 token" │ │
275
277
  │ │ RouteNavigate "跳到这个路径去" │ │
276
278
  │ │ RouteRefresh "刷新你当前的路由" │ │
277
279
  │ └─────────────────────────────────────────────────────────────┘ │
@@ -330,19 +332,20 @@ shlBus.on(EvtShl.TabOverflow, (data) => {
330
332
  |------|-----|------|------|---------|---------|
331
333
  | **ThemeUpdate** | `mfe:theme-update` | Shell → App | 主题切换 | `{ theme: 'light' \| 'dark' }` | "主题切换了,你们跟着换" |
332
334
  | **LocaleUpdate** | `mfe:locale-update` | Shell → App | 语言切换 | `{ locale: string }` | "语言切换了,你们跟着换" |
333
- | **BreakpointUpdate** | `mfe:breakpoint-update` | Shell → App | 响应式断点/横竖屏变化(Shell 基于 `window.matchMedia` 监听并广播,子应用收到后同步更新布局,如侧边栏收起、表格横向滚动等) | `{ current: string; orientation: 'portrait' \| 'landscape' }` | "屏幕尺寸变了,你们调整一下布局" |
335
+ | **BreakpointUpdate** | `mfe:breakpoint-update` | Shell → App | 响应式断点/横竖屏变化(Shell 基于 `window.matchMedia` 监听并广播,子应用收到后同步更新布局,如侧边栏收起、表格横向滚动等) | `{ current: string; orientation: string }` | "屏幕尺寸变了,你们调整一下布局" |
334
336
  | **StateUpdate** | `mfe:state-update` | Shell → App | 全局状态同步 | `{ state: AppState; prev: AppState \| null }` | "全局状态更新了,你们同步" |
335
337
  | **ShellReady** | `mfe:shell-ready` | Shell → App | Shell 初始化完成 | `{}` | "我准备好了,你们可以开始工作" |
336
338
  | **Error** | `mfe:error` | App → Shell | 子应用错误上报 | `{ source: string; message: string; stack?: string }` | "我报错了,你看一下" |
337
339
  | **Raw** | `mfe:raw` | App ↔ App | 自定义透传事件(子应用间通信) | `{ type: string; payload: any; source: string; ts: number }` | "兄弟,给你发个消息" |
338
340
  | **Custom** | `mfe:raw` | App ↔ App | `Raw` 的别名,完全等价 | `{ type: string; payload: any; source: string; ts: number }` | "兄弟,给你发个消息" |
339
- | **AuthLogin** | `mfe:auth-login` | Shell → App | 用户登录 | `{ user: User; token: string }` | "用户登录了,你们更新状态" |
341
+ | **AuthLogin** | `mfe:auth-login` | Shell → App | 用户登录 | `{ user?: User; token: string; appId?: string }` | "用户登录了,你们更新状态" |
340
342
  | **AuthLogout** | `mfe:auth-logout` | Shell → App | 用户登出 | `{ reason?: 'user' \| 'timeout' \| 'error' }` | "用户登出了,你们清理自己" |
341
- | **AuthTokenUpdate** | `mfe:auth-token-update` | Shell → App | Token 刷新 | `{ token: string; user?: User; permissions?: string[] }` | "token 刷新了,你们换上新的" |
343
+ | **AuthTokenUpdate** | `mfe:auth-token-update` | Shell → App | Token 刷新 | `{ token: string; user?: User; permissions?: string[]; appId?: string }` | "token 刷新了,你们换上新的" |
344
+ | **AuthTokenGrant** | `mfe:auth-token-grant` | Shell → App (定向) | Token 下发 | `{ token: string; appId: string; user?: User; permissions?: string[] }` | "给你下发了专属 token" |
342
345
  | **AuthTokenClear** | `mfe:auth-token-clear` | Shell → App | Token 清除 | `{}` | "token 清掉了,你们也清掉" |
343
346
  | **AuthPermissionUpdate** | `mfe:auth-permission-update` | Shell → App | 权限变更 | `{ permissions: string[] }` | "权限变了,你们更新一下" |
344
347
  | **AuthExpired** | `mfe:auth-expired` | Shell → App | 认证过期 | `{}` | "token 过期了,你们跳登录页" |
345
- | **AuthSelf** | `mfe:auth-self` | Shell → App | 子应用自行处理登录(仅基座无 OIDC 配置时) | `{ appId: string }` | "我没有 OIDC 配置,你自行登录" |
348
+ | **AuthSelf** | `mfe:auth-self` | Shell → App | 子应用自行处理登录(仅基座无 OIDC 配置时) | `{ appId: string }` | "我不帮你做任何登录,你自行登录" |
346
349
  | **AuthSelfOk** | `mfe:auth-self-ok` | App → Shell | 自行登录成功 | `{ appId: string; user?: any; token?: string }` | "我自行登录成功了" |
347
350
  | **AuthSelfErr** | `mfe:auth-self-err` | App → Shell | 自行登录失败 | `{ appId: string; reason?: string }` | "我自行登录失败了" |
348
351
  | **AuthSelfDeny** | `mfe:auth-self-deny` | App → Shell | 子应用拒绝加载,请求基座卸载 | `{ appId: string; reason?: string }` | "我不想被加载,卸载掉我" |
@@ -570,8 +573,8 @@ mfeEventPlugin.register({
570
573
  appId: 'my-app',
571
574
  handlers: {
572
575
  [EvtMfe.BreakpointUpdate]: (data) => {
573
- // data.current: 'xs' | 'sm' | 'lg'
574
- // data.orientation: 'portrait' | 'landscape'
576
+ // data.current: string (如 'xs', 'sm', 'lg', 'md', 'xl' 等)
577
+ // data.orientation: string (如 'portrait', 'landscape')
575
578
  document.documentElement.dataset.breakpoint = data.current;
576
579
  document.documentElement.dataset.orientation = data.orientation;
577
580
  },
@@ -635,6 +638,13 @@ mfeEventPlugin.tokenUpdate({
635
638
  permissions: ['read', 'write'],
636
639
  });
637
640
 
641
+ // 定向下发 Token(仅目标 App 收到)
642
+ mfeEventPlugin.tokenGrant('mma', {
643
+ token: 'new-jwt-token',
644
+ user: { userId: '1', username: 'admin', roles: ['admin'] },
645
+ permissions: ['read', 'write'],
646
+ });
647
+
638
648
  // 广播 Token 清除
639
649
  mfeEventPlugin.tokenClear();
640
650
 
@@ -813,18 +823,14 @@ ReactDOM.createRoot(document.getElementById('root')!).render(<App />);
813
823
  2. 确认 Federation 配置中有 `@vnb/mfe-events` 且 `singleton: true`
814
824
  3. 确认使用的是事件常量 `EvtMfe.XXX` 而非硬编码字符串
815
825
  4. 控制台检查 `window.__MFE_EVENT_PLUGIN__` 是否存在
816
- 5. 如果是 iframe,确认调用了 `mfeEventPlugin.registerIframe()`
817
- 6. 如果是动态加载场景,`emitTo` 调用时子应用尚未注册,会在控制台看到警告:`emitTo: app not registered`
826
+ 5. 如果是 iframe,确认调用了 `mfeEventPlugin.registerIframe()`,或 iframe 设置了 `data-mfe-app="appId"` 属性
827
+ 6. `emitTo` 支持三级降级:registry 命中 → DOM 扫描 `iframe[data-mfe-app]` 广播 fallback(带 appId 让子应用自判断)
818
828
 
819
829
  ### emitTo 报 app not registered
820
830
 
821
- 动态加载时,如果 Shell 在子应用注册之前就调用了 `emitTo`,消息会丢失。控制台会输出:
822
-
823
- ```
824
- [mfe-events] emitTo: app not registered: "mma" (event: mfe:route-navigate)
825
- ```
826
-
827
- 解决方案:确保子应用先调用 `register()`,再让 Shell 发 `emitTo`。或者在子应用 `LifecycleAppReady` 之后,再由子应用主动请求数据(而不是等 Shell push)。
831
+ 动态加载时,如果 Shell 在子应用注册之前就调用了 `emitTo`,插件会自动降级处理:
832
+ 1. 扫描 DOM 中 `iframe[data-mfe-app="appId"]`,找到则动态创建 transport 定向发送
833
+ 2. 都没找到则广播 `emit`(带 appId 参数),子应用收到后自行判断是否处理
828
834
 
829
835
  ### 通知不显示
830
836
 
@@ -834,7 +840,7 @@ ReactDOM.createRoot(document.getElementById('root')!).render(<App />);
834
840
 
835
841
  ### iframe 子应用收不到事件
836
842
 
837
- 1. 确认 Shell 侧调用了 `mfeEventPlugin.registerIframe(appId, iframeEl, targetOrigin)`
843
+ 1. 确认 iframe 设置了 `data-mfe-app="appId"` 属性,或 Shell 调用了 `mfeEventPlugin.registerIframe(appId, iframeEl, targetOrigin)`
838
844
  2. 确认 `targetOrigin` 与 iframe 的 `src` origin 匹配(生产环境建议明确指定)
839
845
  3. 检查浏览器控制台是否有 postMessage 相关的 CSP 警告
840
846
 
@@ -31,6 +31,7 @@ export declare const EvtMfe: {
31
31
  readonly AuthLogin: "mfe:auth-login";
32
32
  readonly AuthLogout: "mfe:auth-logout";
33
33
  readonly AuthTokenUpdate: "mfe:auth-token-update";
34
+ readonly AuthTokenGrant: "mfe:auth-token-grant";
34
35
  readonly AuthTokenClear: "mfe:auth-token-clear";
35
36
  readonly AuthPermissionUpdate: "mfe:auth-permission-update";
36
37
  readonly AuthExpired: "mfe:auth-expired";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,eAAO,MAAM,MAAM;;;;;;;;CAQT,CAAC;AAKX,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCT,CAAC;AAKX,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,MAAM,IAAI,MAAM,EAAE,CAM7E"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,eAAO,MAAM,MAAM;;;;;;;;CAQT,CAAC;AAKX,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CT,CAAC;AAKX,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,MAAM,IAAI,MAAM,EAAE,CAM7E"}
package/dist/index.d.ts CHANGED
@@ -21,6 +21,7 @@ export type { Transport } from './transport';
21
21
  export { Bus } from './bus';
22
22
  export { EvtShl, EvtMfe, EvtApp } from './constants';
23
23
  export type { PayloadShl, PayloadMfe, PayloadApp, NotificationType, NotificationConfig, AppType, AppMeta, PluginOptions, } from './types';
24
+ export { Breakpoint, DeviceType, breakpointToDevice, } from './types';
24
25
  export { mfeEventPlugin } from './plugin';
25
26
  export type { default as MfeEventPlugin } from './plugin';
26
27
  export { mfeEventPlugin as default } from './plugin';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC3G,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrD,YAAY,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,OAAO,EACP,OAAO,EACP,aAAa,GACd,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAOrD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,MAAM,iBAA6C,CAAC;AAwBjE,eAAO,MAAM,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC3G,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrD,YAAY,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,OAAO,EACP,OAAO,EACP,aAAa,GACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,UAAU,EACV,UAAU,EACV,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC;AAOrD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,MAAM,iBAA6C,CAAC;AAwBjE,eAAO,MAAM,MAAM,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vnb/mfe-events v0.0.1-rc.5
2
+ * @vnb/mfe-events v0.0.1-rc.7
3
3
  * Micro frontend event plugin for cross-app communication with type safety
4
4
  * License: MIT
5
5
  */
@@ -183,6 +183,7 @@ const EvtMfe = {
183
183
  AuthLogin: 'mfe:auth-login',
184
184
  AuthLogout: 'mfe:auth-logout',
185
185
  AuthTokenUpdate: 'mfe:auth-token-update',
186
+ AuthTokenGrant: 'mfe:auth-token-grant',
186
187
  AuthTokenClear: 'mfe:auth-token-clear',
187
188
  AuthPermissionUpdate: 'mfe:auth-permission-update',
188
189
  AuthExpired: 'mfe:auth-expired',
@@ -217,6 +218,33 @@ function EvtApp(appId, name) {
217
218
  return `app:${appId}-${name}`;
218
219
  }
219
220
 
221
+ /**
222
+ * @xxxx/mfe-events — Type Definitions
223
+ *
224
+ * Payload types for each event scope.
225
+ * Keys must reference constants from constants.ts.
226
+ */
227
+ /** Shell breakpoint constants */
228
+ const Breakpoint = {
229
+ XS: 'xs',
230
+ SM: 'sm',
231
+ LG: 'lg',
232
+ };
233
+ /** Device type constants */
234
+ const DeviceType = {
235
+ MOBILE: 'mobile',
236
+ TABLET: 'tablet',
237
+ WEB: 'web',
238
+ };
239
+ /** Breakpoint → Device type (mobile<768 / tablet 768-1023 / web≥1024) */
240
+ function breakpointToDevice(bp) {
241
+ if (bp === 'xs')
242
+ return 'mobile';
243
+ if (bp === 'sm')
244
+ return 'tablet';
245
+ return 'web';
246
+ }
247
+
220
248
  /**
221
249
  * @xxxx/mfe-events — Plugin Core
222
250
  *
@@ -476,29 +504,40 @@ class MfeEventPlugin {
476
504
  // ─────────────────────────────────────────
477
505
  /**
478
506
  * Register a Remote App with event handlers
507
+ *
508
+ * `options.type` 可选 —— 不传时自动识别环境:
509
+ * - iframe 内(window.self !== window.top)→ 'iframe':监听 postMessage,
510
+ * 并自动建立下行 message → CustomEvent 桥,同窗自定义事件也能收到(无需手写桥)。
511
+ * - 顶层 window → 'nf'(Native Federation,监听 CustomEvent);
512
+ * Webpack MF 同窗也是 CustomEvent,可显式传 type:'mf'。
479
513
  */
480
514
  register(options) {
481
515
  if (this.registry.has(options.appId)) {
482
516
  this.unregister(options.appId);
483
517
  }
518
+ const type = options.type || this.detectType();
484
519
  const meta = {
485
520
  appId: options.appId,
486
- type: options.type || 'mf',
521
+ type,
487
522
  };
488
523
  const cleanups = [];
489
524
  // Auto-subscribe handlers
490
525
  Object.entries(options.handlers).forEach(([event, handler]) => {
491
526
  if (!handler)
492
527
  return;
493
- if (options.type === 'iframe') {
494
- // iframe: listen via postMessage
495
- const wrapper = (e) => {
528
+ if (type === 'iframe') {
529
+ // iframe: Shell postMessage 下行 → 监听 message 事件
530
+ const msgWrapper = (e) => {
496
531
  if (e.data?.scope === 'mfe' && e.data?.event === event) {
497
532
  handler(e.data.data);
498
533
  }
499
534
  };
500
- window.addEventListener('message', wrapper);
501
- cleanups.push(() => window.removeEventListener('message', wrapper));
535
+ window.addEventListener('message', msgWrapper);
536
+ cleanups.push(() => window.removeEventListener('message', msgWrapper));
537
+ // 自动桥:Shell postMessage → 同窗 CustomEvent,让监听 CustomEvent 的逻辑也能收到
538
+ const ceWrapper = (e) => handler(e.detail);
539
+ window.addEventListener(event, ceWrapper);
540
+ cleanups.push(() => window.removeEventListener(event, ceWrapper));
502
541
  }
503
542
  else {
504
543
  // MF/NF: listen via window.CustomEvent
@@ -509,6 +548,20 @@ class MfeEventPlugin {
509
548
  });
510
549
  this.registry.set(options.appId, { meta, options, cleanups });
511
550
  }
551
+ /**
552
+ * 自动识别当前运行环境,选择事件监听通道。
553
+ * - iframe 内(被 Shell 托管,window.self !== window.top)→ 'iframe'(postMessage)
554
+ * - 顶层 window(MF/NF 子应用)→ 'mf'(CustomEvent)
555
+ */
556
+ /**
557
+ * 自动识别当前运行环境,选择事件监听通道。
558
+ * - iframe 内(被 Shell 托管,window.self !== window.top)→ 'iframe'(postMessage)
559
+ * - 顶层 window → 'nf'(Native Federation,CustomEvent 广播)
560
+ * - Webpack MF 子应用(同为顶层同窗)与 NF 一样走 CustomEvent,可显式传 type:'mf'
561
+ */
562
+ detectType() {
563
+ return typeof window !== 'undefined' && window.self !== window.top ? 'iframe' : 'nf';
564
+ }
512
565
  /**
513
566
  * Register an iframe Remote App (Shell side)
514
567
  */
@@ -548,39 +601,59 @@ class MfeEventPlugin {
548
601
  // ─────────────────────────────────────────
549
602
  /**
550
603
  * Send event to a specific Remote App
604
+ *
605
+ * 1. Registry hit → send directly
606
+ * 2. DOM scan → find iframe[data-mfe-app="appId"], create transport on-the-fly
607
+ * 3. Fallback → broadcast with appId for self-filtering
551
608
  */
552
609
  emitTo(appId, event, data) {
610
+ // 1. Registry hit
553
611
  const app = this.registry.get(appId);
554
- if (!app) {
555
- MfeEventPlugin._logWarn('emitTo', 'app not registered', `"${appId}" (event: ${event})`);
612
+ if (app) {
613
+ if (app.meta.type === 'iframe' && app.meta.transport) {
614
+ app.meta.transport.emit(event, data);
615
+ }
616
+ else {
617
+ const handler = app.options.handlers[event];
618
+ if (handler) {
619
+ handler(data);
620
+ }
621
+ }
556
622
  return;
557
623
  }
558
- if (app.meta.type === 'iframe' && app.meta.transport) {
559
- // iframe: send via postMessage
560
- app.meta.transport.emit(event, data);
561
- }
562
- else {
563
- // MF/NF: call the registered handler directly
564
- const handler = app.options.handlers[event];
565
- if (handler) {
566
- handler(data);
567
- }
624
+ // 2. DOM scan: iframe[data-mfe-app="appId"]
625
+ const iframe = document.querySelector(`iframe[data-mfe-app="${appId}"]`);
626
+ if (iframe) {
627
+ Promise.resolve().then(function () { return transport; }).then(({ IframeProxyTransport }) => {
628
+ const transport = new IframeProxyTransport(iframe);
629
+ this.registry.set(appId, {
630
+ meta: { appId, type: 'iframe', transport },
631
+ options: { appId, type: 'iframe', handlers: {} },
632
+ cleanups: [],
633
+ });
634
+ transport.emit(event, data);
635
+ });
636
+ return;
568
637
  }
638
+ // 3. Fallback: broadcast with appId
639
+ this.emit(event, { ...data, appId });
569
640
  }
570
641
  // ─────────────────────────────────────────
571
642
  // Shell Broadcast Communication
572
643
  // ─────────────────────────────────────────
573
644
  /**
574
645
  * Broadcast event to all Remote Apps (MF + iframe)
646
+ *
647
+ * - MF/NF: window CustomEvent
648
+ * - iframe: postMessage to every iframe marked with data-mfe-app
649
+ * (含已注册的 iframe;子应用按 event/appId 自行过滤)
575
650
  */
576
651
  emit(event, data) {
577
- // Broadcast to all MF Remote Apps
652
+ // Broadcast to all MF/NF Remote Apps via CustomEvent
578
653
  window.dispatchEvent(new CustomEvent(event, { detail: data }));
579
- // Broadcast to all iframe Remote Apps
580
- this.registry.forEach(({ meta }) => {
581
- if (meta.type === 'iframe' && meta.transport) {
582
- meta.transport.emit(event, data);
583
- }
654
+ // Broadcast to all iframes carrying a data-mfe-app attribute (including registered ones)
655
+ document.querySelectorAll('iframe[data-mfe-app]').forEach((iframe) => {
656
+ iframe.contentWindow?.postMessage({ scope: 'mfe', event, data, ts: Date.now() }, '*');
584
657
  });
585
658
  }
586
659
  // ─────────────────────────────────────────
@@ -777,8 +850,8 @@ class MfeEventPlugin {
777
850
  /**
778
851
  * Broadcast auth login event
779
852
  */
780
- authLogin(user) {
781
- this.emit(EvtMfe.AuthLogin, { user, token: '' });
853
+ authLogin(user, appId) {
854
+ this.emit(EvtMfe.AuthLogin, { user, token: '', appId });
782
855
  }
783
856
  /**
784
857
  * Broadcast auth logout event
@@ -792,6 +865,12 @@ class MfeEventPlugin {
792
865
  tokenUpdate(data) {
793
866
  this.emit(EvtMfe.AuthTokenUpdate, data);
794
867
  }
868
+ /**
869
+ * Grant token to a specific app (unicast)
870
+ */
871
+ tokenGrant(appId, data) {
872
+ this.emitTo(appId, EvtMfe.AuthTokenGrant, { ...data, appId });
873
+ }
795
874
  /**
796
875
  * Broadcast auth expired event
797
876
  */
@@ -874,7 +953,9 @@ if (typeof window !== 'undefined') {
874
953
  }
875
954
  }
876
955
 
956
+ exports.Breakpoint = Breakpoint;
877
957
  exports.Bus = Bus;
958
+ exports.DeviceType = DeviceType;
878
959
  exports.EvtApp = EvtApp;
879
960
  exports.EvtMfe = EvtMfe;
880
961
  exports.EvtShl = EvtShl;
@@ -882,6 +963,7 @@ exports.IframeProxyTransport = IframeProxyTransport;
882
963
  exports.MemoryTransport = MemoryTransport;
883
964
  exports.PostMessageTransport = PostMessageTransport;
884
965
  exports.WindowTransport = WindowTransport;
966
+ exports.breakpointToDevice = breakpointToDevice;
885
967
  exports.default = mfeEventPlugin;
886
968
  exports.mfeBus = mfeBus;
887
969
  exports.mfeEventPlugin = mfeEventPlugin;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/transport.ts","../src/bus.ts","../src/constants.ts","../src/plugin.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/transport.ts","../src/bus.ts","../src/constants.ts","../src/types.ts","../src/plugin.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":"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"}