mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-23 10:36:24 +08:00
opt handle res
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
16
lib/models/fav_article/author.dart
Normal file
16
lib/models/fav_article/author.dart
Normal file
@@ -0,0 +1,16 @@
|
||||
class Author {
|
||||
Author({
|
||||
this.mid,
|
||||
this.name,
|
||||
this.face,
|
||||
});
|
||||
String? mid;
|
||||
String? name;
|
||||
String? face;
|
||||
|
||||
Author.fromJson(Map<String, dynamic> json) {
|
||||
mid = json["mid"];
|
||||
name = json["name"];
|
||||
face = json['face'];
|
||||
}
|
||||
}
|
||||
13
lib/models/fav_article/cover.dart
Normal file
13
lib/models/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?,
|
||||
);
|
||||
}
|
||||
22
lib/models/fav_article/data.dart
Normal file
22
lib/models/fav_article/data.dart
Normal file
@@ -0,0 +1,22 @@
|
||||
import 'package:PiliPlus/models/fav_article/item.dart';
|
||||
|
||||
class FavArticleData {
|
||||
List<FavArticleItemModel>? items;
|
||||
bool? hasMore;
|
||||
String? offset;
|
||||
|
||||
FavArticleData({
|
||||
this.items,
|
||||
this.hasMore,
|
||||
this.offset,
|
||||
});
|
||||
|
||||
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?,
|
||||
);
|
||||
}
|
||||
43
lib/models/fav_article/item.dart
Normal file
43
lib/models/fav_article/item.dart
Normal file
@@ -0,0 +1,43 @@
|
||||
import 'package:PiliPlus/models/fav_article/author.dart';
|
||||
import 'package:PiliPlus/models/fav_article/cover.dart';
|
||||
import 'package:PiliPlus/models/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/fav_article/stat.dart
Normal file
11
lib/models/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?,
|
||||
);
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:PiliPlus/pages/common/multi_select_controller.dart';
|
||||
|
||||
class FavArticleModel with MultiSelectData {
|
||||
FavArticleModel({
|
||||
class FavNoteModel with MultiSelectData {
|
||||
FavNoteModel({
|
||||
this.webUrl,
|
||||
this.title,
|
||||
this.summary,
|
||||
@@ -19,7 +19,7 @@ class FavArticleModel with MultiSelectData {
|
||||
dynamic cvid;
|
||||
dynamic noteId;
|
||||
|
||||
FavArticleModel.fromJson(Map json) {
|
||||
FavNoteModel.fromJson(Map json) {
|
||||
webUrl = json['web_url'];
|
||||
title = json['title'];
|
||||
summary = json['summary'];
|
||||
|
||||
55
lib/models/member_ss/archive.dart
Normal file
55
lib/models/member_ss/archive.dart
Normal file
@@ -0,0 +1,55 @@
|
||||
import 'package:PiliPlus/models/member_ss/stat.dart';
|
||||
|
||||
class MemberSsArchive {
|
||||
int? aid;
|
||||
String? bvid;
|
||||
int? ctime;
|
||||
int? duration;
|
||||
bool? enableVt;
|
||||
bool? interactiveVideo;
|
||||
String? pic;
|
||||
int? playbackPosition;
|
||||
int? pubdate;
|
||||
MemberSsStat? stat;
|
||||
int? state;
|
||||
String? title;
|
||||
int? ugcPay;
|
||||
String? vtDisplay;
|
||||
int? isLessonVideo;
|
||||
MemberSsArchive({
|
||||
this.aid,
|
||||
this.bvid,
|
||||
this.ctime,
|
||||
this.duration,
|
||||
this.enableVt,
|
||||
this.interactiveVideo,
|
||||
this.pic,
|
||||
this.playbackPosition,
|
||||
this.pubdate,
|
||||
this.stat,
|
||||
this.state,
|
||||
this.title,
|
||||
this.ugcPay,
|
||||
this.vtDisplay,
|
||||
this.isLessonVideo,
|
||||
});
|
||||
|
||||
factory MemberSsArchive.fromJson(Map<String, dynamic> json) =>
|
||||
MemberSsArchive(
|
||||
aid: json["aid"],
|
||||
bvid: json["bvid"],
|
||||
ctime: json["ctime"],
|
||||
duration: json["duration"],
|
||||
enableVt: json["enable_vt"],
|
||||
interactiveVideo: json["interactive_video"],
|
||||
pic: json["pic"],
|
||||
playbackPosition: json["playback_position"],
|
||||
pubdate: json["pubdate"],
|
||||
stat: json["stat"] == null ? null : MemberSsStat.fromJson(json["stat"]),
|
||||
state: json["state"],
|
||||
title: json["title"],
|
||||
ugcPay: json["ugc_pay"],
|
||||
vtDisplay: json["vt_display"],
|
||||
isLessonVideo: json["is_lesson_video"],
|
||||
);
|
||||
}
|
||||
26
lib/models/member_ss/item.dart
Normal file
26
lib/models/member_ss/item.dart
Normal file
@@ -0,0 +1,26 @@
|
||||
import 'package:PiliPlus/models/member_ss/page.dart';
|
||||
import 'package:PiliPlus/models/member_ss/season.dart';
|
||||
|
||||
class MemberSsData {
|
||||
MemberSsPage? page;
|
||||
List<MemberSsModel>? seasonsList;
|
||||
List<MemberSsModel>? seriesList;
|
||||
|
||||
MemberSsData({
|
||||
this.page,
|
||||
this.seasonsList,
|
||||
this.seriesList,
|
||||
});
|
||||
|
||||
factory MemberSsData.fromJson(Map<String, dynamic> json) => MemberSsData(
|
||||
page: json["page"] == null ? null : MemberSsPage.fromJson(json["page"]),
|
||||
seasonsList: json["seasons_list"] == null
|
||||
? null
|
||||
: List<MemberSsModel>.from(
|
||||
json["seasons_list"]!.map((x) => MemberSsModel.fromJson(x))),
|
||||
seriesList: json["series_list"] == null
|
||||
? null
|
||||
: List<MemberSsModel>.from(
|
||||
json["series_list"]!.map((x) => MemberSsModel.fromJson(x))),
|
||||
);
|
||||
}
|
||||
17
lib/models/member_ss/page.dart
Normal file
17
lib/models/member_ss/page.dart
Normal file
@@ -0,0 +1,17 @@
|
||||
class MemberSsPage {
|
||||
int? pageNum;
|
||||
int? pageSize;
|
||||
int? total;
|
||||
|
||||
MemberSsPage({
|
||||
this.pageNum,
|
||||
this.pageSize,
|
||||
this.total,
|
||||
});
|
||||
|
||||
factory MemberSsPage.fromJson(Map<String, dynamic> json) => MemberSsPage(
|
||||
pageNum: json["page_num"],
|
||||
pageSize: json["page_size"],
|
||||
total: json["total"],
|
||||
);
|
||||
}
|
||||
25
lib/models/member_ss/season.dart
Normal file
25
lib/models/member_ss/season.dart
Normal file
@@ -0,0 +1,25 @@
|
||||
import 'package:PiliPlus/models/member_ss/archive.dart';
|
||||
import 'package:PiliPlus/models/member_ss/stat.dart';
|
||||
|
||||
class MemberSsModel {
|
||||
List<MemberSsArchive>? archives;
|
||||
MemberSsMeta? meta;
|
||||
List<int>? recentAids;
|
||||
|
||||
MemberSsModel({
|
||||
this.archives,
|
||||
this.meta,
|
||||
this.recentAids,
|
||||
});
|
||||
|
||||
factory MemberSsModel.fromJson(Map<String, dynamic> json) => MemberSsModel(
|
||||
archives: json["archives"] == null
|
||||
? null
|
||||
: List<MemberSsArchive>.from(
|
||||
json["archives"]!.map((x) => MemberSsArchive.fromJson(x))),
|
||||
meta: json["meta"] == null ? null : MemberSsMeta.fromJson(json["meta"]),
|
||||
recentAids: json["recent_aids"] == null
|
||||
? null
|
||||
: List<int>.from(json["recent_aids"]!.map((x) => x)),
|
||||
);
|
||||
}
|
||||
50
lib/models/member_ss/stat.dart
Normal file
50
lib/models/member_ss/stat.dart
Normal file
@@ -0,0 +1,50 @@
|
||||
class MemberSsStat {
|
||||
int? view;
|
||||
int? vt;
|
||||
|
||||
MemberSsStat({
|
||||
this.view,
|
||||
this.vt,
|
||||
});
|
||||
|
||||
factory MemberSsStat.fromJson(Map<String, dynamic> json) => MemberSsStat(
|
||||
view: json["view"],
|
||||
vt: json["vt"],
|
||||
);
|
||||
}
|
||||
|
||||
class MemberSsMeta {
|
||||
int? category;
|
||||
String? cover;
|
||||
String? description;
|
||||
int? mid;
|
||||
String? name;
|
||||
int? ptime;
|
||||
int? total;
|
||||
dynamic seasonId;
|
||||
dynamic seriesId;
|
||||
|
||||
MemberSsMeta({
|
||||
this.category,
|
||||
this.cover,
|
||||
this.description,
|
||||
this.mid,
|
||||
this.name,
|
||||
this.ptime,
|
||||
this.total,
|
||||
this.seasonId,
|
||||
this.seriesId,
|
||||
});
|
||||
|
||||
factory MemberSsMeta.fromJson(Map<String, dynamic> json) => MemberSsMeta(
|
||||
category: json["category"],
|
||||
cover: json["cover"],
|
||||
description: json["description"],
|
||||
mid: json["mid"],
|
||||
name: json["name"],
|
||||
ptime: json["ptime"],
|
||||
total: json["total"],
|
||||
seasonId: json["season_id"],
|
||||
seriesId: json["series_id"],
|
||||
);
|
||||
}
|
||||
@@ -66,7 +66,7 @@ class BangumiListItemModel with MultiSelectData {
|
||||
String? subTitle;
|
||||
String? title;
|
||||
String? titleIcon;
|
||||
Map? newEp;
|
||||
NewEp? newEp;
|
||||
String? progress;
|
||||
String? renewalTime;
|
||||
|
||||
@@ -88,7 +88,15 @@ class BangumiListItemModel with MultiSelectData {
|
||||
subTitle = json['sub_title'];
|
||||
title = json['title'];
|
||||
titleIcon = json['title_icon'];
|
||||
newEp = json['new_ep'];
|
||||
newEp = json['new_ep'] == null ? null : NewEp.fromJson(json['new_ep']);
|
||||
progress = json['progress'];
|
||||
}
|
||||
}
|
||||
|
||||
class NewEp {
|
||||
String? indexShow;
|
||||
|
||||
NewEp.fromJson(Map<String, dynamic> json) {
|
||||
indexShow = json['index_show'];
|
||||
}
|
||||
}
|
||||
22
lib/models/pgc/pgc_index_item/data.dart
Normal file
22
lib/models/pgc/pgc_index_item/data.dart
Normal file
@@ -0,0 +1,22 @@
|
||||
import 'package:PiliPlus/models/pgc/pgc_index_item/list.dart';
|
||||
|
||||
class PgcIndexItemData {
|
||||
int? hasNext;
|
||||
List<PgcIndexItemModel>? list;
|
||||
int? num;
|
||||
int? size;
|
||||
int? total;
|
||||
|
||||
PgcIndexItemData({this.hasNext, this.list, this.num, this.size, this.total});
|
||||
|
||||
factory PgcIndexItemData.fromJson(Map<String, dynamic> json) =>
|
||||
PgcIndexItemData(
|
||||
hasNext: json['has_next'] as int?,
|
||||
list: (json['list'] as List<dynamic>?)
|
||||
?.map((e) => PgcIndexItemModel.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
num: json['num'] as int?,
|
||||
size: json['size'] as int?,
|
||||
total: json['total'] as int?,
|
||||
);
|
||||
}
|
||||
57
lib/models/pgc/pgc_index_item/list.dart
Normal file
57
lib/models/pgc/pgc_index_item/list.dart
Normal file
@@ -0,0 +1,57 @@
|
||||
class PgcIndexItemModel {
|
||||
String? badge;
|
||||
int? badgeType;
|
||||
String? cover;
|
||||
String? indexShow;
|
||||
int? isFinish;
|
||||
String? link;
|
||||
int? mediaId;
|
||||
String? order;
|
||||
String? orderType;
|
||||
String? score;
|
||||
int? seasonId;
|
||||
int? seasonStatus;
|
||||
int? seasonType;
|
||||
String? subTitle;
|
||||
String? title;
|
||||
String? titleIcon;
|
||||
|
||||
PgcIndexItemModel({
|
||||
this.badge,
|
||||
this.badgeType,
|
||||
this.cover,
|
||||
this.indexShow,
|
||||
this.isFinish,
|
||||
this.link,
|
||||
this.mediaId,
|
||||
this.order,
|
||||
this.orderType,
|
||||
this.score,
|
||||
this.seasonId,
|
||||
this.seasonStatus,
|
||||
this.seasonType,
|
||||
this.subTitle,
|
||||
this.title,
|
||||
this.titleIcon,
|
||||
});
|
||||
|
||||
factory PgcIndexItemModel.fromJson(Map<String, dynamic> json) =>
|
||||
PgcIndexItemModel(
|
||||
badge: json['badge'] as String?,
|
||||
badgeType: json['badge_type'] as int?,
|
||||
cover: json['cover'] as String?,
|
||||
indexShow: json['index_show'] as String?,
|
||||
isFinish: json['is_finish'] as int?,
|
||||
link: json['link'] as String?,
|
||||
mediaId: json['media_id'] as int?,
|
||||
order: json['order'] as String?,
|
||||
orderType: json['order_type'] as String?,
|
||||
score: json['score'] as String?,
|
||||
seasonId: json['season_id'] as int?,
|
||||
seasonStatus: json['season_status'] as int?,
|
||||
seasonType: json['season_type'] as int?,
|
||||
subTitle: json['subTitle'] as String?,
|
||||
title: json['title'] as String?,
|
||||
titleIcon: json['title_icon'] as String?,
|
||||
);
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'package:PiliPlus/models/bangumi/pgc_rank/pgc_rank_item_model.dart';
|
||||
import 'package:PiliPlus/models/pgc/pgc_rank/pgc_rank_item_model.dart';
|
||||
|
||||
class Data {
|
||||
List<PgcRankItemModel>? list;
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:PiliPlus/models/bangumi/pgc_rank/badge_info.dart';
|
||||
import 'package:PiliPlus/models/bangumi/pgc_rank/icon_font.dart';
|
||||
import 'package:PiliPlus/models/bangumi/pgc_rank/new_ep.dart';
|
||||
import 'package:PiliPlus/models/bangumi/pgc_rank/stat.dart';
|
||||
import 'package:PiliPlus/models/pgc/pgc_rank/badge_info.dart';
|
||||
import 'package:PiliPlus/models/pgc/pgc_rank/icon_font.dart';
|
||||
import 'package:PiliPlus/models/pgc/pgc_rank/new_ep.dart';
|
||||
import 'package:PiliPlus/models/pgc/pgc_rank/stat.dart';
|
||||
|
||||
class PgcRankItemModel {
|
||||
String? badge;
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'package:PiliPlus/models/bangumi/pgc_review/list.dart';
|
||||
import 'package:PiliPlus/models/pgc/pgc_review/list.dart';
|
||||
|
||||
class PgcReviewData {
|
||||
List<PgcReviewItemModel>? list;
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:PiliPlus/models/bangumi/pgc_review/author.dart';
|
||||
import 'package:PiliPlus/models/bangumi/pgc_review/stat.dart';
|
||||
import 'package:PiliPlus/models/pgc/pgc_review/author.dart';
|
||||
import 'package:PiliPlus/models/pgc/pgc_review/stat.dart';
|
||||
|
||||
class PgcReviewItemModel {
|
||||
Author? author;
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'package:PiliPlus/models/bangumi/pgc_timeline/icon_font.dart';
|
||||
import 'package:PiliPlus/models/pgc/pgc_timeline/icon_font.dart';
|
||||
|
||||
class Episode {
|
||||
String? cover;
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'package:PiliPlus/models/bangumi/pgc_timeline/result.dart';
|
||||
import 'package:PiliPlus/models/pgc/pgc_timeline/result.dart';
|
||||
|
||||
class PgcTimeline {
|
||||
int? code;
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'package:PiliPlus/models/bangumi/pgc_timeline/episode.dart';
|
||||
import 'package:PiliPlus/models/pgc/pgc_timeline/episode.dart';
|
||||
|
||||
class Result {
|
||||
String? date;
|
||||
@@ -1,3 +1,4 @@
|
||||
import 'package:PiliPlus/models/space_fav/list.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
part 'favourite2.g.dart';
|
||||
@@ -5,7 +6,7 @@ part 'favourite2.g.dart';
|
||||
@JsonSerializable()
|
||||
class Favourite2 {
|
||||
int? count;
|
||||
List<dynamic>? item;
|
||||
List<SpaceFavItemModel>? item;
|
||||
|
||||
Favourite2({this.count, this.item});
|
||||
|
||||
|
||||
@@ -8,11 +8,13 @@ part of 'favourite2.dart';
|
||||
|
||||
Favourite2 _$Favourite2FromJson(Map<String, dynamic> json) => Favourite2(
|
||||
count: (json['count'] as num?)?.toInt(),
|
||||
item: json['item'] as List<dynamic>?,
|
||||
item: (json['item'] as List<dynamic>?)
|
||||
?.map((e) => SpaceFavItemModel.fromJson(e))
|
||||
.toList(),
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$Favourite2ToJson(Favourite2 instance) =>
|
||||
<String, dynamic>{
|
||||
'count': instance.count,
|
||||
'item': instance.item,
|
||||
'item': instance.item?.map((e) => e.toJson()).toList(),
|
||||
};
|
||||
|
||||
@@ -4,7 +4,7 @@ import 'package:json_annotation/json_annotation.dart';
|
||||
part 'list.g.dart';
|
||||
|
||||
@JsonSerializable()
|
||||
class FavList {
|
||||
class SpaceFavItemModel {
|
||||
int? id;
|
||||
int? fid;
|
||||
int? mid;
|
||||
@@ -36,8 +36,14 @@ class FavList {
|
||||
int? type;
|
||||
String? link;
|
||||
String? bvid;
|
||||
int? mediaId;
|
||||
int? count;
|
||||
int? isPublic;
|
||||
|
||||
FavList({
|
||||
SpaceFavItemModel({
|
||||
this.mediaId,
|
||||
this.count,
|
||||
this.isPublic,
|
||||
this.id,
|
||||
this.fid,
|
||||
this.mid,
|
||||
@@ -63,7 +69,8 @@ class FavList {
|
||||
this.bvid,
|
||||
});
|
||||
|
||||
factory FavList.fromJson(Map<String, dynamic> json) => _$ListFromJson(json);
|
||||
factory SpaceFavItemModel.fromJson(Map<String, dynamic> json) =>
|
||||
_$ListFromJson(json);
|
||||
|
||||
Map<String, dynamic> toJson() => _$ListToJson(this);
|
||||
}
|
||||
|
||||
@@ -6,7 +6,11 @@ part of 'list.dart';
|
||||
// JsonSerializableGenerator
|
||||
// **************************************************************************
|
||||
|
||||
FavList _$ListFromJson(Map<String, dynamic> json) => FavList(
|
||||
SpaceFavItemModel _$ListFromJson(Map<String, dynamic> json) =>
|
||||
SpaceFavItemModel(
|
||||
mediaId: (json['media_id'] as num?)?.toInt(),
|
||||
count: (json['count'] as num?)?.toInt(),
|
||||
isPublic: (json['is_public'] as num?)?.toInt(),
|
||||
id: (json['id'] as num?)?.toInt(),
|
||||
fid: (json['fid'] as num?)?.toInt(),
|
||||
mid: (json['mid'] as num?)?.toInt(),
|
||||
@@ -34,7 +38,8 @@ FavList _$ListFromJson(Map<String, dynamic> json) => FavList(
|
||||
bvid: json['bvid'] as String?,
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$ListToJson(FavList instance) => <String, dynamic>{
|
||||
Map<String, dynamic> _$ListToJson(SpaceFavItemModel instance) =>
|
||||
<String, dynamic>{
|
||||
'id': instance.id,
|
||||
'fid': instance.fid,
|
||||
'mid': instance.mid,
|
||||
|
||||
@@ -6,7 +6,7 @@ part 'media_list_response.g.dart';
|
||||
@JsonSerializable()
|
||||
class MediaListResponse {
|
||||
int? count;
|
||||
List<FavList>? list;
|
||||
List<SpaceFavItemModel>? list;
|
||||
@JsonKey(name: 'has_more')
|
||||
bool? hasMore;
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ MediaListResponse _$MediaListResponseFromJson(Map<String, dynamic> json) =>
|
||||
MediaListResponse(
|
||||
count: (json['count'] as num?)?.toInt(),
|
||||
list: (json['list'] as List<dynamic>?)
|
||||
?.map((item) => FavList.fromJson(item))
|
||||
?.map((item) => SpaceFavItemModel.fromJson(item))
|
||||
.toList(),
|
||||
hasMore: json['has_more'] as bool?,
|
||||
);
|
||||
|
||||
39
lib/models/video/note_list/author.dart
Normal file
39
lib/models/video/note_list/author.dart
Normal file
@@ -0,0 +1,39 @@
|
||||
import 'package:PiliPlus/models/model_avatar.dart';
|
||||
import 'package:PiliPlus/models/model_owner.dart';
|
||||
|
||||
class Author extends Owner {
|
||||
int? level;
|
||||
int? isSeniorMember;
|
||||
Vip? vipInfo;
|
||||
Pendant? pendant;
|
||||
BaseOfficialVerify? official;
|
||||
|
||||
Author({
|
||||
super.mid,
|
||||
super.face,
|
||||
super.name,
|
||||
this.level,
|
||||
this.isSeniorMember,
|
||||
this.vipInfo,
|
||||
this.pendant,
|
||||
this.official,
|
||||
});
|
||||
|
||||
factory Author.fromJson(Map<String, dynamic> json) => Author(
|
||||
mid: json['mid'] as int?,
|
||||
name: json['name'] as String?,
|
||||
face: json['face'] as String?,
|
||||
level: json['level'] as int?,
|
||||
isSeniorMember: json['is_senior_member'] as int?,
|
||||
vipInfo: json['vip_info'] == null
|
||||
? null
|
||||
: Vip.fromJson(json['vip_info'] as Map<String, dynamic>),
|
||||
pendant: json['pendant'] == null
|
||||
? null
|
||||
: Pendant.fromJson(json['pendant'] as Map<String, dynamic>),
|
||||
official: json['official'] == null
|
||||
? null
|
||||
: BaseOfficialVerify.fromJson(
|
||||
json['official'] as Map<String, dynamic>),
|
||||
);
|
||||
}
|
||||
22
lib/models/video/note_list/data.dart
Normal file
22
lib/models/video/note_list/data.dart
Normal file
@@ -0,0 +1,22 @@
|
||||
import 'package:PiliPlus/models/video/note_list/list.dart';
|
||||
import 'package:PiliPlus/models/video/note_list/page.dart';
|
||||
|
||||
class NoteListData {
|
||||
List<NoteListItemModel>? list;
|
||||
Page? page;
|
||||
bool? showPublicNote;
|
||||
String? message;
|
||||
|
||||
NoteListData({this.list, this.page, this.showPublicNote, this.message});
|
||||
|
||||
factory NoteListData.fromJson(Map<String, dynamic> json) => NoteListData(
|
||||
list: (json['list'] as List<dynamic>?)
|
||||
?.map((e) => NoteListItemModel.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
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?,
|
||||
);
|
||||
}
|
||||
41
lib/models/video/note_list/list.dart
Normal file
41
lib/models/video/note_list/list.dart
Normal file
@@ -0,0 +1,41 @@
|
||||
import 'package:PiliPlus/models/video/note_list/author.dart';
|
||||
|
||||
class NoteListItemModel {
|
||||
int? cvid;
|
||||
String? title;
|
||||
String? summary;
|
||||
String? pubtime;
|
||||
String? webUrl;
|
||||
String? message;
|
||||
Author? author;
|
||||
int? likes;
|
||||
bool? hasLike;
|
||||
|
||||
NoteListItemModel({
|
||||
this.cvid,
|
||||
this.title,
|
||||
this.summary,
|
||||
this.pubtime,
|
||||
this.webUrl,
|
||||
this.message,
|
||||
this.author,
|
||||
this.likes,
|
||||
this.hasLike,
|
||||
});
|
||||
|
||||
factory NoteListItemModel.fromJson(Map<String, dynamic> json) =>
|
||||
NoteListItemModel(
|
||||
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?,
|
||||
);
|
||||
|
||||
}
|
||||
13
lib/models/video/note_list/page.dart
Normal file
13
lib/models/video/note_list/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?,
|
||||
);
|
||||
}
|
||||
28
lib/models/video_pbp/data.dart
Normal file
28
lib/models/video_pbp/data.dart
Normal file
@@ -0,0 +1,28 @@
|
||||
class PbpData {
|
||||
int? stepSec;
|
||||
Events? events;
|
||||
|
||||
PbpData({
|
||||
this.stepSec,
|
||||
this.events,
|
||||
});
|
||||
|
||||
factory PbpData.fromJson(Map<String, dynamic> json) => PbpData(
|
||||
stepSec: json["step_sec"],
|
||||
events: json["events"] == null ? null : Events.fromJson(json["events"]),
|
||||
);
|
||||
}
|
||||
|
||||
class Events {
|
||||
List<double>? eDefault;
|
||||
|
||||
Events({
|
||||
this.eDefault,
|
||||
});
|
||||
|
||||
factory Events.fromJson(Map<String, dynamic> json) => Events(
|
||||
eDefault: json["default"] == null
|
||||
? null
|
||||
: List<double>.from(json["default"]!.map((x) => x?.toDouble())),
|
||||
);
|
||||
}
|
||||
29
lib/models/video_shot/data.dart
Normal file
29
lib/models/video_shot/data.dart
Normal file
@@ -0,0 +1,29 @@
|
||||
class VideoShotData {
|
||||
String? pvdata;
|
||||
int? imgXLen;
|
||||
int? imgYLen;
|
||||
int? imgXSize;
|
||||
int? imgYSize;
|
||||
List<String>? image;
|
||||
List<int>? index;
|
||||
|
||||
VideoShotData({
|
||||
this.pvdata,
|
||||
this.imgXLen,
|
||||
this.imgYLen,
|
||||
this.imgXSize,
|
||||
this.imgYSize,
|
||||
this.image,
|
||||
this.index,
|
||||
});
|
||||
|
||||
factory VideoShotData.fromJson(Map<String, dynamic> json) => VideoShotData(
|
||||
pvdata: json["pvdata"],
|
||||
imgXLen: json["img_x_len"],
|
||||
imgYLen: json["img_y_len"],
|
||||
imgXSize: json["img_x_size"],
|
||||
imgYSize: json["img_y_size"],
|
||||
image: json["image"] == null ? null : List<String>.from(json["image"]),
|
||||
index: json["index"] == null ? null : List<int>.from(json["index"]),
|
||||
);
|
||||
}
|
||||
20
lib/models/video_tag/data.dart
Normal file
20
lib/models/video_tag/data.dart
Normal file
@@ -0,0 +1,20 @@
|
||||
class VideoTagItem {
|
||||
int? tagId;
|
||||
String? tagName;
|
||||
String? musicId;
|
||||
String? jumpUrl;
|
||||
|
||||
VideoTagItem({
|
||||
this.tagId,
|
||||
this.tagName,
|
||||
this.musicId,
|
||||
this.jumpUrl,
|
||||
});
|
||||
|
||||
factory VideoTagItem.fromJson(Map<String, dynamic> json) => VideoTagItem(
|
||||
tagId: json["tag_id"],
|
||||
tagName: json["tag_name"],
|
||||
musicId: json["music_id"],
|
||||
jumpUrl: json["jump_url"],
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user