shirosaki-napcatsdk
Version:
全新的,省心的,NapCatQQ SDK
59 lines (58 loc) • 1.64 kB
TypeScript
import type { Logger } from "./interface/Logger";
import { type EnumKeys } from "@ceale/util";
declare const WebsocketState: {
CONNECT: "CONNECT";
ACTIVE: "ACTIVE";
CLOSE: "CLOSE";
};
declare const WebsocketManagerState: {
CLOSE: "CLOSE";
OPEN: "OPEN";
};
export declare class WebSocketManager {
private wsParams;
dataHandler: (data: any) => void;
private retryCfg;
private logger;
private timeout;
constructor(wsParams: [any?, any?, any?], dataHandler: (data: any) => void, retryCfg: {
interval: number;
limit: number;
}, logger: Logger, timeout: number);
/** WebSocketManager状态 */
wsmState: EnumKeys<typeof WebsocketManagerState>;
/** WebSocketManager状态判断 */
private wsmStateIs;
/** 等待关闭的Promise */
private waitCloseResolve?;
/**
* 连接成功返回true,失败返回false。如果当前已经是连接的,则返回true
*/
open(): Promise<boolean>;
/**
* 重连
*/
private retry;
/**
* 断开成功返回true。如果当前已经是断开的,则返回true
*/
close(): Promise<boolean>;
/** WebSocket状态 */
wsState: EnumKeys<typeof WebsocketState>;
private ws;
/** 等待WS连接完成(成功或失败)*/
private waitActiveResolve?;
private waitActiveTimeout?;
private connect;
/**
* 发送数据
* @param data 任意js对象
* @returns 发送成功返回true,失败返回false
*/
sendData(data: any): boolean;
private onceMsg;
private onActive;
private onMsg;
private onClose;
}
export {};