UNPKG

uno-ws-client

Version:
101 lines (100 loc) 2.59 kB
export interface IRegister { source?: string; target?: string[]; roomExclude?: string[]; event: 'register'; data: { name?: string; group: string | number; hasCbMsg?: boolean; disconnectTime?: number; }; } export interface IMessageData { event: string; source?: string; target?: string[]; roomExclude?: string[]; data: any; } export interface AnyObject { [key: string]: any; } /** * @param reconnectionDelay 重连间隔时间 ms * @param reconnectionLimit 断开重连次数限制 * @param callback 收到消息的回调 * @param heartbeatDelay 心跳检测间隔 * @param heartbeatWait 心跳检测超时时间,超出重连 * @param closeHeartbeat 是否关闭心跳检测 * @param registerData 注册信息,初始化有的话,自动注册 * @param autoConnect 是否需要自动连接 * @param connectByClose 断开连接是否重连 */ export interface IOptions { reconnectionDelay?: number; reconnectionLimit?: number; heartbeatDelay?: number; heartbeatWait?: number; closeHeartbeat?: boolean; autoConnect?: boolean; registerData?: IRegister; callback?: (data: IMessageData) => void; } declare const defaultOptions: { autoConnect: boolean; reconnectionDelay: number; heartbeatDelay: number; heartbeatWait: number; connectByClose: boolean; reconnectionLimit: number; }; declare type ClassOptions = Omit<IOptions, keyof typeof defaultOptions> & typeof defaultOptions; export declare class Ws { options: ClassOptions; wsUrl: string; registerData?: IRegister; ins?: WebSocket; heartbeatDelay: number; reconnectionLimit: number; hearting?: boolean; reconnectId: number | undefined; hbId: number | undefined; hbId_s: number | undefined; loadCb?: Function; constructor(url: string, options: IOptions); /** * 初始化 */ init(): void; /** * 销毁当前通信 */ destroy(): void; /** * 心跳逻辑 */ initHeartbeat(): void; /** * 发送消息 * @param data 消息内容 */ send(data: IMessageData): void; /** * 当前端通信注册 * @param data 注册内容 */ register(data?: IRegister): void; /** * 更新配置后重新初始化 * @param url 服务地址 * @param opts 配置 */ updateOptRetry(url: IOptions | string, opts?: IOptions): void; private onOpen; private on; private received; private onError; private onClose; } export {};