mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
@@ -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('服务器错误');
|
||||
|
||||
Reference in New Issue
Block a user