184 lines
5.7 KiB
Dart
184 lines
5.7 KiB
Dart
import '../model_parser.dart';
|
|
import 'skywood_category.dart';
|
|
|
|
class SkywoodDrama {
|
|
final int? id;
|
|
final int shortId;
|
|
int? shortPlayId;
|
|
final String name;
|
|
final String description;
|
|
final String imageUrl;
|
|
final String horizontallyImg;
|
|
int collectTotal;
|
|
final int watchTotal;
|
|
final int episodeTotal;
|
|
final String? playSeconds;
|
|
bool? isCollect;
|
|
final String? videoUrl;
|
|
final Map<String, dynamic>? videoInfo;
|
|
final List<String>? category;
|
|
final List<SkywoodCategory>? categoryList;
|
|
final String tagType;
|
|
int? episode;
|
|
final int? process;
|
|
final int? buyType;
|
|
final int? searchClickTotal;
|
|
final int? shortPlayVideoId;
|
|
final int? currentEpisode;
|
|
int? historyTime;
|
|
|
|
|
|
SkywoodDrama({
|
|
this.id,
|
|
required this.shortId,
|
|
this.shortPlayId,
|
|
required this.name,
|
|
required this.description,
|
|
required this.imageUrl,
|
|
required this.horizontallyImg,
|
|
required this.collectTotal,
|
|
required this.watchTotal,
|
|
required this.episodeTotal,
|
|
this.playSeconds,
|
|
this.isCollect,
|
|
this.videoUrl,
|
|
this.videoInfo,
|
|
this.category,
|
|
this.categoryList,
|
|
required this.tagType,
|
|
this.episode,
|
|
this.process,
|
|
this.buyType,
|
|
this.searchClickTotal,
|
|
this.shortPlayVideoId,
|
|
this.currentEpisode,
|
|
this.historyTime,
|
|
});
|
|
|
|
factory SkywoodDrama.fromJson(Map<String, dynamic> json) {
|
|
return SkywoodDrama(
|
|
id: json['id'] == null ? null : parseInt(json['id']),
|
|
shortId: parseInt(json['short_id']),
|
|
shortPlayId: json['short_play_id'] == null
|
|
? null
|
|
: parseInt(json['short_play_id']),
|
|
name: parseString(json['name']),
|
|
description: parseString(json['description']),
|
|
imageUrl: parseString(json['image_url']),
|
|
horizontallyImg: parseString(json['horizontally_img']),
|
|
collectTotal: parseInt(json['collect_total']),
|
|
watchTotal: parseInt(json['watch_total']),
|
|
episodeTotal: parseInt(json['episode_total']),
|
|
playSeconds: json['play_seconds'] as String?,
|
|
isCollect: json['is_collect'] == null
|
|
? null
|
|
: parseBool(json['is_collect']),
|
|
videoUrl: json['video_url'] as String?,
|
|
videoInfo: parseMap(json['video_info']),
|
|
category: parseStringList(json['category']),
|
|
categoryList: json['categoryList'] == null
|
|
? null
|
|
: parseModelList(json['categoryList'], SkywoodCategory.fromJson),
|
|
tagType: parseString(json['tag_type']),
|
|
episode: json['episode'] == null ? null : parseInt(json['episode']),
|
|
process: json['process'] == null ? null : parseInt(json['process']),
|
|
buyType: json['buy_type'] == null ? null : parseInt(json['buy_type']),
|
|
searchClickTotal: json['search_click_total'] == null
|
|
? null
|
|
: parseInt(json['search_click_total']),
|
|
shortPlayVideoId: json['short_play_video_id'] == null
|
|
? null
|
|
: parseInt(json['short_play_video_id']),
|
|
currentEpisode: json['current_episode'] == null
|
|
? null
|
|
: parseInt(json['current_episode']),
|
|
historyTime: json['history_time'] == null
|
|
? null
|
|
: parseInt(json['history_time']),
|
|
);
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
return {
|
|
'id': id,
|
|
'short_id': shortId,
|
|
'short_play_id': shortPlayId,
|
|
'name': name,
|
|
'description': description,
|
|
'image_url': imageUrl,
|
|
'horizontally_img': horizontallyImg,
|
|
'collect_total': collectTotal,
|
|
'watch_total': watchTotal,
|
|
'episode_total': episodeTotal,
|
|
'play_seconds': playSeconds,
|
|
'is_collect': isCollect,
|
|
'video_url': videoUrl,
|
|
'video_info': videoInfo,
|
|
'category': category,
|
|
'categoryList': categoryList?.map((item) => item.toJson()).toList(),
|
|
'tag_type': tagType,
|
|
'episode': episode,
|
|
'process': process,
|
|
'buy_type': buyType,
|
|
'search_click_total': searchClickTotal,
|
|
'short_play_video_id': shortPlayVideoId,
|
|
'current_episode': currentEpisode,
|
|
'history_time': historyTime,
|
|
};
|
|
}
|
|
|
|
SkywoodDrama copyWith({
|
|
int? id,
|
|
int? shortId,
|
|
int? shortPlayId,
|
|
String? name,
|
|
String? description,
|
|
String? imageUrl,
|
|
String? horizontallyImg,
|
|
int? collectTotal,
|
|
int? watchTotal,
|
|
int? episodeTotal,
|
|
String? playSeconds,
|
|
bool? isCollect,
|
|
String? videoUrl,
|
|
Map<String, dynamic>? videoInfo,
|
|
List<String>? category,
|
|
List<SkywoodCategory>? categoryList,
|
|
String? tagType,
|
|
int? episode,
|
|
int? process,
|
|
int? buyType,
|
|
int? searchClickTotal,
|
|
int? shortPlayVideoId,
|
|
int? currentEpisode,
|
|
int? historyTime,
|
|
}) {
|
|
return SkywoodDrama(
|
|
id: id ?? this.id,
|
|
shortId: shortId ?? this.shortId,
|
|
shortPlayId: shortPlayId ?? this.shortPlayId,
|
|
name: name ?? this.name,
|
|
description: description ?? this.description,
|
|
imageUrl: imageUrl ?? this.imageUrl,
|
|
horizontallyImg: horizontallyImg ?? this.horizontallyImg,
|
|
collectTotal: collectTotal ?? this.collectTotal,
|
|
watchTotal: watchTotal ?? this.watchTotal,
|
|
episodeTotal: episodeTotal ?? this.episodeTotal,
|
|
playSeconds: playSeconds ?? this.playSeconds,
|
|
isCollect: isCollect ?? this.isCollect,
|
|
videoUrl: videoUrl ?? this.videoUrl,
|
|
videoInfo: videoInfo ?? this.videoInfo,
|
|
category: category ?? this.category,
|
|
categoryList: categoryList ?? this.categoryList,
|
|
tagType: tagType ?? this.tagType,
|
|
episode: episode ?? this.episode,
|
|
process: process ?? this.process,
|
|
buyType: buyType ?? this.buyType,
|
|
searchClickTotal: searchClickTotal ?? this.searchClickTotal,
|
|
shortPlayVideoId: shortPlayVideoId ?? this.shortPlayVideoId,
|
|
currentEpisode: currentEpisode ?? this.currentEpisode,
|
|
historyTime: historyTime ?? this.historyTime,
|
|
);
|
|
}
|
|
}
|