sendMessage method

void sendMessage(
  1. NIMMessage message, {
  2. NIMMessage? replyMsg,
  3. NIMMessagePushConfig? pushConfig,
})

Implementation

void sendMessage(NIMMessage message,
    {NIMMessage? replyMsg, NIMMessagePushConfig? pushConfig}) async {
  final params = await ChatMessageHelper.getSenderParams(
      message, conversationId,
      pushConfig: pushConfig);
  //处理重发case
  if (replyMsg == null &&
      message.sendingState == NIMMessageSendingState.failed &&
      message.threadReply?.messageClientId?.isNotEmpty == true) {
    replyMsg = (await NimCore.instance.messageService
            .getMessageListByRefers(messageRefers: [message.threadReply!]))
        .data
        ?.first;
  }

  if (replyMsg != null) {
    ChatMessageRepo.replyMessage(
            msg: message, replyMsg: replyMsg, params: params)
        .then((result) {
      //如果是被拉黑,则提示
      if (result.code == ChatMessageRepo.errorInBlackList) {
        _saveBlackListTips();
      }
    });
  } else {
    ChatMessageRepo.sendMessage(
            message: message, conversationId: conversationId, params: params)
        .then((result) {
      //如果是被拉黑,则提示
      if (result.code == ChatMessageRepo.errorInBlackList) {
        _saveBlackListTips();
      }
    });
  }
}