@zegocloud/zimkit-react
Version:
ZEGO ZIMKit SDK for Web React
38 lines (37 loc) • 3.04 kB
TypeScript
import { EventName } from "../Constant/event";
import { ZIMErrorCallback, ZIMConnectionStateChanged, ZIMTokenWillExpire, ZIMReceivePeerMessage, ZIMReceiveGroupMessage, ZIMConversationTotalUnreadMessageCountUpdated, ZIMConversationChanged, ZIMGroupFullInfo, ZIMUserInfo, ZIMGroupMemberStateChanged } from '../../ZIMAdapter/index.entity';
import { ZIMKitTextMessageModel, ZIMKitImgMessageModel, ZIMKitAudioMessageModel, ZIMKitVideoMessageModel, ZIMKitFileMessageModel } from '../../ZIMKitChat/Model';
import ZIMKitConversationVM from "../../ZIMKitConversation/VM/ZIMKitConversationVM";
import ZIMKitChatVM from "../../ZIMKitChat/VM/ZIMKitChatVM";
export interface ZIMKitEventHandlerInterface {
[EventName.zimError]: ZIMErrorCallback[];
[EventName.zimConnectionStateChanged]: ZIMConnectionStateChanged[];
[EventName.zimTokenWillExpire]: ZIMTokenWillExpire[];
[EventName.zimReceivePeerMessage]: ZIMReceivePeerMessage[];
[EventName.zimReceiveGroupMessage]: ZIMReceiveGroupMessage[];
[EventName.zimConversationTotalUnreadMessageCountUpdated]: ZIMConversationTotalUnreadMessageCountUpdated[];
[EventName.zimConversationChanged]: ZIMConversationChanged[];
[EventName.zimGroupMemberStateChanged]: ZIMGroupMemberStateChanged[];
[EventName.zimKitLoginStateChanged]: ((state: number) => void)[];
[EventName.zimKitLoginUserUpdate]: ((userInfo: ZIMUserInfo) => void)[];
[EventName.zimKitDeleteConversation]: ((conversationID: string) => void)[];
[EventName.zimKitCurrentConversationChanged]: ((conversation: ZIMKitConversationVM) => void)[];
[EventName.zimKitCurrentConversationUpdate]: ((conversation: ZIMKitConversationVM) => void)[];
[EventName.zimKitConversationListUpdate]: ((conversationList: Map<string, ZIMKitConversationVM>) => void)[];
[EventName.zimKitConversationListQueryAbnormally]: ((isAbnormal: boolean) => void)[];
[EventName.zimKitCurrentChatChanged]: ((chat: ZIMKitChatVM) => void)[];
[EventName.zimKitCurrentChatUpdated]: ((chat: ZIMKitChatVM) => void)[];
[EventName.zimKitCurrentGroupInfoUpdated]: ((groupInfo: ZIMGroupFullInfo) => void)[];
[EventName.zimKitImgMessageUpdated]: ((message: ZIMKitImgMessageModel) => void)[];
[EventName.zimKitNetworkChanged]: ((networkStatus: number) => void)[];
[EventName.zimKitModeChanged]: ((mode: number, message: ZIMKitTextMessageModel | ZIMKitImgMessageModel | ZIMKitAudioMessageModel | ZIMKitVideoMessageModel | ZIMKitFileMessageModel) => void)[];
}
export default class ZIMKitEventHandler {
static instance: ZIMKitEventHandler;
eventList: ZIMKitEventHandlerInterface;
constructor();
static getInstance(): ZIMKitEventHandler;
addEventListener<K extends keyof ZIMKitEventHandlerInterface>(event: K, callBackList: ZIMKitEventHandlerInterface[K]): boolean;
removeEventListener<K extends keyof ZIMKitEventHandlerInterface>(event: K, callBackList: ZIMKitEventHandlerInterface[K]): boolean;
actionListener<K extends keyof ZIMKitEventHandlerInterface>(event: K, ...args: Array<any>): void;
}