fetchPinMessage static method
获取Pin 的消息列表
Implementation
static Future<NIMResult<List<ChatMessage>>> fetchPinMessage(
String conversationId) {
return NimCore.instance.messageService
.getPinnedMessageList(conversationId: conversationId)
.then((value) async {
if (value.isSuccess && value.data != null) {
var pinList = value.data!;
var messageRefers = pinList.map((e) => e.messageRefer!).toList();
var msgRes = await NimCore.instance.messageService
.getMessageListByRefers(messageRefers: messageRefers);
if (msgRes.isSuccess && msgRes.data != null) {
List<ChatMessage> msgList =
msgRes.data!.map((e) => ChatMessage(e)).toList();
for (var msg in msgList) {
msg.pinOption = pinList
.firstWhereOrNull((pin) => _isSameMessage(msg.nimMessage, pin));
}
return NIMResult(msgRes.code, msgList, msgRes.errorDetails);
} else {
return NIMResult(msgRes.code, null, msgRes.errorDetails);
}
}
return NIMResult(value.code, null, value.errorDetails);
});
}