mirror of
https://github.com/qinglong-app/qinglong_app.git
synced 2025-10-09 16:48:19 +08:00
修改使用secret登录权限的问题
This commit is contained in:
@@ -14,6 +14,7 @@ import '../routes.dart';
|
|||||||
|
|
||||||
class Http {
|
class Http {
|
||||||
static Dio? _dio;
|
static Dio? _dio;
|
||||||
|
static bool pushedLoginPage = false;
|
||||||
|
|
||||||
static void initDioConfig(
|
static void initDioConfig(
|
||||||
String host,
|
String host,
|
||||||
@@ -49,13 +50,7 @@ class Http {
|
|||||||
|
|
||||||
return decodeResponse<T>(response, serializationName, compute);
|
return decodeResponse<T>(response, serializationName, compute);
|
||||||
} on DioError catch (e) {
|
} on DioError catch (e) {
|
||||||
if (e.response?.statusCode == 401) {
|
return exceptionHandler<T>(e);
|
||||||
exitLogin();
|
|
||||||
}
|
|
||||||
return HttpResponse(
|
|
||||||
success: false,
|
|
||||||
message: e.response?.statusMessage ?? e.message,
|
|
||||||
code: 0);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -75,13 +70,7 @@ class Http {
|
|||||||
compute,
|
compute,
|
||||||
);
|
);
|
||||||
} on DioError catch (e) {
|
} on DioError catch (e) {
|
||||||
if (e.response?.statusCode == 401) {
|
return exceptionHandler<T>(e);
|
||||||
exitLogin();
|
|
||||||
}
|
|
||||||
return HttpResponse(
|
|
||||||
success: false,
|
|
||||||
message: e.response?.statusMessage ?? e.message,
|
|
||||||
code: 0);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -101,13 +90,7 @@ class Http {
|
|||||||
compute,
|
compute,
|
||||||
);
|
);
|
||||||
} on DioError catch (e) {
|
} on DioError catch (e) {
|
||||||
if (e.response?.statusCode == 401) {
|
return exceptionHandler<T>(e);
|
||||||
exitLogin();
|
|
||||||
}
|
|
||||||
return HttpResponse(
|
|
||||||
success: false,
|
|
||||||
message: e.response?.statusMessage ?? e.message,
|
|
||||||
code: 0);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -126,18 +109,10 @@ class Http {
|
|||||||
compute,
|
compute,
|
||||||
);
|
);
|
||||||
} on DioError catch (e) {
|
} on DioError catch (e) {
|
||||||
if (e.response?.statusCode == 401) {
|
return exceptionHandler<T>(e);
|
||||||
exitLogin();
|
|
||||||
}
|
|
||||||
return HttpResponse(
|
|
||||||
success: false,
|
|
||||||
message: e.response?.statusMessage ?? e.message,
|
|
||||||
code: 0);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool pushedLoginPage = false;
|
|
||||||
|
|
||||||
static void exitLogin() {
|
static void exitLogin() {
|
||||||
if (!pushedLoginPage) {
|
if (!pushedLoginPage) {
|
||||||
"身份已过期,请重新登录".toast();
|
"身份已过期,请重新登录".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>(
|
static HttpResponse<T> decodeResponse<T>(
|
||||||
Response<dynamic> response,
|
Response<dynamic> response,
|
||||||
String serializationName,
|
String serializationName,
|
||||||
@@ -227,8 +209,7 @@ class HttpResponse<T> {
|
|||||||
late int code;
|
late int code;
|
||||||
T? bean;
|
T? bean;
|
||||||
|
|
||||||
HttpResponse(
|
HttpResponse({required this.success, this.message, required this.code, this.bean});
|
||||||
{required this.success, this.message, required this.code, this.bean});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class DeserializeAction<T> {
|
class DeserializeAction<T> {
|
||||||
|
|||||||
Reference in New Issue
Block a user