|
@@ -18,6 +18,7 @@ class DioClient {
|
|
|
final Logger _logger = Logger();
|
|
|
|
|
|
DioClient._internal() {
|
|
|
+
|
|
|
_dio = Dio(BaseOptions(
|
|
|
baseUrl: 'https://api.androidrj01.top', // 你的API地址
|
|
|
connectTimeout: 5000,
|
|
@@ -47,6 +48,7 @@ class DioClient {
|
|
|
final responseData = response.data as Map<String, dynamic>;
|
|
|
if (responseData['ret'] == 1) {
|
|
|
customInterceptor.resetRetryCount(); // 当请求成功时重置重试计数器
|
|
|
+
|
|
|
handler.next(
|
|
|
Response<dynamic>(
|
|
|
data: responseData['data'],
|
|
@@ -68,7 +70,9 @@ class DioClient {
|
|
|
|
|
|
|
|
|
}
|
|
|
-
|
|
|
+ void updateBaseUrl(String newBaseUrl) {
|
|
|
+ _dio.options.baseUrl = newBaseUrl;
|
|
|
+ }
|
|
|
Dio get dio => _dio;
|
|
|
}
|
|
|
|
|
@@ -123,6 +127,7 @@ class CustomInterceptors extends Interceptor {
|
|
|
try {
|
|
|
|
|
|
final Response response = await _dio.fetch(err.requestOptions);
|
|
|
+ await SharedPreferencesUtil().setString("last_successful_url", _dio.options.baseUrl);
|
|
|
return handler.resolve(response);
|
|
|
} catch (e) {
|
|
|
if (e is DioError) {
|