This commit is contained in:
2026-03-07 17:24:59 +08:00
parent 4418ebecac
commit b0ec8ab4bd
417 changed files with 42546 additions and 2 deletions

View File

@@ -0,0 +1,103 @@
import 'dart:convert';
T? asT<T>(dynamic value) {
if (value is T) {
return value;
}
return null;
}
class ComicSpecialDetailModel {
ComicSpecialDetailModel({
required this.mobileHeaderPic,
required this.title,
required this.pageUrl,
required this.description,
required this.comics,
required this.commentAmount,
});
factory ComicSpecialDetailModel.fromJson(Map<String, dynamic> json) {
final List<ComicSpecialComicModel>? comics =
json['comics'] is List ? <ComicSpecialComicModel>[] : null;
if (comics != null) {
for (final dynamic item in json['comics']!) {
if (item != null) {
comics.add(ComicSpecialComicModel.fromJson(
asT<Map<String, dynamic>>(item)!));
}
}
}
return ComicSpecialDetailModel(
mobileHeaderPic: asT<String>(json['mobile_header_pic'])!,
title: asT<String>(json['title'])!,
pageUrl: asT<String>(json['page_url'])!,
description: asT<String>(json['description'])!,
comics: comics!,
commentAmount: asT<int>(json['comment_amount'])!,
);
}
String mobileHeaderPic;
String title;
String pageUrl;
String description;
List<ComicSpecialComicModel> comics;
int commentAmount;
@override
String toString() {
return jsonEncode(this);
}
Map<String, dynamic> toJson() => <String, dynamic>{
'mobile_header_pic': mobileHeaderPic,
'title': title,
'page_url': pageUrl,
'description': description,
'comics': comics,
'comment_amount': commentAmount,
};
}
class ComicSpecialComicModel {
ComicSpecialComicModel({
required this.cover,
required this.recommendBrief,
required this.recommendReason,
required this.id,
required this.name,
required this.aliasName,
});
factory ComicSpecialComicModel.fromJson(Map<String, dynamic> json) =>
ComicSpecialComicModel(
cover: asT<String?>(json['cover']) ?? "",
recommendBrief: asT<String?>(json['recommend_brief']) ?? "",
recommendReason: asT<String?>(json['recommend_reason']) ?? "",
id: asT<int>(json['id'])!,
name: asT<String?>(json['name']) ?? "",
aliasName: asT<String?>(json['alias_name']) ?? "",
);
String cover;
String recommendBrief;
String recommendReason;
int id;
String name;
String aliasName;
@override
String toString() {
return jsonEncode(this);
}
Map<String, dynamic> toJson() => <String, dynamic>{
'cover': cover,
'recommend_brief': recommendBrief,
'recommend_reason': recommendReason,
'id': id,
'name': name,
'alias_name': aliasName,
};
}