131 lines
2.5 KiB
Dart
131 lines
2.5 KiB
Dart
/// 新闻分页 request
|
|
class NewsPageListRequest {
|
|
String? categoryCode;
|
|
String? channelCode;
|
|
String? tag;
|
|
String? keyword;
|
|
int? pageNum;
|
|
int? pageSize;
|
|
|
|
NewsPageListRequest({
|
|
this.categoryCode,
|
|
this.channelCode,
|
|
this.tag,
|
|
this.keyword,
|
|
this.pageNum,
|
|
this.pageSize,
|
|
});
|
|
|
|
Map<String, dynamic> toJson() => {
|
|
"categoryCode": categoryCode,
|
|
"channelCode": channelCode,
|
|
"tag": tag,
|
|
"keyword": keyword,
|
|
"pageNum": pageNum,
|
|
"pageSize": pageSize,
|
|
};
|
|
}
|
|
|
|
|
|
/// 新闻分页 response
|
|
class NewsPageListResponse {
|
|
int? counts;
|
|
int? pagesize;
|
|
int? pages;
|
|
int? page;
|
|
List<NewsItem>? items;
|
|
|
|
NewsPageListResponse({
|
|
this.counts,
|
|
this.pagesize,
|
|
this.pages,
|
|
this.page,
|
|
this.items,
|
|
});
|
|
|
|
factory NewsPageListResponse.fromJson(Map<String, dynamic> json) =>
|
|
NewsPageListResponse(
|
|
counts: json["counts"],
|
|
pagesize: json["pagesize"],
|
|
pages: json["pages"],
|
|
page: json["page"],
|
|
items: json["items"] == null
|
|
? []
|
|
: List<NewsItem>.from(
|
|
json["items"].map((x) => NewsItem.fromJson(x))),
|
|
);
|
|
|
|
Map<String, dynamic> toJson() => {
|
|
"counts": counts ?? 0,
|
|
"pagesize": pagesize ?? 0,
|
|
"pages": pages ?? 0,
|
|
"page": page ?? 0,
|
|
"items": items == null
|
|
? []
|
|
: List<dynamic>.from(items!.map((x) => x.toJson())),
|
|
};
|
|
}
|
|
|
|
|
|
class NewsItem {
|
|
String? id;
|
|
String? title;
|
|
String? category;
|
|
String? thumbnail;
|
|
String? author;
|
|
DateTime? addtime;
|
|
String? url;
|
|
|
|
NewsItem({
|
|
this.id,
|
|
this.title,
|
|
this.category,
|
|
this.thumbnail,
|
|
this.author,
|
|
this.addtime,
|
|
this.url,
|
|
});
|
|
|
|
factory NewsItem.fromJson(Map<String, dynamic> json) => NewsItem(
|
|
id: json["id"],
|
|
title: json["title"],
|
|
category: json["category"],
|
|
thumbnail: json["thumbnail"],
|
|
author: json["author"],
|
|
addtime: DateTime.parse(json["addtime"]),
|
|
url: json["url"],
|
|
);
|
|
|
|
Map<String, dynamic> toJson() => {
|
|
"id": id,
|
|
"title": title,
|
|
"category": category,
|
|
"thumbnail": thumbnail,
|
|
"author": author,
|
|
"addtime": addtime?.toIso8601String(),
|
|
"url": url,
|
|
};
|
|
}
|
|
|
|
|
|
/// 新闻推荐 request
|
|
class NewsRecommendRequest {
|
|
String? categoryCode;
|
|
String? channelCode;
|
|
String? tag;
|
|
String? keyword;
|
|
|
|
NewsRecommendRequest({
|
|
this.categoryCode,
|
|
this.channelCode,
|
|
this.tag,
|
|
this.keyword,
|
|
});
|
|
|
|
Map<String, dynamic> toJson() => {
|
|
"categoryCode": categoryCode,
|
|
"channelCode": channelCode,
|
|
"tag": tag,
|
|
"keyword": keyword,
|
|
};
|
|
} |