优化套餐显示逻辑新增多语言
This commit is contained in:
@@ -44,14 +44,9 @@ class HttpUtil {
|
||||
|
||||
/// 对dio进行配置
|
||||
void initDio() {
|
||||
Loggy.initLoggy(logPrinter: _KRSimpleLogPrinter());
|
||||
_dio.interceptors.add(LoggyDioInterceptor(requestBody: true));
|
||||
// 不使用 Loggy,改用自定义简洁拦截器
|
||||
_dio.interceptors.add(_KRSimpleHttpInterceptor());
|
||||
_dio.options.baseUrl = AppConfig.getInstance().baseUrl;
|
||||
// 添加日志拦截器
|
||||
_dio.interceptors.add(LoggyDioInterceptor(
|
||||
requestBody: true,
|
||||
responseBody: true,
|
||||
));
|
||||
|
||||
// 设置连接超时时间
|
||||
_dio.options.connectTimeout = const Duration(seconds: 60);
|
||||
@@ -246,55 +241,70 @@ class HttpUtil {
|
||||
}
|
||||
}
|
||||
|
||||
/// 拦截器
|
||||
/// 拦截器(简洁格式,无边框)
|
||||
class MyInterceptor extends Interceptor {
|
||||
@override
|
||||
void onRequest(RequestOptions options, RequestInterceptorHandler handler) {
|
||||
KRLogUtil.kr_d(
|
||||
'>>> Request │ ${options.method} │ ${options.uri}\n'
|
||||
'╔ Headers\n'
|
||||
'║ ${options.headers}\n'
|
||||
'╚════════════════════════════════════════════════════════════════════════════════════════╝\n'
|
||||
'╔ Body\n'
|
||||
'║ ${options.data}\n'
|
||||
'╚════════════════════════════════════════════════════════════════════════════════════════╝',
|
||||
tag: 'DioLoggy');
|
||||
print('>>> Request │ ${options.method} │ ${options.uri}');
|
||||
if (options.data != null) {
|
||||
print('Body: ${options.data}');
|
||||
}
|
||||
handler.next(options);
|
||||
}
|
||||
|
||||
@override
|
||||
void onResponse(Response response, ResponseInterceptorHandler handler) {
|
||||
KRLogUtil.kr_d(
|
||||
'<<< Response │ ${response.requestOptions.method} │ ${response.statusCode} ${response.statusMessage} │ ${response.requestOptions.uri}\n'
|
||||
'╔ Body\n'
|
||||
'║ ${response.data}\n'
|
||||
'╚════════════════════════════════════════════════════════════════════════════════════════╝',
|
||||
tag: 'DioLoggy');
|
||||
print('<<< Response │ ${response.requestOptions.method} │ ${response.statusCode} ${response.statusMessage} │ ${response.requestOptions.uri}');
|
||||
if (response.data != null) {
|
||||
print('Body: ${response.data}');
|
||||
}
|
||||
handler.next(response);
|
||||
}
|
||||
|
||||
@override
|
||||
void onError(DioException err, ErrorInterceptorHandler handler) {
|
||||
KRLogUtil.kr_e(
|
||||
'<<< Error │ ${err.requestOptions.method} │ ${err.requestOptions.uri}\n'
|
||||
'╔ Error Type\n'
|
||||
'║ ${err.type}\n'
|
||||
'╚════════════════════════════════════════════════════════════════════════════════════════╝\n'
|
||||
'╔ Error Message\n'
|
||||
'║ ${err.message}\n'
|
||||
'╚════════════════════════════════════════════════════════════════════════════════════════╝\n'
|
||||
'╔ Response Data\n'
|
||||
'║ ${err.response?.data}\n'
|
||||
'╚════════════════════════════════════════════════════════════════════════════════════════╝',
|
||||
tag: 'DioLoggy');
|
||||
print('<<< Error │ ${err.requestOptions.method} │ ${err.requestOptions.uri}');
|
||||
print('Error Type: ${err.type}');
|
||||
if (err.message != null) {
|
||||
print('Error Message: ${err.message}');
|
||||
}
|
||||
if (err.response?.data != null) {
|
||||
print('Response Data: ${err.response?.data}');
|
||||
}
|
||||
handler.next(err);
|
||||
}
|
||||
}
|
||||
|
||||
/// 自定义简洁日志打印机(无边框符号)
|
||||
class _KRSimpleLogPrinter extends LoggyPrinter {
|
||||
/// 自定义简洁 HTTP 拦截器(无边框符号)
|
||||
class _KRSimpleHttpInterceptor extends Interceptor {
|
||||
@override
|
||||
void onLog(LogRecord record) {
|
||||
print(record.message);
|
||||
void onRequest(RequestOptions options, RequestInterceptorHandler handler) {
|
||||
print('>>> Request │ ${options.method} │ ${options.uri}');
|
||||
if (options.data != null) {
|
||||
print('Body: ${options.data}');
|
||||
}
|
||||
handler.next(options);
|
||||
}
|
||||
|
||||
@override
|
||||
void onResponse(Response response, ResponseInterceptorHandler handler) {
|
||||
print('<<< Response │ ${response.requestOptions.method} │ ${response.statusCode} ${response.statusMessage} │ ${response.requestOptions.uri}');
|
||||
if (response.data != null) {
|
||||
print('Body: ${response.data}');
|
||||
}
|
||||
handler.next(response);
|
||||
}
|
||||
|
||||
@override
|
||||
void onError(DioException err, ErrorInterceptorHandler handler) {
|
||||
print('<<< Error │ ${err.requestOptions.method} │ ${err.requestOptions.uri}');
|
||||
print('Error Type: ${err.type}');
|
||||
if (err.message != null) {
|
||||
print('Error Message: ${err.message}');
|
||||
}
|
||||
if (err.response?.data != null) {
|
||||
print('Response Data: ${err.response?.data}');
|
||||
}
|
||||
handler.next(err);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user