This commit is contained in:
hrxiang
2022-04-01 18:25:52 +08:00
parent 57340e52a7
commit 71897bcb4e
20 changed files with 276 additions and 40 deletions

View File

@@ -19,6 +19,7 @@ class Message {
String? content;
int? seq;
bool? isRead;
int? hasReadTime;
/// [MessageStatus]
int? status;
@@ -56,6 +57,7 @@ class Message {
this.content,
this.seq,
this.isRead,
this.hasReadTime,
this.status,
this.offlinePush,
this.attachedInfo,
@@ -132,6 +134,7 @@ class Message {
attachedInfoElem = json['attachedInfoElem'] != null
? AttachedInfoElem.fromJson(json['attachedInfoElem'])
: null;
hasReadTime = json['hasReadTime'] ?? attachedInfoElem?.hasReadTime;
}
Map<String, dynamic> toJson() {
@@ -151,6 +154,7 @@ class Message {
data['content'] = this.content;
data['seq'] = this.seq;
data['isRead'] = this.isRead;
data['hasReadTime'] = this.hasReadTime;
data['status'] = this.status;
data['offlinePush'] = this.offlinePush?.toJson();
data['attachedInfo'] = this.attachedInfo;
@@ -198,6 +202,7 @@ class Message {
content = message.content;
seq = message.seq;
isRead = message.isRead;
hasReadTime = message.hasReadTime;
status = message.status;
offlinePush = message.offlinePush;
attachedInfo = message.attachedInfo;
@@ -581,21 +586,30 @@ class FaceElem {
class AttachedInfoElem {
GroupHasReadInfo? groupHasReadInfo;
bool? isPrivateChat;
AttachedInfoElem({this.groupHasReadInfo, this.isPrivateChat});
/// 单聊有效
bool? isPrivateChat;
int? hasReadTime;
AttachedInfoElem({
this.groupHasReadInfo,
this.isPrivateChat,
this.hasReadTime,
});
AttachedInfoElem.fromJson(Map<String, dynamic> json) {
groupHasReadInfo = json['groupHasReadInfo'] == null
? null
: GroupHasReadInfo.fromJson(json['groupHasReadInfo']);
isPrivateChat = json['isPrivateChat'];
hasReadTime = json['hasReadTime'];
}
Map<String, dynamic> toJson() {
final data = Map<String, dynamic>();
data['groupHasReadInfo'] = this.groupHasReadInfo?.toJson();
data['isPrivateChat'] = this.isPrivateChat;
data['hasReadTime'] = this.hasReadTime;
return data;
}
}

View File

@@ -0,0 +1,81 @@
import '../../flutter_openim_sdk.dart';
/// OA notification
class OANotification {
String? notificationName;
String? notificationFaceURL;
int? notificationType;
String? text;
String? externalUrl;
/// Notification Mix Type
/// 0: Plain text notification
/// 1: Text+picture notification
/// 2: Text+video notification
/// 3: Text+file notification
/// 0纯文字通知 1文字+图片通知 2文字+视频通知 3文字+文件通知
int? mixType;
PictureElem? pictureElem;
SoundElem? soundElem;
VideoElem? videoElem;
FileElem? fileElem;
String? ex;
OANotification(
{this.notificationName,
this.notificationFaceURL,
this.notificationType,
this.text,
this.externalUrl,
this.mixType,
this.pictureElem,
this.soundElem,
this.videoElem,
this.fileElem,
this.ex});
OANotification.fromJson(Map<String, dynamic> json) {
notificationName = json['notificationName'];
notificationFaceURL = json['notificationFaceURL'];
notificationType = json['notificationType'];
text = json['text'];
externalUrl = json['externalUrl'];
mixType = json['mixType'];
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;
ex = json['ex'];
}
Map<String, dynamic> toJson() {
final data = Map<String, dynamic>();
data['notificationName'] = this.notificationName;
data['notificationFaceURL'] = this.notificationFaceURL;
data['notificationType'] = this.notificationType;
data['text'] = this.text;
data['externalUrl'] = this.externalUrl;
data['mixType'] = this.mixType;
if (this.pictureElem != null) {
data['pictureElem'] = this.pictureElem!.toJson();
}
if (this.soundElem != null) {
data['soundElem'] = this.soundElem!.toJson();
}
if (this.videoElem != null) {
data['videoElem'] = this.videoElem!.toJson();
}
if (this.fileElem != null) {
data['fileElem'] = this.fileElem!.toJson();
}
data['ex'] = this.ex;
return data;
}
}