opt models

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-06-04 15:20:35 +08:00
parent f50b1d2beb
commit b960359a39
858 changed files with 11000 additions and 12588 deletions

View File

@@ -0,0 +1,15 @@
class CntInfo {
int? collect;
int? play;
int? danmaku;
int? vt;
CntInfo({this.collect, this.play, this.danmaku, this.vt});
factory CntInfo.fromJson(Map<String, dynamic> json) => CntInfo(
collect: json['collect'] as int?,
play: json['play'] as int?,
danmaku: json['danmaku'] as int?,
vt: json['vt'] as int?,
);
}

View File

@@ -0,0 +1,18 @@
import "package:PiliPlus/models_new/sub/sub_detail/info.dart";
import 'package:PiliPlus/models_new/sub/sub_detail/media.dart';
class SubDetailData {
Info? info;
List<SubDetailItemModel>? medias;
SubDetailData({this.info, this.medias});
factory SubDetailData.fromJson(Map<String, dynamic> json) => SubDetailData(
info: json['info'] == null
? null
: Info.fromJson(json['info'] as Map<String, dynamic>),
medias: (json['medias'] as List<dynamic>?)
?.map((e) => SubDetailItemModel.fromJson(e as Map<String, dynamic>))
.toList(),
);
}

View File

@@ -0,0 +1,42 @@
import 'package:PiliPlus/models_new/sub/sub_detail/cnt_info.dart';
import 'package:PiliPlus/models_new/sub/sub_detail/upper.dart';
class Info {
int? id;
int? seasonType;
String? title;
String? cover;
Upper? upper;
CntInfo? cntInfo;
int? mediaCount;
String? intro;
int? enableVt;
Info({
this.id,
this.seasonType,
this.title,
this.cover,
this.upper,
this.cntInfo,
this.mediaCount,
this.intro,
this.enableVt,
});
factory Info.fromJson(Map<String, dynamic> json) => Info(
id: json['id'] as int?,
seasonType: json['season_type'] 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>),
cntInfo: json['cnt_info'] == null
? null
: CntInfo.fromJson(json['cnt_info'] as Map<String, dynamic>),
mediaCount: json['media_count'] as int?,
intro: json['intro'] as String?,
enableVt: json['enable_vt'] as int?,
);
}

View File

@@ -0,0 +1,49 @@
import 'package:PiliPlus/models_new/sub/sub_detail/cnt_info.dart';
import 'package:PiliPlus/models_new/sub/sub_detail/upper.dart';
class SubDetailItemModel {
int? id;
String? title;
String? cover;
int? duration;
int? pubtime;
String? bvid;
Upper? upper;
CntInfo? cntInfo;
int? enableVt;
String? vtDisplay;
bool? isSelfView;
SubDetailItemModel({
this.id,
this.title,
this.cover,
this.duration,
this.pubtime,
this.bvid,
this.upper,
this.cntInfo,
this.enableVt,
this.vtDisplay,
this.isSelfView,
});
factory SubDetailItemModel.fromJson(Map<String, dynamic> json) =>
SubDetailItemModel(
id: json['id'] as int?,
title: json['title'] as String?,
cover: json['cover'] as String?,
duration: json['duration'] as int?,
pubtime: json['pubtime'] as int?,
bvid: json['bvid'] as String?,
upper: json['upper'] == null
? null
: Upper.fromJson(json['upper'] as Map<String, dynamic>),
cntInfo: json['cnt_info'] == null
? null
: CntInfo.fromJson(json['cnt_info'] as Map<String, dynamic>),
enableVt: json['enable_vt'] as int?,
vtDisplay: json['vt_display'] as String?,
isSelfView: json['is_self_view'] as bool?,
);
}

View File

@@ -0,0 +1,11 @@
class Upper {
int? mid;
String? name;
Upper({this.mid, this.name});
factory Upper.fromJson(Map<String, dynamic> json) => Upper(
mid: json['mid'] as int?,
name: json['name'] as String?,
);
}