@@ -4,42 +4,45 @@ import 'package:horopic/utils/global.dart';
44import 'package:path/path.dart' as my_path;
55
66class SmmsImageUploadUtils {
7+ static const _baseUrl = "https://smms.app/api/v2" ;
8+ static const _uploadEndpoint = "/upload" ;
9+ static const _deleteEndpoint = "/delete" ;
10+
11+ static Dio _getDio (Map configMap) {
12+ BaseOptions options = setBaseOptions ();
13+ options.headers = {
14+ "Authorization" : configMap["token" ],
15+ "Content-Type" : "multipart/form-data" ,
16+ };
17+ return Dio (options);
18+ }
19+
720 //上传接口
8- static uploadApi ({
21+ static Future < List < String >> uploadApi ({
922 required String path,
1023 required String name,
1124 required Map configMap,
1225 Function (int , int )? onSendProgress,
1326 CancelToken ? cancelToken,
1427 }) async {
1528 try {
16- String formatedURL = '' ;
1729 FormData formdata = FormData .fromMap ({
1830 "smfile" : await MultipartFile .fromFile (path, filename: my_path.basename (name)),
1931 "format" : "json" ,
2032 });
2133
22- BaseOptions options = setBaseOptions ();
23- options.headers = {
24- "Authorization" : configMap["token" ],
25- "Content-Type" : "multipart/form-data" ,
26- };
27- Dio dio = Dio (options);
28- String uploadUrl = "https://smms.app/api/v2/upload" ;
34+ Dio dio = _getDio (configMap);
2935 var response = await dio.post (
30- uploadUrl ,
36+ "$ _baseUrl $ _uploadEndpoint " ,
3137 data: formdata,
3238 onSendProgress: onSendProgress,
3339 cancelToken: cancelToken,
3440 );
3541 if (response.statusCode == 200 && response.data! ['success' ] == true ) {
3642 String returnUrl = response.data! ['data' ]['url' ];
3743 String pictureKey = response.data! ['data' ]['hash' ];
38- if (Global .isCopyLink == true ) {
39- formatedURL = linkGenerateDict[Global .defaultLKformat]! (returnUrl, name);
40- } else {
41- formatedURL = returnUrl;
42- }
44+ String formatedURL =
45+ Global .isCopyLink == true ? linkGenerateDict[Global .defaultLKformat]! (returnUrl, name) : returnUrl;
4346 return ["success" , formatedURL, returnUrl, pictureKey];
4447 } else {
4548 return ["failed" ];
@@ -57,7 +60,7 @@ class SmmsImageUploadUtils {
5760 }
5861 }
5962
60- static deleteApi ({required Map deleteMap, required Map configMap}) async {
63+ static Future < List < String >> deleteApi ({required Map deleteMap, required Map configMap}) async {
6164 Map <String , dynamic > formdata = {
6265 "hash" : deleteMap["pictureKey" ],
6366 "format" : "json" ,
@@ -68,7 +71,7 @@ class SmmsImageUploadUtils {
6871 "Authorization" : configMap["token" ],
6972 };
7073 Dio dio = Dio (options);
71- String deleteUrl = "https://smms.app/api/v2/delete/ ${deleteMap ["pictureKey" ]}" ;
74+ String deleteUrl = '$ _baseUrl $ _deleteEndpoint / ${deleteMap ["pictureKey" ]}' ;
7275
7376 try {
7477 var response = await dio.get (deleteUrl, queryParameters: formdata);
0 commit comments