import { Callback } from "../../types"; import { Heart } from "./heart"; export type MessageCallback = (e: RT) => void; interface Ioptions { url: string | null; heartTime?: number; heartMsg: string | ArrayBufferLike | Blob | ArrayBufferView; isReconnect?: boolean; isRestory?: boolean; reconnectTime?: number; reconnectCount?: number; dataType?: BinaryType; openCb?: Callback; closeCb?: Callback; messageCb?: MessageCallback; errorCb?: Callback; } export default class _Socket extends Heart { ws: WebSocket; reconnectTimer: number; reconnectCount: number; dataType: string; options: Ioptions; constructor(ops: Ioptions); /** * 建立连接 */ create(): void; /** * 自定义连接成功事件 * 如果callback存在,调用callback,不存在调用OPTIONS中的回调 * @param {Function} callback 回调函数 */ onopen(callback: Callback): void; /** * 自定义关闭事件 * 如果callback存在,调用callback,不存在调用OPTIONS中的回调 * @param {Function} callback 回调函数 */ onclose(callback?: Callback): void; /** * 自定义错误事件 * 如果callback存在,调用callback,不存在调用OPTIONS中的回调 * @param {Function} callback 回调函数 */ onerror(callback: Callback): void; /** * 自定义消息监听事件 * 如果callback存在,调用callback,不存在调用OPTIONS中的回调 * @param {Function} callback 回调函数 */ onmessage(callback: MessageCallback): void; /** * 自定义发送消息事件 * @param {String} data 发送的文本 */ send(data: string | ArrayBufferLike | Blob | ArrayBufferView): void; /** * 连接事件 */ onreconnect(): void; /** * 销毁 */ destroy(): void; stringToByte(str: string): DataView; byteToString(bytes: DataView | ArrayBufferLike | Blob | ArrayBufferView): string; } export {};