mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-05-30 23:58:13 +08:00
@@ -1,33 +1,18 @@
|
||||
import 'package:PiliPlus/models_new/video/video_ai_conclusion/model_result.dart';
|
||||
|
||||
class AiConclusionData {
|
||||
int? code;
|
||||
AiConclusionResult? modelResult;
|
||||
String? stid;
|
||||
int? status;
|
||||
int? likeNum;
|
||||
int? dislikeNum;
|
||||
|
||||
AiConclusionData({
|
||||
this.code,
|
||||
this.modelResult,
|
||||
this.stid,
|
||||
this.status,
|
||||
this.likeNum,
|
||||
this.dislikeNum,
|
||||
});
|
||||
|
||||
factory AiConclusionData.fromJson(Map<String, dynamic> json) =>
|
||||
AiConclusionData(
|
||||
code: json['code'] as int?,
|
||||
modelResult: json['model_result'] == null
|
||||
? null
|
||||
: AiConclusionResult.fromJson(
|
||||
json['model_result'] as Map<String, dynamic>,
|
||||
),
|
||||
stid: json['stid'] as String?,
|
||||
status: json['status'] as int?,
|
||||
likeNum: json['like_num'] as int?,
|
||||
dislikeNum: json['dislike_num'] as int?,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,28 +1,19 @@
|
||||
import 'package:PiliPlus/models_new/video/video_ai_conclusion/outline.dart';
|
||||
import 'package:PiliPlus/models_new/video/video_ai_conclusion/subtitle.dart';
|
||||
|
||||
class AiConclusionResult {
|
||||
int? resultType;
|
||||
String? summary;
|
||||
List<Outline>? outline;
|
||||
List<Subtitle>? subtitle;
|
||||
|
||||
AiConclusionResult({
|
||||
this.resultType,
|
||||
this.summary,
|
||||
this.outline,
|
||||
this.subtitle,
|
||||
});
|
||||
|
||||
factory AiConclusionResult.fromJson(Map<String, dynamic> json) =>
|
||||
AiConclusionResult(
|
||||
resultType: json['result_type'] as int?,
|
||||
summary: json['summary'] as String?,
|
||||
outline: (json['outline'] as List<dynamic>?)
|
||||
?.map((e) => Outline.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
subtitle: (json['subtitle'] as List<dynamic>?)
|
||||
?.map((e) => Subtitle.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -3,15 +3,13 @@ import 'package:PiliPlus/models_new/video/video_ai_conclusion/part_outline.dart'
|
||||
class Outline {
|
||||
String? title;
|
||||
List<PartOutline>? partOutline;
|
||||
int? timestamp;
|
||||
|
||||
Outline({this.title, this.partOutline, this.timestamp});
|
||||
Outline({this.title, this.partOutline});
|
||||
|
||||
factory Outline.fromJson(Map<String, dynamic> json) => Outline(
|
||||
title: json['title'] as String?,
|
||||
partOutline: (json['part_outline'] as List<dynamic>?)
|
||||
?.map((e) => PartOutline.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
timestamp: json['timestamp'] as int?,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
class PartSubtitle {
|
||||
int? startTimestamp;
|
||||
int? endTimestamp;
|
||||
String? content;
|
||||
|
||||
PartSubtitle({this.startTimestamp, this.endTimestamp, this.content});
|
||||
|
||||
factory PartSubtitle.fromJson(Map<String, dynamic> json) => PartSubtitle(
|
||||
startTimestamp: json['start_timestamp'] as int?,
|
||||
endTimestamp: json['end_timestamp'] as int?,
|
||||
content: json['content'] as String?,
|
||||
);
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
import 'package:PiliPlus/models_new/video/video_ai_conclusion/part_subtitle.dart';
|
||||
|
||||
class Subtitle {
|
||||
String? title;
|
||||
List<PartSubtitle>? partSubtitle;
|
||||
int? timestamp;
|
||||
|
||||
Subtitle({this.title, this.partSubtitle, this.timestamp});
|
||||
|
||||
factory Subtitle.fromJson(Map<String, dynamic> json) => Subtitle(
|
||||
title: json['title'] as String?,
|
||||
partSubtitle: (json['part_subtitle'] as List<dynamic>?)
|
||||
?.map((e) => PartSubtitle.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
timestamp: json['timestamp'] as int?,
|
||||
);
|
||||
}
|
||||
@@ -1,93 +1,42 @@
|
||||
import 'package:PiliPlus/models/model_owner.dart';
|
||||
import 'package:PiliPlus/models_new/video/video_detail/dimension.dart';
|
||||
import 'package:PiliPlus/models_new/video/video_detail/rights.dart';
|
||||
import 'package:PiliPlus/models_new/video/video_detail/stat.dart';
|
||||
|
||||
class Arc {
|
||||
int? aid;
|
||||
int? videos;
|
||||
int? typeId;
|
||||
String? typeName;
|
||||
int? copyright;
|
||||
String? pic;
|
||||
String? title;
|
||||
int? pubdate;
|
||||
int? ctime;
|
||||
String? desc;
|
||||
int? state;
|
||||
int? duration;
|
||||
Rights? rights;
|
||||
Owner? author;
|
||||
VideoStat? stat;
|
||||
String? dynam1c;
|
||||
Dimension? dimension;
|
||||
bool? isChargeableSeason;
|
||||
bool? isBlooper;
|
||||
int? enableVt;
|
||||
String? vtDisplay;
|
||||
int? typeIdV2;
|
||||
String? typeNameV2;
|
||||
int? isLessonVideo;
|
||||
|
||||
Arc({
|
||||
this.aid,
|
||||
this.videos,
|
||||
this.typeId,
|
||||
this.typeName,
|
||||
this.copyright,
|
||||
this.pic,
|
||||
this.title,
|
||||
this.pubdate,
|
||||
this.ctime,
|
||||
this.desc,
|
||||
this.state,
|
||||
this.duration,
|
||||
this.rights,
|
||||
this.author,
|
||||
this.stat,
|
||||
this.dynam1c,
|
||||
this.dimension,
|
||||
this.isChargeableSeason,
|
||||
this.isBlooper,
|
||||
this.enableVt,
|
||||
this.vtDisplay,
|
||||
this.typeIdV2,
|
||||
this.typeNameV2,
|
||||
this.isLessonVideo,
|
||||
});
|
||||
|
||||
factory Arc.fromJson(Map<String, dynamic> json) => Arc(
|
||||
aid: json['aid'] as int?,
|
||||
videos: json['videos'] as int?,
|
||||
typeId: json['type_id'] as int?,
|
||||
typeName: json['type_name'] as String?,
|
||||
copyright: json['copyright'] as int?,
|
||||
pic: json['pic'] as String?,
|
||||
title: json['title'] as String?,
|
||||
pubdate: json['pubdate'] as int?,
|
||||
ctime: json['ctime'] as int?,
|
||||
desc: json['desc'] as String?,
|
||||
state: json['state'] as int?,
|
||||
duration: json['duration'] as int?,
|
||||
rights: json['rights'] == null
|
||||
? null
|
||||
: Rights.fromJson(json['rights'] as Map<String, dynamic>),
|
||||
author: json['author'] == null
|
||||
? null
|
||||
: Owner.fromJson(json['author'] as Map<String, dynamic>),
|
||||
stat: json['stat'] == null
|
||||
? null
|
||||
: VideoStat.fromJson(json['stat'] as Map<String, dynamic>),
|
||||
dynam1c: json['dynamic'] as String?,
|
||||
dimension: json['dimension'] == null
|
||||
? null
|
||||
: Dimension.fromJson(json['dimension'] as Map<String, dynamic>),
|
||||
isChargeableSeason: json['is_chargeable_season'] as bool?,
|
||||
isBlooper: json['is_blooper'] as bool?,
|
||||
enableVt: json['enable_vt'] as int?,
|
||||
vtDisplay: json['vt_display'] as String?,
|
||||
typeIdV2: json['type_id_v2'] as int?,
|
||||
typeNameV2: json['type_name_v2'] as String?,
|
||||
isLessonVideo: json['is_lesson_video'] as int?,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
class ArgueInfo {
|
||||
String? argueMsg;
|
||||
int? argueType;
|
||||
String? argueLink;
|
||||
|
||||
ArgueInfo({this.argueMsg, this.argueType, this.argueLink});
|
||||
ArgueInfo({this.argueMsg});
|
||||
|
||||
factory ArgueInfo.fromJson(Map<String, dynamic> json) => ArgueInfo(
|
||||
argueMsg: json['argue_msg'] as String?,
|
||||
argueType: json['argue_type'] as int?,
|
||||
argueLink: json['argue_link'] as String?,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -6,19 +6,13 @@ import 'package:PiliPlus/models_new/video/video_detail/page.dart';
|
||||
import 'package:PiliPlus/models_new/video/video_detail/rights.dart';
|
||||
import 'package:PiliPlus/models_new/video/video_detail/staff.dart';
|
||||
import 'package:PiliPlus/models_new/video/video_detail/stat.dart';
|
||||
import 'package:PiliPlus/models_new/video/video_detail/subtitle.dart';
|
||||
import 'package:PiliPlus/models_new/video/video_detail/ugc_season.dart';
|
||||
import 'package:PiliPlus/models_new/video/video_detail/user_garb.dart';
|
||||
import 'package:PiliPlus/utils/parse_string.dart';
|
||||
|
||||
class VideoDetailData {
|
||||
String? bvid;
|
||||
int? aid;
|
||||
int? videos;
|
||||
int? tid;
|
||||
int? tidV2;
|
||||
String? tname;
|
||||
String? tnameV2;
|
||||
int? copyright;
|
||||
String? pic;
|
||||
String? title;
|
||||
@@ -26,36 +20,17 @@ class VideoDetailData {
|
||||
int? ctime;
|
||||
String? desc;
|
||||
List<DescV2>? descV2;
|
||||
int? state;
|
||||
int? duration;
|
||||
Rights? rights;
|
||||
Owner? owner;
|
||||
VideoStat? stat;
|
||||
ArgueInfo? argueInfo;
|
||||
String? dynam1c;
|
||||
int? cid;
|
||||
Dimension? dimension;
|
||||
int? seasonId;
|
||||
int? teenageMode;
|
||||
bool? isChargeableSeason;
|
||||
bool? isStory;
|
||||
bool? isUpowerExclusive;
|
||||
bool? isUpowerPlay;
|
||||
bool? isUpowerPreview;
|
||||
int? enableVt;
|
||||
String? vtDisplay;
|
||||
bool? isUpowerExclusiveWithQa;
|
||||
bool? noCache;
|
||||
List<Part>? pages;
|
||||
Subtitle? subtitle;
|
||||
UgcSeason? ugcSeason;
|
||||
bool? isSeasonDisplay;
|
||||
UserGarb? userGarb;
|
||||
String? likeIcon;
|
||||
bool? needJumpBv;
|
||||
bool? disableShowUpInfo;
|
||||
int? isStoryPlay;
|
||||
bool? isViewSelf;
|
||||
List<Staff>? staff;
|
||||
String? redirectUrl;
|
||||
bool isPageReversed = false;
|
||||
@@ -64,10 +39,6 @@ class VideoDetailData {
|
||||
this.bvid,
|
||||
this.aid,
|
||||
this.videos,
|
||||
this.tid,
|
||||
this.tidV2,
|
||||
this.tname,
|
||||
this.tnameV2,
|
||||
this.copyright,
|
||||
this.pic,
|
||||
this.title,
|
||||
@@ -75,36 +46,17 @@ class VideoDetailData {
|
||||
this.ctime,
|
||||
this.desc,
|
||||
this.descV2,
|
||||
this.state,
|
||||
this.duration,
|
||||
this.rights,
|
||||
this.owner,
|
||||
this.stat,
|
||||
this.argueInfo,
|
||||
this.dynam1c,
|
||||
this.cid,
|
||||
this.dimension,
|
||||
this.seasonId,
|
||||
this.teenageMode,
|
||||
this.isChargeableSeason,
|
||||
this.isStory,
|
||||
this.isUpowerExclusive,
|
||||
this.isUpowerPlay,
|
||||
this.isUpowerPreview,
|
||||
this.enableVt,
|
||||
this.vtDisplay,
|
||||
this.isUpowerExclusiveWithQa,
|
||||
this.noCache,
|
||||
this.pages,
|
||||
this.subtitle,
|
||||
this.ugcSeason,
|
||||
this.isSeasonDisplay,
|
||||
this.userGarb,
|
||||
this.likeIcon,
|
||||
this.needJumpBv,
|
||||
this.disableShowUpInfo,
|
||||
this.isStoryPlay,
|
||||
this.isViewSelf,
|
||||
this.staff,
|
||||
this.redirectUrl,
|
||||
});
|
||||
@@ -114,10 +66,6 @@ class VideoDetailData {
|
||||
bvid: json['bvid'] as String?,
|
||||
aid: json['aid'] as int?,
|
||||
videos: json['videos'] as int?,
|
||||
tid: json['tid'] as int?,
|
||||
tidV2: json['tid_v2'] as int?,
|
||||
tname: json['tname'] as String?,
|
||||
tnameV2: json['tname_v2'] as String?,
|
||||
copyright: json['copyright'] as int?,
|
||||
pic: json['pic'] as String?,
|
||||
title: json['title'] as String?,
|
||||
@@ -127,7 +75,6 @@ class VideoDetailData {
|
||||
descV2: (json['desc_v2'] as List<dynamic>?)
|
||||
?.map((e) => DescV2.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
state: json['state'] as int?,
|
||||
duration: json['duration'] as int?,
|
||||
rights: json['rights'] == null
|
||||
? null
|
||||
@@ -141,40 +88,18 @@ class VideoDetailData {
|
||||
argueInfo: json['argue_info'] == null
|
||||
? null
|
||||
: ArgueInfo.fromJson(json['argue_info'] as Map<String, dynamic>),
|
||||
dynam1c: json['dynamic'] as String?,
|
||||
cid: json['cid'] as int?,
|
||||
dimension: json['dimension'] == null
|
||||
? null
|
||||
: Dimension.fromJson(json['dimension'] as Map<String, dynamic>),
|
||||
seasonId: json['season_id'] as int?,
|
||||
teenageMode: json['teenage_mode'] as int?,
|
||||
isChargeableSeason: json['is_chargeable_season'] as bool?,
|
||||
isStory: json['is_story'] as bool?,
|
||||
isUpowerExclusive: json['is_upower_exclusive'] as bool?,
|
||||
isUpowerPlay: json['is_upower_play'] as bool?,
|
||||
isUpowerPreview: json['is_upower_preview'] as bool?,
|
||||
enableVt: json['enable_vt'] as int?,
|
||||
vtDisplay: json['vt_display'] as String?,
|
||||
isUpowerExclusiveWithQa: json['is_upower_exclusive_with_qa'] as bool?,
|
||||
noCache: json['no_cache'] as bool?,
|
||||
pages: (json['pages'] as List<dynamic>?)
|
||||
?.map((e) => Part.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
subtitle: json['subtitle'] == null
|
||||
? null
|
||||
: Subtitle.fromJson(json['subtitle'] as Map<String, dynamic>),
|
||||
ugcSeason: json['ugc_season'] == null
|
||||
? null
|
||||
: UgcSeason.fromJson(json['ugc_season'] as Map<String, dynamic>),
|
||||
isSeasonDisplay: json['is_season_display'] as bool?,
|
||||
userGarb: json['user_garb'] == null
|
||||
? null
|
||||
: UserGarb.fromJson(json['user_garb'] as Map<String, dynamic>),
|
||||
likeIcon: json['like_icon'] as String?,
|
||||
needJumpBv: json['need_jump_bv'] as bool?,
|
||||
disableShowUpInfo: json['disable_show_up_info'] as bool?,
|
||||
isStoryPlay: json['is_story_play'] as int?,
|
||||
isViewSelf: json['is_view_self'] as bool?,
|
||||
staff: (json["staff"] as List?)
|
||||
?.map((item) => Staff.fromJson(item))
|
||||
.toList(),
|
||||
|
||||
@@ -1,62 +1,11 @@
|
||||
class Rights {
|
||||
int? bp;
|
||||
int? elec;
|
||||
int? download;
|
||||
int? movie;
|
||||
int? pay;
|
||||
int? hd5;
|
||||
int? noReprint;
|
||||
int? autoplay;
|
||||
int? ugcPay;
|
||||
int? isCooperation;
|
||||
int? ugcPayPreview;
|
||||
int? noBackground;
|
||||
int? cleanMode;
|
||||
int? isSteinGate;
|
||||
int? is360;
|
||||
int? noShare;
|
||||
int? arcPay;
|
||||
int? freeWatch;
|
||||
|
||||
Rights({
|
||||
this.bp,
|
||||
this.elec,
|
||||
this.download,
|
||||
this.movie,
|
||||
this.pay,
|
||||
this.hd5,
|
||||
this.noReprint,
|
||||
this.autoplay,
|
||||
this.ugcPay,
|
||||
this.isCooperation,
|
||||
this.ugcPayPreview,
|
||||
this.noBackground,
|
||||
this.cleanMode,
|
||||
this.isSteinGate,
|
||||
this.is360,
|
||||
this.noShare,
|
||||
this.arcPay,
|
||||
this.freeWatch,
|
||||
});
|
||||
|
||||
factory Rights.fromJson(Map<String, dynamic> json) => Rights(
|
||||
bp: json['bp'] as int?,
|
||||
elec: json['elec'] as int?,
|
||||
download: json['download'] as int?,
|
||||
movie: json['movie'] as int?,
|
||||
pay: json['pay'] as int?,
|
||||
hd5: json['hd5'] as int?,
|
||||
noReprint: json['no_reprint'] as int?,
|
||||
autoplay: json['autoplay'] as int?,
|
||||
ugcPay: json['ugc_pay'] as int?,
|
||||
isCooperation: json['is_cooperation'] as int?,
|
||||
ugcPayPreview: json['ugc_pay_preview'] as int?,
|
||||
noBackground: json['no_background'] as int?,
|
||||
cleanMode: json['clean_mode'] as int?,
|
||||
isSteinGate: json['is_stein_gate'] as int?,
|
||||
is360: json['is_360'] as int?,
|
||||
noShare: json['no_share'] as int?,
|
||||
arcPay: json['arc_pay'] as int?,
|
||||
freeWatch: json['free_watch'] as int?,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,25 +1,13 @@
|
||||
import 'package:PiliPlus/models_new/video/video_detail/stat_detail.dart';
|
||||
|
||||
class VideoStat extends StatDetail {
|
||||
int? aid;
|
||||
int? nowRank;
|
||||
int? hisRank;
|
||||
int? dislike;
|
||||
String? evaluation;
|
||||
|
||||
VideoStat.fromJson(Map<String, dynamic> json) {
|
||||
aid = json['aid'] as int?;
|
||||
view = json['view'] as int?;
|
||||
danmaku = json['danmaku'] as int?;
|
||||
reply = json['reply'] as int?;
|
||||
favorite = json['favorite'] as int? ?? 0;
|
||||
coin = json['coin'] as num? ?? 0;
|
||||
share = json['share'] as int?;
|
||||
nowRank = json['now_rank'] as int?;
|
||||
hisRank = json['his_rank'] as int?;
|
||||
like = json['like'] as int? ?? 0;
|
||||
dislike = json['dislike'] as int?;
|
||||
evaluation = json['evaluation'] as String?;
|
||||
vt = json['vt'] as int?;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,5 +6,4 @@ abstract class StatDetail {
|
||||
int? reply;
|
||||
int? share;
|
||||
int? view;
|
||||
int? vt;
|
||||
}
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
class Subtitle {
|
||||
bool? allowSubmit;
|
||||
List<dynamic>? list;
|
||||
|
||||
Subtitle({this.allowSubmit, this.list});
|
||||
|
||||
factory Subtitle.fromJson(Map<String, dynamic> json) => Subtitle(
|
||||
allowSubmit: json['allow_submit'] as bool?,
|
||||
list: json['list'] as List<dynamic>?,
|
||||
);
|
||||
}
|
||||
@@ -1,35 +1,18 @@
|
||||
import 'package:PiliPlus/models_new/video/video_detail/section.dart';
|
||||
import 'package:PiliPlus/models_new/video/video_detail/stat.dart';
|
||||
|
||||
class UgcSeason {
|
||||
int? id;
|
||||
String? title;
|
||||
String? cover;
|
||||
int? mid;
|
||||
String? intro;
|
||||
int? signState;
|
||||
int? attribute;
|
||||
List<SectionItem>? sections;
|
||||
VideoStat? stat;
|
||||
int? epCount;
|
||||
int? seasonType;
|
||||
bool? isPaySeason;
|
||||
int? enableVt;
|
||||
|
||||
UgcSeason({
|
||||
this.id,
|
||||
this.title,
|
||||
this.cover,
|
||||
this.mid,
|
||||
this.intro,
|
||||
this.signState,
|
||||
this.attribute,
|
||||
this.sections,
|
||||
this.stat,
|
||||
this.epCount,
|
||||
this.seasonType,
|
||||
this.isPaySeason,
|
||||
this.enableVt,
|
||||
});
|
||||
|
||||
factory UgcSeason.fromJson(Map<String, dynamic> json) => UgcSeason(
|
||||
@@ -37,18 +20,8 @@ class UgcSeason {
|
||||
title: json['title'] as String?,
|
||||
cover: json['cover'] as String?,
|
||||
mid: json['mid'] as int?,
|
||||
intro: json['intro'] as String?,
|
||||
signState: json['sign_state'] as int?,
|
||||
attribute: json['attribute'] as int?,
|
||||
sections: (json['sections'] as List<dynamic>?)
|
||||
?.map((e) => SectionItem.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
stat: json['stat'] == null
|
||||
? null
|
||||
: VideoStat.fromJson(json['stat'] as Map<String, dynamic>),
|
||||
epCount: json['ep_count'] as int?,
|
||||
seasonType: json['season_type'] as int?,
|
||||
isPaySeason: json['is_pay_season'] as bool?,
|
||||
enableVt: json['enable_vt'] as int?,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
class UserGarb {
|
||||
String? urlImageAniCut;
|
||||
|
||||
UserGarb({this.urlImageAniCut});
|
||||
|
||||
factory UserGarb.fromJson(Map<String, dynamic> json) => UserGarb(
|
||||
urlImageAniCut: json['url_image_ani_cut'] as String?,
|
||||
);
|
||||
}
|
||||
@@ -9,7 +9,6 @@ class Author {
|
||||
Vip? vipInfo;
|
||||
Pendant? pendant;
|
||||
BaseOfficialVerify? official;
|
||||
int? follower;
|
||||
|
||||
Author({
|
||||
this.mid,
|
||||
@@ -20,7 +19,6 @@ class Author {
|
||||
this.vipInfo,
|
||||
this.pendant,
|
||||
this.official,
|
||||
this.follower,
|
||||
});
|
||||
|
||||
factory Author.fromJson(Map<String, dynamic> json) => Author(
|
||||
@@ -38,6 +36,5 @@ class Author {
|
||||
official: json['official'] == null
|
||||
? null
|
||||
: BaseOfficialVerify.fromJson(json['official'] as Map<String, dynamic>),
|
||||
follower: json['follower'] as int?,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -4,10 +4,8 @@ import 'package:PiliPlus/models_new/video/video_note_list/page.dart';
|
||||
class VideoNoteData {
|
||||
List<VideoNoteItemModel>? list;
|
||||
Page? page;
|
||||
bool? showPublicNote;
|
||||
String? message;
|
||||
|
||||
VideoNoteData({this.list, this.page, this.showPublicNote, this.message});
|
||||
VideoNoteData({this.list, this.page});
|
||||
|
||||
factory VideoNoteData.fromJson(Map<String, dynamic> json) => VideoNoteData(
|
||||
list: (json['list'] as List<dynamic>?)
|
||||
@@ -16,7 +14,5 @@ class VideoNoteData {
|
||||
page: json['page'] == null
|
||||
? null
|
||||
: Page.fromJson(json['page'] as Map<String, dynamic>),
|
||||
showPublicNote: json['show_public_note'] as bool?,
|
||||
message: json['message'] as String?,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -2,39 +2,24 @@ import 'package:PiliPlus/models_new/video/video_note_list/author.dart';
|
||||
|
||||
class VideoNoteItemModel {
|
||||
int? cvid;
|
||||
String? title;
|
||||
String? summary;
|
||||
String? pubtime;
|
||||
String? webUrl;
|
||||
String? message;
|
||||
Author? author;
|
||||
int? likes;
|
||||
bool? hasLike;
|
||||
|
||||
VideoNoteItemModel({
|
||||
this.cvid,
|
||||
this.title,
|
||||
this.summary,
|
||||
this.pubtime,
|
||||
this.webUrl,
|
||||
this.message,
|
||||
this.author,
|
||||
this.likes,
|
||||
this.hasLike,
|
||||
});
|
||||
|
||||
factory VideoNoteItemModel.fromJson(Map<String, dynamic> json) =>
|
||||
VideoNoteItemModel(
|
||||
cvid: json['cvid'] as int?,
|
||||
title: json['title'] as String?,
|
||||
summary: json['summary'] as String?,
|
||||
pubtime: json['pubtime'] as String?,
|
||||
webUrl: json['web_url'] as String?,
|
||||
message: json['message'] as String?,
|
||||
author: json['author'] == null
|
||||
? null
|
||||
: Author.fromJson(json['author'] as Map<String, dynamic>),
|
||||
likes: json['likes'] as int?,
|
||||
hasLike: json['has_like'] as bool?,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
class Page {
|
||||
int? total;
|
||||
int? size;
|
||||
int? num;
|
||||
|
||||
Page({this.total, this.size, this.num});
|
||||
Page({this.total});
|
||||
|
||||
factory Page.fromJson(Map<String, dynamic> json) => Page(
|
||||
total: json['total'] as int?,
|
||||
size: json['size'] as int?,
|
||||
num: json['num'] as int?,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -4,9 +4,6 @@ class ViewPoint {
|
||||
int? to;
|
||||
String? content;
|
||||
String? imgUrl;
|
||||
String? logoUrl;
|
||||
String? teamType;
|
||||
String? teamName;
|
||||
|
||||
ViewPoint({
|
||||
this.type,
|
||||
@@ -14,9 +11,6 @@ class ViewPoint {
|
||||
this.to,
|
||||
this.content,
|
||||
this.imgUrl,
|
||||
this.logoUrl,
|
||||
this.teamType,
|
||||
this.teamName,
|
||||
});
|
||||
|
||||
factory ViewPoint.fromJson(Map<String, dynamic> json) => ViewPoint(
|
||||
@@ -25,8 +19,5 @@ class ViewPoint {
|
||||
to: json["to"],
|
||||
content: json["content"],
|
||||
imgUrl: json["imgUrl"],
|
||||
logoUrl: json["logoUrl"],
|
||||
teamType: json["team_type"],
|
||||
teamName: json["team_name"],
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,29 +1,17 @@
|
||||
import 'package:PiliPlus/models_new/video/video_detail/episode.dart';
|
||||
|
||||
class Choice extends BaseEpisodeItem {
|
||||
String? platformAction;
|
||||
String? nativeAction;
|
||||
String? condition;
|
||||
String? option;
|
||||
int? isDefault;
|
||||
|
||||
Choice({
|
||||
super.id,
|
||||
this.platformAction,
|
||||
this.nativeAction,
|
||||
this.condition,
|
||||
super.cid,
|
||||
this.option,
|
||||
this.isDefault,
|
||||
});
|
||||
|
||||
factory Choice.fromJson(Map<String, dynamic> json) => Choice(
|
||||
id: json['id'] as int?,
|
||||
platformAction: json['platform_action'] as String?,
|
||||
nativeAction: json['native_action'] as String?,
|
||||
condition: json['condition'] as String?,
|
||||
cid: json['cid'] as int?,
|
||||
option: json['option'] as String?,
|
||||
isDefault: json['is_default'] as int?,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,39 +1,15 @@
|
||||
import 'package:PiliPlus/models_new/video/video_stein_edgeinfo/edges.dart';
|
||||
import 'package:PiliPlus/models_new/video/video_stein_edgeinfo/preload.dart';
|
||||
import 'package:PiliPlus/models_new/video/video_stein_edgeinfo/story_list.dart';
|
||||
|
||||
class EdgeInfoData {
|
||||
String? title;
|
||||
int? edgeId;
|
||||
List<StoryList>? storyList;
|
||||
Edges? edges;
|
||||
String? buvid;
|
||||
Preload? preload;
|
||||
int? isLeaf;
|
||||
|
||||
EdgeInfoData({
|
||||
this.title,
|
||||
this.edgeId,
|
||||
this.storyList,
|
||||
this.edges,
|
||||
this.buvid,
|
||||
this.preload,
|
||||
this.isLeaf,
|
||||
});
|
||||
|
||||
factory EdgeInfoData.fromJson(Map<String, dynamic> json) => EdgeInfoData(
|
||||
title: json['title'] as String?,
|
||||
edgeId: json['edge_id'] as int?,
|
||||
storyList: (json['story_list'] as List<dynamic>?)
|
||||
?.map((e) => StoryList.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
edges: json['edges'] == null
|
||||
? null
|
||||
: Edges.fromJson(json['edges'] as Map<String, dynamic>),
|
||||
buvid: json['buvid'] as String?,
|
||||
preload: json['preload'] == null
|
||||
? null
|
||||
: Preload.fromJson(json['preload'] as Map<String, dynamic>),
|
||||
isLeaf: json['is_leaf'] as int?,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,23 +1,13 @@
|
||||
import 'package:PiliPlus/models_new/video/video_detail/dimension.dart';
|
||||
import 'package:PiliPlus/models_new/video/video_stein_edgeinfo/question.dart';
|
||||
import 'package:PiliPlus/models_new/video/video_stein_edgeinfo/skin.dart';
|
||||
|
||||
class Edges {
|
||||
Dimension? dimension;
|
||||
List<Question>? questions;
|
||||
Skin? skin;
|
||||
|
||||
Edges({this.dimension, this.questions, this.skin});
|
||||
Edges({this.questions});
|
||||
|
||||
factory Edges.fromJson(Map<String, dynamic> json) => Edges(
|
||||
dimension: json['dimension'] == null
|
||||
? null
|
||||
: Dimension.fromJson(json['dimension'] as Map<String, dynamic>),
|
||||
questions: (json['questions'] as List<dynamic>?)
|
||||
?.map((e) => Question.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
skin: json['skin'] == null
|
||||
? null
|
||||
: Skin.fromJson(json['skin'] as Map<String, dynamic>),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
import 'package:PiliPlus/models_new/video/video_stein_edgeinfo/video.dart';
|
||||
|
||||
class Preload {
|
||||
List<Video>? video;
|
||||
|
||||
Preload({this.video});
|
||||
|
||||
factory Preload.fromJson(Map<String, dynamic> json) => Preload(
|
||||
video: (json['video'] as List<dynamic>?)
|
||||
?.map((e) => Video.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
);
|
||||
}
|
||||
@@ -1,31 +1,13 @@
|
||||
import 'package:PiliPlus/models_new/video/video_stein_edgeinfo/choice.dart';
|
||||
|
||||
class Question {
|
||||
int? id;
|
||||
int? type;
|
||||
int? startTimeR;
|
||||
int? duration;
|
||||
int? pauseVideo;
|
||||
String? title;
|
||||
List<Choice>? choices;
|
||||
|
||||
Question({
|
||||
this.id,
|
||||
this.type,
|
||||
this.startTimeR,
|
||||
this.duration,
|
||||
this.pauseVideo,
|
||||
this.title,
|
||||
this.choices,
|
||||
});
|
||||
|
||||
factory Question.fromJson(Map<String, dynamic> json) => Question(
|
||||
id: json['id'] as int?,
|
||||
type: json['type'] as int?,
|
||||
startTimeR: json['start_time_r'] as int?,
|
||||
duration: json['duration'] as int?,
|
||||
pauseVideo: json['pause_video'] as int?,
|
||||
title: json['title'] as String?,
|
||||
choices: (json['choices'] as List<dynamic>?)
|
||||
?.map((e) => Choice.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
class Skin {
|
||||
String? choiceImage;
|
||||
String? titleTextColor;
|
||||
String? titleShadowColor;
|
||||
int? titleShadowOffsetY;
|
||||
int? titleShadowRadius;
|
||||
String? progressbarColor;
|
||||
String? progressbarShadowColor;
|
||||
|
||||
Skin({
|
||||
this.choiceImage,
|
||||
this.titleTextColor,
|
||||
this.titleShadowColor,
|
||||
this.titleShadowOffsetY,
|
||||
this.titleShadowRadius,
|
||||
this.progressbarColor,
|
||||
this.progressbarShadowColor,
|
||||
});
|
||||
|
||||
factory Skin.fromJson(Map<String, dynamic> json) => Skin(
|
||||
choiceImage: json['choice_image'] as String?,
|
||||
titleTextColor: json['title_text_color'] as String?,
|
||||
titleShadowColor: json['title_shadow_color'] as String?,
|
||||
titleShadowOffsetY: json['title_shadow_offset_y'] as int?,
|
||||
titleShadowRadius: json['title_shadow_radius'] as int?,
|
||||
progressbarColor: json['progressbar_color'] as String?,
|
||||
progressbarShadowColor: json['progressbar_shadow_color'] as String?,
|
||||
);
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
class StoryList {
|
||||
int? nodeId;
|
||||
int? edgeId;
|
||||
String? title;
|
||||
int? cid;
|
||||
int? startPos;
|
||||
String? cover;
|
||||
int? isCurrent;
|
||||
int? cursor;
|
||||
|
||||
StoryList({
|
||||
this.nodeId,
|
||||
this.edgeId,
|
||||
this.title,
|
||||
this.cid,
|
||||
this.startPos,
|
||||
this.cover,
|
||||
this.isCurrent,
|
||||
this.cursor,
|
||||
});
|
||||
|
||||
factory StoryList.fromJson(Map<String, dynamic> json) => StoryList(
|
||||
nodeId: json['node_id'] as int?,
|
||||
edgeId: json['edge_id'] as int?,
|
||||
title: json['title'] as String?,
|
||||
cid: json['cid'] as int?,
|
||||
startPos: json['start_pos'] as int?,
|
||||
cover: json['cover'] as String?,
|
||||
isCurrent: json['is_current'] as int?,
|
||||
cursor: json['cursor'] as int?,
|
||||
);
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
class Video {
|
||||
int? aid;
|
||||
int? cid;
|
||||
|
||||
Video({this.aid, this.cid});
|
||||
|
||||
factory Video.fromJson(Map<String, dynamic> json) => Video(
|
||||
aid: json['aid'] as int?,
|
||||
cid: json['cid'] as int?,
|
||||
);
|
||||
}
|
||||
@@ -3,14 +3,12 @@ class VideoTagItem {
|
||||
String? tagName;
|
||||
String? tagType;
|
||||
String? musicId;
|
||||
String? jumpUrl;
|
||||
|
||||
VideoTagItem({
|
||||
this.tagId,
|
||||
this.tagName,
|
||||
this.tagType,
|
||||
this.musicId,
|
||||
this.jumpUrl,
|
||||
});
|
||||
|
||||
factory VideoTagItem.fromJson(Map<String, dynamic> json) => VideoTagItem(
|
||||
@@ -18,6 +16,5 @@ class VideoTagItem {
|
||||
tagName: json["tag_name"],
|
||||
tagType: json["tag_type"],
|
||||
musicId: json["music_id"],
|
||||
jumpUrl: json["jump_url"],
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user