zego-zim-miniprogram
Version:
ZEGO ZIM SDK for mini program
479 lines (478 loc) • 15.2 kB
TypeScript
import { ZIM, ZIMGroupMemberSimpleInfo, ZIMGroupMuteInfo, ZIMPushConfig, ZIMUserInfo } from './index';
export interface ZIMConversationBaseInfo {
conversationID: string;
conversationType: ZIM.ConversationType;
}
export interface ZIMConversation {
type: ZIM.ConversationType;
conversationID: string;
conversationName: string;
conversationAlias: string;
conversationAvatarUrl: string;
unreadMessageCount: number;
orderKey: number;
notificationStatus: ZIM.ConversationNotificationStatus;
isPinned: boolean;
isDisabled: boolean;
mutedExpiredTime: number;
draft: string;
marks: number[];
mentionedInfoList: ZIMMessageMentionedInfo[];
lastMessage?: ZIMMessage;
}
export interface ZIMGroupConversation extends ZIMConversation {
isDisabled: boolean;
mutedExpiredTime: number;
}
export interface ZIMMessageReceivedInfo {
isOfflineMessage: boolean;
}
export interface ZIMMessageMentionedInfo {
type: ZIM.MessageMentionedType;
fromUserID: string;
messageID: string;
messageSeq: number;
}
export interface ZIMMessageRepliedInfo {
state: ZIM.MessageRepliedInfoState;
messageSeq: number;
messageID: string;
senderUserID: string;
sentTime: number;
messageInfo: ZIMMessageLiteInfo;
messageEditSeq: number;
rootMessageSeq: number;
rootMessageID: string;
}
export interface ZIMMessageRootRepliedInfo {
messageSeq: number;
state: ZIM.MessageRepliedInfoState;
senderUserID: string;
sentTime: number;
repliedCount: number;
message?: ZIMMessage;
}
export interface ZIMMessageRootRepliedCountInfo {
conversationID: string;
conversationType: ZIM.ConversationType;
count: number;
messageID: string;
}
export interface ZIMMessagePinStatusChangeInfo {
pinStatus: ZIM.MessagePinStatus;
message: ZIMMessage;
}
export interface ZIMConversationChangeInfo {
event: ZIM.ConversationEvent;
conversation: ZIMConversation;
}
export interface ZIMMessage {
type: ZIM.MessageType;
extendedData?: string;
localExtendedData?: string;
isMentionAll?: boolean;
mentionedUserIDs?: string[];
readonly localMessageID?: string;
readonly messageID?: string;
readonly messageSeq?: number;
readonly senderUserID?: string;
readonly timestamp?: number;
readonly conversationID?: string;
readonly conversationType?: ZIM.ConversationType;
readonly direction?: ZIM.MessageDirection;
readonly sentStatus?: ZIM.MessageSentStatus;
readonly orderKey?: number;
readonly isUserInserted?: boolean;
readonly isBroadcastMessage?: boolean;
readonly isServerMessage?: boolean;
readonly isGroupTargetedMessage?: boolean;
readonly receiptStatus?: ZIM.MessageReceiptStatus;
readonly reactions?: ZIMMessageReaction[];
readonly editorUserID?: string;
readonly editedTime?: number;
readonly pinnedUserID?: string;
readonly pinnedTime?: number;
readonly rootRepliedCount?: number;
readonly repliedInfo?: ZIMMessageRepliedInfo;
}
export interface ZIMMediaMessage extends ZIMMessage {
/**
* Required when sending local file message.
*/
fileLocalPath?: string;
/**
* Required when sending remote file message.
*/
fileDownloadUrl?: string;
fileName?: string;
readonly fileSize?: number;
readonly fileUID?: string;
}
export interface ZIMCommandMessage extends ZIMMessage {
type: ZIM.MessageType.Command;
message: Uint8Array;
}
export interface ZIMBarrageMessage extends ZIMMessage {
type: ZIM.MessageType.Barrage;
message: string;
}
export interface ZIMTextMessage extends ZIMMessage {
type: ZIM.MessageType.Text;
message: string;
}
export interface ZIMCustomMessage extends ZIMMessage {
type: ZIM.MessageType.Custom;
message: string;
subType: number;
searchedContent?: string;
}
export interface ZIMCombineMessage extends ZIMMessage {
type: ZIM.MessageType.Combine;
title: string;
summary: string;
messageList: ZIMMessage[];
readonly combineID?: string;
}
export interface ZIMMultipleMessage extends ZIMMessage {
type: ZIM.MessageType.Multiple;
messageInfoList: Array<ZIMTextMessageLiteInfo | ZIMCustomMessageLiteInfo | ZIMImageMessageLiteInfo | ZIMFileMessageLiteInfo | ZIMAudioMessageLiteInfo | ZIMVideoMessageLiteInfo>;
}
export interface ZIMImageMessage extends ZIMMediaMessage {
type: ZIM.MessageType.Image;
thumbnailDownloadUrl?: string;
largeImageDownloadUrl?: string;
originalImageWidth?: number;
originalImageHeight?: number;
thumbnailWidth?: number;
thumbnailHeight?: number;
largeImageWidth?: number;
largeImageHeight?: number;
}
export interface ZIMFileMessage extends ZIMMediaMessage {
type: ZIM.MessageType.File;
}
export interface ZIMAudioMessage extends ZIMMediaMessage {
type: ZIM.MessageType.Audio;
audioDuration: number;
}
export interface ZIMVideoMessage extends ZIMMediaMessage {
type: ZIM.MessageType.Video;
videoDuration: number;
videoFirstFrameDownloadUrl?: string;
videoFirstFrameWidth?: number;
videoFirstFrameHeight?: number;
}
export interface ZIMRevokeMessage extends ZIMMessage {
readonly type: ZIM.MessageType.Revoke;
readonly revokeType: ZIM.RevokeType;
readonly revokeStatus: ZIM.MessageRevokeStatus;
readonly revokeTimestamp: number;
readonly operatedUserID: string;
readonly revokeExtendedData: string;
readonly originalMessageType: ZIM.MessageType;
readonly originalTextMessageContent: string;
}
export interface ZIMTipsMessage extends ZIMMessage {
readonly type: ZIM.MessageType.Tips;
readonly event: ZIM.TipsMessageEvent;
readonly operatedUser: ZIMUserInfo;
readonly targetUserList: ZIMUserInfo[];
readonly changeInfo?: ZIMTipsMessageGroupChangeInfo | ZIMTipsMessageGroupMemberChangeInfo | ZIMTipsMessagePinStatusChangeInfo;
}
export interface ZIMTipsMessageChangeInfo {
type: ZIM.TipsMessageChangeInfoType;
}
export interface ZIMTipsMessageGroupChangeInfo extends ZIMTipsMessageChangeInfo {
groupDataFlag: number;
groupName: string;
groupAvatarUrl: string;
groupNotice: string;
groupMutedInfo?: ZIMGroupMuteInfo;
}
export interface ZIMTipsMessageGroupMemberChangeInfo extends ZIMTipsMessageChangeInfo {
memberRole: number;
muteExpiredTime: number;
groupNewOwner?: ZIMGroupMemberSimpleInfo;
}
export interface ZIMTipsMessagePinStatusChangeInfo extends ZIMTipsMessageChangeInfo {
isPinned: boolean;
}
export interface ZIMMessageLiteInfo {
type: ZIM.MessageType;
}
export interface ZIMMediaMessageLiteInfo extends ZIMMessageLiteInfo {
fileLocalPath?: string;
fileDownloadUrl?: string;
fileName?: string;
fileSize?: number;
}
export interface ZIMRevokeMessageLiteInfo extends ZIMMessageLiteInfo {
type: ZIM.MessageType.Revoke;
}
export interface ZIMTextMessageLiteInfo extends ZIMMessageLiteInfo {
type: ZIM.MessageType.Text;
message: string;
}
export interface ZIMCustomMessageLiteInfo extends ZIMMessageLiteInfo {
type: ZIM.MessageType.Custom;
message: string;
subType: number;
searchedContent?: string;
}
export interface ZIMCombineMessageLiteInfo extends ZIMMessageLiteInfo {
type: ZIM.MessageType.Combine;
title: string;
summary: string;
}
export interface ZIMMultipleMessageLiteInfo extends ZIMMessageLiteInfo {
type: ZIM.MessageType.Multiple;
messageInfoList: Array<ZIMTextMessageLiteInfo | ZIMCustomMessageLiteInfo | ZIMImageMessageLiteInfo | ZIMFileMessageLiteInfo | ZIMAudioMessageLiteInfo | ZIMVideoMessageLiteInfo>;
}
export interface ZIMImageMessageLiteInfo extends ZIMMediaMessageLiteInfo {
type: ZIM.MessageType.Image;
thumbnailDownloadUrl?: string;
largeImageDownloadUrl?: string;
originalImageWidth?: number;
originalImageHeight?: number;
thumbnailWidth?: number;
thumbnailHeight?: number;
largeImageWidth?: number;
largeImageHeight?: number;
}
export interface ZIMFileMessageLiteInfo extends ZIMMediaMessageLiteInfo {
type: ZIM.MessageType.File;
}
export interface ZIMAudioMessageLiteInfo extends ZIMMediaMessageLiteInfo {
type: ZIM.MessageType.Audio;
audioDuration: number;
}
export interface ZIMVideoMessageLiteInfo extends ZIMMediaMessageLiteInfo {
type: ZIM.MessageType.Video;
videoDuration: number;
videoFirstFrameDownloadUrl?: string;
videoFirstFrameWidth?: number;
videoFirstFrameHeight?: number;
}
export interface ZIMMessageReaction {
conversationID: string;
conversationType: ZIM.ConversationType;
messageID: string;
reactionType: string;
isSelfIncluded: boolean;
totalCount: number;
userList: ZIMMessageReactionUserInfo[];
}
export interface ZIMMessageReactionUserInfo {
userID: string;
}
export interface ZIMMessageReceiptInfo {
conversationID: string;
conversationType: ZIM.ConversationType;
messageID: string;
status: ZIM.MessageReceiptStatus;
readMemberCount: number;
unreadMemberCount: number;
isSelfOperated: boolean;
readTime: number;
}
export interface ZIMMessageSentStatusChangeInfo {
status: ZIM.MessageSentStatus;
reason: string;
message: ZIMMessage;
}
export interface ZIMConversationSearchInfo {
conversationID: string;
conversationType: ZIM.ConversationType;
totalMessageCount: number;
messageList: ZIMMessage[];
}
export interface ZIMMessageSendNotification {
onMessageAttached: (message: ZIMMessage) => void;
onMediaUploadingProgress?: (message: ZIMMediaMessage, currentFileSize: number, totalFileSize: number) => void;
onMultipleMediaUploadingProgress?: (message: ZIMMultipleMessage, currentFileSize: number, totalFileSize: number, messageInfoIndex: number, currentIndexFileSize: number, totalIndexFileSize: number) => void;
}
export interface ZIMConversationQueryConfig {
count: number;
nextConversation?: ZIMConversation;
}
export interface ZIMConversationTotalUnreadMessageCountQueryConfig {
marks: number[];
conversationTypes: ZIM.ConversationType[];
}
export interface ZIMConversationFilterOption {
marks: number[];
conversationTypes: ZIM.ConversationType[];
isOnlyUnreadConversation: boolean;
}
export interface ZIMConversationDeleteConfig {
isAlsoDeleteServerConversation: boolean;
}
export interface ZIMMessageDeleteConfig {
isAlsoDeleteServerMessage: boolean;
}
export interface ZIMMessageQueryConfig {
count: number;
reverse: boolean;
nextMessage?: ZIMMessage;
}
export interface ZIMGroupMessageReceiptMemberQueryConfig {
count: number;
nextFlag: number;
}
export interface ZIMConversationSearchConfig {
keywords: string[];
senderUserIDs: string[];
messageTypes: ZIM.MessageType[];
subMessageTypes: number[];
startTime: number;
endTime: number;
totalConversationCount: number;
conversationMessageCount: number;
nextFlag?: number;
}
export interface ZIMMessageSearchConfig {
keywords: string[];
senderUserIDs: string[];
messageTypes: ZIM.MessageType[];
subMessageTypes: number[];
startTime: number;
endTime: number;
order: ZIM.MessageOrder;
count: number;
nextMessage?: ZIMMessage;
}
export interface ZIMMessageReactionUserQueryConfig {
reactionType: string;
count: number;
nextFlag: number;
}
export interface ZIMMessageSendConfig {
priority: ZIM.MessagePriority;
hasReceipt?: boolean;
isRetrySend?: boolean;
isNotifyMentionedUsers?: boolean;
disableUnreadMessageCount?: boolean;
pushConfig?: ZIMPushConfig;
}
export interface ZIMMessageEditConfig {
}
export interface ZIMSendingMessageCancelConfig {
}
export interface ZIMMessageRevokeConfig {
revokeExtendedData?: string;
pushConfig?: ZIMPushConfig;
}
export interface ZIMConversationListQueriedResult {
conversationList: ZIMConversation[];
}
export interface ZIMConversationQueriedResult {
conversation: ZIMConversation;
}
export interface ZIMConversationDeletedResult {
conversationID: string;
conversationType: ZIM.ConversationType;
}
export interface ZIMConversationNotificationStatusSetResult {
conversationID: string;
conversationType: ZIM.ConversationType;
}
export interface ZIMConversationUnreadMessageCountClearedResult {
conversationID: string;
conversationType: ZIM.ConversationType;
}
export interface ZIMMessageDeletedResult {
conversationID: string;
conversationType: ZIM.ConversationType;
}
export interface ZIMMessageSentResult {
message: ZIMMessage;
}
export interface ZIMMessageEditedResult {
message: ZIMMessage;
}
export interface ZIMMessageInsertedResult {
message: ZIMMessage;
}
export interface ZIMMessageLocalExtendedDataUpdatedResult {
message: ZIMMessage;
}
export interface ZIMMessageQueriedResult {
conversationID: string;
conversationType: ZIM.ConversationType;
messageList: ZIMMessage[];
}
export interface ZIMConversationMessageReceiptReadSentResult {
conversationID: string;
conversationType: ZIM.ConversationType;
}
export interface ZIMMessageReceiptsReadSentResult {
conversationID: string;
conversationType: ZIM.ConversationType;
errorMessageIDs: string[];
}
export interface ZIMMessageReceiptsInfoQueriedResult {
infos: ZIMMessageReceiptInfo[];
errorMessageIDs: string[];
}
export interface ZIMMessageRevokedResult {
message: ZIMRevokeMessage;
}
export interface ZIMConversationPinnedStateUpdatedResult {
conversationID: string;
conversationType: ZIM.ConversationType;
}
export interface ZIMConversationPinnedListQueriedResult {
conversationList: ZIMConversation[];
}
export interface ZIMConversationsSearchedResult {
nextFlag: number;
conversationSearchInfoList: ZIMConversationSearchInfo[];
}
export interface ZIMMessagesGlobalSearchedResult {
messageList: ZIMMessage[];
nextMessage?: ZIMMessage;
}
export interface ZIMMessagesSearchedResult {
conversationID: string;
conversationType: ZIM.ConversationType;
messageList: ZIMMessage[];
nextMessage?: ZIMMessage;
}
export interface ZIMMessageReactionAddedResult {
reaction: ZIMMessageReaction;
}
export interface ZIMMessageReactionDeletedResult {
reaction: ZIMMessageReaction;
}
export interface ZIMMessageReactionUserListQueriedResult {
totalCount: number;
nextFlag: number;
reactionType: string;
userList: ZIMMessageReactionUserInfo[];
message: ZIMMessage;
}
export interface ZIMCombineMessageDetailQueriedResult {
message: ZIMCombineMessage;
}
export interface ZIMPinnedMessageListQueriedResult {
messageList: ZIMMessage[];
}
export interface ZIMConversationDraftSetResult {
conversationID: string;
conversationType: ZIM.ConversationType;
}
export interface ZIMMessageRepliedListQueryConfig {
count: number;
nextFlag: number;
}
export interface ZIMMessageRepliedListQueriedResult {
nextFlag: number;
rootRepliedInfo: ZIMMessageRootRepliedInfo;
messageList: ZIMMessage[];
}
export interface ZIMConversationMarkSetResult {
failedConversationInfos: ZIMConversationBaseInfo[];
}
export interface ZIMConversationTotalUnreadMessageCountQueriedResult {
unreadMessageCount: number;
}