mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-07-02 15:20:18 +08:00
13
lib/models_new/fav/fav_article/author.dart
Normal file
13
lib/models_new/fav/fav_article/author.dart
Normal file
@@ -0,0 +1,13 @@
|
||||
class Author {
|
||||
String? name;
|
||||
String? face;
|
||||
String? mid;
|
||||
|
||||
Author({this.name, this.face, this.mid});
|
||||
|
||||
factory Author.fromJson(Map<String, dynamic> json) => Author(
|
||||
name: json['name'] as String?,
|
||||
face: json['face'] as String?,
|
||||
mid: json['mid'] as String?,
|
||||
);
|
||||
}
|
||||
13
lib/models_new/fav/fav_article/cover.dart
Normal file
13
lib/models_new/fav/fav_article/cover.dart
Normal file
@@ -0,0 +1,13 @@
|
||||
class Cover {
|
||||
String? url;
|
||||
int? width;
|
||||
int? height;
|
||||
|
||||
Cover({this.url, this.width, this.height});
|
||||
|
||||
factory Cover.fromJson(Map<String, dynamic> json) => Cover(
|
||||
url: json['url'] as String?,
|
||||
width: json['width'] as int?,
|
||||
height: json['height'] as int?,
|
||||
);
|
||||
}
|
||||
28
lib/models_new/fav/fav_article/data.dart
Normal file
28
lib/models_new/fav/fav_article/data.dart
Normal file
@@ -0,0 +1,28 @@
|
||||
import 'package:PiliPlus/models_new/fav/fav_article/item.dart';
|
||||
|
||||
class FavArticleData {
|
||||
List<FavArticleItemModel>? items;
|
||||
bool? hasMore;
|
||||
String? offset;
|
||||
String? updateNum;
|
||||
String? updateBaseline;
|
||||
|
||||
FavArticleData({
|
||||
this.items,
|
||||
this.hasMore,
|
||||
this.offset,
|
||||
this.updateNum,
|
||||
this.updateBaseline,
|
||||
});
|
||||
|
||||
factory FavArticleData.fromJson(Map<String, dynamic> json) => FavArticleData(
|
||||
items: (json['items'] as List<dynamic>?)
|
||||
?.map(
|
||||
(e) => FavArticleItemModel.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
hasMore: json['has_more'] as bool?,
|
||||
offset: json['offset'] as String?,
|
||||
updateNum: json['update_num'] as String?,
|
||||
updateBaseline: json['update_baseline'] as String?,
|
||||
);
|
||||
}
|
||||
43
lib/models_new/fav/fav_article/item.dart
Normal file
43
lib/models_new/fav/fav_article/item.dart
Normal file
@@ -0,0 +1,43 @@
|
||||
import 'package:PiliPlus/models_new/fav/fav_article/author.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_article/cover.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_article/stat.dart';
|
||||
|
||||
class FavArticleItemModel {
|
||||
String? jumpUrl;
|
||||
String? opusId;
|
||||
String? content;
|
||||
dynamic badge;
|
||||
Author? author;
|
||||
Cover? cover;
|
||||
Stat? stat;
|
||||
String? pubTime;
|
||||
|
||||
FavArticleItemModel({
|
||||
this.jumpUrl,
|
||||
this.opusId,
|
||||
this.content,
|
||||
this.badge,
|
||||
this.author,
|
||||
this.cover,
|
||||
this.stat,
|
||||
this.pubTime,
|
||||
});
|
||||
|
||||
factory FavArticleItemModel.fromJson(Map<String, dynamic> json) =>
|
||||
FavArticleItemModel(
|
||||
jumpUrl: json['jump_url'] as String?,
|
||||
opusId: json['opus_id'] as String?,
|
||||
content: json['content'] as String?,
|
||||
badge: json['badge'] as dynamic,
|
||||
author: json['author'] == null
|
||||
? null
|
||||
: Author.fromJson(json['author'] as Map<String, dynamic>),
|
||||
cover: json['cover'] == null
|
||||
? null
|
||||
: Cover.fromJson(json['cover'] as Map<String, dynamic>),
|
||||
stat: json['stat'] == null
|
||||
? null
|
||||
: Stat.fromJson(json['stat'] as Map<String, dynamic>),
|
||||
pubTime: json['pub_time'] as String?,
|
||||
);
|
||||
}
|
||||
11
lib/models_new/fav/fav_article/stat.dart
Normal file
11
lib/models_new/fav/fav_article/stat.dart
Normal file
@@ -0,0 +1,11 @@
|
||||
class Stat {
|
||||
String? view;
|
||||
String? like;
|
||||
|
||||
Stat({this.view, this.like});
|
||||
|
||||
factory Stat.fromJson(Map<String, dynamic> json) => Stat(
|
||||
view: json['view'] as String?,
|
||||
like: json['like'] as String?,
|
||||
);
|
||||
}
|
||||
23
lib/models_new/fav/fav_detail/cnt_info.dart
Normal file
23
lib/models_new/fav/fav_detail/cnt_info.dart
Normal file
@@ -0,0 +1,23 @@
|
||||
class CntInfo {
|
||||
int? collect;
|
||||
int? play;
|
||||
int? thumbUp;
|
||||
int? share;
|
||||
int? danmaku;
|
||||
|
||||
CntInfo({
|
||||
this.collect,
|
||||
this.play,
|
||||
this.thumbUp,
|
||||
this.share,
|
||||
this.danmaku,
|
||||
});
|
||||
|
||||
factory CntInfo.fromJson(Map<String, dynamic> json) => CntInfo(
|
||||
collect: json['collect'] as int?,
|
||||
play: json['play'] as int?,
|
||||
thumbUp: json['thumb_up'] as int?,
|
||||
share: json['share'] as int?,
|
||||
danmaku: json['danmaku'] as int?,
|
||||
);
|
||||
}
|
||||
22
lib/models_new/fav/fav_detail/data.dart
Normal file
22
lib/models_new/fav/fav_detail/data.dart
Normal file
@@ -0,0 +1,22 @@
|
||||
import 'package:PiliPlus/models_new/fav/fav_detail/media.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_video/list.dart';
|
||||
|
||||
class FavDetailData {
|
||||
FavVideoItemModel? info;
|
||||
List<FavDetailItemModel>? medias;
|
||||
bool? hasMore;
|
||||
int? ttl;
|
||||
|
||||
FavDetailData({this.info, this.medias, this.hasMore, this.ttl});
|
||||
|
||||
factory FavDetailData.fromJson(Map<String, dynamic> json) => FavDetailData(
|
||||
info: json['info'] == null
|
||||
? null
|
||||
: FavVideoItemModel.fromJson(json['info'] as Map<String, dynamic>),
|
||||
medias: (json['medias'] as List<dynamic>?)
|
||||
?.map((e) => FavDetailItemModel.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
hasMore: json['has_more'] as bool?,
|
||||
ttl: json['ttl'] as int?,
|
||||
);
|
||||
}
|
||||
69
lib/models_new/fav/fav_detail/info.dart
Normal file
69
lib/models_new/fav/fav_detail/info.dart
Normal file
@@ -0,0 +1,69 @@
|
||||
import 'package:PiliPlus/models_new/fav/fav_detail/cnt_info.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_detail/upper.dart';
|
||||
|
||||
class FavDetailInfo {
|
||||
int? id;
|
||||
int? fid;
|
||||
int? mid;
|
||||
int? attr;
|
||||
String? title;
|
||||
String? cover;
|
||||
Upper? upper;
|
||||
int? coverType;
|
||||
CntInfo? cntInfo;
|
||||
int? type;
|
||||
String? intro;
|
||||
int? ctime;
|
||||
int? mtime;
|
||||
int? state;
|
||||
int? favState;
|
||||
int? likeState;
|
||||
int? mediaCount;
|
||||
bool? isTop;
|
||||
|
||||
FavDetailInfo({
|
||||
this.id,
|
||||
this.fid,
|
||||
this.mid,
|
||||
this.attr,
|
||||
this.title,
|
||||
this.cover,
|
||||
this.upper,
|
||||
this.coverType,
|
||||
this.cntInfo,
|
||||
this.type,
|
||||
this.intro,
|
||||
this.ctime,
|
||||
this.mtime,
|
||||
this.state,
|
||||
this.favState,
|
||||
this.likeState,
|
||||
this.mediaCount,
|
||||
this.isTop,
|
||||
});
|
||||
|
||||
factory FavDetailInfo.fromJson(Map<String, dynamic> json) => FavDetailInfo(
|
||||
id: json['id'] as int?,
|
||||
fid: json['fid'] as int?,
|
||||
mid: json['mid'] as int?,
|
||||
attr: json['attr'] as int?,
|
||||
title: json['title'] as String?,
|
||||
cover: json['cover'] as String?,
|
||||
upper: json['upper'] == null
|
||||
? null
|
||||
: Upper.fromJson(json['upper'] as Map<String, dynamic>),
|
||||
coverType: json['cover_type'] as int?,
|
||||
cntInfo: json['cnt_info'] == null
|
||||
? null
|
||||
: CntInfo.fromJson(json['cnt_info'] as Map<String, dynamic>),
|
||||
type: json['type'] as int?,
|
||||
intro: json['intro'] as String?,
|
||||
ctime: json['ctime'] as int?,
|
||||
mtime: json['mtime'] as int?,
|
||||
state: json['state'] as int?,
|
||||
favState: json['fav_state'] as int?,
|
||||
likeState: json['like_state'] as int?,
|
||||
mediaCount: json['media_count'] as int?,
|
||||
isTop: json['is_top'] as bool?,
|
||||
);
|
||||
}
|
||||
78
lib/models_new/fav/fav_detail/media.dart
Normal file
78
lib/models_new/fav/fav_detail/media.dart
Normal file
@@ -0,0 +1,78 @@
|
||||
import 'package:PiliPlus/models_new/fav/fav_detail/cnt_info.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_detail/ogv.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_detail/ugc.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_detail/upper.dart';
|
||||
import 'package:PiliPlus/pages/common/multi_select_controller.dart';
|
||||
|
||||
class FavDetailItemModel with MultiSelectData {
|
||||
int? id;
|
||||
int? type;
|
||||
String? title;
|
||||
String? cover;
|
||||
String? intro;
|
||||
int? page;
|
||||
int? duration;
|
||||
Upper? upper;
|
||||
int? attr;
|
||||
CntInfo? cntInfo;
|
||||
String? link;
|
||||
int? ctime;
|
||||
int? pubtime;
|
||||
int? favTime;
|
||||
String? bvId;
|
||||
String? bvid;
|
||||
Ogv? ogv;
|
||||
Ugc? ugc;
|
||||
String? mediaListLink;
|
||||
|
||||
FavDetailItemModel({
|
||||
this.id,
|
||||
this.type,
|
||||
this.title,
|
||||
this.cover,
|
||||
this.intro,
|
||||
this.page,
|
||||
this.duration,
|
||||
this.upper,
|
||||
this.attr,
|
||||
this.cntInfo,
|
||||
this.link,
|
||||
this.ctime,
|
||||
this.pubtime,
|
||||
this.favTime,
|
||||
this.bvId,
|
||||
this.bvid,
|
||||
this.ogv,
|
||||
this.ugc,
|
||||
this.mediaListLink,
|
||||
});
|
||||
|
||||
factory FavDetailItemModel.fromJson(Map<String, dynamic> json) =>
|
||||
FavDetailItemModel(
|
||||
id: json['id'] as int?,
|
||||
type: json['type'] as int?,
|
||||
title: json['title'] as String?,
|
||||
cover: json['cover'] as String?,
|
||||
intro: json['intro'] as String?,
|
||||
page: json['page'] as int?,
|
||||
duration: json['duration'] as int?,
|
||||
upper: json['upper'] == null
|
||||
? null
|
||||
: Upper.fromJson(json['upper'] as Map<String, dynamic>),
|
||||
attr: json['attr'] as int?,
|
||||
cntInfo: json['cnt_info'] == null
|
||||
? null
|
||||
: CntInfo.fromJson(json['cnt_info'] as Map<String, dynamic>),
|
||||
link: json['link'] as String?,
|
||||
ctime: json['ctime'] as int?,
|
||||
pubtime: json['pubtime'] as int?,
|
||||
favTime: json['fav_time'] as int?,
|
||||
bvId: json['bv_id'] as String?,
|
||||
bvid: json['bvid'] as String?,
|
||||
ogv: json['ogv'] == null ? null : Ogv.fromJson(json['ogv']),
|
||||
ugc: json['ugc'] == null
|
||||
? null
|
||||
: Ugc.fromJson(json['ugc'] as Map<String, dynamic>),
|
||||
mediaListLink: json['media_list_link'] as String?,
|
||||
);
|
||||
}
|
||||
17
lib/models_new/fav/fav_detail/ogv.dart
Normal file
17
lib/models_new/fav/fav_detail/ogv.dart
Normal file
@@ -0,0 +1,17 @@
|
||||
class Ogv {
|
||||
String? typeName;
|
||||
int? typeId;
|
||||
int? seasonId;
|
||||
|
||||
Ogv({
|
||||
this.typeName,
|
||||
this.typeId,
|
||||
this.seasonId,
|
||||
});
|
||||
|
||||
factory Ogv.fromJson(Map<String, dynamic> json) => Ogv(
|
||||
typeName: json['type_name'],
|
||||
typeId: json['type_id'],
|
||||
seasonId: json['season_id'],
|
||||
);
|
||||
}
|
||||
9
lib/models_new/fav/fav_detail/ugc.dart
Normal file
9
lib/models_new/fav/fav_detail/ugc.dart
Normal file
@@ -0,0 +1,9 @@
|
||||
class Ugc {
|
||||
int? firstCid;
|
||||
|
||||
Ugc({this.firstCid});
|
||||
|
||||
factory Ugc.fromJson(Map<String, dynamic> json) => Ugc(
|
||||
firstCid: json['first_cid'] as int?,
|
||||
);
|
||||
}
|
||||
26
lib/models_new/fav/fav_detail/upper.dart
Normal file
26
lib/models_new/fav/fav_detail/upper.dart
Normal file
@@ -0,0 +1,26 @@
|
||||
class Upper {
|
||||
int? mid;
|
||||
String? name;
|
||||
String? face;
|
||||
bool? followed;
|
||||
int? vipType;
|
||||
int? vipStatue;
|
||||
|
||||
Upper({
|
||||
this.mid,
|
||||
this.name,
|
||||
this.face,
|
||||
this.followed,
|
||||
this.vipType,
|
||||
this.vipStatue,
|
||||
});
|
||||
|
||||
factory Upper.fromJson(Map<String, dynamic> json) => Upper(
|
||||
mid: json['mid'] as int?,
|
||||
name: json['name'] as String?,
|
||||
face: json['face'] as String?,
|
||||
followed: json['followed'] as bool?,
|
||||
vipType: json['vip_type'] as int?,
|
||||
vipStatue: json['vip_statue'] as int?,
|
||||
);
|
||||
}
|
||||
15
lib/models_new/fav/fav_folder_info/cnt_info.dart
Normal file
15
lib/models_new/fav/fav_folder_info/cnt_info.dart
Normal file
@@ -0,0 +1,15 @@
|
||||
class CntInfo {
|
||||
int? collect;
|
||||
int? play;
|
||||
int? thumbUp;
|
||||
int? share;
|
||||
|
||||
CntInfo({this.collect, this.play, this.thumbUp, this.share});
|
||||
|
||||
factory CntInfo.fromJson(Map<String, dynamic> json) => CntInfo(
|
||||
collect: json['collect'] as int?,
|
||||
play: json['play'] as int?,
|
||||
thumbUp: json['thumb_up'] as int?,
|
||||
share: json['share'] as int?,
|
||||
);
|
||||
}
|
||||
69
lib/models_new/fav/fav_folder_info/data.dart
Normal file
69
lib/models_new/fav/fav_folder_info/data.dart
Normal file
@@ -0,0 +1,69 @@
|
||||
import 'package:PiliPlus/models_new/fav/fav_folder_info/cnt_info.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_folder_info/upper.dart';
|
||||
|
||||
class FolderInfo {
|
||||
int? id;
|
||||
int? fid;
|
||||
int? mid;
|
||||
int? attr;
|
||||
String? title;
|
||||
String? cover;
|
||||
Upper? upper;
|
||||
int? coverType;
|
||||
CntInfo? cntInfo;
|
||||
int? type;
|
||||
String? intro;
|
||||
int? ctime;
|
||||
int? mtime;
|
||||
int? state;
|
||||
int? favState;
|
||||
int? likeState;
|
||||
int? mediaCount;
|
||||
bool? isTop;
|
||||
|
||||
FolderInfo({
|
||||
this.id,
|
||||
this.fid,
|
||||
this.mid,
|
||||
this.attr,
|
||||
this.title,
|
||||
this.cover,
|
||||
this.upper,
|
||||
this.coverType,
|
||||
this.cntInfo,
|
||||
this.type,
|
||||
this.intro,
|
||||
this.ctime,
|
||||
this.mtime,
|
||||
this.state,
|
||||
this.favState,
|
||||
this.likeState,
|
||||
this.mediaCount,
|
||||
this.isTop,
|
||||
});
|
||||
|
||||
factory FolderInfo.fromJson(Map<String, dynamic> json) => FolderInfo(
|
||||
id: json['id'] as int?,
|
||||
fid: json['fid'] as int?,
|
||||
mid: json['mid'] as int?,
|
||||
attr: json['attr'] as int?,
|
||||
title: json['title'] as String?,
|
||||
cover: json['cover'] as String?,
|
||||
upper: json['upper'] == null
|
||||
? null
|
||||
: Upper.fromJson(json['upper'] as Map<String, dynamic>),
|
||||
coverType: json['cover_type'] as int?,
|
||||
cntInfo: json['cnt_info'] == null
|
||||
? null
|
||||
: CntInfo.fromJson(json['cnt_info'] as Map<String, dynamic>),
|
||||
type: json['type'] as int?,
|
||||
intro: json['intro'] as String?,
|
||||
ctime: json['ctime'] as int?,
|
||||
mtime: json['mtime'] as int?,
|
||||
state: json['state'] as int?,
|
||||
favState: json['fav_state'] as int?,
|
||||
likeState: json['like_state'] as int?,
|
||||
mediaCount: json['media_count'] as int?,
|
||||
isTop: json['is_top'] as bool?,
|
||||
);
|
||||
}
|
||||
26
lib/models_new/fav/fav_folder_info/upper.dart
Normal file
26
lib/models_new/fav/fav_folder_info/upper.dart
Normal file
@@ -0,0 +1,26 @@
|
||||
class Upper {
|
||||
int? mid;
|
||||
String? name;
|
||||
String? face;
|
||||
bool? followed;
|
||||
int? vipType;
|
||||
int? vipStatue;
|
||||
|
||||
Upper({
|
||||
this.mid,
|
||||
this.name,
|
||||
this.face,
|
||||
this.followed,
|
||||
this.vipType,
|
||||
this.vipStatue,
|
||||
});
|
||||
|
||||
factory Upper.fromJson(Map<String, dynamic> json) => Upper(
|
||||
mid: json['mid'] as int?,
|
||||
name: json['name'] as String?,
|
||||
face: json['face'] as String?,
|
||||
followed: json['followed'] as bool?,
|
||||
vipType: json['vip_type'] as int?,
|
||||
vipStatue: json['vip_statue'] as int?,
|
||||
);
|
||||
}
|
||||
29
lib/models_new/fav/fav_note/arc.dart
Normal file
29
lib/models_new/fav/fav_note/arc.dart
Normal file
@@ -0,0 +1,29 @@
|
||||
class Arc {
|
||||
int? oid;
|
||||
String? bvid;
|
||||
String? pic;
|
||||
String? desc;
|
||||
int? status;
|
||||
int? oidType;
|
||||
int? aid;
|
||||
|
||||
Arc({
|
||||
this.oid,
|
||||
this.bvid,
|
||||
this.pic,
|
||||
this.desc,
|
||||
this.status,
|
||||
this.oidType,
|
||||
this.aid,
|
||||
});
|
||||
|
||||
factory Arc.fromJson(Map<String, dynamic> json) => Arc(
|
||||
oid: json['oid'] as int?,
|
||||
bvid: json['bvid'] as String?,
|
||||
pic: json['pic'] as String?,
|
||||
desc: json['desc'] as String?,
|
||||
status: json['status'] as int?,
|
||||
oidType: json['oid_type'] as int?,
|
||||
aid: json['aid'] as int?,
|
||||
);
|
||||
}
|
||||
18
lib/models_new/fav/fav_note/data.dart
Normal file
18
lib/models_new/fav/fav_note/data.dart
Normal file
@@ -0,0 +1,18 @@
|
||||
import 'package:PiliPlus/models_new/fav/fav_note/list.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_note/page.dart';
|
||||
|
||||
class FavNoteData {
|
||||
List<FavNoteItemModel>? list;
|
||||
Page? page;
|
||||
|
||||
FavNoteData({this.list, this.page});
|
||||
|
||||
factory FavNoteData.fromJson(Map<String, dynamic> json) => FavNoteData(
|
||||
list: (json['list'] as List<dynamic>?)
|
||||
?.map((e) => FavNoteItemModel.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
page: json['page'] == null
|
||||
? null
|
||||
: Page.fromJson(json['page'] as Map<String, dynamic>),
|
||||
);
|
||||
}
|
||||
31
lib/models_new/fav/fav_note/list.dart
Normal file
31
lib/models_new/fav/fav_note/list.dart
Normal file
@@ -0,0 +1,31 @@
|
||||
import 'package:PiliPlus/pages/common/multi_select_controller.dart';
|
||||
|
||||
class FavNoteItemModel with MultiSelectData {
|
||||
FavNoteItemModel({
|
||||
this.webUrl,
|
||||
this.title,
|
||||
this.summary,
|
||||
this.message,
|
||||
this.pic,
|
||||
this.cvid,
|
||||
this.noteId,
|
||||
});
|
||||
|
||||
String? webUrl;
|
||||
String? title;
|
||||
String? summary;
|
||||
String? message;
|
||||
String? pic;
|
||||
dynamic cvid;
|
||||
dynamic noteId;
|
||||
|
||||
FavNoteItemModel.fromJson(Map json) {
|
||||
webUrl = json['web_url'];
|
||||
title = json['title'];
|
||||
summary = json['summary'];
|
||||
message = json['message'];
|
||||
pic = json['arc']?['pic'];
|
||||
cvid = json['cvid'];
|
||||
noteId = json['note_id'];
|
||||
}
|
||||
}
|
||||
13
lib/models_new/fav/fav_note/page.dart
Normal file
13
lib/models_new/fav/fav_note/page.dart
Normal file
@@ -0,0 +1,13 @@
|
||||
class Page {
|
||||
int? total;
|
||||
int? size;
|
||||
int? num;
|
||||
|
||||
Page({this.total, this.size, this.num});
|
||||
|
||||
factory Page.fromJson(Map<String, dynamic> json) => Page(
|
||||
total: json['total'] as int?,
|
||||
size: json['size'] as int?,
|
||||
num: json['num'] as int?,
|
||||
);
|
||||
}
|
||||
11
lib/models_new/fav/fav_pgc/area.dart
Normal file
11
lib/models_new/fav/fav_pgc/area.dart
Normal file
@@ -0,0 +1,11 @@
|
||||
class Area {
|
||||
int? id;
|
||||
String? name;
|
||||
|
||||
Area({this.id, this.name});
|
||||
|
||||
factory Area.fromJson(Map<String, dynamic> json) => Area(
|
||||
id: json['id'] as int?,
|
||||
name: json['name'] as String?,
|
||||
);
|
||||
}
|
||||
27
lib/models_new/fav/fav_pgc/badge_info.dart
Normal file
27
lib/models_new/fav/fav_pgc/badge_info.dart
Normal file
@@ -0,0 +1,27 @@
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/multi_img.dart';
|
||||
|
||||
class BadgeInfo {
|
||||
String? text;
|
||||
String? bgColor;
|
||||
String? bgColorNight;
|
||||
String? img;
|
||||
MultiImg? multiImg;
|
||||
|
||||
BadgeInfo({
|
||||
this.text,
|
||||
this.bgColor,
|
||||
this.bgColorNight,
|
||||
this.img,
|
||||
this.multiImg,
|
||||
});
|
||||
|
||||
factory BadgeInfo.fromJson(Map<String, dynamic> json) => BadgeInfo(
|
||||
text: json['text'] as String?,
|
||||
bgColor: json['bg_color'] as String?,
|
||||
bgColorNight: json['bg_color_night'] as String?,
|
||||
img: json['img'] as String?,
|
||||
multiImg: json['multi_img'] == null
|
||||
? null
|
||||
: MultiImg.fromJson(json['multi_img'] as Map<String, dynamic>),
|
||||
);
|
||||
}
|
||||
19
lib/models_new/fav/fav_pgc/badge_infos.dart
Normal file
19
lib/models_new/fav/fav_pgc/badge_infos.dart
Normal file
@@ -0,0 +1,19 @@
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/content_attr.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/vip_or_pay.dart';
|
||||
|
||||
class BadgeInfos {
|
||||
ContentAttr? contentAttr;
|
||||
VipOrPay? vipOrPay;
|
||||
|
||||
BadgeInfos({this.contentAttr, this.vipOrPay});
|
||||
|
||||
factory BadgeInfos.fromJson(Map<String, dynamic> json) => BadgeInfos(
|
||||
contentAttr: json['content_attr'] == null
|
||||
? null
|
||||
: ContentAttr.fromJson(
|
||||
json['content_attr'] as Map<String, dynamic>),
|
||||
vipOrPay: json['vip_or_pay'] == null
|
||||
? null
|
||||
: VipOrPay.fromJson(json['vip_or_pay'] as Map<String, dynamic>),
|
||||
);
|
||||
}
|
||||
9
lib/models_new/fav/fav_pgc/cc_on_lock.dart
Normal file
9
lib/models_new/fav/fav_pgc/cc_on_lock.dart
Normal file
@@ -0,0 +1,9 @@
|
||||
class CcOnLock {
|
||||
String? typeUrl;
|
||||
|
||||
CcOnLock({this.typeUrl});
|
||||
|
||||
factory CcOnLock.fromJson(Map<String, dynamic> json) => CcOnLock(
|
||||
typeUrl: json['type_url'] as String?,
|
||||
);
|
||||
}
|
||||
36
lib/models_new/fav/fav_pgc/config_attrs.dart
Normal file
36
lib/models_new/fav/fav_pgc/config_attrs.dart
Normal file
@@ -0,0 +1,36 @@
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/cc_on_lock.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/highlight_ineffective_hd.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/highlight_ineffective_ott.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/highlight_ineffective_pink.dart';
|
||||
|
||||
class ConfigAttrs {
|
||||
CcOnLock? ccOnLock;
|
||||
HighlightIneffectiveHd? highlightIneffectiveHd;
|
||||
HighlightIneffectiveOtt? highlightIneffectiveOtt;
|
||||
HighlightIneffectivePink? highlightIneffectivePink;
|
||||
|
||||
ConfigAttrs({
|
||||
this.ccOnLock,
|
||||
this.highlightIneffectiveHd,
|
||||
this.highlightIneffectiveOtt,
|
||||
this.highlightIneffectivePink,
|
||||
});
|
||||
|
||||
factory ConfigAttrs.fromJson(Map<String, dynamic> json) => ConfigAttrs(
|
||||
ccOnLock: json['cc_on_lock'] == null
|
||||
? null
|
||||
: CcOnLock.fromJson(json['cc_on_lock'] as Map<String, dynamic>),
|
||||
highlightIneffectiveHd: json['highlight_ineffective_hd'] == null
|
||||
? null
|
||||
: HighlightIneffectiveHd.fromJson(
|
||||
json['highlight_ineffective_hd'] as Map<String, dynamic>),
|
||||
highlightIneffectiveOtt: json['highlight_ineffective_ott'] == null
|
||||
? null
|
||||
: HighlightIneffectiveOtt.fromJson(
|
||||
json['highlight_ineffective_ott'] as Map<String, dynamic>),
|
||||
highlightIneffectivePink: json['highlight_ineffective_pink'] == null
|
||||
? null
|
||||
: HighlightIneffectivePink.fromJson(
|
||||
json['highlight_ineffective_pink'] as Map<String, dynamic>),
|
||||
);
|
||||
}
|
||||
27
lib/models_new/fav/fav_pgc/content_attr.dart
Normal file
27
lib/models_new/fav/fav_pgc/content_attr.dart
Normal file
@@ -0,0 +1,27 @@
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/multi_img.dart';
|
||||
|
||||
class ContentAttr {
|
||||
String? text;
|
||||
String? bgColor;
|
||||
String? bgColorNight;
|
||||
String? img;
|
||||
MultiImg? multiImg;
|
||||
|
||||
ContentAttr({
|
||||
this.text,
|
||||
this.bgColor,
|
||||
this.bgColorNight,
|
||||
this.img,
|
||||
this.multiImg,
|
||||
});
|
||||
|
||||
factory ContentAttr.fromJson(Map<String, dynamic> json) => ContentAttr(
|
||||
text: json['text'] as String?,
|
||||
bgColor: json['bg_color'] as String?,
|
||||
bgColorNight: json['bg_color_night'] as String?,
|
||||
img: json['img'] as String?,
|
||||
multiImg: json['multi_img'] == null
|
||||
? null
|
||||
: MultiImg.fromJson(json['multi_img'] as Map<String, dynamic>),
|
||||
);
|
||||
}
|
||||
19
lib/models_new/fav/fav_pgc/data.dart
Normal file
19
lib/models_new/fav/fav_pgc/data.dart
Normal file
@@ -0,0 +1,19 @@
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/list.dart';
|
||||
|
||||
class FavPgcData {
|
||||
List<FavPgcItemModel>? list;
|
||||
int? pn;
|
||||
int? ps;
|
||||
int? total;
|
||||
|
||||
FavPgcData({this.list, this.pn, this.ps, this.total});
|
||||
|
||||
factory FavPgcData.fromJson(Map<String, dynamic> json) => FavPgcData(
|
||||
list: (json['list'] as List<dynamic>?)
|
||||
?.map((e) => FavPgcItemModel.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
pn: json['pn'] as int?,
|
||||
ps: json['ps'] as int?,
|
||||
total: json['total'] as int?,
|
||||
);
|
||||
}
|
||||
26
lib/models_new/fav/fav_pgc/first_ep_info.dart
Normal file
26
lib/models_new/fav/fav_pgc/first_ep_info.dart
Normal file
@@ -0,0 +1,26 @@
|
||||
class FirstEpInfo {
|
||||
int? id;
|
||||
String? cover;
|
||||
String? title;
|
||||
String? longTitle;
|
||||
String? pubTime;
|
||||
int? duration;
|
||||
|
||||
FirstEpInfo({
|
||||
this.id,
|
||||
this.cover,
|
||||
this.title,
|
||||
this.longTitle,
|
||||
this.pubTime,
|
||||
this.duration,
|
||||
});
|
||||
|
||||
factory FirstEpInfo.fromJson(Map<String, dynamic> json) => FirstEpInfo(
|
||||
id: json['id'] as int?,
|
||||
cover: json['cover'] as String?,
|
||||
title: json['title'] as String?,
|
||||
longTitle: json['long_title'] as String?,
|
||||
pubTime: json['pub_time'] as String?,
|
||||
duration: json['duration'] as int?,
|
||||
);
|
||||
}
|
||||
11
lib/models_new/fav/fav_pgc/highlight_ineffective_hd.dart
Normal file
11
lib/models_new/fav/fav_pgc/highlight_ineffective_hd.dart
Normal file
@@ -0,0 +1,11 @@
|
||||
class HighlightIneffectiveHd {
|
||||
String? typeUrl;
|
||||
|
||||
HighlightIneffectiveHd({this.typeUrl});
|
||||
|
||||
factory HighlightIneffectiveHd.fromJson(Map<String, dynamic> json) {
|
||||
return HighlightIneffectiveHd(
|
||||
typeUrl: json['type_url'] as String?,
|
||||
);
|
||||
}
|
||||
}
|
||||
11
lib/models_new/fav/fav_pgc/highlight_ineffective_ott.dart
Normal file
11
lib/models_new/fav/fav_pgc/highlight_ineffective_ott.dart
Normal file
@@ -0,0 +1,11 @@
|
||||
class HighlightIneffectiveOtt {
|
||||
String? typeUrl;
|
||||
|
||||
HighlightIneffectiveOtt({this.typeUrl});
|
||||
|
||||
factory HighlightIneffectiveOtt.fromJson(Map<String, dynamic> json) {
|
||||
return HighlightIneffectiveOtt(
|
||||
typeUrl: json['type_url'] as String?,
|
||||
);
|
||||
}
|
||||
}
|
||||
11
lib/models_new/fav/fav_pgc/highlight_ineffective_pink.dart
Normal file
11
lib/models_new/fav/fav_pgc/highlight_ineffective_pink.dart
Normal file
@@ -0,0 +1,11 @@
|
||||
class HighlightIneffectivePink {
|
||||
String? typeUrl;
|
||||
|
||||
HighlightIneffectivePink({this.typeUrl});
|
||||
|
||||
factory HighlightIneffectivePink.fromJson(Map<String, dynamic> json) {
|
||||
return HighlightIneffectivePink(
|
||||
typeUrl: json['type_url'] as String?,
|
||||
);
|
||||
}
|
||||
}
|
||||
208
lib/models_new/fav/fav_pgc/list.dart
Normal file
208
lib/models_new/fav/fav_pgc/list.dart
Normal file
@@ -0,0 +1,208 @@
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/area.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/badge_info.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/badge_infos.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/config_attrs.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/first_ep_info.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/new_ep.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/producer.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/publish.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/rating.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/rights.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/section.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/series.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/stat.dart';
|
||||
import 'package:PiliPlus/pages/common/multi_select_controller.dart';
|
||||
|
||||
class FavPgcItemModel with MultiSelectData {
|
||||
int? seasonId;
|
||||
int? mediaId;
|
||||
int? seasonType;
|
||||
String? seasonTypeName;
|
||||
String? title;
|
||||
String? cover;
|
||||
int? totalCount;
|
||||
int? isFinish;
|
||||
int? isStarted;
|
||||
int? isPlay;
|
||||
String? badge;
|
||||
int? badgeType;
|
||||
Rights? rights;
|
||||
Stat? stat;
|
||||
NewEp? newEp;
|
||||
Rating? rating;
|
||||
String? squareCover;
|
||||
int? seasonStatus;
|
||||
String? seasonTitle;
|
||||
String? badgeEp;
|
||||
int? mediaAttr;
|
||||
int? seasonAttr;
|
||||
String? evaluate;
|
||||
List<Area>? areas;
|
||||
String? subtitle;
|
||||
int? firstEp;
|
||||
int? canWatch;
|
||||
Series? series;
|
||||
Publish? publish;
|
||||
int? mode;
|
||||
List<Section>? section;
|
||||
String? url;
|
||||
BadgeInfo? badgeInfo;
|
||||
String? renewalTime;
|
||||
FirstEpInfo? firstEpInfo;
|
||||
int? formalEpCount;
|
||||
String? shortUrl;
|
||||
BadgeInfos? badgeInfos;
|
||||
String? seasonVersion;
|
||||
String? horizontalCover169;
|
||||
String? horizontalCover1610;
|
||||
String? subtitle14;
|
||||
int? viewableCrowdType;
|
||||
List<Producer>? producers;
|
||||
String? summary;
|
||||
List<String>? styles;
|
||||
ConfigAttrs? configAttrs;
|
||||
int? followStatus;
|
||||
int? isNew;
|
||||
String? progress;
|
||||
bool? bothFollow;
|
||||
String? subtitle25;
|
||||
|
||||
FavPgcItemModel({
|
||||
this.seasonId,
|
||||
this.mediaId,
|
||||
this.seasonType,
|
||||
this.seasonTypeName,
|
||||
this.title,
|
||||
this.cover,
|
||||
this.totalCount,
|
||||
this.isFinish,
|
||||
this.isStarted,
|
||||
this.isPlay,
|
||||
this.badge,
|
||||
this.badgeType,
|
||||
this.rights,
|
||||
this.stat,
|
||||
this.newEp,
|
||||
this.rating,
|
||||
this.squareCover,
|
||||
this.seasonStatus,
|
||||
this.seasonTitle,
|
||||
this.badgeEp,
|
||||
this.mediaAttr,
|
||||
this.seasonAttr,
|
||||
this.evaluate,
|
||||
this.areas,
|
||||
this.subtitle,
|
||||
this.firstEp,
|
||||
this.canWatch,
|
||||
this.series,
|
||||
this.publish,
|
||||
this.mode,
|
||||
this.section,
|
||||
this.url,
|
||||
this.badgeInfo,
|
||||
this.renewalTime,
|
||||
this.firstEpInfo,
|
||||
this.formalEpCount,
|
||||
this.shortUrl,
|
||||
this.badgeInfos,
|
||||
this.seasonVersion,
|
||||
this.horizontalCover169,
|
||||
this.horizontalCover1610,
|
||||
this.subtitle14,
|
||||
this.viewableCrowdType,
|
||||
this.producers,
|
||||
this.summary,
|
||||
this.styles,
|
||||
this.configAttrs,
|
||||
this.followStatus,
|
||||
this.isNew,
|
||||
this.progress,
|
||||
this.bothFollow,
|
||||
this.subtitle25,
|
||||
});
|
||||
|
||||
factory FavPgcItemModel.fromJson(Map<String, dynamic> json) =>
|
||||
FavPgcItemModel(
|
||||
seasonId: json['season_id'] as int?,
|
||||
mediaId: json['media_id'] as int?,
|
||||
seasonType: json['season_type'] as int?,
|
||||
seasonTypeName: json['season_type_name'] as String?,
|
||||
title: json['title'] as String?,
|
||||
cover: json['cover'] as String?,
|
||||
totalCount: json['total_count'] as int?,
|
||||
isFinish: json['is_finish'] as int?,
|
||||
isStarted: json['is_started'] as int?,
|
||||
isPlay: json['is_play'] as int?,
|
||||
badge: json['badge'] as String?,
|
||||
badgeType: json['badge_type'] as int?,
|
||||
rights: json['rights'] == null
|
||||
? null
|
||||
: Rights.fromJson(json['rights'] as Map<String, dynamic>),
|
||||
stat: json['stat'] == null
|
||||
? null
|
||||
: Stat.fromJson(json['stat'] as Map<String, dynamic>),
|
||||
newEp: json['new_ep'] == null
|
||||
? null
|
||||
: NewEp.fromJson(json['new_ep'] as Map<String, dynamic>),
|
||||
rating: json['rating'] == null
|
||||
? null
|
||||
: Rating.fromJson(json['rating'] as Map<String, dynamic>),
|
||||
squareCover: json['square_cover'] as String?,
|
||||
seasonStatus: json['season_status'] as int?,
|
||||
seasonTitle: json['season_title'] as String?,
|
||||
badgeEp: json['badge_ep'] as String?,
|
||||
mediaAttr: json['media_attr'] as int?,
|
||||
seasonAttr: json['season_attr'] as int?,
|
||||
evaluate: json['evaluate'] as String?,
|
||||
areas: (json['areas'] as List<dynamic>?)
|
||||
?.map((e) => Area.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
subtitle: json['subtitle'] as String?,
|
||||
firstEp: json['first_ep'] as int?,
|
||||
canWatch: json['can_watch'] as int?,
|
||||
series: json['series'] == null
|
||||
? null
|
||||
: Series.fromJson(json['series'] as Map<String, dynamic>),
|
||||
publish: json['publish'] == null
|
||||
? null
|
||||
: Publish.fromJson(json['publish'] as Map<String, dynamic>),
|
||||
mode: json['mode'] as int?,
|
||||
section: (json['section'] as List<dynamic>?)
|
||||
?.map((e) => Section.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
url: json['url'] as String?,
|
||||
badgeInfo: json['badge_info'] == null
|
||||
? null
|
||||
: BadgeInfo.fromJson(json['badge_info'] as Map<String, dynamic>),
|
||||
renewalTime: json['renewal_time'] as String?,
|
||||
firstEpInfo: json['first_ep_info'] == null
|
||||
? null
|
||||
: FirstEpInfo.fromJson(
|
||||
json['first_ep_info'] as Map<String, dynamic>),
|
||||
formalEpCount: json['formal_ep_count'] as int?,
|
||||
shortUrl: json['short_url'] as String?,
|
||||
badgeInfos: json['badge_infos'] == null
|
||||
? null
|
||||
: BadgeInfos.fromJson(json['badge_infos'] as Map<String, dynamic>),
|
||||
seasonVersion: json['season_version'] as String?,
|
||||
horizontalCover169: json['horizontal_cover_16_9'] as String?,
|
||||
horizontalCover1610: json['horizontal_cover_16_10'] as String?,
|
||||
subtitle14: json['subtitle_14'] as String?,
|
||||
viewableCrowdType: json['viewable_crowd_type'] as int?,
|
||||
producers: (json['producers'] as List<dynamic>?)
|
||||
?.map((e) => Producer.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
summary: json['summary'] as String?,
|
||||
styles: (json['styles'] as List?)?.cast(),
|
||||
configAttrs: json['config_attrs'] == null
|
||||
? null
|
||||
: ConfigAttrs.fromJson(
|
||||
json['config_attrs'] as Map<String, dynamic>),
|
||||
followStatus: json['follow_status'] as int?,
|
||||
isNew: json['is_new'] as int?,
|
||||
progress: json['progress'] as String?,
|
||||
bothFollow: json['both_follow'] as bool?,
|
||||
subtitle25: json['subtitle_25'] as String?,
|
||||
);
|
||||
}
|
||||
11
lib/models_new/fav/fav_pgc/multi_img.dart
Normal file
11
lib/models_new/fav/fav_pgc/multi_img.dart
Normal file
@@ -0,0 +1,11 @@
|
||||
class MultiImg {
|
||||
String? color;
|
||||
String? mediumRemind;
|
||||
|
||||
MultiImg({this.color, this.mediumRemind});
|
||||
|
||||
factory MultiImg.fromJson(Map<String, dynamic> json) => MultiImg(
|
||||
color: json['color'] as String?,
|
||||
mediumRemind: json['medium_remind'] as String?,
|
||||
);
|
||||
}
|
||||
29
lib/models_new/fav/fav_pgc/new_ep.dart
Normal file
29
lib/models_new/fav/fav_pgc/new_ep.dart
Normal file
@@ -0,0 +1,29 @@
|
||||
class NewEp {
|
||||
int? id;
|
||||
String? indexShow;
|
||||
String? cover;
|
||||
String? title;
|
||||
String? longTitle;
|
||||
String? pubTime;
|
||||
int? duration;
|
||||
|
||||
NewEp({
|
||||
this.id,
|
||||
this.indexShow,
|
||||
this.cover,
|
||||
this.title,
|
||||
this.longTitle,
|
||||
this.pubTime,
|
||||
this.duration,
|
||||
});
|
||||
|
||||
factory NewEp.fromJson(Map<String, dynamic> json) => NewEp(
|
||||
id: json['id'] as int?,
|
||||
indexShow: json['index_show'] as String?,
|
||||
cover: json['cover'] as String?,
|
||||
title: json['title'] as String?,
|
||||
longTitle: json['long_title'] as String?,
|
||||
pubTime: json['pub_time'] as String?,
|
||||
duration: json['duration'] as int?,
|
||||
);
|
||||
}
|
||||
15
lib/models_new/fav/fav_pgc/producer.dart
Normal file
15
lib/models_new/fav/fav_pgc/producer.dart
Normal file
@@ -0,0 +1,15 @@
|
||||
class Producer {
|
||||
int? mid;
|
||||
int? type;
|
||||
int? isContribute;
|
||||
String? title;
|
||||
|
||||
Producer({this.mid, this.type, this.isContribute, this.title});
|
||||
|
||||
factory Producer.fromJson(Map<String, dynamic> json) => Producer(
|
||||
mid: json['mid'] as int?,
|
||||
type: json['type'] as int?,
|
||||
isContribute: json['is_contribute'] as int?,
|
||||
title: json['title'] as String?,
|
||||
);
|
||||
}
|
||||
20
lib/models_new/fav/fav_pgc/publish.dart
Normal file
20
lib/models_new/fav/fav_pgc/publish.dart
Normal file
@@ -0,0 +1,20 @@
|
||||
class Publish {
|
||||
String? pubTime;
|
||||
String? pubTimeShow;
|
||||
String? releaseDate;
|
||||
String? releaseDateShow;
|
||||
|
||||
Publish({
|
||||
this.pubTime,
|
||||
this.pubTimeShow,
|
||||
this.releaseDate,
|
||||
this.releaseDateShow,
|
||||
});
|
||||
|
||||
factory Publish.fromJson(Map<String, dynamic> json) => Publish(
|
||||
pubTime: json['pub_time'] as String?,
|
||||
pubTimeShow: json['pub_time_show'] as String?,
|
||||
releaseDate: json['release_date'] as String?,
|
||||
releaseDateShow: json['release_date_show'] as String?,
|
||||
);
|
||||
}
|
||||
11
lib/models_new/fav/fav_pgc/rating.dart
Normal file
11
lib/models_new/fav/fav_pgc/rating.dart
Normal file
@@ -0,0 +1,11 @@
|
||||
class Rating {
|
||||
double? score;
|
||||
int? count;
|
||||
|
||||
Rating({this.score, this.count});
|
||||
|
||||
factory Rating.fromJson(Map<String, dynamic> json) => Rating(
|
||||
score: (json['score'] as num?)?.toDouble(),
|
||||
count: json['count'] as int?,
|
||||
);
|
||||
}
|
||||
23
lib/models_new/fav/fav_pgc/rights.dart
Normal file
23
lib/models_new/fav/fav_pgc/rights.dart
Normal file
@@ -0,0 +1,23 @@
|
||||
class Rights {
|
||||
int? allowReview;
|
||||
int? allowPreview;
|
||||
int? isSelection;
|
||||
int? selectionStyle;
|
||||
int? isRcmd;
|
||||
|
||||
Rights({
|
||||
this.allowReview,
|
||||
this.allowPreview,
|
||||
this.isSelection,
|
||||
this.selectionStyle,
|
||||
this.isRcmd,
|
||||
});
|
||||
|
||||
factory Rights.fromJson(Map<String, dynamic> json) => Rights(
|
||||
allowReview: json['allow_review'] as int?,
|
||||
allowPreview: json['allow_preview'] as int?,
|
||||
isSelection: json['is_selection'] as int?,
|
||||
selectionStyle: json['selection_style'] as int?,
|
||||
isRcmd: json['is_rcmd'] as int?,
|
||||
);
|
||||
}
|
||||
29
lib/models_new/fav/fav_pgc/section.dart
Normal file
29
lib/models_new/fav/fav_pgc/section.dart
Normal file
@@ -0,0 +1,29 @@
|
||||
class Section {
|
||||
int? sectionId;
|
||||
int? seasonId;
|
||||
int? limitGroup;
|
||||
int? watchPlatform;
|
||||
String? copyright;
|
||||
int? banAreaShow;
|
||||
List<int>? episodeIds;
|
||||
|
||||
Section({
|
||||
this.sectionId,
|
||||
this.seasonId,
|
||||
this.limitGroup,
|
||||
this.watchPlatform,
|
||||
this.copyright,
|
||||
this.banAreaShow,
|
||||
this.episodeIds,
|
||||
});
|
||||
|
||||
factory Section.fromJson(Map<String, dynamic> json) => Section(
|
||||
sectionId: json['section_id'] as int?,
|
||||
seasonId: json['season_id'] as int?,
|
||||
limitGroup: json['limit_group'] as int?,
|
||||
watchPlatform: json['watch_platform'] as int?,
|
||||
copyright: json['copyright'] as String?,
|
||||
banAreaShow: json['ban_area_show'] as int?,
|
||||
episodeIds: (json['episode_ids'] as List?)?.cast(),
|
||||
);
|
||||
}
|
||||
23
lib/models_new/fav/fav_pgc/series.dart
Normal file
23
lib/models_new/fav/fav_pgc/series.dart
Normal file
@@ -0,0 +1,23 @@
|
||||
class Series {
|
||||
int? seriesId;
|
||||
String? title;
|
||||
int? seasonCount;
|
||||
int? newSeasonId;
|
||||
int? seriesOrd;
|
||||
|
||||
Series({
|
||||
this.seriesId,
|
||||
this.title,
|
||||
this.seasonCount,
|
||||
this.newSeasonId,
|
||||
this.seriesOrd,
|
||||
});
|
||||
|
||||
factory Series.fromJson(Map<String, dynamic> json) => Series(
|
||||
seriesId: json['series_id'] as int?,
|
||||
title: json['title'] as String?,
|
||||
seasonCount: json['season_count'] as int?,
|
||||
newSeasonId: json['new_season_id'] as int?,
|
||||
seriesOrd: json['series_ord'] as int?,
|
||||
);
|
||||
}
|
||||
35
lib/models_new/fav/fav_pgc/stat.dart
Normal file
35
lib/models_new/fav/fav_pgc/stat.dart
Normal file
@@ -0,0 +1,35 @@
|
||||
class Stat {
|
||||
int? follow;
|
||||
int? view;
|
||||
int? danmaku;
|
||||
int? reply;
|
||||
int? coin;
|
||||
int? seriesFollow;
|
||||
int? seriesView;
|
||||
int? likes;
|
||||
int? favorite;
|
||||
|
||||
Stat({
|
||||
this.follow,
|
||||
this.view,
|
||||
this.danmaku,
|
||||
this.reply,
|
||||
this.coin,
|
||||
this.seriesFollow,
|
||||
this.seriesView,
|
||||
this.likes,
|
||||
this.favorite,
|
||||
});
|
||||
|
||||
factory Stat.fromJson(Map<String, dynamic> json) => Stat(
|
||||
follow: json['follow'] as int?,
|
||||
view: json['view'] as int?,
|
||||
danmaku: json['danmaku'] as int?,
|
||||
reply: json['reply'] as int?,
|
||||
coin: json['coin'] as int?,
|
||||
seriesFollow: json['series_follow'] as int?,
|
||||
seriesView: json['series_view'] as int?,
|
||||
likes: json['likes'] as int?,
|
||||
favorite: json['favorite'] as int?,
|
||||
);
|
||||
}
|
||||
27
lib/models_new/fav/fav_pgc/vip_or_pay.dart
Normal file
27
lib/models_new/fav/fav_pgc/vip_or_pay.dart
Normal file
@@ -0,0 +1,27 @@
|
||||
import 'package:PiliPlus/models_new/fav/fav_pgc/multi_img.dart';
|
||||
|
||||
class VipOrPay {
|
||||
String? text;
|
||||
String? bgColor;
|
||||
String? bgColorNight;
|
||||
String? img;
|
||||
MultiImg? multiImg;
|
||||
|
||||
VipOrPay({
|
||||
this.text,
|
||||
this.bgColor,
|
||||
this.bgColorNight,
|
||||
this.img,
|
||||
this.multiImg,
|
||||
});
|
||||
|
||||
factory VipOrPay.fromJson(Map<String, dynamic> json) => VipOrPay(
|
||||
text: json['text'] as String?,
|
||||
bgColor: json['bg_color'] as String?,
|
||||
bgColorNight: json['bg_color_night'] as String?,
|
||||
img: json['img'] as String?,
|
||||
multiImg: json['multi_img'] == null
|
||||
? null
|
||||
: MultiImg.fromJson(json['multi_img'] as Map<String, dynamic>),
|
||||
);
|
||||
}
|
||||
13
lib/models_new/fav/fav_topic/data.dart
Normal file
13
lib/models_new/fav/fav_topic/data.dart
Normal file
@@ -0,0 +1,13 @@
|
||||
import 'package:PiliPlus/models_new/fav/fav_topic/topic_list.dart';
|
||||
|
||||
class FavTopicData {
|
||||
TopicList? topicList;
|
||||
|
||||
FavTopicData({this.topicList});
|
||||
|
||||
factory FavTopicData.fromJson(Map<String, dynamic> json) => FavTopicData(
|
||||
topicList: json['topic_list'] == null
|
||||
? null
|
||||
: TopicList.fromJson(json['topic_list'] as Map<String, dynamic>),
|
||||
);
|
||||
}
|
||||
11
lib/models_new/fav/fav_topic/page_info.dart
Normal file
11
lib/models_new/fav/fav_topic/page_info.dart
Normal file
@@ -0,0 +1,11 @@
|
||||
class PageInfo {
|
||||
int? curPageNum;
|
||||
int? total;
|
||||
|
||||
PageInfo({this.curPageNum, this.total});
|
||||
|
||||
factory PageInfo.fromJson(Map<String, dynamic> json) => PageInfo(
|
||||
curPageNum: json['cur_page_num'] as int?,
|
||||
total: json['total'] as int?,
|
||||
);
|
||||
}
|
||||
29
lib/models_new/fav/fav_topic/topic_item.dart
Normal file
29
lib/models_new/fav/fav_topic/topic_item.dart
Normal file
@@ -0,0 +1,29 @@
|
||||
class FavTopicItem {
|
||||
int? id;
|
||||
String? name;
|
||||
int? view;
|
||||
int? discuss;
|
||||
String? jumpUrl;
|
||||
String? statDesc;
|
||||
bool? showInteractData;
|
||||
|
||||
FavTopicItem({
|
||||
this.id,
|
||||
this.name,
|
||||
this.view,
|
||||
this.discuss,
|
||||
this.jumpUrl,
|
||||
this.statDesc,
|
||||
this.showInteractData,
|
||||
});
|
||||
|
||||
factory FavTopicItem.fromJson(Map<String, dynamic> json) => FavTopicItem(
|
||||
id: json['id'] as int?,
|
||||
name: json['name'] as String?,
|
||||
view: json['view'] as int?,
|
||||
discuss: json['discuss'] as int?,
|
||||
jumpUrl: json['jump_url'] as String?,
|
||||
statDesc: json['stat_desc'] as String?,
|
||||
showInteractData: json['show_interact_data'] as bool?,
|
||||
);
|
||||
}
|
||||
18
lib/models_new/fav/fav_topic/topic_list.dart
Normal file
18
lib/models_new/fav/fav_topic/topic_list.dart
Normal file
@@ -0,0 +1,18 @@
|
||||
import 'package:PiliPlus/models_new/fav/fav_topic/page_info.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_topic/topic_item.dart';
|
||||
|
||||
class TopicList {
|
||||
List<FavTopicItem>? topicItems;
|
||||
PageInfo? pageInfo;
|
||||
|
||||
TopicList({this.topicItems, this.pageInfo});
|
||||
|
||||
factory TopicList.fromJson(Map<String, dynamic> json) => TopicList(
|
||||
topicItems: (json['topic_items'] as List<dynamic>?)
|
||||
?.map((e) => FavTopicItem.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
pageInfo: json['page_info'] == null
|
||||
? null
|
||||
: PageInfo.fromJson(json['page_info'] as Map<String, dynamic>),
|
||||
);
|
||||
}
|
||||
17
lib/models_new/fav/fav_video/data.dart
Normal file
17
lib/models_new/fav/fav_video/data.dart
Normal file
@@ -0,0 +1,17 @@
|
||||
import 'package:PiliPlus/models_new/fav/fav_video/list.dart';
|
||||
|
||||
class FavVideoData {
|
||||
int? count;
|
||||
List<FavVideoItemModel>? list;
|
||||
bool? hasMore;
|
||||
|
||||
FavVideoData({this.count, this.list, this.hasMore});
|
||||
|
||||
factory FavVideoData.fromJson(Map<String, dynamic> json) => FavVideoData(
|
||||
count: json['count'] as int?,
|
||||
list: (json['list'] as List<dynamic>?)
|
||||
?.map((e) => FavVideoItemModel.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
hasMore: json['has_more'] as bool?,
|
||||
);
|
||||
}
|
||||
82
lib/models_new/fav/fav_video/list.dart
Normal file
82
lib/models_new/fav/fav_video/list.dart
Normal file
@@ -0,0 +1,82 @@
|
||||
import 'package:PiliPlus/models_new/fav/fav_video/upper.dart';
|
||||
|
||||
class FavVideoItemModel {
|
||||
int? id;
|
||||
int? fid;
|
||||
int? mid;
|
||||
int? attr;
|
||||
String? attrDesc;
|
||||
String? title;
|
||||
String? cover;
|
||||
Upper? upper;
|
||||
int? coverType;
|
||||
String? intro;
|
||||
int? ctime;
|
||||
int? mtime;
|
||||
int? state;
|
||||
int? favState;
|
||||
int? mediaCount;
|
||||
int? viewCount;
|
||||
int? vt;
|
||||
bool? isTop;
|
||||
dynamic recentFav;
|
||||
int? playSwitch;
|
||||
int? type;
|
||||
String? link;
|
||||
String? bvid;
|
||||
|
||||
FavVideoItemModel({
|
||||
this.id,
|
||||
this.fid,
|
||||
this.mid,
|
||||
this.attr,
|
||||
this.attrDesc,
|
||||
this.title,
|
||||
this.cover,
|
||||
this.upper,
|
||||
this.coverType,
|
||||
this.intro,
|
||||
this.ctime,
|
||||
this.mtime,
|
||||
this.state,
|
||||
this.favState,
|
||||
this.mediaCount,
|
||||
this.viewCount,
|
||||
this.vt,
|
||||
this.isTop,
|
||||
this.recentFav,
|
||||
this.playSwitch,
|
||||
this.type,
|
||||
this.link,
|
||||
this.bvid,
|
||||
});
|
||||
|
||||
factory FavVideoItemModel.fromJson(Map<String, dynamic> json) =>
|
||||
FavVideoItemModel(
|
||||
id: json['id'] as int?,
|
||||
fid: json['fid'] as int?,
|
||||
mid: json['mid'] as int?,
|
||||
attr: json['attr'] as int?,
|
||||
attrDesc: json['attr_desc'] as String?,
|
||||
title: json['title'] as String?,
|
||||
cover: json['cover'] as String?,
|
||||
upper: json['upper'] == null
|
||||
? null
|
||||
: Upper.fromJson(json['upper'] as Map<String, dynamic>),
|
||||
coverType: json['cover_type'] as int?,
|
||||
intro: json['intro'] as String?,
|
||||
ctime: json['ctime'] as int?,
|
||||
mtime: json['mtime'] as int?,
|
||||
state: json['state'] as int?,
|
||||
favState: json['fav_state'] as int?,
|
||||
mediaCount: json['media_count'] as int?,
|
||||
viewCount: json['view_count'] as int?,
|
||||
vt: json['vt'] as int?,
|
||||
isTop: json['is_top'] as bool?,
|
||||
recentFav: json['recent_fav'] as dynamic,
|
||||
playSwitch: json['play_switch'] as int?,
|
||||
type: json['type'] as int?,
|
||||
link: json['link'] as String?,
|
||||
bvid: json['bvid'] as String?,
|
||||
);
|
||||
}
|
||||
15
lib/models_new/fav/fav_video/upper.dart
Normal file
15
lib/models_new/fav/fav_video/upper.dart
Normal file
@@ -0,0 +1,15 @@
|
||||
class Upper {
|
||||
int? mid;
|
||||
String? name;
|
||||
String? face;
|
||||
String? jumpLink;
|
||||
|
||||
Upper({this.mid, this.name, this.face, this.jumpLink});
|
||||
|
||||
factory Upper.fromJson(Map<String, dynamic> json) => Upper(
|
||||
mid: json['mid'] as int?,
|
||||
name: json['name'] as String?,
|
||||
face: json['face'] as String?,
|
||||
jumpLink: json['jump_link'] as String?,
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user