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 + '#' + AppInfoUtils.instance.packageInfo.version;
}
headers['lan'] = await BaseDao.getLocale();
headers['Accept-Language'] = Address.language;
if (Address.packageName != 'Anchor') {
try {
String? carrierInfo = await MmooCarrierInfo.mobileCountryCode;
if (carrierInfo?.contains('460') == true) {
headers['cardtype'] = '460';
} else if (carrierInfo?.isEmpty != false || carrierInfo == 'nil') {
headers['cardtype'] = '-1';
}
} catch (e) {
AppConfig.printLog(e);
headers['cardtype'] = '-1';
}
}
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.networkTimeout;
}
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;
}