@fairys/taro-tools-react 1.0.12 → 1.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/utils/request.d.ts +6 -2
- package/esm/utils/request.js +14 -3
- package/lib/utils/request.d.ts +6 -2
- package/lib/utils/request.js +14 -3
- package/package.json +1 -1
- package/src/utils/request.ts +20 -4
package/esm/utils/request.d.ts
CHANGED
|
@@ -16,6 +16,8 @@ export interface DownloadFileOptions extends Taro.downloadFile.Option, TaroReque
|
|
|
16
16
|
export interface UploadFileOptions extends Taro.uploadFile.Option, TaroRequestOption {
|
|
17
17
|
/**上传进度回调*/
|
|
18
18
|
onProgress?: Taro.UploadTask.OnProgressUpdateCallback;
|
|
19
|
+
/**数据类型*/
|
|
20
|
+
dataType?: 'json' | 'text';
|
|
19
21
|
}
|
|
20
22
|
export interface RequestInstanceCreateOptions {
|
|
21
23
|
/**
|
|
@@ -124,6 +126,8 @@ export declare class RequestInstance {
|
|
|
124
126
|
url: string;
|
|
125
127
|
/**上传进度回调*/
|
|
126
128
|
onProgress?: Taro.UploadTask.OnProgressUpdateCallback;
|
|
129
|
+
/**数据类型*/
|
|
130
|
+
dataType?: "json" | "text";
|
|
127
131
|
filePath: string;
|
|
128
132
|
name: string;
|
|
129
133
|
formData?: TaroGeneral.IAnyObject;
|
|
@@ -174,9 +178,9 @@ export declare class RequestInstance {
|
|
|
174
178
|
/**下载文件*/
|
|
175
179
|
downloadFile: (options: DownloadFileOptions) => Promise<Taro.downloadFile.FileSuccessCallbackResult>;
|
|
176
180
|
/**上传文件(返回 Taro.UploadTask.UploadTaskPromise ,可显示上传进度)*/
|
|
177
|
-
uploadFileTask: (options: UploadFileOptions) => Taro.UploadTask.UploadTaskPromise;
|
|
181
|
+
uploadFileTask: (options: Omit<UploadFileOptions, "dataType">) => Taro.UploadTask.UploadTaskPromise;
|
|
178
182
|
/**上传文件*/
|
|
179
|
-
uploadFile: (options: UploadFileOptions) => Promise<Taro.uploadFile.SuccessCallbackResult>;
|
|
183
|
+
uploadFile: (options: UploadFileOptions) => Promise<string | Record<string, any> | Taro.uploadFile.SuccessCallbackResult>;
|
|
180
184
|
}
|
|
181
185
|
/** 请求*/
|
|
182
186
|
export declare const request: RequestInstance;
|
package/esm/utils/request.js
CHANGED
|
@@ -316,12 +316,22 @@ class RequestInstance {
|
|
|
316
316
|
if ('function' == typeof onProgress && uploadTask) uploadTask.onProgressUpdate(onProgress);
|
|
317
317
|
return uploadTask;
|
|
318
318
|
};
|
|
319
|
-
uploadFile = (options)=>
|
|
319
|
+
uploadFile = (options)=>{
|
|
320
|
+
const { dataType = 'json', ...rest } = options;
|
|
321
|
+
return new Promise((resolve, reject)=>{
|
|
320
322
|
this.uploadFileTask({
|
|
321
|
-
...
|
|
323
|
+
...rest,
|
|
322
324
|
success: (result)=>{
|
|
323
325
|
options?.success?.(result);
|
|
324
|
-
|
|
326
|
+
if ('json' === dataType) {
|
|
327
|
+
let resultData = result.data;
|
|
328
|
+
try {
|
|
329
|
+
resultData = JSON.parse(result.data);
|
|
330
|
+
} catch (error) {
|
|
331
|
+
console.log("\u4E0A\u4F20\u6587\u4EF6\u89E3\u6790\u6570\u636E\u5931\u8D25", error);
|
|
332
|
+
}
|
|
333
|
+
resolve(resultData);
|
|
334
|
+
} else resolve(result);
|
|
325
335
|
},
|
|
326
336
|
fail: (result)=>{
|
|
327
337
|
options?.fail?.(result);
|
|
@@ -329,6 +339,7 @@ class RequestInstance {
|
|
|
329
339
|
}
|
|
330
340
|
});
|
|
331
341
|
});
|
|
342
|
+
};
|
|
332
343
|
}
|
|
333
344
|
const request_request = new RequestInstance();
|
|
334
345
|
const utils_request = request_request;
|
package/lib/utils/request.d.ts
CHANGED
|
@@ -16,6 +16,8 @@ export interface DownloadFileOptions extends Taro.downloadFile.Option, TaroReque
|
|
|
16
16
|
export interface UploadFileOptions extends Taro.uploadFile.Option, TaroRequestOption {
|
|
17
17
|
/**上传进度回调*/
|
|
18
18
|
onProgress?: Taro.UploadTask.OnProgressUpdateCallback;
|
|
19
|
+
/**数据类型*/
|
|
20
|
+
dataType?: 'json' | 'text';
|
|
19
21
|
}
|
|
20
22
|
export interface RequestInstanceCreateOptions {
|
|
21
23
|
/**
|
|
@@ -124,6 +126,8 @@ export declare class RequestInstance {
|
|
|
124
126
|
url: string;
|
|
125
127
|
/**上传进度回调*/
|
|
126
128
|
onProgress?: Taro.UploadTask.OnProgressUpdateCallback;
|
|
129
|
+
/**数据类型*/
|
|
130
|
+
dataType?: "json" | "text";
|
|
127
131
|
filePath: string;
|
|
128
132
|
name: string;
|
|
129
133
|
formData?: TaroGeneral.IAnyObject;
|
|
@@ -174,9 +178,9 @@ export declare class RequestInstance {
|
|
|
174
178
|
/**下载文件*/
|
|
175
179
|
downloadFile: (options: DownloadFileOptions) => Promise<Taro.downloadFile.FileSuccessCallbackResult>;
|
|
176
180
|
/**上传文件(返回 Taro.UploadTask.UploadTaskPromise ,可显示上传进度)*/
|
|
177
|
-
uploadFileTask: (options: UploadFileOptions) => Taro.UploadTask.UploadTaskPromise;
|
|
181
|
+
uploadFileTask: (options: Omit<UploadFileOptions, "dataType">) => Taro.UploadTask.UploadTaskPromise;
|
|
178
182
|
/**上传文件*/
|
|
179
|
-
uploadFile: (options: UploadFileOptions) => Promise<Taro.uploadFile.SuccessCallbackResult>;
|
|
183
|
+
uploadFile: (options: UploadFileOptions) => Promise<string | Record<string, any> | Taro.uploadFile.SuccessCallbackResult>;
|
|
180
184
|
}
|
|
181
185
|
/** 请求*/
|
|
182
186
|
export declare const request: RequestInstance;
|
package/lib/utils/request.js
CHANGED
|
@@ -356,12 +356,22 @@ class RequestInstance {
|
|
|
356
356
|
if ('function' == typeof onProgress && uploadTask) uploadTask.onProgressUpdate(onProgress);
|
|
357
357
|
return uploadTask;
|
|
358
358
|
};
|
|
359
|
-
uploadFile = (options)=>
|
|
359
|
+
uploadFile = (options)=>{
|
|
360
|
+
const { dataType = 'json', ...rest } = options;
|
|
361
|
+
return new Promise((resolve, reject)=>{
|
|
360
362
|
this.uploadFileTask({
|
|
361
|
-
...
|
|
363
|
+
...rest,
|
|
362
364
|
success: (result)=>{
|
|
363
365
|
options?.success?.(result);
|
|
364
|
-
|
|
366
|
+
if ('json' === dataType) {
|
|
367
|
+
let resultData = result.data;
|
|
368
|
+
try {
|
|
369
|
+
resultData = JSON.parse(result.data);
|
|
370
|
+
} catch (error) {
|
|
371
|
+
console.log("\u4E0A\u4F20\u6587\u4EF6\u89E3\u6790\u6570\u636E\u5931\u8D25", error);
|
|
372
|
+
}
|
|
373
|
+
resolve(resultData);
|
|
374
|
+
} else resolve(result);
|
|
365
375
|
},
|
|
366
376
|
fail: (result)=>{
|
|
367
377
|
options?.fail?.(result);
|
|
@@ -369,6 +379,7 @@ class RequestInstance {
|
|
|
369
379
|
}
|
|
370
380
|
});
|
|
371
381
|
});
|
|
382
|
+
};
|
|
372
383
|
}
|
|
373
384
|
const request_request = new RequestInstance();
|
|
374
385
|
const utils_request = request_request;
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"author": "SunLxy <1011771396@qq.com>",
|
|
4
4
|
"description": "框架组件库",
|
|
5
5
|
"homepage": "https://github.com/autumn-fairy-tales/fairys-taro-react",
|
|
6
|
-
"version": "1.0.
|
|
6
|
+
"version": "1.0.13",
|
|
7
7
|
"main": "esm/index.js",
|
|
8
8
|
"types": "esm/index.d.ts",
|
|
9
9
|
"module": "esm/index.js",
|
package/src/utils/request.ts
CHANGED
|
@@ -33,6 +33,8 @@ export interface DownloadFileOptions extends Taro.downloadFile.Option, TaroReque
|
|
|
33
33
|
export interface UploadFileOptions extends Taro.uploadFile.Option, TaroRequestOption {
|
|
34
34
|
/**上传进度回调*/
|
|
35
35
|
onProgress?: Taro.UploadTask.OnProgressUpdateCallback;
|
|
36
|
+
/**数据类型*/
|
|
37
|
+
dataType?: 'json' | 'text';
|
|
36
38
|
}
|
|
37
39
|
/**处理提示信息*/
|
|
38
40
|
const requestResponseHandle = (
|
|
@@ -433,7 +435,7 @@ export class RequestInstance {
|
|
|
433
435
|
};
|
|
434
436
|
|
|
435
437
|
/**上传文件(返回 Taro.UploadTask.UploadTaskPromise ,可显示上传进度)*/
|
|
436
|
-
uploadFileTask = (options: UploadFileOptions) => {
|
|
438
|
+
uploadFileTask = (options: Omit<UploadFileOptions, 'dataType'>) => {
|
|
437
439
|
const { isShowErrorMessage } = options;
|
|
438
440
|
const formattedOptions = this.formatRequestOptions(options);
|
|
439
441
|
if (!formattedOptions) {
|
|
@@ -476,13 +478,27 @@ export class RequestInstance {
|
|
|
476
478
|
return uploadTask;
|
|
477
479
|
};
|
|
478
480
|
/**上传文件*/
|
|
479
|
-
uploadFile = (
|
|
481
|
+
uploadFile = (
|
|
482
|
+
options: UploadFileOptions,
|
|
483
|
+
): Promise<string | Record<string, any> | Taro.uploadFile.SuccessCallbackResult> => {
|
|
484
|
+
const { dataType = 'json', ...rest } = options;
|
|
480
485
|
return new Promise((resolve, reject) => {
|
|
481
486
|
this.uploadFileTask({
|
|
482
|
-
...
|
|
487
|
+
...rest,
|
|
483
488
|
success: (result) => {
|
|
484
489
|
options?.success?.(result);
|
|
485
|
-
|
|
490
|
+
if (dataType === 'json') {
|
|
491
|
+
let resultData = result.data;
|
|
492
|
+
try {
|
|
493
|
+
resultData = JSON.parse(result.data);
|
|
494
|
+
} catch (error) {
|
|
495
|
+
// 解析失败,保持原始数据
|
|
496
|
+
console.log('上传文件解析数据失败', error);
|
|
497
|
+
}
|
|
498
|
+
resolve(resultData);
|
|
499
|
+
} else {
|
|
500
|
+
resolve(result);
|
|
501
|
+
}
|
|
486
502
|
},
|
|
487
503
|
fail: (result) => {
|
|
488
504
|
options?.fail?.(result);
|