add 'localEx'

main
Brett 1 year ago
parent cd506801cf
commit 0ef41147fd
  1. 159
      lib/src/models/message.dart

@ -42,8 +42,8 @@ class Message {
/// Group ID.
String? groupID;
/// Message content.
// String? content;
/// Message localEx.
String? localEx;
/// Message sequence number.
int? seq;
@ -137,7 +137,7 @@ class Message {
this.senderNickname,
this.senderFaceUrl,
this.groupID,
// this.content,
this.localEx,
this.seq,
this.isRead,
this.hasReadTime,
@ -179,65 +179,35 @@ class Message {
senderNickname = json['senderNickname'];
senderFaceUrl = json['senderFaceUrl'];
groupID = json['groupID'];
// content = json['content'];
localEx = json['localEx'];
seq = json['seq'];
isRead = json['isRead'];
status = json['status'];
offlinePush = json['offlinePush'] != null
? OfflinePushInfo.fromJson(json['offlinePush'])
: null;
offlinePush = json['offlinePush'] != null ? OfflinePushInfo.fromJson(json['offlinePush']) : null;
attachedInfo = json['attachedInfo'];
ex = json['ex'];
exMap = json['exMap'] ?? {};
sessionType = json['sessionType'];
pictureElem = json['pictureElem'] != null
? PictureElem.fromJson(json['pictureElem'])
: null;
soundElem = json['soundElem'] != null
? SoundElem.fromJson(json['soundElem'])
: null;
videoElem = json['videoElem'] != null
? VideoElem.fromJson(json['videoElem'])
: null;
fileElem =
json['fileElem'] != null ? FileElem.fromJson(json['fileElem']) : null;
atTextElem = json['atTextElem'] != null
? AtTextElem.fromJson(json['atTextElem'])
: null;
locationElem = json['locationElem'] != null
? LocationElem.fromJson(json['locationElem'])
: null;
customElem = json['customElem'] != null
? CustomElem.fromJson(json['customElem'])
: null;
quoteElem = json['quoteElem'] != null
? QuoteElem.fromJson(json['quoteElem'])
: null;
mergeElem = json['mergeElem'] != null
? MergeElem.fromJson(json['mergeElem'])
: null;
notificationElem = json['notificationElem'] != null
? NotificationElem.fromJson(json['notificationElem'])
: null;
faceElem =
json['faceElem'] != null ? FaceElem.fromJson(json['faceElem']) : null;
attachedInfoElem = json['attachedInfoElem'] != null
? AttachedInfoElem.fromJson(json['attachedInfoElem'])
: null;
pictureElem = json['pictureElem'] != null ? PictureElem.fromJson(json['pictureElem']) : null;
soundElem = json['soundElem'] != null ? SoundElem.fromJson(json['soundElem']) : null;
videoElem = json['videoElem'] != null ? VideoElem.fromJson(json['videoElem']) : null;
fileElem = json['fileElem'] != null ? FileElem.fromJson(json['fileElem']) : null;
atTextElem = json['atTextElem'] != null ? AtTextElem.fromJson(json['atTextElem']) : null;
locationElem = json['locationElem'] != null ? LocationElem.fromJson(json['locationElem']) : null;
customElem = json['customElem'] != null ? CustomElem.fromJson(json['customElem']) : null;
quoteElem = json['quoteElem'] != null ? QuoteElem.fromJson(json['quoteElem']) : null;
mergeElem = json['mergeElem'] != null ? MergeElem.fromJson(json['mergeElem']) : null;
notificationElem = json['notificationElem'] != null ? NotificationElem.fromJson(json['notificationElem']) : null;
faceElem = json['faceElem'] != null ? FaceElem.fromJson(json['faceElem']) : null;
attachedInfoElem = json['attachedInfoElem'] != null ? AttachedInfoElem.fromJson(json['attachedInfoElem']) : null;
hasReadTime = json['hasReadTime'] ?? attachedInfoElem?.hasReadTime;
isExternalExtensions = json['isExternalExtensions'];
isReact = json['isReact'];
textElem =
json['textElem'] != null ? TextElem.fromJson(json['textElem']) : null;
cardElem =
json['cardElem'] != null ? CardElem.fromJson(json['cardElem']) : null;
advancedTextElem = json['advancedTextElem'] != null
? AdvancedTextElem.fromJson(json['advancedTextElem'])
: null;
typingElem = json['typingElem'] != null
? TypingElem.fromJson(json['typingElem'])
: null;
textElem = json['textElem'] != null ? TextElem.fromJson(json['textElem']) : null;
cardElem = json['cardElem'] != null ? CardElem.fromJson(json['cardElem']) : null;
advancedTextElem = json['advancedTextElem'] != null ? AdvancedTextElem.fromJson(json['advancedTextElem']) : null;
typingElem = json['typingElem'] != null ? TypingElem.fromJson(json['typingElem']) : null;
}
Map<String, dynamic> toJson() {
@ -254,7 +224,7 @@ class Message {
data['senderNickname'] = this.senderNickname;
data['senderFaceUrl'] = this.senderFaceUrl;
data['groupID'] = this.groupID;
// data['content'] = this.content;
data['localEx'] = this.localEx;
data['seq'] = this.seq;
data['isRead'] = this.isRead;
data['hasReadTime'] = this.hasReadTime;
@ -287,10 +257,7 @@ class Message {
@override
bool operator ==(Object other) =>
identical(this, other) ||
other is Message &&
runtimeType == other.runtimeType &&
clientMsgID == other.clientMsgID;
identical(this, other) || other is Message && runtimeType == other.runtimeType && clientMsgID == other.clientMsgID;
@override
int get hashCode => clientMsgID.hashCode;
@ -340,9 +307,7 @@ class Message {
bool get isSingleChat => sessionType == ConversationType.single;
/// Group chat message
bool get isGroupChat =>
sessionType == ConversationType.group ||
sessionType == ConversationType.superGroup;
bool get isGroupChat => sessionType == ConversationType.group || sessionType == ConversationType.superGroup;
}
/// Image message content
@ -359,23 +324,13 @@ class PictureElem {
/// Thumbnail picture object
PictureInfo? snapshotPicture;
PictureElem(
{this.sourcePath,
this.sourcePicture,
this.bigPicture,
this.snapshotPicture});
PictureElem({this.sourcePath, this.sourcePicture, this.bigPicture, this.snapshotPicture});
PictureElem.fromJson(Map<String, dynamic> json) {
sourcePath = json['sourcePath'];
sourcePicture = json['sourcePicture'] != null
? new PictureInfo.fromJson(json['sourcePicture'])
: null;
bigPicture = json['bigPicture'] != null
? new PictureInfo.fromJson(json['bigPicture'])
: null;
snapshotPicture = json['snapshotPicture'] != null
? new PictureInfo.fromJson(json['snapshotPicture'])
: null;
sourcePicture = json['sourcePicture'] != null ? new PictureInfo.fromJson(json['sourcePicture']) : null;
bigPicture = json['bigPicture'] != null ? new PictureInfo.fromJson(json['bigPicture']) : null;
snapshotPicture = json['snapshotPicture'] != null ? new PictureInfo.fromJson(json['snapshotPicture']) : null;
}
Map<String, dynamic> toJson() {
@ -414,8 +369,7 @@ class PictureInfo {
/// Image URL
String? url;
PictureInfo(
{this.uuid, this.type, this.size, this.width, this.height, this.url});
PictureInfo({this.uuid, this.type, this.size, this.width, this.height, this.url});
PictureInfo.fromJson(Map<String, dynamic> json) {
uuid = json['uuid'];
@ -455,12 +409,7 @@ class SoundElem {
/// Duration in seconds
int? duration;
SoundElem(
{this.uuid,
this.soundPath,
this.sourceUrl,
this.dataSize,
this.duration});
SoundElem({this.uuid, this.soundPath, this.sourceUrl, this.dataSize, this.duration});
SoundElem.fromJson(Map<String, dynamic> json) {
uuid = json['uuid'];
@ -583,8 +532,7 @@ class FileElem {
/// File size
int? fileSize;
FileElem(
{this.filePath, this.uuid, this.sourceUrl, this.fileName, this.fileSize});
FileElem({this.filePath, this.uuid, this.sourceUrl, this.fileName, this.fileSize});
FileElem.fromJson(Map<String, dynamic> json) {
filePath = json['filePath'];
@ -637,13 +585,9 @@ class AtTextElem {
}
isAtSelf = json['isAtSelf'];
if (json['atUsersInfo'] is List) {
atUsersInfo = (json['atUsersInfo'] as List)
.map((e) => AtUserInfo.fromJson(e))
.toList();
atUsersInfo = (json['atUsersInfo'] as List).map((e) => AtUserInfo.fromJson(e)).toList();
}
quoteMessage = null != json['quoteMessage']
? Message.fromJson(json['quoteMessage'])
: null;
quoteMessage = null != json['quoteMessage'] ? Message.fromJson(json['quoteMessage']) : null;
}
Map<String, dynamic> toJson() {
@ -766,9 +710,7 @@ class MergeElem {
abstractList = json['abstractList'].cast<String>();
}
if (json['multiMessage'] is List) {
multiMessage = (json['multiMessage'] as List)
.map((e) => Message.fromJson(e))
.toList();
multiMessage = (json['multiMessage'] as List).map((e) => Message.fromJson(e)).toList();
}
}
@ -854,9 +796,7 @@ class AttachedInfoElem {
});
AttachedInfoElem.fromJson(Map<String, dynamic> json) {
groupHasReadInfo = json['groupHasReadInfo'] == null
? null
: GroupHasReadInfo.fromJson(json['groupHasReadInfo']);
groupHasReadInfo = json['groupHasReadInfo'] == null ? null : GroupHasReadInfo.fromJson(json['groupHasReadInfo']);
isPrivateChat = json['isPrivateChat'];
hasReadTime = json['hasReadTime'];
burnDuration = json['burnDuration'];
@ -939,18 +879,13 @@ class AdvancedTextElem {
AdvancedTextElem.fromJson(Map<String, dynamic> json) {
text = json['text'];
messageEntityList = json['messageEntityList'] == null
? null
: (json['messageEntityList'] as List)
.map((e) => MessageEntity.fromJson(e))
.toList();
messageEntityList = json['messageEntityList'] == null ? null : (json['messageEntityList'] as List).map((e) => MessageEntity.fromJson(e)).toList();
}
Map<String, dynamic> toJson() {
final data = Map<String, dynamic>();
data['text'] = text;
data['messageEntityList'] =
messageEntityList?.map((e) => e.toJson()).toList();
data['messageEntityList'] = messageEntityList?.map((e) => e.toJson()).toList();
return data;
}
}
@ -1036,14 +971,7 @@ class ReadReceiptInfo {
/// Conversation type [ConversationType]
int? sessionType;
ReadReceiptInfo(
{this.userID,
this.groupID,
this.msgIDList,
this.readTime,
this.msgFrom,
this.contentType,
this.sessionType});
ReadReceiptInfo({this.userID, this.groupID, this.msgIDList, this.readTime, this.msgFrom, this.contentType, this.sessionType});
ReadReceiptInfo.fromJson(Map<String, dynamic> json) {
userID = json['uid'] ?? json['userID'];
@ -1086,8 +1014,7 @@ class OfflinePushInfo {
/// iOS-specific
bool? iOSBadgeCount;
OfflinePushInfo(
{this.title, this.desc, this.ex, this.iOSPushSound, this.iOSBadgeCount});
OfflinePushInfo({this.title, this.desc, this.ex, this.iOSPushSound, this.iOSBadgeCount});
OfflinePushInfo.fromJson(Map<String, dynamic> json) {
title = json['title'];
@ -1215,11 +1142,7 @@ class AdvancedMessage {
});
AdvancedMessage.fromJson(Map<String, dynamic> json) {
messageList = json['messageList'] == null
? null
: (json['messageList'] as List)
.map((e) => Message.fromJson(e))
.toList();
messageList = json['messageList'] == null ? null : (json['messageList'] as List).map((e) => Message.fromJson(e)).toList();
isEnd = json['isEnd'];
errCode = json['errCode'];
errMsg = json['errMsg'];

Loading…
Cancel
Save