mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-08-01 00:10:16 +08:00
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?,
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user