forwardMessageOneByOne method

void forwardMessageOneByOne(
  1. String sessionId,
  2. NIMSessionType sessionType, {
  3. String? postScript,
  4. bool exitMultiMode = true,
})

逐条转发 exitMultiMode 是否退出多选模式 postScript 转发后的附言 sessionId 转发的目标会话id sessionType 转发的目标会话类型

Implementation

void forwardMessageOneByOne(String sessionId, NIMSessionType sessionType,
    {String? postScript, bool exitMultiMode = true}) async {
  if (!await haveConnectivity()) {
    return;
  }
  _selectedMessages.removeWhere((element) =>
      element.status == NIMMessageStatus.fail ||
      element.status == NIMMessageStatus.sending);
  for (var element in _selectedMessages) {
    forwardMessage(element, sessionId, sessionType);
  }
  if (postScript?.isNotEmpty == true) {
    ChatMessageRepo.sendTextMessageWithMessageAck(
            sessionId: sessionId, sessionType: sessionType, text: postScript!)
        .then((msgSend) {
      if (msgSend.code == ChatMessageRepo.errorInBlackList) {
        ChatMessageRepo.saveTipsMessage(
            sessionId, sessionType, S.of().chatMessageSendFailedByBlackList);
      }
    });
  }
  if (exitMultiMode) {
    isMultiSelected = false;
  }
  notifyListeners();
}