mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
mod: 支持系统消息查看,美化界面,点击清除未读提示,支持未读刷新
修复私信页点击视频后反复提示已读成功的问题
This commit is contained in:
155
lib/models/msg/msgfeed_sys_msg.dart
Normal file
155
lib/models/msg/msgfeed_sys_msg.dart
Normal file
@@ -0,0 +1,155 @@
|
||||
class MsgFeedSysMsg {
|
||||
List<SystemNotifyList>? systemNotifyList;
|
||||
|
||||
MsgFeedSysMsg({this.systemNotifyList});
|
||||
|
||||
MsgFeedSysMsg.fromJson(Map<String, dynamic> json) {
|
||||
if (json['system_notify_list'] != null) {
|
||||
systemNotifyList = <SystemNotifyList>[];
|
||||
json['system_notify_list'].forEach((v) {
|
||||
systemNotifyList!.add(SystemNotifyList.fromJson(v));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = <String, dynamic>{};
|
||||
if (systemNotifyList != null) {
|
||||
data['system_notify_list'] =
|
||||
systemNotifyList!.map((v) => v.toJson()).toList();
|
||||
}
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
class SystemNotifyList {
|
||||
int? id;
|
||||
int? cursor;
|
||||
Publisher? publisher;
|
||||
int? type;
|
||||
String? title;
|
||||
String? content;
|
||||
Source? source;
|
||||
String? timeAt;
|
||||
int? cardType;
|
||||
String? cardBrief;
|
||||
String? cardMsgBrief;
|
||||
String? cardCover;
|
||||
String? cardStoryTitle;
|
||||
String? cardLink;
|
||||
String? mc;
|
||||
int? isStation;
|
||||
int? isSend;
|
||||
int? notifyCursor;
|
||||
|
||||
SystemNotifyList(
|
||||
{this.id,
|
||||
this.cursor,
|
||||
this.publisher,
|
||||
this.type,
|
||||
this.title,
|
||||
this.content,
|
||||
this.source,
|
||||
this.timeAt,
|
||||
this.cardType,
|
||||
this.cardBrief,
|
||||
this.cardMsgBrief,
|
||||
this.cardCover,
|
||||
this.cardStoryTitle,
|
||||
this.cardLink,
|
||||
this.mc,
|
||||
this.isStation,
|
||||
this.isSend,
|
||||
this.notifyCursor});
|
||||
|
||||
SystemNotifyList.fromJson(Map<String, dynamic> json) {
|
||||
id = json['id'];
|
||||
cursor = json['cursor'];
|
||||
publisher = json['publisher'] != null
|
||||
? Publisher.fromJson(json['publisher'])
|
||||
: null;
|
||||
type = json['type'];
|
||||
title = json['title'];
|
||||
content = json['content'];
|
||||
source = json['source'] != null ? Source.fromJson(json['source']) : null;
|
||||
timeAt = json['time_at'];
|
||||
cardType = json['card_type'];
|
||||
cardBrief = json['card_brief'];
|
||||
cardMsgBrief = json['card_msg_brief'];
|
||||
cardCover = json['card_cover'];
|
||||
cardStoryTitle = json['card_story_title'];
|
||||
cardLink = json['card_link'];
|
||||
mc = json['mc'];
|
||||
isStation = json['is_station'];
|
||||
isSend = json['is_send'];
|
||||
notifyCursor = json['notify_cursor'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = <String, dynamic>{};
|
||||
data['id'] = id;
|
||||
data['cursor'] = cursor;
|
||||
if (publisher != null) {
|
||||
data['publisher'] = publisher!.toJson();
|
||||
}
|
||||
data['type'] = type;
|
||||
data['title'] = title;
|
||||
data['content'] = content;
|
||||
if (source != null) {
|
||||
data['source'] = source!.toJson();
|
||||
}
|
||||
data['time_at'] = timeAt;
|
||||
data['card_type'] = cardType;
|
||||
data['card_brief'] = cardBrief;
|
||||
data['card_msg_brief'] = cardMsgBrief;
|
||||
data['card_cover'] = cardCover;
|
||||
data['card_story_title'] = cardStoryTitle;
|
||||
data['card_link'] = cardLink;
|
||||
data['mc'] = mc;
|
||||
data['is_station'] = isStation;
|
||||
data['is_send'] = isSend;
|
||||
data['notify_cursor'] = notifyCursor;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
class Publisher {
|
||||
String? name;
|
||||
int? mid;
|
||||
String? face;
|
||||
|
||||
Publisher({this.name, this.mid, this.face});
|
||||
|
||||
Publisher.fromJson(Map<String, dynamic> json) {
|
||||
name = json['name'];
|
||||
mid = json['mid'];
|
||||
face = json['face'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = <String, dynamic>{};
|
||||
data['name'] = name;
|
||||
data['mid'] = mid;
|
||||
data['face'] = face;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
class Source {
|
||||
String? name;
|
||||
String? logo;
|
||||
|
||||
Source({this.name, this.logo});
|
||||
|
||||
Source.fromJson(Map<String, dynamic> json) {
|
||||
name = json['name'];
|
||||
logo = json['logo'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = <String, dynamic>{};
|
||||
data['name'] = name;
|
||||
data['logo'] = logo;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user