mergedMessageForward method

void mergedMessageForward(
  1. String conversationId, {
  2. String? postScript,
  3. String? errorToast,
  4. bool exitMultiMode = true,
})

合并转发 exitMultiMode 是否退出多选模式 postScript 转发后的附言 conversationId 转发的目标会话id errorToast 转发失败的提示

Implementation

void mergedMessageForward(
  String conversationId, {
  String? postScript,
  String? errorToast,
  bool exitMultiMode = true,
}) async {
  if (await haveConnectivity()) {
    _selectedMessages.removeWhere(
      (element) =>
          element.sendingState == NIMMessageSendingState.failed ||
          element.sendingState == NIMMessageSendingState.sending,
    );
    _selectedMessages.sort((a, b) => a.createTime! - b.createTime!);
    MergeMessageHelper.createMergedMessage(selectedMessages).then((
      value,
    ) async {
      if (value.isSuccess && value.data != null) {
        forwardMessage(value.data!, conversationId, postScript: postScript);
      } else {
        _logI(
          'createMergedMessage failed, code = ${value.code}, error = ${value.errorDetails}',
        );
        if (errorToast?.isNotEmpty == true) {
          ChatUIToast.show(errorToast!);
        }
      }
      if (exitMultiMode) {
        isMultiSelected = false;
      }
      notifyListeners();
    });
  }
}