mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-19 16:46:22 +08:00
207 lines
6.8 KiB
Dart
207 lines
6.8 KiB
Dart
import 'package:PiliPlus/models/pgc/pgc_info_model/activity.dart';
|
|
import 'package:PiliPlus/models/pgc/pgc_info_model/area.dart';
|
|
import 'package:PiliPlus/models/pgc/pgc_info_model/episode.dart';
|
|
import 'package:PiliPlus/models/pgc/pgc_info_model/freya.dart';
|
|
import 'package:PiliPlus/models/pgc/pgc_info_model/icon_font.dart';
|
|
import 'package:PiliPlus/models/pgc/pgc_info_model/new_ep.dart';
|
|
import 'package:PiliPlus/models/pgc/pgc_info_model/payment.dart';
|
|
import 'package:PiliPlus/models/pgc/pgc_info_model/play_strategy.dart';
|
|
import 'package:PiliPlus/models/pgc/pgc_info_model/positive.dart';
|
|
import 'package:PiliPlus/models/pgc/pgc_info_model/publish.dart';
|
|
import 'package:PiliPlus/models/pgc/pgc_info_model/rating.dart';
|
|
import 'package:PiliPlus/models/pgc/pgc_info_model/rights.dart';
|
|
import 'package:PiliPlus/models/pgc/pgc_info_model/season.dart';
|
|
import 'package:PiliPlus/models/pgc/pgc_info_model/section.dart';
|
|
import 'package:PiliPlus/models/pgc/pgc_info_model/series.dart';
|
|
import 'package:PiliPlus/models/pgc/pgc_info_model/show.dart';
|
|
import 'package:PiliPlus/models/pgc/pgc_info_model/stat.dart';
|
|
import 'package:PiliPlus/models/pgc/pgc_info_model/up_info.dart';
|
|
import 'package:PiliPlus/models/pgc/pgc_info_model/user_status.dart';
|
|
|
|
class BangumiInfoModel {
|
|
Activity? activity;
|
|
String? actors;
|
|
String? alias;
|
|
List<Area>? areas;
|
|
String? bkgCover;
|
|
String? cover;
|
|
bool? deliveryFragmentVideo;
|
|
bool? enableVt;
|
|
List<EpisodeItem>? episodes;
|
|
String? evaluate;
|
|
Freya? freya;
|
|
int? hideEpVvVtDm;
|
|
IconFont? iconFont;
|
|
String? jpTitle;
|
|
String? link;
|
|
int? mediaId;
|
|
int? mode;
|
|
NewEp? newEp;
|
|
Payment? payment;
|
|
PlayStrategy? playStrategy;
|
|
Positive? positive;
|
|
Publish? publish;
|
|
Rating? rating;
|
|
String? record;
|
|
Rights? rights;
|
|
int? seasonId;
|
|
String? seasonTitle;
|
|
List<Season>? seasons;
|
|
List<Section>? section;
|
|
Series? series;
|
|
String? shareCopy;
|
|
String? shareSubTitle;
|
|
String? shareUrl;
|
|
Show? show;
|
|
int? showSeasonType;
|
|
String? squareCover;
|
|
String? staff;
|
|
Stat? stat;
|
|
int? status;
|
|
List? styles;
|
|
String? subtitle;
|
|
String? title;
|
|
int? total;
|
|
int? type;
|
|
UpInfo? upInfo;
|
|
UserStatus? userStatus;
|
|
|
|
BangumiInfoModel({
|
|
this.activity,
|
|
this.actors,
|
|
this.alias,
|
|
this.areas,
|
|
this.bkgCover,
|
|
this.cover,
|
|
this.deliveryFragmentVideo,
|
|
this.enableVt,
|
|
this.episodes,
|
|
this.evaluate,
|
|
this.freya,
|
|
this.hideEpVvVtDm,
|
|
this.iconFont,
|
|
this.jpTitle,
|
|
this.link,
|
|
this.mediaId,
|
|
this.mode,
|
|
this.newEp,
|
|
this.payment,
|
|
this.playStrategy,
|
|
this.positive,
|
|
this.publish,
|
|
this.rating,
|
|
this.record,
|
|
this.rights,
|
|
this.seasonId,
|
|
this.seasonTitle,
|
|
this.seasons,
|
|
this.section,
|
|
this.series,
|
|
this.shareCopy,
|
|
this.shareSubTitle,
|
|
this.shareUrl,
|
|
this.show,
|
|
this.showSeasonType,
|
|
this.squareCover,
|
|
this.staff,
|
|
this.stat,
|
|
this.status,
|
|
this.styles,
|
|
this.subtitle,
|
|
this.title,
|
|
this.total,
|
|
this.type,
|
|
this.upInfo,
|
|
this.userStatus,
|
|
});
|
|
|
|
factory BangumiInfoModel.fromJson(Map<String, dynamic> json) =>
|
|
BangumiInfoModel(
|
|
activity: json['activity'] == null
|
|
? null
|
|
: Activity.fromJson(json['activity'] as Map<String, dynamic>),
|
|
actors: json['actors'] as String?,
|
|
alias: json['alias'] as String?,
|
|
areas: (json['areas'] as List<dynamic>?)
|
|
?.map((e) => Area.fromJson(e as Map<String, dynamic>))
|
|
.toList(),
|
|
bkgCover: json['bkg_cover'] as String?,
|
|
cover: json['cover'] as String?,
|
|
deliveryFragmentVideo: json['delivery_fragment_video'] as bool?,
|
|
enableVt: json['enable_vt'] as bool?,
|
|
episodes: (json['episodes'] as List<dynamic>?)
|
|
?.map((e) => EpisodeItem.fromJson(e as Map<String, dynamic>))
|
|
.toList(),
|
|
evaluate: json['evaluate'] as String?,
|
|
freya: json['freya'] == null
|
|
? null
|
|
: Freya.fromJson(json['freya'] as Map<String, dynamic>),
|
|
hideEpVvVtDm: json['hide_ep_vv_vt_dm'] as int?,
|
|
iconFont: json['icon_font'] == null
|
|
? null
|
|
: IconFont.fromJson(json['icon_font'] as Map<String, dynamic>),
|
|
jpTitle: json['jp_title'] as String?,
|
|
link: json['link'] as String?,
|
|
mediaId: json['media_id'] as int?,
|
|
mode: json['mode'] as int?,
|
|
newEp: json['new_ep'] == null
|
|
? null
|
|
: NewEp.fromJson(json['new_ep'] as Map<String, dynamic>),
|
|
payment: json['payment'] == null
|
|
? null
|
|
: Payment.fromJson(json['payment'] as Map<String, dynamic>),
|
|
playStrategy: json['play_strategy'] == null
|
|
? null
|
|
: PlayStrategy.fromJson(
|
|
json['play_strategy'] as Map<String, dynamic>),
|
|
positive: json['positive'] == null
|
|
? null
|
|
: Positive.fromJson(json['positive'] as Map<String, dynamic>),
|
|
publish: json['publish'] == null
|
|
? null
|
|
: Publish.fromJson(json['publish'] as Map<String, dynamic>),
|
|
rating: json['rating'] == null
|
|
? null
|
|
: Rating.fromJson(json['rating'] as Map<String, dynamic>),
|
|
record: json['record'] as String?,
|
|
rights: json['rights'] == null
|
|
? null
|
|
: Rights.fromJson(json['rights'] as Map<String, dynamic>),
|
|
seasonId: json['season_id'] as int?,
|
|
seasonTitle: json['season_title'] as String?,
|
|
seasons: (json['seasons'] as List<dynamic>?)
|
|
?.map((e) => Season.fromJson(e as Map<String, dynamic>))
|
|
.toList(),
|
|
section: (json['section'] as List<dynamic>?)
|
|
?.map((e) => Section.fromJson(e as Map<String, dynamic>))
|
|
.toList(),
|
|
series: json['series'] == null
|
|
? null
|
|
: Series.fromJson(json['series'] as Map<String, dynamic>),
|
|
shareCopy: json['share_copy'] as String?,
|
|
shareSubTitle: json['share_sub_title'] as String?,
|
|
shareUrl: json['share_url'] as String?,
|
|
show: json['show'] == null
|
|
? null
|
|
: Show.fromJson(json['show'] as Map<String, dynamic>),
|
|
showSeasonType: json['show_season_type'] as int?,
|
|
squareCover: json['square_cover'] as String?,
|
|
staff: json['staff'] as String?,
|
|
stat: json['stat'] == null
|
|
? null
|
|
: Stat.fromJson(json['stat'] as Map<String, dynamic>),
|
|
status: json['status'] as int?,
|
|
styles: json['styles'],
|
|
subtitle: json['subtitle'] as String?,
|
|
title: json['title'] as String?,
|
|
total: json['total'] as int?,
|
|
type: json['type'] as int?,
|
|
upInfo: json['up_info'] == null
|
|
? null
|
|
: UpInfo.fromJson(json['up_info'] as Map<String, dynamic>),
|
|
userStatus: json['user_status'] == null
|
|
? null
|
|
: UserStatus.fromJson(json['user_status'] as Map<String, dynamic>),
|
|
);
|
|
}
|