web archive

Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-03-23 18:28:38 +08:00
parent 2220372e4f
commit b4b3764e5f
39 changed files with 1005 additions and 306 deletions

View File

@@ -0,0 +1,28 @@
import 'package:PiliPlus/models/model_video.dart';
class SeasonArchive extends BaseVideoItemModel {
SeasonArchive.fromJson(Map<String, dynamic> json) {
aid = json['aid'];
bvid = json['bvid'];
cover = json['pic'];
title = json['title'];
pubdate = json['pubdate'];
duration = json['duration'];
stat = ArchiveStat.fromJson(json['stat']);
owner = ArchiveOwner.fromJson(json);
}
}
class ArchiveOwner extends BaseOwner {
ArchiveOwner.fromJson(Map<String, dynamic> json) {
mid = json['upMid'];
name = '';
}
}
class ArchiveStat extends BaseStat {
ArchiveStat.fromJson(Map<String, dynamic> json) {
view = json['view'];
danmu = json['danmaku'];
}
}

View File

@@ -0,0 +1,18 @@
import 'package:PiliPlus/models_new/member/season_web/archive.dart';
import 'package:PiliPlus/models_new/member/season_web/page.dart';
class SeasonWebData {
List<SeasonArchive>? archives;
Page? page;
SeasonWebData({this.archives, this.page});
factory SeasonWebData.fromJson(Map<String, dynamic> json) => SeasonWebData(
archives: (json['archives'] as List<dynamic>?)
?.map((e) => SeasonArchive.fromJson(e as Map<String, dynamic>))
.toList(),
page: json['page'] == null
? null
: Page.fromJson(json['page'] as Map<String, dynamic>),
);
}

View File

@@ -0,0 +1,13 @@
class Page {
int? pageNum;
int? pageSize;
int? total;
Page({this.pageNum, this.pageSize, this.total});
factory Page.fromJson(Map<String, dynamic> json) => Page(
pageNum: json['page_num'] ?? json['num'],
pageSize: json['page_size'] ?? json['size'],
total: json['total'] as int?,
);
}