import { EventBusPipe } from '../../eventbus/frm-eventpipe'; import { Subject } from 'rxjs'; import { FrmSubjectOptions } from '../../shared/frm-util'; export declare class BroadcastingStationService { private subjectMaps; private frmVariableService; private frmSubject; constructor(); /** * 注册主题,并获取当前主题唯一标识token * @param subjectCode 主题编码,建议有明确含义,方便确认当前主题的职责 * code不是唯一标识,即使相同code每次注册都会生成一个新的主题,返回值token是唯一标识 * @param options 主题注册操作,可以直接对于菜单 或 应用注册主题 * @param customSub 自定义主题,如果为null或者不传,默认为Subject */ subjectRegister(subjectCode: string, options: FrmSubjectOptions, customSub?: Subject): string; /** * 注册主题,可直接获取主题实体, * 框架不托管维护,常用于适配层上事件扩展机制 * @param options 注册参数 * @param customSub 是否自定义主题 */ customSubjectRegister(options: FrmSubjectOptions, customSub?: Subject): Map; /** * 删除主题 * @param subjectToken 主题唯一标识 */ subjectRemove(subjectToken: string): void; /** * 通过某个主题发送消息 * @param subjectToken 主题唯一的token标识 * @param info 要发送的消息 */ notify(subjectToken: string, info: any): void; /** * 为主题添加观察者,并监听主题消息 * @param subjectToken 主题token * @param observerToken 当前监听主题的观察者唯一标识token * @param handler 观察者监听到主题消息时要执行的动作 */ response(subjectToken: string, observerToken: string, handler: (value: any) => void): void; /** * 观察者取消对主题的订阅 * @param subjectToken 主题唯一标识 * @param observerToken 观察者唯一标识 */ responseUnSubscribe(subjectToken: string, observerToken: string): void; private getSubject; /** * 创建唯一token */ private createToken; }