get method
Future<String>
get(
- String url, {
- Map<
String, dynamic> ? data, - ApiError? error,
- OnRequestStart? onStart,
- bool? isTaokeApi,
- ResultDataMapHandle? mapData,
- CancelToken? cancelToken,
- 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 '';
}