mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-05-30 04:58:41 +00:00
precheck video dimension
Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
@@ -10,6 +10,7 @@ import 'package:PiliPlus/models_new/dynamic/dyn_topic_pub_search/data.dart';
|
||||
import 'package:PiliPlus/models_new/pgc/pgc_info_model/result.dart';
|
||||
import 'package:PiliPlus/models_new/search/search_rcmd/data.dart';
|
||||
import 'package:PiliPlus/models_new/search/search_trending/data.dart';
|
||||
import 'package:PiliPlus/models_new/video/video_detail/dimension.dart';
|
||||
import 'package:PiliPlus/utils/request_utils.dart';
|
||||
import 'package:PiliPlus/utils/wbi_sign.dart';
|
||||
import 'package:dio/dio.dart';
|
||||
@@ -172,6 +173,14 @@ abstract final class SearchHttp {
|
||||
}
|
||||
|
||||
static Future<int?> ab2c({dynamic aid, dynamic bvid, int? part}) async {
|
||||
return (await ab2cWithDimension(aid: aid, bvid: bvid, part: part))?.cid;
|
||||
}
|
||||
|
||||
static Future<({int? cid, Dimension? dimension})?> ab2cWithDimension({
|
||||
dynamic aid,
|
||||
dynamic bvid,
|
||||
int? part,
|
||||
}) async {
|
||||
final res = await Request().get(
|
||||
Api.ab2c,
|
||||
queryParameters: {
|
||||
@@ -181,13 +190,19 @@ abstract final class SearchHttp {
|
||||
);
|
||||
if (res.data['code'] == 0) {
|
||||
if (res.data['data'] case List list) {
|
||||
return part != null
|
||||
? (list.elementAtOrNull(part - 1)?['cid'] ??
|
||||
list.firstOrNull?['cid'])
|
||||
: list.firstOrNull?['cid'];
|
||||
} else {
|
||||
return null;
|
||||
final target = part != null
|
||||
? (list.elementAtOrNull(part - 1) ?? list.firstOrNull)
|
||||
: list.firstOrNull;
|
||||
if (target != null) {
|
||||
return (
|
||||
cid: target['cid'] as int?,
|
||||
dimension: target['dimension'] == null
|
||||
? null
|
||||
: Dimension.fromJson(target['dimension']),
|
||||
);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
} else {
|
||||
SmartDialog.showToast("ab2c error: ${res.data['message']}");
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user