post method
Future<String>
post(
- String url, {
- Map<
String, dynamic> ? data, - OnRequestStart? onStart,
- ApiError? error,
- bool? isTaokeApi,
- ValueChanged? otherDataHandle,
POST 请求
Implementation
Future<String> post(String url, {Map<String, dynamic>? data, OnRequestStart? onStart, ApiError? error, bool? isTaokeApi, ValueChanged<dynamic>? otherDataHandle}) async {
var _dio = createInstance()!;
if (_proxy.isNotEmpty) addProxy(_dio, _proxy);
if (!kIsWeb) {
(_dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (HttpClient client) {
client.badCertificateCallback = (X509Certificate cert, String host, int port) => true;
return client;
};
}
_onStart?.call(_dio);
onStart?.call(_dio);
if (isTaokeApi ?? true) {
url = tkApi + url;
}
try {
final response = await _dio.post(url, data: data, options: Options(method: 'POST', followRedirects: false, contentType: 'application/json'));
if (response.statusCode == 200 && response.data != null) {
final _data = response.data is Map<String, dynamic> ? jsonEncode(response.data) : response.data;
final result = ddTaokeResultFromJson(_data);
if (result.state == 200) {
if (result.data != null) {
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 '';
}