internalPostHttp<T> static method
void
internalPostHttp<T>(})
Implementation
static void internalPostHttp<T>(
String url, {
required Map<String, dynamic> parameters,
Function(Map response)? onSuccess,
Function(String error)? onError,
}) async {
Map newParameter = UnitsForNetwork.convertParameter(parameters);
debugPrint(newParameter.toString());
Map<String, dynamic> param = {
'Accept': '*/*',
'Content-Type': 'application/json; charset=utf-8',
};
if (UnitsForNetwork.ACCESS_TOKEN != null) {
param["Authorization"] = "Bearer ${UnitsForNetwork.ACCESS_TOKEN}";
}
//更新header参数配置
UnitsForNetwork.dio?.options.headers = param;
UnitsForNetwork.dio?.options.baseUrl = openBaseUrlApi;
try {
Response response;
Dio? dio = UnitsForNetwork.dio;
response = await dio!.post(url, data: newParameter);
var responseData = response.data;
if (responseData["code"] == 200 ||
responseData["code"] == 500 ||
responseData["code"] == 410) {
//判断token过期,逻辑需要在外面做
if (onSuccess != null) onSuccess(responseData);
} else {
if (onError != null) onError(responseData["message"]);
}
debugPrint(responseData.toString());
} catch (e) {
debugPrint('请求出错:$e');
if (onError != null) onError(e.toString());
}
}