getReplayMessageText static method

Future<String> getReplayMessageText(
  1. BuildContext context,
  2. String replayMessageId,
  3. String sessionId,
  4. NIMSessionType sessionType,
)

Implementation

static Future<String> getReplayMessageText(
    BuildContext context,
    String replayMessageId,
    String sessionId,
    NIMSessionType sessionType) async {
  if (replayMessageId.isEmpty) {
    return '';
  }
  var messageResult = await NimCore.instance.messageService
      .queryMessageListByUuid([replayMessageId], sessionId, sessionType);

  if (messageResult.isSuccess) {
    if (messageResult.data?.isNotEmpty == true) {
      NIMMessage nimMessage = messageResult.data!.first;
      String nick = nimMessage.sessionType == NIMSessionType.p2p
          ? await nimMessage.fromAccount!.getUserName()
          : await getUserNickInTeam(
              nimMessage.sessionId!, nimMessage.fromAccount!,
              showAlias: false);
      String content = getMessageBrief(nimMessage);
      return '$nick : $content';
    } else {
      return S.of(context).chatMessageHaveBeenRevokedOrDelete;
    }
  } else {
    return '';
  }
}