get method

Future<String> get(
  1. String url, {
  2. Map<String, dynamic>? data,
  3. ApiError? error,
  4. OnRequestStart? onStart,
  5. bool? isTaokeApi,
  6. ResultDataMapHandle? mapData,
  7. CancelToken? cancelToken,
  8. ValueChanged? otherDataHandle,
})

发起http请求

url 接口地址

data 查询参数

error 请求错误回传

Implementation

Future<String> get(String url,
    {Map<String, dynamic>? data, ApiError? error, OnRequestStart? onStart, bool? isTaokeApi, ResultDataMapHandle? mapData, CancelToken? cancelToken, ValueChanged<dynamic>? otherDataHandle}) async {
  Logger().d(url);
  if(_showParams && data!=null){
    Logger().wtf(jsonEncode(data));
  }
  var _dio = createInstance()!;
  if (_proxy.isNotEmpty) addProxy(_dio, _proxy);
  if (isTaokeApi ?? true) {
    url = tkApi + url;
  }

  if (!kIsWeb) {
    (_dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (HttpClient client) {
      client.badCertificateCallback = (X509Certificate cert, String host, int port) => true;
      return client;
    };
  }
  // if(kIsWeb){
  //   var adapter = BrowserHttpClientAdapter();
  //   adapter.withCredentials = true;
  //   _dio.httpClientAdapter = adapter;
  // }

  _onStart?.call(_dio); // 全局的
  onStart?.call(_dio); // 局部的
  try {
    final response = await _dio.get<String>(url, queryParameters: data, cancelToken: cancelToken);
    if (response.statusCode == 200 && response.data != null) {
      final result = ddTaokeResultFromJson(response.data!);
      if (result.state == 200) {
        if (result.data != null) {
          try {
            if (_print) {
              Logger().i(jsonDecode(result.data!));
            }
            mapData?.call(jsonDecode(result.data!));
            otherDataHandle?.call(result.otherData);
          } catch (_) {}
          return result.data!;
        }
        return '';
      } else {
        errorHandle(error, result.state, result.message,data: result.data);
        return '';
      }
    }
  } on DioError catch (e) {
    if (e.response != null) {
      errorHandle(error, e.response!.statusCode??-1, e.response!.statusMessage??'请求失败');
    }
    errorHandle(error, 500, '${e.toString()}');
  }

  return '';
}