messageDetail method

Future<EasyPacket<Message>> messageDetail({
  1. required dynamic id,
})

加载消息详细信息

Implementation

Future<EasyPacket<Message>> messageDetail({required ObjectId id}) async {
  final response = await _aliveClient.websocketRequest('messageDetail', data: {'bsid': bsid, 'id': id});
  if (response.ok) {
    final messageData = response.data!['message'] as Map<String, dynamic>;
    final shipData = response.data!['ship'] as Map<String, dynamic>?;
    final userData = response.data!['user'] as Map<String, dynamic>?;
    final message = Message.fromJson(messageData);
    if (shipData != null && message.from == Constant.msgFromTeam) {
      _cacheTeamUser(message.sid, shipData);
    }
    if (userData != null) {
      _cacheUser(userData);
    }
    _fillMessage(message);
    return response.cloneExtra(message);
  } else {
    return response.cloneExtra(null);
  }
}