init static method

void init(
  1. IHttpConfig iHttpConfig, {
  2. IToastConfig? iToastConfig,
})

初始化

[iHttpConfig] http配置

Implementation

static void init(IHttpConfig iHttpConfig, {IToastConfig? iToastConfig}) {
  _httpConfig = iHttpConfig;
  if(iToastConfig!=null){
    _iToastConfig = iToastConfig;
  }

  _dio = Dio(_httpConfig?.configBaseOptions());

  /// 添加拦截器 ,执行的顺序是 FIFO
  if (_httpConfig?.configInterceptors() != null) {
    _dio.interceptors.addAll(_httpConfig!.configInterceptors()!);
  }

  /// 添加日志拦截器
  if (_httpConfig!.configLogEnable()) {
    _dio.interceptors.add(LogsInterceptors());
    _isAddLog = true;
  }

  /// 配置https
  (_dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate =
      (client) {
    client.badCertificateCallback =
        (X509Certificate cert, String host, int port) {
      return _httpConfig!.configHttps(cert, host, port);
    };
  };
}