基础页面

This commit is contained in:
2022-10-20 14:21:39 +08:00
parent 49ad269c2b
commit 42ba10ec61
62 changed files with 5132 additions and 54 deletions

121
lib/utils/request/http.dart Normal file
View File

@@ -0,0 +1,121 @@
import 'package:chat/utils/request/http_request.dart';
import 'package:dio/dio.dart';
class Http {
/// 取消请求
static void cancelRequests({
required CancelToken token,
}) {
HttpRequest().cancelRequests(
token: token,
);
}
/// GET 请求
static Future<T> get<T>(
String path, {
Map<String, dynamic>? 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<T> post<T>(
String path, {
Map<String, dynamic>? 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<T> put<T>(
String path, {
Map<String, dynamic>? 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<T> delete<T>(
String path, {
Map<String, dynamic>? 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<T> upload<T>(
String path, {
required String filePath,
Map<String, dynamic>? 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,
);
}
}