This commit is contained in:
My-Responsitories
2025-10-17 14:33:19 +08:00
parent 8650c96b7b
commit 8200fbf512
2 changed files with 34 additions and 31 deletions

View File

@@ -73,6 +73,6 @@ class Error extends LoadingState<Never> {
@override @override
String toString() { String toString() {
return errMsg ?? ''; return errMsg ?? code?.toString() ?? '';
} }
} }

View File

@@ -42,7 +42,7 @@ class SearchHttp {
} }
// 分类搜索 // 分类搜索
static Future<LoadingState<R>> searchByType<R>({ static Future<LoadingState<R>> searchByType<R extends SearchNumData>({
required SearchType searchType, required SearchType searchType,
required String keyword, required String keyword,
required page, required page,
@@ -92,38 +92,41 @@ class SearchHttp {
}, },
), ),
); );
if (res.data is! Map) { final resData = res.data;
return const Error('没有相关数据'); if (resData is Map) {
} if (resData['code'] == 0) {
if (res.data['code'] == 0) { if (resData.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(res.data['data']);
break; break;
case SearchType.live_room: case SearchType.live_room:
data = SearchLiveData.fromJson(res.data['data']); data = SearchLiveData.fromJson(res.data['data']);
break; break;
case SearchType.bili_user: case SearchType.bili_user:
data = SearchUserData.fromJson(res.data['data']); data = SearchUserData.fromJson(res.data['data']);
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(res.data['data']);
break; break;
case SearchType.article: case SearchType.article:
data = SearchArticleData.fromJson(res.data['data']); data = SearchArticleData.fromJson(res.data['data']);
break; break;
// default: // default:
// break; // break;
}
return Success(data);
} catch (err) {
debugPrint(err.toString());
return Error(err.toString());
} }
return Success(data); } else {
} catch (err) { return Error(res.data['message'], code: resData['code']);
debugPrint(err.toString());
return Error(err.toString());
} }
} else { } else {
return Error(res.data['message'] ?? '没有相关数据'); return const Error('服务器错误');
} }
} }