初次封装版本,后续更新完善。不足的地方欢迎提供意见,非常乐意学习请教。
dio简单封装
import 'dart:convert';
import 'dart:io';
import 'package:dio/adapter.dart';
import 'package:dio/dio.dart';
import 'package:yunxiaobao/utils/shared_util.dart';
import '../config/dio_config.dart';
/// dio统一封装
/// xxx 2020-09-21 add
class DioUtil {
/// 实例
static DioUtil _instance;
/// token前缀
static const String _refreshTokenKey = 'Admin-Refresh-Token';
/// token前缀2
static const String _accessTokenKey = "Bearer ";
/// 获取实例
static DioUtil getInstance() {
if (_instance == null) _instance = DioUtil();
return _instance;
}
/// 默认配置
Dio dio = Dio();
DioUtil() {
// 请求地址
dio.options.baseUrl = DioConfig.baseUrl;
// 超时时间
dio.options.connectTimeout = 5000;
// 接受数据超时时间
dio.options.receiveTimeout = 3000;
// 打印日志
dio.interceptors.add(LogInterceptor(responseBody: DioConfig.isDebug));
// SSL证书策略
noSSl();
}
/// get请求方法
get(String url,
{
Map<String, dynamic> params, Function success, Function error}) {
_requestHttp