ChatRoomMessage.from constructor
ChatRoomMessage.from(
- Map<String, dynamic> data
)
Implementation
ChatRoomMessage.from(Map<String, dynamic> data) {
oId = data['oId'] ?? '';
userOId = data['userOId'] ?? 0;
userName = data['userName'] ?? '';
nickname = data['userNickname'] ?? '';
avatarURL = data['userAvatarURL'] ?? '';
sysMetal = toMetal(data['sysMetal'] ?? '{"list":[]}');
via = ChatSource.from(data['client']);
content = data['content'] ?? '';
md = data['md'] ?? data['content'] ?? '';
try {
dynamic contentData = _decodeSpecialContent(data['content'] ?? '');
if (contentData is Map) {
type = _messageTypeFrom(contentData);
if (type == ChatRoomMessageType.redPacket) {
redpacket = RedPacketMessage.from(contentData);
} else if (type == ChatRoomMessageType.weather) {
weather = WeatherMsg.from(contentData);
} else if (type == ChatRoomMessageType.music) {
music = MusicMsg.from(contentData);
} else {
unknown = contentData;
}
}
// ignore: empty_catches
} catch (e) {}
time = data['time'] ?? '';
}