opt query pgc timeline

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-09-10 19:56:27 +08:00
parent f0f5224677
commit da17725616
5 changed files with 34 additions and 11 deletions

View File

@@ -3,7 +3,7 @@ import 'package:PiliPlus/models_new/pgc/pgc_timeline/result.dart';
class PgcTimeline {
int? code;
String? message;
List<Result>? result;
List<TimelineResult>? result;
PgcTimeline({this.code, this.message, this.result});
@@ -11,7 +11,7 @@ class PgcTimeline {
code: json['code'] as int?,
message: json['message'] as String?,
result: (json['result'] as List<dynamic>?)
?.map((e) => Result.fromJson(e as Map<String, dynamic>))
?.map((e) => TimelineResult.fromJson(e as Map<String, dynamic>))
.toList(),
);
}

View File

@@ -1,13 +1,13 @@
import 'package:PiliPlus/models_new/pgc/pgc_timeline/episode.dart';
class Result {
class TimelineResult {
String? date;
int? dateTs;
int? dayOfWeek;
List<Episode>? episodes;
int? isToday;
Result({
TimelineResult({
this.date,
this.dateTs,
this.dayOfWeek,
@@ -15,7 +15,7 @@ class Result {
this.isToday,
});
factory Result.fromJson(Map<String, dynamic> json) => Result(
factory TimelineResult.fromJson(Map<String, dynamic> json) => TimelineResult(
date: json['date'] as String?,
dateTs: json['date_ts'] as int?,
dayOfWeek: json['day_of_week'] as int?,
@@ -24,4 +24,12 @@ class Result {
.toList(),
isToday: json['is_today'] as int?,
);
void operator +(TimelineResult other) {
if (dateTs == other.dateTs) {
if (other.episodes case final list?) {
(episodes ??= <Episode>[]).addAll(list);
}
}
}
}