From 23272d285beeb7cf78507821955c799039807d61 Mon Sep 17 00:00:00 2001 From: bggRGjQaUbCoE Date: Mon, 20 Oct 2025 15:30:55 +0800 Subject: [PATCH] tweak Signed-off-by: bggRGjQaUbCoE --- lib/http/search.dart | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/lib/http/search.dart b/lib/http/search.dart index 87c5e40a..5c2f9f60 100644 --- a/lib/http/search.dart +++ b/lib/http/search.dart @@ -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 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('服务器错误');