logo
当前页

取消媒体消息发送


功能简介

ZIM SDK 支持取消用户正在发送包含本地媒体文件的消息,取消成功后消息状态变更为“发送失败”。

注意
  • 2.22.0 版本开始支持。
  • 仅支持取消发送的消息类型为包含本地媒体文件的 Multiple(10)、Image(11)、File(12)、Audio(13)、Video(14) 类型。

取消正在发送的媒体消息

当用户发送包含本地媒体文件的消息时,由于文件上传需要一定的耗时,在这段时间内调用 cancelSendingMessage 取消发送此条消息终止文件上传。

注意

当包含普通文本和媒体文件的组合消息被取消时,整个消息(包含普通文本)都会被取消发送。

zim.on('messageSentStatusChanged', (zim: ZIM, data: ZIMEventOfMessageSentStatusChangedResult) => {
    // 消息发送状态变更
});
// 用户 A 发送一条消息,以单聊文件消息为例

const userID_A = "xxxx" ;    // 用户 A 的 ID
const userID_B = "xxxx" ;    // 用户 B 的 ID

const messageObj: ZIMFileMessage = { type: 12, fileLocalPath: file }
const config: ZIMMessageSendConfig = {
    priority: 1,    // 消息优先级,取值为 低:1 默认, 中:2, 高:3
}
const notification: ZIMMessageSendNotification = {
    onMessageAttached: (message: ZIMMessage) => {
        // todo: Loading
    },
    onMediaUploadingProgress: (message: ZIMMediaMessage, currentFileSize: number, totalFileSize: number) {
        // 处于文件上传中时,取消发送
        zim.cancelSendingMessage(message, {} as ZIMSendingMessageCancelConfig)
            .then((res: ZIMMessageSentResult) => {
                // 操作成功
            })
            .catch((err: ZIMError) => {
                // 操作失败
            });
    }
}

zim.sendMessage(messageObj, userID_B, 0, config, notification)
    .then((res: ZIMMessageSentResult) => {
        // 发送成功
    })
    .catch((err: ZIMError) => {
        // 发送失败
    });

Previous

群定向消息

Next

获取会话列表

当前页

返回到顶部