reSendMessage

功能介绍

消息重发

当环境网络环境较差或文件上传失败等原因会导致信息发送失败,此时需要调用消息重发的API。

具体消息发送失败的原因可见sendMessage返回的错误码。

当使用reSendMessage时,需要将原来发送的消息删除。

参数详解

参数名称 参数类型 是否必填 描述
msgID string 需要重发的消息id
onlineUserOnly boolean 是否是发送给在线用户

返回模板

V2TimValueCallback<V2TimMessage>

{
    code : number
    desc : string
    data : {
      msgID: string
      timestamp: number
      progress: number
      sender: string
      nickName: string
      friendRemark: string
      faceUrl: string
      nameCard: string
      groupID: string
      userID: string
      status: number
      elemType: number
      textElem: V2TimTextElem
      customElem: V2TimCustomElem
      imageElem: V2TimImageElem
      soundElem: V2TimSoundElem
      videoElem: V2TimVideoElem
      fileElem: V2TimFileElem
      locationElem: V2TimLocationElem
      faceElem: V2TimFaceElem
      groupTipsElem: V2TimGroupTipsElem
      mergerElem: V2TimMergerElem
      localCustomData: string
      localCustomInt: number
      cloudCustomData: string
      isSelf: boolean
      isRead: boolean
      isPeerRead: boolean
      priority: number
      offlinePushInfo: V2TimOfflinePushInfo
      groupAtUserList: string[]
      seq: string
      random: number
      isExcludedFromUnreadCount: boolean
      isExcludedFromLastMessage: boolean
      id: string
      needReadReceipt: boolean
    }
}

返回值详解

名称 数值类型 描述
code number 请求结果错误码
desc string 请求结果描述
data V2TimMessage 重发后的消息

代码示例

import { TencentImSDKPlugin } from 'react-native-tim-js';

// 创建文本消息
const createTextMessageRes = await TencentImSDKPlugin.v2TIMManager
    .getMessageManager()
    .createTextMessage(
        'test' // 文本信息
    );
if (createTextMessageRes.code === 0) {
    // 文本信息创建成功
    const id = createTextMessageRes.data?.id;
    // 发送文本消息
    // 在sendMessage时,若只填写receiver则发个人用户单聊消息
    //                 若只填写groupID则发群组消息
    //                 若填写了receiver与groupID则发群内的个人用户,消息在群聊中显示,只有指定receiver能看见
    const sendMessageRes = await TencentImSDKPlugin.v2TIMManager
        .getMessageManager()
        .sendMessage({ id: id!, receiver: 'userID', groupID: 'groupID' });
    if (sendMessageRes.code === 0) {
        // 发送成功
    } else {
        const reSendMessageRes = await TencentImSDKPlugin.v2TIMManager
            .getMessageManager()
            .reSendMessage(
                id!, // 需要重发的消息id
                false // 是否是发送给在线用户
            );
        if (reSendMessageRes.code === 0) {
            // 重发成功
        }
    }
}

results matching ""

    No results matching ""