Connection Status
type ConnectionStatus = "connected" | "connecting" | "disconnected" | "failure" | "dbOpen" | "dbClose"
Conversation Type
enum ConversationType {
PRIVATE = 1, // private chat
GROUP = 2, // group
CHATROOM = 3, // chatroom
SYSTEM = 4 // system conversation
}
Message Direction
enum MessageDirection {
SEND = 1, // send
RECEIVE = 2 // receive
}
Message State
enum MessageState {
UNKNOWN = 0, // unknown
SENDING = 1, // sending
SENT = 2, // sent
SEND_FAILED = 3, // send failed
UPLOADING = 4 // uploading
}
Listeners
Connection Status Listener Type:
type ConnectionStatusListener = (
status: ConnectionStatus,
code: number,
extra: string
) => void;
Message Listener Type:
type MessageListener = {
onMessageReceive?: (message: Message) => void;
onMessageRecall?: (message: Message) => void;
onMessageUpdate?: (message: Message) => void;
onMessageDelete?: (
conversation: Conversation,
clientMsgNos: number[]
) => void;
onMessageClear?: (
conversation: Conversation,
timestamp: number,
senderId: string
) => void;
onMessageReactionAdd?: (
conversation: Conversation,
reaction: MessageReaction
) => void;
onMessageReactionRemove?: (
conversation: Conversation,
reaction: MessageReaction
) => void;
onMessageSetTop?: (
message: Message,
operator: UserInfo,
isTop: boolean
) => void;
}
Conversation Listener Type:
type ConversationListener = {
onConversationInfoAdd?: (conversations: ConversationInfo[]) => void;
onConversationInfoUpdate?: (conversations: ConversationInfo[]) => void;
onConversationInfoDelete?: (conversations: ConversationInfo[]) => void;
onTotalUnreadMessageCountUpdate?: (count: number) => void;
}