Flutter网络请求封装

1、依赖

#cookie管理
dio_cookie_manager: ^2.0.0
cookie_jar: ^3.0.1
# 弹窗:https://github.com/fluttercandies/flutter_smart_dialog
flutter_smart_dialog: ^4.5.3+2

2、网络请求封装

typedef ResponseCallBack<T> = Function(T model); //对象数据方法
typedef ResponseListCallBack<O> = Function(List<O> model); //列表数据方法
typedef ResponseCodeCallBack<int> = Function(int code); //code值

///网络请求
class DioManager {
  late Dio _dio;

  late CancelToken cancelToken;
  late ResponseCallBack _callBack;

  DioManager() {
    init();
  }

  void init() {
    var baseUrl = "https://www.baidu.com/";

    var options = BaseOptions(
      baseUrl: baseUrl,
      connectTimeout: 30000,
      receiveTimeout: 30000,
    );

    cancelToken = CancelToken();

    _dio = Dio(options);
    var interceptors = _dio.interceptors;
    var cookieJar = CookieJar();

    interceptors

猜你喜欢

转载自blog.csdn.net/xiaopihair123/article/details/128353491