Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-10-20 15:30:55 +08:00
parent 67b4ed65ab
commit 23272d285b

View File

@@ -3,6 +3,7 @@ import 'dart:convert';
import 'package:PiliPlus/http/api.dart';
import 'package:PiliPlus/http/init.dart';
import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/http/ua_type.dart';
import 'package:PiliPlus/models/common/search/search_type.dart';
import 'package:PiliPlus/models/search/result.dart';
import 'package:PiliPlus/models/search/suggest.dart';
@@ -86,6 +87,7 @@ class SearchHttp {
queryParameters: params,
options: Options(
headers: {
'user-agent': UaType.pc.ua,
'origin': 'https://search.bilibili.com',
'referer':
'https://search.bilibili.com/${searchType.name}?keyword=$keyword',
@@ -95,24 +97,27 @@ class SearchHttp {
final resData = res.data;
if (resData is Map) {
if (resData['code'] == 0) {
if (resData.containsKey('v_voucher')) return const Error('触发风控');
final Map<String, dynamic> dataData = resData['data'];
if (dataData.containsKey('v_voucher')) {
return const Error('触发风控');
}
dynamic data;
try {
switch (searchType) {
case SearchType.video:
data = SearchVideoData.fromJson(res.data['data']);
data = SearchVideoData.fromJson(dataData);
break;
case SearchType.live_room:
data = SearchLiveData.fromJson(res.data['data']);
data = SearchLiveData.fromJson(dataData);
break;
case SearchType.bili_user:
data = SearchUserData.fromJson(res.data['data']);
data = SearchUserData.fromJson(dataData);
break;
case SearchType.media_bangumi || SearchType.media_ft:
data = SearchPgcData.fromJson(res.data['data']);
data = SearchPgcData.fromJson(dataData);
break;
case SearchType.article:
data = SearchArticleData.fromJson(res.data['data']);
data = SearchArticleData.fromJson(dataData);
break;
// default:
// break;
@@ -123,7 +128,7 @@ class SearchHttp {
return Error(err.toString());
}
} else {
return Error(res.data['message'], code: resData['code']);
return Error(resData['message'], code: resData['code']);
}
} else {
return const Error('服务器错误');