diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 27d4531c..b00a1fff 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,8 +1,6 @@ PODS: - appscheme (1.0.4): - Flutter - - auto_orientation (0.0.1): - - Flutter - connectivity_plus (0.0.1): - Flutter - ReachabilitySwift @@ -54,7 +52,6 @@ PODS: DEPENDENCIES: - appscheme (from `.symlinks/plugins/appscheme/ios`) - - auto_orientation (from `.symlinks/plugins/auto_orientation/ios`) - connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`) - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) - Flutter (from `Flutter`) @@ -85,8 +82,6 @@ SPEC REPOS: EXTERNAL SOURCES: appscheme: :path: ".symlinks/plugins/appscheme/ios" - auto_orientation: - :path: ".symlinks/plugins/auto_orientation/ios" connectivity_plus: :path: ".symlinks/plugins/connectivity_plus/ios" device_info_plus: @@ -132,7 +127,6 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: appscheme: b1c3f8862331cb20430cf9e0e4af85dbc1572ad8 - auto_orientation: 102ed811a5938d52c86520ddd7ecd3a126b5d39d connectivity_plus: 07c49e96d7fc92bc9920617b83238c4d178b446a device_info_plus: 7545d84d8d1b896cb16a4ff98c19f07ec4b298ea Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 diff --git a/lib/http/constants.dart b/lib/http/constants.dart index 1f5319fb..cf10a606 100644 --- a/lib/http/constants.dart +++ b/lib/http/constants.dart @@ -2,4 +2,37 @@ class HttpString { static const String baseUrl = 'https://www.bilibili.com'; static const String baseApiUrl = 'https://api.bilibili.com'; static const String tUrl = 'https://api.vc.bilibili.com'; + static const List validateStatusCodes = [ + 302, + 304, + 307, + 400, + 401, + 403, + 404, + 405, + 409, + 412, + 500, + 503, + 504, + 509, + 616, + 617, + 625, + 626, + 628, + 629, + 632, + 643, + 650, + 652, + 658, + 662, + 688, + 689, + 701, + 799, + 8888 + ]; } diff --git a/lib/http/init.dart b/lib/http/init.dart index 52bd085f..f927e2e5 100644 --- a/lib/http/init.dart +++ b/lib/http/init.dart @@ -118,7 +118,8 @@ class Request { dio.transformer = BackgroundTransformer(); dio.options.validateStatus = (status) { - return status! >= 200 && status < 300 || status == 304 || status == 302; + return status! >= 200 && status < 300 || + HttpString.validateStatusCodes.contains(status); }; } diff --git a/lib/http/search.dart b/lib/http/search.dart index 5d99e3e0..965f91cf 100644 --- a/lib/http/search.dart +++ b/lib/http/search.dart @@ -1,3 +1,5 @@ +import 'dart:convert'; + import 'package:pilipala/http/index.dart'; import 'package:pilipala/models/bangumi/info.dart'; import 'package:pilipala/models/common/search_type.dart'; @@ -8,18 +10,26 @@ import 'package:pilipala/models/search/suggest.dart'; class SearchHttp { static Future hotSearchList() async { var res = await Request().get(Api.hotSearchList); - if (res.data['code'] == 0) { + if (res.data is String) { + Map resultMap = json.decode(res.data); + if (resultMap['code'] == 0) { + return { + 'status': true, + 'data': HotSearchModel.fromJson(resultMap), + }; + } + } else if (res.data is Map && res.data['code'] == 0) { return { 'status': true, 'data': HotSearchModel.fromJson(res.data), }; - } else { - return { - 'status': false, - 'data': [], - 'msg': '请求错误 🙅', - }; } + + return { + 'status': false, + 'data': [], + 'msg': '请求错误 🙅', + }; } // 获取搜索建议 @@ -27,10 +37,14 @@ class SearchHttp { var res = await Request().get(Api.serachSuggest, data: {'term': term, 'main_ver': 'v1', 'highlight': term}); if (res.data['code'] == 0) { - res.data['result']['term'] = term; + if (res.data['result'] is Map) { + res.data['result']['term'] = term; + } return { 'status': true, - 'data': SearchSuggestModel.fromJson(res.data['result']), + 'data': res.data['result'] is Map + ? SearchSuggestModel.fromJson(res.data['result']) + : [], }; } else { return { @@ -83,7 +97,9 @@ class SearchHttp { return { 'status': false, 'data': [], - 'msg': res.data['data']['numPages'] == 0 ? '没有相关数据' : '请求错误 🙅', + 'msg': res.data['data'] != null && res.data['data']['numPages'] == 0 + ? '没有相关数据' + : res.data['message'], }; } } diff --git a/lib/pages/search/controller.dart b/lib/pages/search/controller.dart index 9a93dabe..36d6a189 100644 --- a/lib/pages/search/controller.dart +++ b/lib/pages/search/controller.dart @@ -12,7 +12,7 @@ class SSearchController extends GetxController { final FocusNode searchFocusNode = FocusNode(); RxString searchKeyWord = ''.obs; Rx controller = TextEditingController().obs; - RxList hotSearchList = [HotSearchItem()].obs; + RxList hotSearchList = [].obs; Box histiryWord = GStrorage.historyword; List historyCacheList = []; RxList historyList = [].obs; @@ -85,7 +85,9 @@ class SSearchController extends GetxController { // 获取热搜关键词 Future queryHotSearchList() async { var result = await SearchHttp.hotSearchList(); - hotSearchList.value = result['data'].list; + if (result['status']) { + hotSearchList.value = result['data'].list; + } return result; } @@ -103,7 +105,9 @@ class SSearchController extends GetxController { Future querySearchSuggest(String value) async { var result = await SearchHttp.searchSuggest(term: value); if (result['status']) { - searchSuggestList.value = result['data'].tag; + if (result['data'].isNotEmpty) { + searchSuggestList.value = result['data'].tag; + } } }