opt subtitle

Closes #1357

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-09-28 17:21:53 +08:00
parent 5f8dc76891
commit e1f748d7e4
2 changed files with 24 additions and 13 deletions

View File

@@ -11,10 +11,10 @@ class Subtitle {
this.subtitleUrlV2, this.subtitleUrlV2,
}); });
factory Subtitle.fromJson(Map<String, dynamic> json) => Subtitle( Subtitle.fromJson(Map<String, dynamic> json) {
lan: json["lan"], lan = json["lan"];
lanDoc: json["lan_doc"], lanDoc = '${json["lan_doc"]}${lan!.startsWith('ai') ? 'AI' : ''}';
subtitleUrl: json["subtitle_url"], subtitleUrl = json["subtitle_url"];
subtitleUrlV2: json["subtitle_url_v2"], subtitleUrlV2 = json["subtitle_url_v2"];
); }
} }

View File

@@ -7,11 +7,22 @@ class SubtitleInfo {
SubtitleInfo({this.lan, this.lanDoc, this.subtitles}); SubtitleInfo({this.lan, this.lanDoc, this.subtitles});
factory SubtitleInfo.fromJson(Map<String, dynamic> json) => SubtitleInfo( SubtitleInfo.fromJson(Map<String, dynamic> json) {
lan: json['lan'] as String?, lan = json['lan'] as String?;
lanDoc: json['lan_doc'] as String?, lanDoc = json['lan_doc'] as String?;
subtitles: (json['subtitles'] as List<dynamic>?) final List? list = json['subtitles'];
?.map((e) => Subtitle.fromJson(e as Map<String, dynamic>)) if (list != null && list.isNotEmpty) {
.toList(), subtitles = <Subtitle>[];
); int index = 0;
for (var e in list) {
final item = Subtitle.fromJson(e);
if (item.lan!.contains('zh')) {
subtitles!.insert(index, item);
index++;
} else {
subtitles!.add(item);
}
}
}
}
} }