opt handle res

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-05-25 11:16:35 +08:00
parent f29385ccef
commit fd55383778
91 changed files with 957 additions and 387 deletions

View 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"],
);
}

View 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))),
);
}

View 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"],
);
}

View 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)),
);
}

View 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"],
);
}