mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-06-02 00:58:19 +08:00
@@ -3,6 +3,7 @@ import 'dart:convert';
|
|||||||
import 'package:PiliPlus/http/api.dart';
|
import 'package:PiliPlus/http/api.dart';
|
||||||
import 'package:PiliPlus/http/init.dart';
|
import 'package:PiliPlus/http/init.dart';
|
||||||
import 'package:PiliPlus/http/loading_state.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/common/search/search_type.dart';
|
||||||
import 'package:PiliPlus/models/search/result.dart';
|
import 'package:PiliPlus/models/search/result.dart';
|
||||||
import 'package:PiliPlus/models/search/suggest.dart';
|
import 'package:PiliPlus/models/search/suggest.dart';
|
||||||
@@ -86,6 +87,7 @@ class SearchHttp {
|
|||||||
queryParameters: params,
|
queryParameters: params,
|
||||||
options: Options(
|
options: Options(
|
||||||
headers: {
|
headers: {
|
||||||
|
'user-agent': UaType.pc.ua,
|
||||||
'origin': 'https://search.bilibili.com',
|
'origin': 'https://search.bilibili.com',
|
||||||
'referer':
|
'referer':
|
||||||
'https://search.bilibili.com/${searchType.name}?keyword=$keyword',
|
'https://search.bilibili.com/${searchType.name}?keyword=$keyword',
|
||||||
@@ -95,24 +97,27 @@ class SearchHttp {
|
|||||||
final resData = res.data;
|
final resData = res.data;
|
||||||
if (resData is Map) {
|
if (resData is Map) {
|
||||||
if (resData['code'] == 0) {
|
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;
|
dynamic data;
|
||||||
try {
|
try {
|
||||||
switch (searchType) {
|
switch (searchType) {
|
||||||
case SearchType.video:
|
case SearchType.video:
|
||||||
data = SearchVideoData.fromJson(res.data['data']);
|
data = SearchVideoData.fromJson(dataData);
|
||||||
break;
|
break;
|
||||||
case SearchType.live_room:
|
case SearchType.live_room:
|
||||||
data = SearchLiveData.fromJson(res.data['data']);
|
data = SearchLiveData.fromJson(dataData);
|
||||||
break;
|
break;
|
||||||
case SearchType.bili_user:
|
case SearchType.bili_user:
|
||||||
data = SearchUserData.fromJson(res.data['data']);
|
data = SearchUserData.fromJson(dataData);
|
||||||
break;
|
break;
|
||||||
case SearchType.media_bangumi || SearchType.media_ft:
|
case SearchType.media_bangumi || SearchType.media_ft:
|
||||||
data = SearchPgcData.fromJson(res.data['data']);
|
data = SearchPgcData.fromJson(dataData);
|
||||||
break;
|
break;
|
||||||
case SearchType.article:
|
case SearchType.article:
|
||||||
data = SearchArticleData.fromJson(res.data['data']);
|
data = SearchArticleData.fromJson(dataData);
|
||||||
break;
|
break;
|
||||||
// default:
|
// default:
|
||||||
// break;
|
// break;
|
||||||
@@ -123,7 +128,7 @@ class SearchHttp {
|
|||||||
return Error(err.toString());
|
return Error(err.toString());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return Error(res.data['message'], code: resData['code']);
|
return Error(resData['message'], code: resData['code']);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return const Error('服务器错误');
|
return const Error('服务器错误');
|
||||||
|
|||||||
Reference in New Issue
Block a user