修改使用secret登录权限的问题

This commit is contained in:
jyuesong
2022-01-20 09:13:07 +08:00
parent 6dbed6cf49
commit 72b9829dbe

View File

@@ -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<T>(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<T>(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<T>(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<T>(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<T>(e);
}
}
static bool pushedLoginPage = false;
static void exitLogin() {
if (!pushedLoginPage) {
"身份已过期,请重新登录".toast();
@@ -146,6 +121,13 @@ class Http {
}
}
static HttpResponse<T> exceptionHandler<T>(DioError e) {
if (e.response?.statusCode == 401 && !getIt<UserInfoViewModel>().useSecretLogined) {
exitLogin();
}
return HttpResponse(success: false, message: "没有该模块的访问权限", code: 0);
}
static HttpResponse<T> decodeResponse<T>(
Response<dynamic> response,
String serializationName,
@@ -227,8 +209,7 @@ class HttpResponse<T> {
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<T> {