messageDetail method
加载消息详细信息
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);
}
}