UNPKG

uno-ws-client

Version:
76 lines (75 loc) 1.95 kB
import { AnyObject, IOptions as WsOptions } from './websocket'; export interface ISDKRegister { name?: string; group: string; hasCbMsg?: boolean; disconnectTime?: number; } export interface ISDKOptions { service: string; source?: string; target?: string[]; roomExclude?: string[]; registerData: ISDKRegister; extraWs?: WsOptions; customData?: { [key: string]: any; }; checkSdk?: boolean; } declare type Parser = (data: AnyObject) => AnyObject; interface IEvent { [key: string]: Parser; } export interface IListenedEvents { [key: string]: (data: AnyObject) => void; } export declare class SDKBase { eventList: IEvent; listenedEvents: IListenedEvents; readonly checkSdk = true; private options; private wsClient?; constructor(options: ISDKOptions); /** * 有效的message转化为事件 * @param eventName 事件/sdk名称 * @param callback 回调函数,如果校验通过返回通信数据,校验不通过返回错误信息 */ listener(eventName: string, callback: (issuccess: boolean, data: AnyObject, errorMsg?: string) => void): void; /** * 注册自定义事件(备注:目前可以替换初始事件的parser) * @param eventName 事件名称 * @param parser 数据处理方法 */ registerEvent(eventName: string, parser?: Parser): void; /** * 发送消息 * @param event * @param data */ send({ event, data, entity, sdk }: { event: string; data: AnyObject; entity: string; sdk?: string; }): void; /** * 更新配置后重新初始化 * @param opts 配置 */ updateOptRetry(opts: ISDKOptions): void; /** * sdk检查过滤 */ sdkParser(msg: any): CustomEvent<{ error: any; data: any; }>; /** * 销毁 */ destroy(): void; private init; } export {};