getHttp<T> static method
Implementation
static Future<Map?>? getHttp<T>(
String url, {
required Map<String, dynamic> parameters,
Function(Map response)? onSuccess,
Function(String error)? onError,
}) async {
Map<String, dynamic> param = {
'Accept': '*/*',
'Content-Type': 'application/json; charset=utf-8',
};
if (UnitsForNetwork.USER_ACCESS_TOKEN != null) {
param["Authorization"] = "Bearer ${UnitsForNetwork.USER_ACCESS_TOKEN}";
}
UnitsForNetwork.dio?.options.baseUrl = userBaseUrlApi;
//更新header参数配置
UnitsForNetwork.dio?.options.headers = param;
try {
Response response;
Dio? dio = UnitsForNetwork.dio;
response = await dio!.get(url, queryParameters: parameters);
var responseData = response.data;
debugPrint(responseData.toString());
if (url == getOSSParameter) {
return jsonDecode(responseData);
}
if (response.isRedirect) {
//重定向
String rediretApi = response.redirects.first.location.toString();
UnitsForNetwork.streamHttp(rediretApi,
parameters: {}, onSuccess: onSuccess, onError: onError);
}
if (responseData["code"] == 200) {
if (onSuccess != null) onSuccess(responseData);
} else {
if (onError != null) onError(responseData["message"]);
}
return responseData;
} catch (e) {
debugPrint('请求出错:$e');
if (onError != null) onError(e.toString());
return null;
}
}