/** * SDKTransceiver: * 处理Window的消息发送和接受 */ import SDKPacket from "./SDKPacket"; import SDKPacketHandler from "./SDKPacketHandler"; export default class SDKTransceiver { private static ORDER_ID; private static SEND_COUNT; private static RECEIVE_COUNT; protected _packetHandler: SDKPacketHandler; constructor(); /** * 监听window消息事件 */ private addMessageEvent; private removeMessageEvent; /** * 检测数据包是否合法。。。不合法的不给发送 * @param packet 数据包 */ private checkSendPacket; /** * 向数据包追加参数数据 * @param packet 数据包 */ private appendParamsToPacket; /** * 向数据包添加派发对象 * @param packet 数据包 */ private appendMobilesToPacket; /** * 默认将消息转发给所有人包括不在线的人 */ private messageToAll; /** * 将事件消息数据转换成 数据包 * @param data 事件消息数据 */ messageToPacket(data: any): SDKPacket; /** * window 接受到的事件 * @param event 消息事件 */ private receiveMsg; /** * 发送数据包 * @param packet 数据包 * @param target 数据包接受者 */ sendPacket(packet: SDKPacket, target?: Window): void; /** * 发送消息 * @param name 消息名称 * @param data 消息数据 * @param target 发送的目标 */ sendMsg(name: string, data?: any, isMainIframe?: boolean, target?: Window): void; packetHandler: SDKPacketHandler; reset(): void; destroy(): void; }