import { Observable, Subject } from 'rxjs'; import { ServiceBusClient, ServiceBusServer } from '../services'; /** * 服务总线 */ export interface ServiceBus { /** * 服务注册事件 */ serverRegistered: Observable; /** * 获取客户端 */ getClient(serverAppName: string): ServiceBusClient; /** * 生成并添加服务 */ addServer(appName: string): ServiceBusServer; /** * 获取服务 * */ getServer(appName: string): ServiceBusServer | undefined; /** * 注册服务 */ registerServer(server: ServiceBusServer): void; /** * 移除服务 */ removeServer(appName: string): void; } /** * 子应用间通讯事件内容 * */ export interface ServiceBusEvent { /** * 类型 */ type: string; /** * 是否请求 * */ isRequest?: boolean; /** * 数据 * */ data?: any; }