提交 30c1aa06 authored 作者: caoyongfeng's avatar caoyongfeng

Merge branch 'refs/heads/v1.0.3' into 20250224_app_privacyInfo

......@@ -26,7 +26,7 @@ apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion 33
compileSdkVersion 34
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
......
......@@ -6,7 +6,7 @@ buildscript {
}
dependencies {
classpath 'com.android.tools.build:gradle:7.2.0'
classpath 'com.android.tools.build:gradle:7.3.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
......
......@@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip
\ No newline at end of file
......@@ -10,7 +10,7 @@ class DioUtils extends BaseDio {
@override
String setBaseUrl() {
return "https://api.clxkj.cn:8088";
return "https://gateway.testclx.cn";
}
@override
......
......@@ -12,10 +12,9 @@ class DioWidgetTest extends StatefulWidget {
class _DioWidgetTestState extends State<DioWidgetTest> {
static const String getSystemVersionByNumber =
'/user-service/system/version/getSystemVersionByNumber';
'/clx-performance/lco/app/driver/orderChild/getGoingLatestOrderChild';
String _result = '';
@override
Widget build(BuildContext context) {
return MyScaffold(
......@@ -23,9 +22,9 @@ class _DioWidgetTestState extends State<DioWidgetTest> {
children: [
Text(_result),
TextButton(
onPressed: () async {
onPressed: () async {
debugPrint("=====11111");
DioUtils.instance.request(
DioUtils.instance.request(
requestUrl: getSystemVersionByNumber,
method: Method.get,
queryParameters: {
......@@ -41,13 +40,26 @@ class _DioWidgetTestState extends State<DioWidgetTest> {
errorCallback: (code, msg) {
debugPrint("=====errorCallback");
setState(() {
_result = msg!;
_result = "code: $code meg = $msg";
});
},
);
debugPrint("=====22222");
},
child: const Text('dio请求')),
TextButton(
onPressed: () async {
debugPrint("=====11111");
var result = await DioUtils.instance.requestSync(
requestUrl: getSystemVersionByNumber,
method: Method.get,
queryParameters: {
'versionNumber': 20,
'productNo': 1,
});
debugPrint("=====22222 result = $result");
},
child: const Text('dio请求 sync')),
],
);
}
......
......@@ -33,6 +33,10 @@ dependencies:
cupertino_icons: ^1.0.2
# rive: ^0.10.4
#重新依赖库版本 库版本冲突在这里修改,后续更新基础库时,需要注意
dependency_overrides:
flutter_spinkit: 5.2.1
dev_dependencies:
flutter_test:
sdk: flutter
......
......@@ -105,14 +105,11 @@ abstract class BaseDio {
);
onNetSuccess(response, successCallback, errorCallback);
} on DioException catch (e) {
if (e.response != null) {
logger.e(
"请求错误:${e.response!.statusCode} ${e.response!.requestOptions.path}");
} else {
// Something happened in setting up or sending the request that triggered an Error
logger.e("请求错误:${e.error}");
var result = await _handleHttpException(e.response);
// result 为null时,已调用重新登录方法 onLoginExpire,onLoginExpire需重写
if (result != null) {
await errorCallback?.call(result["code"], result["message"]);
}
await errorCallback?.call(500, "服务器请求错误");
}
}
......@@ -149,14 +146,11 @@ abstract class BaseDio {
return {"code": 400, "message": "数据解析错误"};
}
} on DioException catch (e) {
if (e.response != null) {
logger.e(
"请求错误:${e.response!.statusCode} ${e.response!.requestOptions.path}");
} else {
// Something happened in setting up or sending the request that triggered an Error
logger.e("请求错误:${e.error}");
var result = await _handleHttpException(e.response);
// result 为null时,已调用重新登录方法 onLoginExpire,onLoginExpire需重写
if (result != null) {
return result;
}
return {"code": 500, "message": "服务器请求错误"};
}
}
......@@ -188,6 +182,27 @@ abstract class BaseDio {
await errorCallback?.call(400, "数据解析错误");
}
}
/// 处理http异常
Future<Map<String, dynamic>?> _handleHttpException(Response? response) async {
if (response == null) {
return {"code": -500, "message": "网络请求错误,请稍后重试"};
}
var httpCode = response.statusCode; // httpCode
var httpData = response.data; // httpData
try {
var httpResult = await jsonTransformer.parseJson(httpData);
if (httpCode == 401 && httpResult["code"]?.toString() == "-100") {
logger.e("登录过期:${httpResult['msg']}");
onLoginExpire();
return null;
}
return {"code": httpCode, "message": httpResult['msg'] ?? "网络请求错误,请稍后重试"};
} on Exception catch (e) {
logger.e("请求错误:${e.toString()}");
}
return {"code": httpCode ?? -500, "message": "网络请求错误,请稍后重试"};
}
}
Options _checkOptions(String method, Options? options) {
......
......@@ -388,6 +388,8 @@ class BaseListController {
}
get c => _controller;
int? get total => _listState?._count;
}
typedef SuccessCallback = Function(List? list);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论