post<T> method

Future<BaseModel> post<T>(
  1. String path, {
  2. Map<String, dynamic>? params,
  3. Object? data,
  4. bool dataToJson = true,
  5. dynamic tag,
  6. bool? loading,
  7. Options? options,
  8. ProgressCallback? onSendProgress,
  9. ProgressCallback? onReceiveProgress,
  10. CancelToken? cancelToken,
})

Implementation

Future<BaseModel> post<T>(
  String path, {
  Map<String, dynamic>? params,
  Object? data,
  bool dataToJson = true,
  dynamic tag,
  bool? loading,
  Options? options,
  ProgressCallback? onSendProgress,
  ProgressCallback? onReceiveProgress,
  CancelToken? cancelToken,
}) async {
  assert(_singleton != null, '请先调用 initialize');
  if (await checkNetwork) return buildBaseModel;
  _addLoading(loading);
  data = baseDioOptions.extraData?.call(path, data) ?? data;
  final res = await dio.post<T>(path,
      options: _mergeOptions(options, path),
      queryParameters:
          baseDioOptions.extraParams?.call(path, params) ?? params,
      onReceiveProgress: onReceiveProgress,
      onSendProgress: onSendProgress,
      cancelToken: cancelToken,
      data: dataToJson ? jsonEncode(data) : data);
  return _handleResponse(res, tag);
}