Merge branch 'fix' into alpha

This commit is contained in:
guozhigq
2023-09-16 01:18:45 +08:00
5 changed files with 68 additions and 20 deletions

View File

@ -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<int> 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
];
}

View File

@ -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);
};
}

View File

@ -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<String, dynamic> resultMap = json.decode(res.data);
if (resultMap['code'] == 0) {
return {
'status': true,
'data': HotSearchModel.fromJson(resultMap),
};
}
} else if (res.data is Map<String, dynamic> && 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'],
};
}
}