From 72b9829dbe378a835b47a929a25436b98b254887 Mon Sep 17 00:00:00 2001 From: jyuesong <425698907@qq.com> Date: Thu, 20 Jan 2022 09:13:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BD=BF=E7=94=A8secret?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E6=9D=83=E9=99=90=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/base/http/http.dart | 45 ++++++++++++----------------------------- 1 file changed, 13 insertions(+), 32 deletions(-) diff --git a/lib/base/http/http.dart b/lib/base/http/http.dart index 190aafa..a598f09 100644 --- a/lib/base/http/http.dart +++ b/lib/base/http/http.dart @@ -14,6 +14,7 @@ import '../routes.dart'; class Http { static Dio? _dio; + static bool pushedLoginPage = false; static void initDioConfig( String host, @@ -49,13 +50,7 @@ class Http { return decodeResponse(response, serializationName, compute); } on DioError catch (e) { - if (e.response?.statusCode == 401) { - exitLogin(); - } - return HttpResponse( - success: false, - message: e.response?.statusMessage ?? e.message, - code: 0); + return exceptionHandler(e); } } @@ -75,13 +70,7 @@ class Http { compute, ); } on DioError catch (e) { - if (e.response?.statusCode == 401) { - exitLogin(); - } - return HttpResponse( - success: false, - message: e.response?.statusMessage ?? e.message, - code: 0); + return exceptionHandler(e); } } @@ -101,13 +90,7 @@ class Http { compute, ); } on DioError catch (e) { - if (e.response?.statusCode == 401) { - exitLogin(); - } - return HttpResponse( - success: false, - message: e.response?.statusMessage ?? e.message, - code: 0); + return exceptionHandler(e); } } @@ -126,18 +109,10 @@ class Http { compute, ); } on DioError catch (e) { - if (e.response?.statusCode == 401) { - exitLogin(); - } - return HttpResponse( - success: false, - message: e.response?.statusMessage ?? e.message, - code: 0); + return exceptionHandler(e); } } - static bool pushedLoginPage = false; - static void exitLogin() { if (!pushedLoginPage) { "身份已过期,请重新登录".toast(); @@ -146,6 +121,13 @@ class Http { } } + static HttpResponse exceptionHandler(DioError e) { + if (e.response?.statusCode == 401 && !getIt().useSecretLogined) { + exitLogin(); + } + return HttpResponse(success: false, message: "没有该模块的访问权限", code: 0); + } + static HttpResponse decodeResponse( Response response, String serializationName, @@ -227,8 +209,7 @@ class HttpResponse { late int code; T? bean; - HttpResponse( - {required this.success, this.message, required this.code, this.bean}); + HttpResponse({required this.success, this.message, required this.code, this.bean}); } class DeserializeAction {