提交 7eb509af authored 作者: shixiaochen's avatar shixiaochen

1、网络请求同步执行

上级 8a8ca8eb
...@@ -23,8 +23,9 @@ class _DioWidgetTestState extends State<DioWidgetTest> { ...@@ -23,8 +23,9 @@ class _DioWidgetTestState extends State<DioWidgetTest> {
children: [ children: [
Text(_result), Text(_result),
TextButton( TextButton(
onPressed: () { onPressed: () async {
DioUtils.instance.request( debugPrint("=====11111");
DioUtils.instance.request(
requestUrl: getSystemVersionByNumber, requestUrl: getSystemVersionByNumber,
method: Method.get, method: Method.get,
queryParameters: { queryParameters: {
...@@ -32,16 +33,19 @@ class _DioWidgetTestState extends State<DioWidgetTest> { ...@@ -32,16 +33,19 @@ class _DioWidgetTestState extends State<DioWidgetTest> {
'productNo': 1, 'productNo': 1,
}, },
successCallback: (res) { successCallback: (res) {
debugPrint("=====successCallback");
setState(() { setState(() {
_result = '0000'; _result = '0000';
}); });
}, },
errorCallback: (code, msg) { errorCallback: (code, msg) {
debugPrint("=====errorCallback");
setState(() { setState(() {
_result = msg!; _result = msg!;
}); });
}, },
); );
debugPrint("=====22222");
}, },
child: const Text('dio请求')), child: const Text('dio请求')),
], ],
......
...@@ -52,9 +52,9 @@ abstract class BaseDio { ...@@ -52,9 +52,9 @@ abstract class BaseDio {
void onLoginExpire() => _onLoginExpire(); void onLoginExpire() => _onLoginExpire();
void onNetSuccess(Response response, NetSuccessCallback successCallback, Future<void> onNetSuccess(Response response, NetSuccessCallback successCallback,
NetErrorCallback? errorCallback) => NetErrorCallback? errorCallback) async =>
_onNetSuccess(response, successCallback, errorCallback); await _onNetSuccess(response, successCallback, errorCallback);
// 登录过期的处理 // 登录过期的处理
void _onLoginExpire() { void _onLoginExpire() {
...@@ -80,7 +80,7 @@ abstract class BaseDio { ...@@ -80,7 +80,7 @@ abstract class BaseDio {
} }
// 构建网络请求 // 构建网络请求
void request({ Future<void> request({
required String requestUrl, required String requestUrl,
required Method method, required Method method,
Options? options, Options? options,
...@@ -96,7 +96,7 @@ abstract class BaseDio { ...@@ -96,7 +96,7 @@ abstract class BaseDio {
data: data, data: data,
options: _checkOptions(method.value, options), options: _checkOptions(method.value, options),
); );
onNetSuccess(response, successCallback, errorCallback); await onNetSuccess(response, successCallback, errorCallback);
} on DioError catch (e) { } on DioError catch (e) {
if (e.response != null) { if (e.response != null) {
logger.e( logger.e(
...@@ -105,13 +105,13 @@ abstract class BaseDio { ...@@ -105,13 +105,13 @@ abstract class BaseDio {
// Something happened in setting up or sending the request that triggered an Error // Something happened in setting up or sending the request that triggered an Error
logger.e("请求错误:${e.error}"); logger.e("请求错误:${e.error}");
} }
errorCallback?.call(500, "服务器请求错误"); await errorCallback?.call(500, "服务器请求错误");
} }
} }
// 处理网络请求成功逻辑 // 处理网络请求成功逻辑
void _onNetSuccess(Response response, NetSuccessCallback successCallback, Future<void> _onNetSuccess(Response response, NetSuccessCallback successCallback,
NetErrorCallback? errorCallback) { NetErrorCallback? errorCallback) async {
BaseEntity baseEntity = BaseEntity.fromJson(response.data); BaseEntity baseEntity = BaseEntity.fromJson(response.data);
if (baseEntity.code == 100 || baseEntity.code == "100") { if (baseEntity.code == 100 || baseEntity.code == "100") {
logger.e("登录过期:${baseEntity.message}"); logger.e("登录过期:${baseEntity.message}");
...@@ -120,10 +120,10 @@ abstract class BaseDio { ...@@ -120,10 +120,10 @@ abstract class BaseDio {
} }
if (baseEntity.code == 0) { if (baseEntity.code == 0) {
successCallback.call(baseEntity.data); await successCallback.call(baseEntity.data);
} else { } else {
logger.e("请求错误:${baseEntity.code} ${baseEntity.message}"); logger.e("请求错误:${baseEntity.code} ${baseEntity.message}");
errorCallback?.call(baseEntity.code, baseEntity.message); await errorCallback?.call(baseEntity.code, baseEntity.message);
} }
} }
} }
......
// ignore_for_file: depend_on_referenced_packages
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter_clx_base/flutter_clx_base.dart'; import 'package:flutter_clx_base/flutter_clx_base.dart';
import 'package:flutter_clx_base/utils/log_utils.dart';
import 'package:permission_handler/permission_handler.dart';
class PermissionHelper { class PermissionHelper {
static VoidCallback defaultCall = () {}; static VoidCallback defaultCall = () {};
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论