@sadais/uploader 0.5.16 → 0.5.17
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/dist/index.es.js +56 -16
- package/dist/index.min.js +1 -1
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -216,6 +216,9 @@ class SadaisUploader {
|
|
|
216
216
|
// 兼容uniapp的file对象
|
|
217
217
|
file = !isFile(file) && isFile(file.path) ? file.path : file;
|
|
218
218
|
|
|
219
|
+
// 标记单次上传的临时配置,上传完成后清除
|
|
220
|
+
const tempKeys = opts.tempKeys || [];
|
|
221
|
+
|
|
219
222
|
this.options = {
|
|
220
223
|
...this.options,
|
|
221
224
|
...opts
|
|
@@ -232,11 +235,14 @@ class SadaisUploader {
|
|
|
232
235
|
file.name = this._guid() + suffix;
|
|
233
236
|
}
|
|
234
237
|
|
|
235
|
-
|
|
238
|
+
const result = await new Promise((resolve, reject) => {
|
|
236
239
|
if (!this.options.endPoint) {
|
|
237
240
|
// oss 初始化失败的情况下,走接口上传
|
|
238
241
|
console.log('oss 初始化失败,走接口上传');
|
|
239
|
-
this._apiSubmit(resolve, reject, file
|
|
242
|
+
this._apiSubmit(resolve, reject, file, {
|
|
243
|
+
errorType: 'ossInit:fail',
|
|
244
|
+
errorInfo: this.options
|
|
245
|
+
});
|
|
240
246
|
} else if (
|
|
241
247
|
this.options.isUploadWebp &&
|
|
242
248
|
UPLOADER_TYPE.TXYUN == this.params.type &&
|
|
@@ -247,7 +253,16 @@ class SadaisUploader {
|
|
|
247
253
|
} else {
|
|
248
254
|
this._formSubmit(resolve, reject, file);
|
|
249
255
|
}
|
|
250
|
-
})
|
|
256
|
+
});
|
|
257
|
+
|
|
258
|
+
// 清除单次上传的临时配置
|
|
259
|
+
if (tempKeys && tempKeys.length > 0) {
|
|
260
|
+
tempKeys.forEach((key) => delete this.options[key]);
|
|
261
|
+
delete this.options.tempKeys;
|
|
262
|
+
console.log('已清除了配置', tempKeys);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
return result
|
|
251
266
|
}
|
|
252
267
|
|
|
253
268
|
/**
|
|
@@ -288,12 +303,12 @@ class SadaisUploader {
|
|
|
288
303
|
const success = {
|
|
289
304
|
data: uploadedFilePath,
|
|
290
305
|
head: { ret: 0, msg: 'success' },
|
|
291
|
-
fileInfo: file
|
|
306
|
+
fileInfo: file
|
|
292
307
|
};
|
|
293
308
|
const error = {
|
|
294
309
|
data: file.name,
|
|
295
310
|
head: { ret: 1, msg: 'fail' },
|
|
296
|
-
fileInfo: file
|
|
311
|
+
fileInfo: file
|
|
297
312
|
};
|
|
298
313
|
|
|
299
314
|
// 华为云需删除无用参数
|
|
@@ -391,7 +406,7 @@ class SadaisUploader {
|
|
|
391
406
|
});
|
|
392
407
|
})
|
|
393
408
|
}
|
|
394
|
-
async _apiSubmit(resolve, reject, file) {
|
|
409
|
+
async _apiSubmit(resolve, reject, file, extraParams = {}) {
|
|
395
410
|
console.log('api接口上传');
|
|
396
411
|
|
|
397
412
|
const { ossFailedApiOption, uploadTimeOut } = this.options;
|
|
@@ -421,11 +436,13 @@ class SadaisUploader {
|
|
|
421
436
|
data: '',
|
|
422
437
|
head: { ret: 0, msg: 'success' },
|
|
423
438
|
fileInfo: file,
|
|
439
|
+
extraParams
|
|
424
440
|
};
|
|
425
441
|
const error = {
|
|
426
442
|
data: file.name,
|
|
427
443
|
head: { ret: 1, msg: 'fail' },
|
|
428
444
|
fileInfo: file,
|
|
445
|
+
extraParams
|
|
429
446
|
};
|
|
430
447
|
|
|
431
448
|
try {
|
|
@@ -451,7 +468,11 @@ class SadaisUploader {
|
|
|
451
468
|
resolve(success);
|
|
452
469
|
}
|
|
453
470
|
} catch (error) {
|
|
454
|
-
reject(
|
|
471
|
+
reject({
|
|
472
|
+
...(error || {}),
|
|
473
|
+
errorType: 'apiSubmit:error',
|
|
474
|
+
extraParams
|
|
475
|
+
});
|
|
455
476
|
}
|
|
456
477
|
}
|
|
457
478
|
|
|
@@ -488,11 +509,17 @@ class SadaisUploader {
|
|
|
488
509
|
authInfo = await this.getAuthInfoFunc(authParams);
|
|
489
510
|
console.log('获取权限结果', authInfo);
|
|
490
511
|
if (!authInfo.content) {
|
|
491
|
-
return this._apiSubmit(resolve, reject, file
|
|
512
|
+
return this._apiSubmit(resolve, reject, file, {
|
|
513
|
+
errorType: 'getAuthInfo:fail',
|
|
514
|
+
errorInfo: authInfo
|
|
515
|
+
})
|
|
492
516
|
}
|
|
493
517
|
} catch (error) {
|
|
494
518
|
console.log('获取权限失败', error);
|
|
495
|
-
return this._apiSubmit(resolve, reject, file
|
|
519
|
+
return this._apiSubmit(resolve, reject, file, {
|
|
520
|
+
errorType: 'getAuthInfo:error',
|
|
521
|
+
errorInfo: error
|
|
522
|
+
})
|
|
496
523
|
}
|
|
497
524
|
|
|
498
525
|
const authorizationInfo = authInfo ? authInfo.content : '';
|
|
@@ -501,12 +528,12 @@ class SadaisUploader {
|
|
|
501
528
|
const success = {
|
|
502
529
|
data: uploadedFilePath,
|
|
503
530
|
head: { ret: 0, msg: 'success' },
|
|
504
|
-
fileInfo: file
|
|
531
|
+
fileInfo: file
|
|
505
532
|
};
|
|
506
533
|
const error = {
|
|
507
534
|
data: file.name,
|
|
508
535
|
head: { ret: 1, msg: 'fail' },
|
|
509
|
-
fileInfo: file
|
|
536
|
+
fileInfo: file
|
|
510
537
|
};
|
|
511
538
|
|
|
512
539
|
const uploadFunc = async (data) => {
|
|
@@ -535,7 +562,10 @@ class SadaisUploader {
|
|
|
535
562
|
resolve(success);
|
|
536
563
|
} else {
|
|
537
564
|
if (ossFailedApiOption) {
|
|
538
|
-
this._apiSubmit(resolve, reject, file
|
|
565
|
+
this._apiSubmit(resolve, reject, file, {
|
|
566
|
+
errorType: 'putSubmit:success',
|
|
567
|
+
errorInfo: res
|
|
568
|
+
});
|
|
539
569
|
} else {
|
|
540
570
|
error.head.msg = res;
|
|
541
571
|
reject(error);
|
|
@@ -545,7 +575,10 @@ class SadaisUploader {
|
|
|
545
575
|
fail: (error) => {
|
|
546
576
|
console.log('上传失败', ossFailedApiOption);
|
|
547
577
|
if (ossFailedApiOption) {
|
|
548
|
-
this._apiSubmit(resolve, reject, file
|
|
578
|
+
this._apiSubmit(resolve, reject, file, {
|
|
579
|
+
errorType: 'putSubmit:fail',
|
|
580
|
+
errorInfo: error
|
|
581
|
+
});
|
|
549
582
|
} else {
|
|
550
583
|
console.log(error);
|
|
551
584
|
reject(error);
|
|
@@ -632,7 +665,6 @@ class SadaisUploader {
|
|
|
632
665
|
return params
|
|
633
666
|
}
|
|
634
667
|
|
|
635
|
-
|
|
636
668
|
/**
|
|
637
669
|
* 获取上传文件路径
|
|
638
670
|
* @param {String} name 文件名
|
|
@@ -640,7 +672,13 @@ class SadaisUploader {
|
|
|
640
672
|
*/
|
|
641
673
|
_getUploadFilePath(name) {
|
|
642
674
|
// const type = this.params.type
|
|
643
|
-
const {
|
|
675
|
+
const {
|
|
676
|
+
useOriginalName,
|
|
677
|
+
path,
|
|
678
|
+
uploadPathSuffix = '',
|
|
679
|
+
uploadFileNamePrefix = '',
|
|
680
|
+
uploadLayer = ''
|
|
681
|
+
} = this.options;
|
|
644
682
|
const lastIndexOf = name.lastIndexOf('.');
|
|
645
683
|
const originalName = name.substring(0, lastIndexOf);
|
|
646
684
|
let suffix = name.substring(lastIndexOf + 1);
|
|
@@ -651,8 +689,10 @@ class SadaisUploader {
|
|
|
651
689
|
const fileName = useOriginalName ? `/${originalName}` : '';
|
|
652
690
|
// 自定义路径(custom/test/)和文件名前缀(prefix_),如:custom/test/prefix_xxxxxxx.jpg
|
|
653
691
|
const customPath = `${uploadPathSuffix}${uploadFileNamePrefix}`;
|
|
692
|
+
// 自定义层级,如:images/,最终路径为 path/images/date/customPrefix_guid.suffix
|
|
693
|
+
const layer = uploadLayer ? `${uploadLayer}/` : '';
|
|
654
694
|
// 为了保证使用文件原名时,文件不被覆盖,仍然使用随机生成方式
|
|
655
|
-
return `${path}${this._getNowDate()}/${customPath}${this._guid()}${fileName}.${suffix}`
|
|
695
|
+
return `${path}${layer}${this._getNowDate()}/${customPath}${this._guid()}${fileName}.${suffix}`
|
|
656
696
|
}
|
|
657
697
|
|
|
658
698
|
/**
|
package/dist/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,a,i=[],o=!0,s=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);o=!0);}catch(e){s=!0,a=e}finally{try{o||null==n.return||n.return()}finally{if(s)throw a}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return n(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function s(e,t,n,r,a,i,o){try{var s=e[i](o),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(r,a)}function u(e){return function(){var t=this,n=arguments;return new Promise((function(r,a){var i=e.apply(t,n);function o(e){s(i,r,a,o,u,"next",e)}function u(e){s(i,r,a,o,u,"throw",e)}o(void 0)}))}}function c(e){var t,n,r,a=2;for("undefined"!=typeof Symbol&&(n=Symbol.asyncIterator,r=Symbol.iterator);a--;){if(n&&null!=(t=e[n]))return t.call(e);if(r&&null!=(t=e[r]))return new p(t.call(e));n="@@asyncIterator",r="@@iterator"}throw new TypeError("Object is not async iterable")}function p(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return p=function(e){this.s=e,this.n=e.next},p.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var n=this.s.return;return void 0===n?Promise.resolve({value:e,done:!0}):t(n.apply(this.s,arguments))},throw:function(e){var n=this.s.return;return void 0===n?Promise.reject(e):t(n.apply(this.s,arguments))}},new p(e)}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1e3,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",i=n;return new Promise((function(n,o){var s=function(){var c=u(regeneratorRuntime.mark((function u(){var c;return regeneratorRuntime.wrap((function(u){for(;;)switch(u.prev=u.next){case 0:return u.prev=0,u.next=3,e();case 3:return c=u.sent,u.next=6,t(c);case 6:!u.sent&&i>0?(i--,console.log(a,"重试次数减少,剩余次数:",i),setTimeout(s,r)):(console.log(a,"返回结果:",c),n(c)),u.next=13;break;case 10:u.prev=10,u.t0=u.catch(0),i>0?(i--,console.log(a,"异常重试次数减少,剩余次数:",i),setTimeout(s,r)):(console.log(a,"重试次数已用完,错误信息:",u.t0),o(u.t0));case 13:case"end":return u.stop()}}),u,null,[[0,10]])})));return function(){return c.apply(this,arguments)}}();s()}))}function f(e){return e&&e.size}function h(e){return new Promise((function(t,n){var r=new FileReader;e.name,r.readAsArrayBuffer(e),r.addEventListener("loadend",(function(e){var n=e.target.result;t(n)}),!1)}))}Object.defineProperty(exports,"__esModule",{value:!0});var m,d={ALIYUN:"ALIYUN",TXYUN:"TXYUN",HUAWEI:"HUAWEI"},g=function(e){return m||(m=new y(e)),m},y=function(){function n(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),this._init(e)}var r,i,s,p,m,g,y,b,v,x,k,w,O;return r=n,i=[{key:"_init",value:(O=u(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.params=t;case 1:case"end":return e.stop()}}),e,this)}))),function(e){return O.apply(this,arguments)})},{key:"initOptions",value:(w=u(regeneratorRuntime.mark((function e(t){var n,r,i,o,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.params||(this.params={}),!t){e.next=3;break}return e.abrupt("return",this.params=a(a({},this.params),t));case 3:if((n=this.params).type,r=n.getOptionFun,i=n.path,o=n.getAuthInfoFunc,n.isUploadWebp,n.ossFailedApiOption,this.getAuthInfoFunc=o,this.options=a({},this.params),!r){e.next=15;break}return e.next=9,this._initOptionFun();case 9:if(s=e.sent){e.next=12;break}return e.abrupt("return");case 12:(i=s.path||i)&&!i.endsWith("/")&&(s.path=i+"/"),this.options=a(a({},this.options),s);case 15:case"end":return e.stop()}}),e,this)}))),function(e){return w.apply(this,arguments)})},{key:"_initOptionFun",value:(k=u(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",l((function(){return t.params.getOptionFun(t.params.type)}),(function(e){return e.endPoint}),5,300,"oss 初始化"));case 1:case"end":return e.stop()}}),e)}))),function(){return k.apply(this,arguments)})},{key:"_isTimeOut",value:function(){var e=this.options.timeOut-1e4;return(new Date).getTime()>e}},{key:"upload",value:(x=u(regeneratorRuntime.mark((function e(t){var n,r,a,i,o,s,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return");case 2:n=Array.isArray(t)?t:[t],r=[],a=0;case 5:if(!(a<n.length)){e.next=16;break}return i=n[a],e.next=9,this.uploadFile(i);case 9:o=e.sent,s=o.data,u=o.head,r.push({index:a,url:s,ret:u.ret});case 13:a++,e.next=5;break;case 16:return e.abrupt("return",r);case 17:case"end":return e.stop()}}),e,this)}))),function(e){return x.apply(this,arguments)})},{key:"uploadFile",value:(v=u(regeneratorRuntime.mark((function e(n){var r,i,o,s,u,c,p,l=this,h=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=h.length>1&&void 0!==h[1]?h[1]:{},e.prev=1,e.next=4,uni.getNetworkType();case 4:if(i=e.sent,o=t(i,2),s=o[1],!["none","offline"].includes(s.networkType)){e.next=10;break}return uni.showToast({icon:"none",title:"网络异常,请检查网络",duration:3e3}),e.abrupt("return");case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(1),console.log(e.t0);case 15:if(this.options&&this.options.endPoint&&!this._isTimeOut()){e.next=19;break}return console.log("初始化 oss 开始"),e.next=19,this.initOptions();case 19:return console.log("sadais uploader 上传文件内容",n),n=!f(n)&&f(n.path)?n.path:n,this.options=a(a({},this.options),r),console.log("当前上传配置信息",this.options),!n.name&&n.path&&(u=n.path.startsWith("blob"),c=n.path.startsWith("data"),p=u||c?".png":n.path.substring(n.path.lastIndexOf(".")),n.name=this._guid()+p),e.abrupt("return",new Promise((function(e,t){l.options.endPoint?l.options.isUploadWebp&&d.TXYUN==l.params.type&&l._fileIsPic(n.name)?l._putSubmit(e,t,n):l._formSubmit(e,t,n):(console.log("oss 初始化失败,走接口上传"),l._apiSubmit(e,t,n))})));case 25:case"end":return e.stop()}}),e,this,[[1,12]])}))),function(e){return v.apply(this,arguments)})},{key:"uploadFiles",value:(b=u(regeneratorRuntime.mark((function e(t){var n,r,a,i,o,s,u,p,l,f,h,m=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=m.length>1&&void 0!==m[1]?m[1]:{},r=[],a=[],i=!1,o=!1,e.prev=5,u=c(t);case 7:return e.next=9,u.next();case 9:if(!(i=!(p=e.sent).done)){e.next=20;break}return l=p.value,e.next=13,this.uploadFile(l,n);case 13:f=e.sent,h=f.data,0===f.head.ret?r.push(h):a.push(h);case 17:i=!1,e.next=7;break;case 20:e.next=26;break;case 22:e.prev=22,e.t0=e.catch(5),o=!0,s=e.t0;case 26:if(e.prev=26,e.prev=27,!i||null==u.return){e.next=31;break}return e.next=31,u.return();case 31:if(e.prev=31,!o){e.next=34;break}throw s;case 34:return e.finish(31);case 35:return e.finish(26);case 36:return e.abrupt("return",{successUrls:r,failUrls:a});case 37:case"end":return e.stop()}}),e,this,[[5,22,26,36],[27,,31,35]])}))),function(e){return b.apply(this,arguments)})},{key:"initFileSize",value:(y=u(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n.fileInfo.size||0===n.fileInfo.size){e.next=9;break}return e.t0=a,e.t1=a({},n.fileInfo),e.t2={},e.next=6,this.getFileSize(t);case 6:e.t3=e.sent,e.t4={size:e.t3},n.fileInfo=(0,e.t0)(e.t1,e.t2,e.t4);case 9:case"end":return e.stop()}}),e,this)}))),function(e,t){return y.apply(this,arguments)})},{key:"_formSubmit",value:function(e,t,n){var r=this;function a(){var r,a=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1e4,o=this.options.domain,s=this._buildParams(n),c=s.url,p="".concat(o).concat(o.endsWith("/")?"":"/").concat(s.key),l={data:p,head:{ret:0,msg:"success"},fileInfo:n},f={data:n.name,head:{ret:1,msg:"fail"},fileInfo:n};d.HUAWEI===this.options.type&&(delete s.name,delete s.url,delete s.success_action_status);try{uni.uploadFile({url:c,filePath:n.path,name:"file",formData:s,timeout:i,success:(r=u(regeneratorRuntime.mark((function n(r){var i;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(200!=(i=r.statusCode)&&(d.HUAWEI!==a.options.type||204!=i)){n.next=8;break}return n.next=5,a.initFileSize(p,l);case 5:e(l),n.next=10;break;case 8:f.head.msg=r,t(f);case 10:case"end":return n.stop()}}),n)}))),function(e){return r.apply(this,arguments)}),fail:function(e){console.log(e),t(e)}})}catch(r){console.log("uni报错,调用XMLHttpRequest",r);var h=new FormData;Object.keys(s).forEach((function(e){h.append(e,s[e])})),h.append("file",n);var m=new XMLHttpRequest;m.timeout=this.options.uploadTimeOut||1e4,m.open("POST",c,!0),m.onreadystatechange=u(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(m.readyState!==XMLHttpRequest.DONE){n.next=8;break}if(200!=m.status&&(d.HUAWEI!==a.options.type||204!=m.status)){n.next=7;break}return n.next=4,a.initFileSize(p,l);case 4:e(l),n.next=8;break;case 7:t(f);case 8:case"end":return n.stop()}}),n)}))),m.send(h)}}console.log("表单上传",n);try{uni.getFileInfo({filePath:n.path,success:function(e){var t=Math.round(e.size/2e3)+parseInt(r.options.uploadTimeOut||1e4);console.log("上传文件大小",e.size,t),a.call(r,t)},fail:function(e){console.log("获取文件信息失败",e),t(e)}})}catch(e){a.call(this)}}},{key:"getFileSize",value:(g=u(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e){uni.request({url:t,method:"HEAD",success:function(t){e(Number("".concat(t.header["Content-Length"]||0)))},fail:function(t){e(0)}})})));case 1:case"end":return e.stop()}}),e)}))),function(e){return g.apply(this,arguments)})},{key:"_apiSubmit",value:(m=u(regeneratorRuntime.mark((function n(r,a,i){var o,s,u,c,p,f,h,m,d,g,y,b,v,x,k,w,O;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return c=function(){return l((function(){return uni.uploadFile({url:s.api,filePath:i.path,name:"file",timeout:u||1e4})}),(function(e){var n=t(e,2)[1]||{},r=n.errMsg;return n.data,"uploadFile:ok"===r}),5,500,"api接口上传")},console.log("api接口上传"),o=this.options,s=o.ossFailedApiOption,u=o.uploadTimeOut,p={data:"",head:{ret:0,msg:"success"},fileInfo:i},f={data:i.name,head:{ret:1,msg:"fail"},fileInfo:i},n.prev=5,n.next=8,c();case 8:if(h=n.sent,m=t(h,2),"object"!==e(d=m[1])&&a(f),y=(g=d||{}).errMsg,b=g.data,y&&"uploadFile:ok"===y||(f.head.msg=y,a(f)),v=JSON.parse(b),x=v.data,k=v.head,w=(k=void 0===k?{}:k).ret,O=k.msg,w===s.successRetCode){n.next=22;break}f.head.msg=O,a(f),n.next=26;break;case 22:return p.data=x.url,n.next=25,this.initFileSize(x.url,p);case 25:r(p);case 26:n.next=31;break;case 28:n.prev=28,n.t0=n.catch(5),a(n.t0);case 31:case"end":return n.stop()}}),n,this,[[5,28]])}))),function(e,t,n){return m.apply(this,arguments)})},{key:"_putSubmit",value:(p=u(regeneratorRuntime.mark((function e(t,n,r){var a,i,o,s,c,p,l,m,d,g,y,b,v,x,k,w,O,P=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("腾讯put上传"),a=this.options,i=a.domain,o=a.ossFailedApiOption,s=this._buildParams(r),c=s.url+"/"+s.key,p=JSON.stringify({is_pic_info:1,rules:[{fileid:"/"+s.key,rule:"imageMogr2/format/webp"}]}),l={httpMethodName:"PUT",resoucePath:"/"+s.key,storage:this.params.type,headerMap:{"Pic-Operations":p}},m={},e.prev=7,console.log("获取权限信息"),e.next=11,this.getAuthInfoFunc(l);case 11:if(m=e.sent,console.log("获取权限结果",m),m.content){e.next=15;break}return e.abrupt("return",this._apiSubmit(t,n,r));case 15:e.next=21;break;case 17:return e.prev=17,e.t0=e.catch(7),console.log("获取权限失败",e.t0),e.abrupt("return",this._apiSubmit(t,n,r));case 21:if(d=m?m.content:""){e.next=24;break}return e.abrupt("return",n(b));case 24:g="".concat(i).concat(i.endsWith("/")?"":"/").concat(s.key),y={data:g,head:{ret:0,msg:"success"},fileInfo:r},b={data:r.name,head:{ret:1,msg:"fail"},fileInfo:r},v=function(){var e=u(regeneratorRuntime.mark((function e(a){var i,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,i=a,!f(a)){e.next=6;break}return e.next=5,h(r);case 5:i=e.sent;case 6:console.log("上传数据",i),uni.request({url:c,method:"PUT",data:i,header:{Authorization:d,"Pic-Operations":p},timeout:P.options.uploadTimeOut||1e4,success:function(){var e=u(regeneratorRuntime.mark((function e(a){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(console.log("上传结果",a),200!=a.statusCode){e.next=8;break}return e.next=5,P.initFileSize(g,y);case 5:t(y),e.next=9;break;case 8:o?P._apiSubmit(t,n,r):(b.head.msg=a,n(b));case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),fail:function(e){console.log("上传失败",o),o?P._apiSubmit(t,n,r):(console.log(e),n(e))}}),e.next=19;break;case 10:e.prev=10,e.t0=e.catch(0),console.log("web环境"),(s=new XMLHttpRequest).open("PUT",c,!0),s.setRequestHeader("Authorization",d),s.setRequestHeader("Pic-Operations",p),s.onreadystatechange=u(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s.readyState!==XMLHttpRequest.DONE){e.next=8;break}if(200!==s.status){e.next=7;break}return e.next=4,P.initFileSize(g,y);case 4:t(y),e.next=8;break;case 7:n(b);case 8:case"end":return e.stop()}}),e)}))),s.send(a);case 19:case"end":return e.stop()}}),e,null,[[0,10]])})));return function(t){return e.apply(this,arguments)}}(),e.prev=28,console.log("微信环境"),x=uni.getFileSystemManager(),k=x.readFileSync(r.path),v(k),e.next=48;break;case 35:if(e.prev=35,e.t1=e.catch(28),console.log("H5环境"),!r.type){e.next=42;break}v(r),e.next=48;break;case 42:return e.next=44,fetch(r.path).then((function(e){return e.blob()}));case 44:w=e.sent,(O=new FileReader).onload=function(){v(O.result)},O.readAsArrayBuffer(w);case 48:case"end":return e.stop()}}),e,this,[[7,17],[28,35]])}))),function(e,t,n){return p.apply(this,arguments)})},{key:"_fileIsPic",value:function(e){var t=e.substring(e.lastIndexOf(".")+1);return["png","jpg","jpeg","gif","bmp","webp","avif","heif","tpg","psd"].includes(t.toLowerCase())}},{key:"_buildParams",value:function(e){var t=this.options,n=t.type;e.name||(e.name=this._guid()+".png");var r={name:e.name,policy:t.policy,success_action_status:"200",key:this._getUploadFilePath(e.name)},a=t.endPoint.replace("https://","").replace("http://","");return d.TXYUN===n?(r["q-ak"]=t.accessKeyId,r["q-signature"]=t.signature,r["q-sign-algorithm"]="sha1",r["q-key-time"]=t.param["q-sign-time"],r.url="https://".concat(t.bucketName,".cos.").concat(a,".myqcloud.com")):d.HUAWEI===n?(r.AccessKeyId=t.accessKeyId,r.signature=t.signature,r.url="https://".concat(t.bucketName,".").concat(a),r.policy=t.policy):(r.signature=t.signature,r.OSSAccessKeyId=t.accessKeyId,r.bucket=t.bucketName,r.url="https://".concat(t.bucketName,".").concat(a)),r}},{key:"_getUploadFilePath",value:function(e){var t=this.options,n=t.useOriginalName,r=t.path,a=t.uploadPathSuffix,i=void 0===a?"":a,o=t.uploadFileNamePrefix,s=void 0===o?"":o,u=e.lastIndexOf("."),c=e.substring(0,u),p=e.substring(u+1),l=n?"/".concat(c):"",f="".concat(i).concat(s);return"".concat(r).concat(this._getNowDate(),"/").concat(f).concat(this._guid()).concat(l,".").concat(p)}},{key:"_getNowDate",value:function(){var e=new Date,t=e.getFullYear(),n=e.getMonth()+1,r=e.getDate();return n<10&&(n="0".concat(n)),r<10&&(r="0".concat(r)),"".concat(t).concat(n).concat(r)}},{key:"_guid",value:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))}}],i&&o(r.prototype,i),s&&o(r,s),Object.defineProperty(r,"prototype",{writable:!1}),n}();exports.DEFAULT_OPTIONS={},exports.SadaisUploader=y,exports.UPLOADER_TYPE=d,exports.UploaderInstance=g;
|
|
1
|
+
"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,a,o=[],i=!0,s=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);i=!0);}catch(e){s=!0,a=e}finally{try{i||null==n.return||n.return()}finally{if(s)throw a}}return o}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return n(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function s(e,t,n,r,a,o,i){try{var s=e[o](i),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(r,a)}function u(e){return function(){var t=this,n=arguments;return new Promise((function(r,a){var o=e.apply(t,n);function i(e){s(o,r,a,i,u,"next",e)}function u(e){s(o,r,a,i,u,"throw",e)}i(void 0)}))}}function c(e){var t,n,r,a=2;for("undefined"!=typeof Symbol&&(n=Symbol.asyncIterator,r=Symbol.iterator);a--;){if(n&&null!=(t=e[n]))return t.call(e);if(r&&null!=(t=e[r]))return new p(t.call(e));n="@@asyncIterator",r="@@iterator"}throw new TypeError("Object is not async iterable")}function p(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return p=function(e){this.s=e,this.n=e.next},p.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var n=this.s.return;return void 0===n?Promise.resolve({value:e,done:!0}):t(n.apply(this.s,arguments))},throw:function(e){var n=this.s.return;return void 0===n?Promise.reject(e):t(n.apply(this.s,arguments))}},new p(e)}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1e3,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",o=n;return new Promise((function(n,i){var s=function(){var c=u(regeneratorRuntime.mark((function u(){var c;return regeneratorRuntime.wrap((function(u){for(;;)switch(u.prev=u.next){case 0:return u.prev=0,u.next=3,e();case 3:return c=u.sent,u.next=6,t(c);case 6:!u.sent&&o>0?(o--,console.log(a,"重试次数减少,剩余次数:",o),setTimeout(s,r)):(console.log(a,"返回结果:",c),n(c)),u.next=13;break;case 10:u.prev=10,u.t0=u.catch(0),o>0?(o--,console.log(a,"异常重试次数减少,剩余次数:",o),setTimeout(s,r)):(console.log(a,"重试次数已用完,错误信息:",u.t0),i(u.t0));case 13:case"end":return u.stop()}}),u,null,[[0,10]])})));return function(){return c.apply(this,arguments)}}();s()}))}function f(e){return e&&e.size}function h(e){return new Promise((function(t,n){var r=new FileReader;e.name,r.readAsArrayBuffer(e),r.addEventListener("loadend",(function(e){var n=e.target.result;t(n)}),!1)}))}Object.defineProperty(exports,"__esModule",{value:!0});var m,d={ALIYUN:"ALIYUN",TXYUN:"TXYUN",HUAWEI:"HUAWEI"},g=function(e){return m||(m=new y(e)),m},y=function(){function n(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),this._init(e)}var r,o,s,p,m,g,y,b,v,x,k,w,O;return r=n,o=[{key:"_init",value:(O=u(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.params=t;case 1:case"end":return e.stop()}}),e,this)}))),function(e){return O.apply(this,arguments)})},{key:"initOptions",value:(w=u(regeneratorRuntime.mark((function e(t){var n,r,o,i,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.params||(this.params={}),!t){e.next=3;break}return e.abrupt("return",this.params=a(a({},this.params),t));case 3:if((n=this.params).type,r=n.getOptionFun,o=n.path,i=n.getAuthInfoFunc,n.isUploadWebp,n.ossFailedApiOption,this.getAuthInfoFunc=i,this.options=a({},this.params),!r){e.next=15;break}return e.next=9,this._initOptionFun();case 9:if(s=e.sent){e.next=12;break}return e.abrupt("return");case 12:(o=s.path||o)&&!o.endsWith("/")&&(s.path=o+"/"),this.options=a(a({},this.options),s);case 15:case"end":return e.stop()}}),e,this)}))),function(e){return w.apply(this,arguments)})},{key:"_initOptionFun",value:(k=u(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",l((function(){return t.params.getOptionFun(t.params.type)}),(function(e){return e.endPoint}),5,300,"oss 初始化"));case 1:case"end":return e.stop()}}),e)}))),function(){return k.apply(this,arguments)})},{key:"_isTimeOut",value:function(){var e=this.options.timeOut-1e4;return(new Date).getTime()>e}},{key:"upload",value:(x=u(regeneratorRuntime.mark((function e(t){var n,r,a,o,i,s,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return");case 2:n=Array.isArray(t)?t:[t],r=[],a=0;case 5:if(!(a<n.length)){e.next=16;break}return o=n[a],e.next=9,this.uploadFile(o);case 9:i=e.sent,s=i.data,u=i.head,r.push({index:a,url:s,ret:u.ret});case 13:a++,e.next=5;break;case 16:return e.abrupt("return",r);case 17:case"end":return e.stop()}}),e,this)}))),function(e){return x.apply(this,arguments)})},{key:"uploadFile",value:(v=u(regeneratorRuntime.mark((function e(n){var r,o,i,s,u,c,p,l,h,m=this,g=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=g.length>1&&void 0!==g[1]?g[1]:{},e.prev=1,e.next=4,uni.getNetworkType();case 4:if(o=e.sent,i=t(o,2),s=i[1],!["none","offline"].includes(s.networkType)){e.next=10;break}return uni.showToast({icon:"none",title:"网络异常,请检查网络",duration:3e3}),e.abrupt("return");case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(1),console.log(e.t0);case 15:if(this.options&&this.options.endPoint&&!this._isTimeOut()){e.next=19;break}return console.log("初始化 oss 开始"),e.next=19,this.initOptions();case 19:return console.log("sadais uploader 上传文件内容",n),n=!f(n)&&f(n.path)?n.path:n,u=r.tempKeys||[],this.options=a(a({},this.options),r),console.log("当前上传配置信息",this.options),!n.name&&n.path&&(c=n.path.startsWith("blob"),p=n.path.startsWith("data"),l=c||p?".png":n.path.substring(n.path.lastIndexOf(".")),n.name=this._guid()+l),e.next=27,new Promise((function(e,t){m.options.endPoint?m.options.isUploadWebp&&d.TXYUN==m.params.type&&m._fileIsPic(n.name)?m._putSubmit(e,t,n):m._formSubmit(e,t,n):(console.log("oss 初始化失败,走接口上传"),m._apiSubmit(e,t,n,{errorType:"ossInit:fail",errorInfo:m.options}))}));case 27:return h=e.sent,u&&u.length>0&&(u.forEach((function(e){return delete m.options[e]})),delete this.options.tempKeys,console.log("已清除了配置",u)),e.abrupt("return",h);case 30:case"end":return e.stop()}}),e,this,[[1,12]])}))),function(e){return v.apply(this,arguments)})},{key:"uploadFiles",value:(b=u(regeneratorRuntime.mark((function e(t){var n,r,a,o,i,s,u,p,l,f,h,m=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=m.length>1&&void 0!==m[1]?m[1]:{},r=[],a=[],o=!1,i=!1,e.prev=5,u=c(t);case 7:return e.next=9,u.next();case 9:if(!(o=!(p=e.sent).done)){e.next=20;break}return l=p.value,e.next=13,this.uploadFile(l,n);case 13:f=e.sent,h=f.data,0===f.head.ret?r.push(h):a.push(h);case 17:o=!1,e.next=7;break;case 20:e.next=26;break;case 22:e.prev=22,e.t0=e.catch(5),i=!0,s=e.t0;case 26:if(e.prev=26,e.prev=27,!o||null==u.return){e.next=31;break}return e.next=31,u.return();case 31:if(e.prev=31,!i){e.next=34;break}throw s;case 34:return e.finish(31);case 35:return e.finish(26);case 36:return e.abrupt("return",{successUrls:r,failUrls:a});case 37:case"end":return e.stop()}}),e,this,[[5,22,26,36],[27,,31,35]])}))),function(e){return b.apply(this,arguments)})},{key:"initFileSize",value:(y=u(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n.fileInfo.size||0===n.fileInfo.size){e.next=9;break}return e.t0=a,e.t1=a({},n.fileInfo),e.t2={},e.next=6,this.getFileSize(t);case 6:e.t3=e.sent,e.t4={size:e.t3},n.fileInfo=(0,e.t0)(e.t1,e.t2,e.t4);case 9:case"end":return e.stop()}}),e,this)}))),function(e,t){return y.apply(this,arguments)})},{key:"_formSubmit",value:function(e,t,n){var r=this;function a(){var r,a=this,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1e4,i=this.options.domain,s=this._buildParams(n),c=s.url,p="".concat(i).concat(i.endsWith("/")?"":"/").concat(s.key),l={data:p,head:{ret:0,msg:"success"},fileInfo:n},f={data:n.name,head:{ret:1,msg:"fail"},fileInfo:n};d.HUAWEI===this.options.type&&(delete s.name,delete s.url,delete s.success_action_status);try{uni.uploadFile({url:c,filePath:n.path,name:"file",formData:s,timeout:o,success:(r=u(regeneratorRuntime.mark((function n(r){var o;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(200!=(o=r.statusCode)&&(d.HUAWEI!==a.options.type||204!=o)){n.next=8;break}return n.next=5,a.initFileSize(p,l);case 5:e(l),n.next=10;break;case 8:f.head.msg=r,t(f);case 10:case"end":return n.stop()}}),n)}))),function(e){return r.apply(this,arguments)}),fail:function(e){console.log(e),t(e)}})}catch(r){console.log("uni报错,调用XMLHttpRequest",r);var h=new FormData;Object.keys(s).forEach((function(e){h.append(e,s[e])})),h.append("file",n);var m=new XMLHttpRequest;m.timeout=this.options.uploadTimeOut||1e4,m.open("POST",c,!0),m.onreadystatechange=u(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(m.readyState!==XMLHttpRequest.DONE){n.next=8;break}if(200!=m.status&&(d.HUAWEI!==a.options.type||204!=m.status)){n.next=7;break}return n.next=4,a.initFileSize(p,l);case 4:e(l),n.next=8;break;case 7:t(f);case 8:case"end":return n.stop()}}),n)}))),m.send(h)}}console.log("表单上传",n);try{uni.getFileInfo({filePath:n.path,success:function(e){var t=Math.round(e.size/2e3)+parseInt(r.options.uploadTimeOut||1e4);console.log("上传文件大小",e.size,t),a.call(r,t)},fail:function(e){console.log("获取文件信息失败",e),t(e)}})}catch(e){a.call(this)}}},{key:"getFileSize",value:(g=u(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e){uni.request({url:t,method:"HEAD",success:function(t){e(Number("".concat(t.header["Content-Length"]||0)))},fail:function(t){e(0)}})})));case 1:case"end":return e.stop()}}),e)}))),function(e){return g.apply(this,arguments)})},{key:"_apiSubmit",value:(m=u(regeneratorRuntime.mark((function n(r,o,i){var s,u,c,p,f,h,m,d,g,y,b,v,x,k,w,O,P,S,I=arguments;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return f=function(){return l((function(){return uni.uploadFile({url:c.api,filePath:i.path,name:"file",timeout:p||1e4})}),(function(e){var n=t(e,2)[1]||{},r=n.errMsg;return n.data,"uploadFile:ok"===r}),5,500,"api接口上传")},s=I.length>3&&void 0!==I[3]?I[3]:{},console.log("api接口上传"),u=this.options,c=u.ossFailedApiOption,p=u.uploadTimeOut,h={data:"",head:{ret:0,msg:"success"},fileInfo:i,extraParams:s},m={data:i.name,head:{ret:1,msg:"fail"},fileInfo:i,extraParams:s},n.prev=6,n.next=9,f();case 9:if(d=n.sent,g=t(d,2),"object"!==e(y=g[1])&&o(m),v=(b=y||{}).errMsg,x=b.data,v&&"uploadFile:ok"===v||(m.head.msg=v,o(m)),k=JSON.parse(x),w=k.data,O=k.head,P=(O=void 0===O?{}:O).ret,S=O.msg,P===c.successRetCode){n.next=23;break}m.head.msg=S,o(m),n.next=27;break;case 23:return h.data=w.url,n.next=26,this.initFileSize(w.url,h);case 26:r(h);case 27:n.next=32;break;case 29:n.prev=29,n.t0=n.catch(6),o(a(a({},n.t0||{}),{},{errorType:"apiSubmit:error",extraParams:s}));case 32:case"end":return n.stop()}}),n,this,[[6,29]])}))),function(e,t,n){return m.apply(this,arguments)})},{key:"_putSubmit",value:(p=u(regeneratorRuntime.mark((function e(t,n,r){var a,o,i,s,c,p,l,m,d,g,y,b,v,x,k,w,O,P=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("腾讯put上传"),a=this.options,o=a.domain,i=a.ossFailedApiOption,s=this._buildParams(r),c=s.url+"/"+s.key,p=JSON.stringify({is_pic_info:1,rules:[{fileid:"/"+s.key,rule:"imageMogr2/format/webp"}]}),l={httpMethodName:"PUT",resoucePath:"/"+s.key,storage:this.params.type,headerMap:{"Pic-Operations":p}},m={},e.prev=7,console.log("获取权限信息"),e.next=11,this.getAuthInfoFunc(l);case 11:if(m=e.sent,console.log("获取权限结果",m),m.content){e.next=15;break}return e.abrupt("return",this._apiSubmit(t,n,r,{errorType:"getAuthInfo:fail",errorInfo:m}));case 15:e.next=21;break;case 17:return e.prev=17,e.t0=e.catch(7),console.log("获取权限失败",e.t0),e.abrupt("return",this._apiSubmit(t,n,r,{errorType:"getAuthInfo:error",errorInfo:e.t0}));case 21:if(d=m?m.content:""){e.next=24;break}return e.abrupt("return",n(b));case 24:g="".concat(o).concat(o.endsWith("/")?"":"/").concat(s.key),y={data:g,head:{ret:0,msg:"success"},fileInfo:r},b={data:r.name,head:{ret:1,msg:"fail"},fileInfo:r},v=function(){var e=u(regeneratorRuntime.mark((function e(a){var o,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,o=a,!f(a)){e.next=6;break}return e.next=5,h(r);case 5:o=e.sent;case 6:console.log("上传数据",o),uni.request({url:c,method:"PUT",data:o,header:{Authorization:d,"Pic-Operations":p},timeout:P.options.uploadTimeOut||1e4,success:function(){var e=u(regeneratorRuntime.mark((function e(a){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(console.log("上传结果",a),200!=a.statusCode){e.next=8;break}return e.next=5,P.initFileSize(g,y);case 5:t(y),e.next=9;break;case 8:i?P._apiSubmit(t,n,r,{errorType:"putSubmit:success",errorInfo:a}):(b.head.msg=a,n(b));case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),fail:function(e){console.log("上传失败",i),i?P._apiSubmit(t,n,r,{errorType:"putSubmit:fail",errorInfo:e}):(console.log(e),n(e))}}),e.next=19;break;case 10:e.prev=10,e.t0=e.catch(0),console.log("web环境"),(s=new XMLHttpRequest).open("PUT",c,!0),s.setRequestHeader("Authorization",d),s.setRequestHeader("Pic-Operations",p),s.onreadystatechange=u(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s.readyState!==XMLHttpRequest.DONE){e.next=8;break}if(200!==s.status){e.next=7;break}return e.next=4,P.initFileSize(g,y);case 4:t(y),e.next=8;break;case 7:n(b);case 8:case"end":return e.stop()}}),e)}))),s.send(a);case 19:case"end":return e.stop()}}),e,null,[[0,10]])})));return function(t){return e.apply(this,arguments)}}(),e.prev=28,console.log("微信环境"),x=uni.getFileSystemManager(),k=x.readFileSync(r.path),v(k),e.next=48;break;case 35:if(e.prev=35,e.t1=e.catch(28),console.log("H5环境"),!r.type){e.next=42;break}v(r),e.next=48;break;case 42:return e.next=44,fetch(r.path).then((function(e){return e.blob()}));case 44:w=e.sent,(O=new FileReader).onload=function(){v(O.result)},O.readAsArrayBuffer(w);case 48:case"end":return e.stop()}}),e,this,[[7,17],[28,35]])}))),function(e,t,n){return p.apply(this,arguments)})},{key:"_fileIsPic",value:function(e){var t=e.substring(e.lastIndexOf(".")+1);return["png","jpg","jpeg","gif","bmp","webp","avif","heif","tpg","psd"].includes(t.toLowerCase())}},{key:"_buildParams",value:function(e){var t=this.options,n=t.type;e.name||(e.name=this._guid()+".png");var r={name:e.name,policy:t.policy,success_action_status:"200",key:this._getUploadFilePath(e.name)},a=t.endPoint.replace("https://","").replace("http://","");return d.TXYUN===n?(r["q-ak"]=t.accessKeyId,r["q-signature"]=t.signature,r["q-sign-algorithm"]="sha1",r["q-key-time"]=t.param["q-sign-time"],r.url="https://".concat(t.bucketName,".cos.").concat(a,".myqcloud.com")):d.HUAWEI===n?(r.AccessKeyId=t.accessKeyId,r.signature=t.signature,r.url="https://".concat(t.bucketName,".").concat(a),r.policy=t.policy):(r.signature=t.signature,r.OSSAccessKeyId=t.accessKeyId,r.bucket=t.bucketName,r.url="https://".concat(t.bucketName,".").concat(a)),r}},{key:"_getUploadFilePath",value:function(e){var t=this.options,n=t.useOriginalName,r=t.path,a=t.uploadPathSuffix,o=void 0===a?"":a,i=t.uploadFileNamePrefix,s=void 0===i?"":i,u=t.uploadLayer,c=void 0===u?"":u,p=e.lastIndexOf("."),l=e.substring(0,p),f=e.substring(p+1),h=n?"/".concat(l):"",m="".concat(o).concat(s),d=c?"".concat(c,"/"):"";return"".concat(r).concat(d).concat(this._getNowDate(),"/").concat(m).concat(this._guid()).concat(h,".").concat(f)}},{key:"_getNowDate",value:function(){var e=new Date,t=e.getFullYear(),n=e.getMonth()+1,r=e.getDate();return n<10&&(n="0".concat(n)),r<10&&(r="0".concat(r)),"".concat(t).concat(n).concat(r)}},{key:"_guid",value:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))}}],o&&i(r.prototype,o),s&&i(r,s),Object.defineProperty(r,"prototype",{writable:!1}),n}();exports.DEFAULT_OPTIONS={},exports.SadaisUploader=y,exports.UPLOADER_TYPE=d,exports.UploaderInstance=g;
|