thunbu-im-sdk
Version:
thunbu IM JSSDK
90 lines (89 loc) • 3 kB
TypeScript
import { AnyFunction, IMMetaTypes } from "./Meta.i";
import { IMSendTypes } from "./IM.i";
export declare namespace BasicTypes {
interface Props {
_logPrint: boolean;
}
interface Configs {
/** 是否允许打印到控制台 */
_logPrint: boolean;
/** 本次连接id */
_sessionid: string;
/** 登陆状态,0 - 未登陆,1 - 登陆中,2 - 登陆成功 */
_loginStatus: 0 | 1 | 2;
/** 心跳定时器 ID */
_heartBeatIntervalId: number;
/** 定时心跳 */
_heartBeatInterval: number;
/** 心跳timeout */
_heartBeatTimeOut: number;
/** 是否在线 */
_onLine: boolean;
/** socket 的定时器 */
_socketTimer: number;
/** websocket 配置 */
_socketConfig: {
serverip: string;
};
/** socket回调 */
_socketInitCallBack: {
onSuccess?: AnyFunction;
onError?: AnyFunction;
};
/** 是否被踢 */
_isKick: boolean;
/** 连接状态,0 - 未连接, 1 - 连接中,2 - 连接成功 */
_connectStatus: 0 | 1 | 2;
/** socket 定时器时间 */
_socketTimeOut: number;
/** 离线请求map */
_offlineRequestMap: {
[key: string]: IMSendTypes.Send_GetOffLineMsg;
};
/** 消息记录,判重用 */
_msgMap: {
[key: string]: IMMetaTypes.IMCommandEnum;
};
/** 心跳的错误次数 */
_heartBeatErrCount: number;
/** 心跳出错最大次数3, 错误超过三次,则会判断为连接中断 */
_heartBeatErrCountMax: number;
/** _reconnectInterval */
_reconnectInterval: number;
/** 重连定时器ID */
_reconnectIntervalId: number;
/** IM登录信息,发给服务端的每一个请求应该都带着 */
_loginContent: IMSendTypes.LoginContent;
/** 请求间隔开始时间 */
_requestTime: number;
/** 请求间隔 */
_requestTimeMax: number;
/** 请求次数 */
_requestCount: number;
/** 请求间隔内最大请求次数 */
_requestCountMax: number;
/** 请求集,有成功回调,失败回调等属性 */
_requestMap: {
[key: string]: {
onSuccess: AnyFunction;
onFail: AnyFunction;
timerId: number;
};
};
/** 请求超时间隔 */
_requestTimeOut: number;
/** 登录消息ID */
_loginMsgId: string;
/** 测试在线定时器 */
_testOnlineTimer: number;
}
interface Events {
[key: string]: AnyFunction[];
}
interface SendMsgResponse {
code: IMMetaTypes.IM_Status;
message: any;
err?: any;
data?: any;
}
}