postHttp<T> static method

void postHttp<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 postHttp<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!.post(url, data: parameters);

    var responseData = response.data;
    if (responseData["code"] == 200) {
      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());
  }
}