import 'package:chat/utils/network/http_request.dart'; import 'package:dio/dio.dart'; class Http { /// 取消请求 static void cancelRequests({ required CancelToken token, }) { HttpRequest().cancelRequests( token: token, ); } /// GET 请求 static Future get( String path, { Map? params, Options? options, CancelToken? cancelToken, ProgressCallback? onReceiveProgress, }) async { return await HttpRequest().request( path, method: HttpMethod.get, params: params, options: options, cancelToken: cancelToken, ); } /// POST 请求 static Future post( String path, { Map? params, dynamic data, Options? options, CancelToken? cancelToken, ProgressCallback? onSendProgress, ProgressCallback? onReceiveProgress, }) async { return await HttpRequest().request( path, method: HttpMethod.post, params: params, data: data, options: options, cancelToken: cancelToken, onReceiveProgress: onReceiveProgress, ); } /// PUT static Future put( String path, { Map? params, dynamic data, Options? options, CancelToken? cancelToken, ProgressCallback? onSendProgress, ProgressCallback? onReceiveProgress, }) async { return await HttpRequest().request( path, method: HttpMethod.put, params: params, data: data, options: options, cancelToken: cancelToken, onSendProgress: onSendProgress, onReceiveProgress: onReceiveProgress, ); } /// DELETE static Future delete( String path, { Map? params, dynamic data, Options? options, CancelToken? cancelToken, ProgressCallback? onSendProgress, ProgressCallback? onReceiveProgress, }) async { return await HttpRequest().request( path, method: HttpMethod.delete, params: params, data: data, options: options, cancelToken: cancelToken, onSendProgress: onSendProgress, onReceiveProgress: onReceiveProgress, ); } /// 上传文件 static Future upload( String path, { required String filePath, Map? params, Options? options, CancelToken? cancelToken, ProgressCallback? onSendProgress, ProgressCallback? onReceiveProgress, }) async { var formData = FormData.fromMap({ 'upload': await MultipartFile.fromFile(filePath), }); return await HttpRequest().request( path, method: HttpMethod.post, params: params, data: formData, options: options, cancelToken: cancelToken, onSendProgress: onSendProgress, onReceiveProgress: onReceiveProgress, ); } }