@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 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
- return new Promise((resolve, reject) => {
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(error);
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 { useOriginalName, path, uploadPathSuffix = '', uploadFileNamePrefix = '' } = this.options;
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sadais/uploader",
3
- "version": "0.5.16",
3
+ "version": "0.5.17",
4
4
  "main": "dist/index.min.js",
5
5
  "module": "dist/index.es.js",
6
6
  "keywords": [