mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-19 16:46:22 +08:00
115 lines
3.2 KiB
Dart
115 lines
3.2 KiB
Dart
import 'package:PiliPlus/models_new/pgc/pgc_info_model/badge_info.dart';
|
|
import 'package:PiliPlus/models_new/pgc/pgc_info_model/dimension.dart';
|
|
import 'package:PiliPlus/models_new/pgc/pgc_info_model/rights.dart';
|
|
import 'package:PiliPlus/models_new/pgc/pgc_info_model/skip.dart';
|
|
|
|
class EpisodeItem {
|
|
int? aid;
|
|
String? badge;
|
|
BadgeInfo? badgeInfo;
|
|
int? badgeType;
|
|
String? bvid;
|
|
int? cid;
|
|
String? cover;
|
|
Dimension? dimension;
|
|
int? duration;
|
|
bool? enableVt;
|
|
int? epId;
|
|
String? from;
|
|
int? id;
|
|
bool? isViewHide;
|
|
String? link;
|
|
String? longTitle;
|
|
int? pubTime;
|
|
int? pv;
|
|
String? releaseDate;
|
|
Rights? rights;
|
|
int? sectionType;
|
|
String? shareCopy;
|
|
String? shareUrl;
|
|
String? shortLink;
|
|
bool? showDrmLoginDialog;
|
|
String? showTitle;
|
|
Skip? skip;
|
|
int? status;
|
|
String? subtitle;
|
|
String? title;
|
|
String? vid;
|
|
|
|
EpisodeItem({
|
|
this.aid,
|
|
this.badge,
|
|
this.badgeInfo,
|
|
this.badgeType,
|
|
this.bvid,
|
|
this.cid,
|
|
this.cover,
|
|
this.dimension,
|
|
this.duration,
|
|
this.enableVt,
|
|
this.epId,
|
|
this.from,
|
|
this.id,
|
|
this.isViewHide,
|
|
this.link,
|
|
this.longTitle,
|
|
this.pubTime,
|
|
this.pv,
|
|
this.releaseDate,
|
|
this.rights,
|
|
this.sectionType,
|
|
this.shareCopy,
|
|
this.shareUrl,
|
|
this.shortLink,
|
|
this.showDrmLoginDialog,
|
|
this.showTitle,
|
|
this.skip,
|
|
this.status,
|
|
this.subtitle,
|
|
this.title,
|
|
this.vid,
|
|
});
|
|
|
|
factory EpisodeItem.fromJson(Map<String, dynamic> json) => EpisodeItem(
|
|
aid: json['aid'] as int?,
|
|
badge: json['badge'] as String?,
|
|
badgeInfo: json['badge_info'] == null
|
|
? null
|
|
: BadgeInfo.fromJson(json['badge_info'] as Map<String, dynamic>),
|
|
badgeType: json['badge_type'] as int?,
|
|
bvid: json['bvid'] as String?,
|
|
cid: json['cid'] as int?,
|
|
cover: json['cover'] as String?,
|
|
dimension: json['dimension'] == null
|
|
? null
|
|
: Dimension.fromJson(json['dimension'] as Map<String, dynamic>),
|
|
duration: json['duration'] as int?,
|
|
enableVt: json['enable_vt'] as bool?,
|
|
epId: json['ep_id'] as int?,
|
|
from: json['from'] as String?,
|
|
id: json['id'] as int?,
|
|
isViewHide: json['is_view_hide'] as bool?,
|
|
link: json['link'] as String?,
|
|
longTitle: json['long_title'] as String?,
|
|
pubTime: json['pub_time'] as int?,
|
|
pv: json['pv'] as int?,
|
|
releaseDate: json['release_date'] as String?,
|
|
rights: json['rights'] == null
|
|
? null
|
|
: Rights.fromJson(json['rights'] as Map<String, dynamic>),
|
|
sectionType: json['section_type'] as int?,
|
|
shareCopy: json['share_copy'] as String?,
|
|
shareUrl: json['share_url'] as String?,
|
|
shortLink: json['short_link'] as String?,
|
|
showDrmLoginDialog: json['showDrmLoginDialog'] as bool?,
|
|
showTitle: json['show_title'] as String?,
|
|
skip: json['skip'] == null
|
|
? null
|
|
: Skip.fromJson(json['skip'] as Map<String, dynamic>),
|
|
status: json['status'] as int?,
|
|
subtitle: json['subtitle'] as String?,
|
|
title: json['title'] as String?,
|
|
vid: json['vid'] as String?,
|
|
);
|
|
}
|