createMergedMessage static method
创建合并消息
Implementation
static Future<NIMResult<NIMMessage>> createMergedMessage(
List<NIMMessage> messages,
) async {
if (messages.isEmpty) {
return NIMResult.failure(message: 'message list is empty');
}
final mergedMessage = await mergeMessage(messages);
var title = messages.first.text;
if (ChatKitClient.instance.mergedMessageTitle != null) {
title = await ChatKitClient.instance.mergedMessageTitle!.call(messages);
}
if (mergedMessage.isSuccess && mergedMessage.data != null) {
final customMsgBuilder = await MessageCreator.createCustomMessage(
title ?? '',
jsonEncode(mergedMessage.data!),
);
if (customMsgBuilder.isSuccess && customMsgBuilder.data != null) {
customMsgBuilder.data!.pushConfig = NIMMessagePushConfig(
pushContent: ChatMessageHelper.getMessageBrief(
customMsgBuilder.data!,
),
);
return NIMResult.success(data: customMsgBuilder.data!);
} else {
return NIMResult.failure(message: customMsgBuilder.errorDetails);
}
} else {
return NIMResult.failure(message: mergedMessage.errorDetails);
}
}