From bc2e363d6afa4a4f4f72ac3528724b29148b0f01 Mon Sep 17 00:00:00 2001 From: guozhigq Date: Thu, 10 Aug 2023 22:14:40 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=B8=80=E4=BA=9B=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/http/init.dart | 34 ++++++++++++++++++-------------- lib/models/video_detail_res.dart | 8 +++++--- lib/pages/search/controller.dart | 2 +- 3 files changed, 25 insertions(+), 19 deletions(-) diff --git a/lib/http/init.dart b/lib/http/init.dart index 6b339f45..b36ff57e 100644 --- a/lib/http/init.dart +++ b/lib/http/init.dart @@ -29,6 +29,7 @@ class Request { /// 设置cookie static setCookie() async { + Box user = GStrorage.user; var cookiePath = await Utils.getCookiePath(); var cookieJar = PersistCookieJar( ignoreExpires: true, @@ -38,8 +39,18 @@ class Request { dio.interceptors.add(cookieManager); var cookie = await cookieManager.cookieJar .loadForRequest(Uri.parse(HttpString.baseUrl)); - var cookie2 = await cookieManager.cookieJar - .loadForRequest(Uri.parse(HttpString.tUrl)); + if (user.get(UserBoxKey.userMid) != null) { + var cookie2 = await cookieManager.cookieJar + .loadForRequest(Uri.parse(HttpString.tUrl)); + if (cookie2.isEmpty) { + try { + await Request().get(HttpString.tUrl); + } catch (e) { + log("setCookie, ${e.toString()}"); + } + } + } + if (cookie.isEmpty) { try { await Request().get(HttpString.baseUrl); @@ -47,13 +58,6 @@ class Request { log("setCookie, ${e.toString()}"); } } - if (cookie2.isEmpty) { - try { - await Request().get(HttpString.tUrl); - } catch (e) { - log("setCookie, ${e.toString()}"); - } - } } // 移除cookie @@ -95,7 +99,6 @@ class Request { //Http请求头. headers: { // 'cookie': '', - 'referer': 'https://www.bilibili.com/', }, ); @@ -106,17 +109,18 @@ class Request { options.headers['app-key'] = 'android64'; options.headers['x-bili-aurora-eid'] = 'UlMFQVcABlAH'; options.headers['x-bili-aurora-zone'] = 'sh001'; + options.headers['referer'] = 'https://www.bilibili.com/'; } dio.options = options; //添加拦截器 dio.interceptors.add(ApiInterceptor()); // 日志拦截器 输出请求、响应内容 - // dio.interceptors.add(LogInterceptor( - // request: false, - // requestHeader: false, - // responseHeader: false, - // )); + dio.interceptors.add(LogInterceptor( + request: false, + requestHeader: false, + responseHeader: false, + )); dio.transformer = BackgroundTransformer(); dio.options.validateStatus = (status) { diff --git a/lib/models/video_detail_res.dart b/lib/models/video_detail_res.dart index 277d1e30..38e0b877 100644 --- a/lib/models/video_detail_res.dart +++ b/lib/models/video_detail_res.dart @@ -580,9 +580,11 @@ class UgcSeason { intro = json['intro']; signState = json['sign_state']; attribute = json['attribute']; - sections = json['sections'] - .map((e) => SectionItem.fromJson(e)) - .toList(); + sections = json['sections'] != null + ? json['sections'] + .map((e) => SectionItem.fromJson(e)) + .toList() + : []; stat = Stat.fromJson(json['stat']); epCount = json['ep_count']; seasonType = json['season_type']; diff --git a/lib/pages/search/controller.dart b/lib/pages/search/controller.dart index 5183c635..8fc33ffc 100644 --- a/lib/pages/search/controller.dart +++ b/lib/pages/search/controller.dart @@ -56,7 +56,7 @@ class SSearchController extends GetxController { } void onClear() { - if (searchKeyWord.value.isNotEmpty) { + if (searchKeyWord.value.isNotEmpty && controller.value.text != '') { controller.value.clear(); searchKeyWord.value = ''; searchSuggestList.value = [];