netFetch method
dynamic
netFetch(})
发起网络请求
url 请求url
params 请求参数
header 外加头
option 配置
Implementation
netFetch(url, params, Map<String, dynamic>? header, Options? option,
{noTip = true, Map<String, dynamic>? queryParameters}) async {
Map<String, dynamic> headers = HashMap();
if (!Address.serverGui) {
headers['appinfo'] =
Address.packageName + '#' + AppInfoUtil.instance!.packageInfo.version;
}
headers['lan'] = await BaseDao.getLocale();
if (header != null) {
headers.addAll(header);
}
if (option != null) {
option.headers = headers;
} else {
option = Options(method: 'get');
option.headers = headers;
}
resultError(DioError e) {
Response? errorResponse;
if (e.response != null) {
errorResponse = e.response;
} else {
errorResponse =
Response(statusCode: 666, requestOptions: e.requestOptions);
}
if (e.type == DioErrorType.connectTimeout ||
e.type == DioErrorType.receiveTimeout) {
errorResponse!.statusCode = Code.NETWORK_TIMEOUT;
}
return ResultData(e.message, false, errorResponse!.statusCode);
}
Response response;
try {
if (option.method != 'post') {
response = await _dio.request(url,
queryParameters: queryParameters, options: option);
} else {
response = await _dio.request(url, data: params, options: option);
}
} on DioError catch (e) {
return resultError(e);
}
if (response.data is DioError) return resultError(response.data);
return response.data;
}