internalPostHttp<T> static method

void internalPostHttp<T>(
  1. String url, {
  2. required Map<String, dynamic> parameters,
  3. dynamic onSuccess(
    1. Map response
    )?,
  4. dynamic onError(
    1. String error
    )?,
})

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());
  }
}