37 lines
1.2 KiB
Dart
37 lines
1.2 KiB
Dart
|
import 'package:dio/dio.dart';
|
||
|
|
||
|
final baseOptions = BaseOptions(
|
||
|
baseUrl: 'http://10.0.2.2:8000/api',
|
||
|
connectTimeout: const Duration(seconds: 5),
|
||
|
receiveTimeout: const Duration(seconds: 5),
|
||
|
);
|
||
|
|
||
|
var request = Dio(baseOptions)
|
||
|
..interceptors.add(
|
||
|
InterceptorsWrapper(
|
||
|
onRequest: (RequestOptions options, RequestInterceptorHandler handler) {
|
||
|
String baseUrl = options.baseUrl.replaceFirst('/api', '');
|
||
|
options.baseUrl = baseUrl;
|
||
|
return handler.next(options);
|
||
|
},
|
||
|
onResponse: (Response response, ResponseInterceptorHandler handler) {
|
||
|
if (response.statusCode! >= 200 && response.statusCode! < 400) {
|
||
|
return handler.resolve(response);
|
||
|
} else {
|
||
|
handler.reject(
|
||
|
DioException.badResponse(
|
||
|
statusCode: response.statusCode!,
|
||
|
requestOptions: RequestOptions(),
|
||
|
response: response,
|
||
|
),
|
||
|
);
|
||
|
}
|
||
|
},
|
||
|
onError: (DioException e, ErrorInterceptorHandler handler) {
|
||
|
// print('错误信息:' + e.response?.data);
|
||
|
// print('错误码: ${e.response?.statusCode}');
|
||
|
handler.reject(e);
|
||
|
},
|
||
|
),
|
||
|
);
|