uno-ws-client
Version:
websocket客户端
76 lines (75 loc) • 1.95 kB
TypeScript
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 {};