@sadais/uploader 0.4.5 → 0.4.6
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 +54 -9
- package/dist/index.min.js +1 -1
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* @Author: fuwenlong
|
|
3
3
|
* @Date: 2022-01-14 14:22:39
|
|
4
|
-
* @LastEditTime: 2024-
|
|
4
|
+
* @LastEditTime: 2024-07-04 12:28:48
|
|
5
5
|
* @LastEditors: zhangzhenfei
|
|
6
6
|
* @Description: 文件上传
|
|
7
7
|
*/
|
|
@@ -17,7 +17,7 @@ const UPLOADER_TYPE = {
|
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
const DEFAULT_OPTIONS = {
|
|
20
|
-
// type: UPLOADER_TYPE.ALIYUN,
|
|
20
|
+
// type: UPLOADER_TYPE.ALIYUN,
|
|
21
21
|
// accessKeyId: 'LTAIXeOzClQBtKs3',
|
|
22
22
|
// bucketName: 'sadais-oss',
|
|
23
23
|
// endPoint: 'https://oss-cn-hangzhou.aliyuncs.com',
|
|
@@ -69,9 +69,10 @@ class SadaisUploader {
|
|
|
69
69
|
...customParams
|
|
70
70
|
})
|
|
71
71
|
}
|
|
72
|
-
let { type, getOptionFun, path, getAuthInfoFunc, isUploadWebp } =
|
|
72
|
+
let { type, getOptionFun, path, getAuthInfoFunc, isUploadWebp, ossFailedApiOption } =
|
|
73
|
+
this.params;
|
|
73
74
|
this.getAuthInfoFunc = getAuthInfoFunc;
|
|
74
|
-
this.options = { type, isUploadWebp };
|
|
75
|
+
this.options = { type, isUploadWebp, ossFailedApiOption };
|
|
75
76
|
if (getOptionFun) {
|
|
76
77
|
const options = await getOptionFun(type);
|
|
77
78
|
if (!options) return
|
|
@@ -200,6 +201,7 @@ class SadaisUploader {
|
|
|
200
201
|
filePath: file.path, // uni api提供的blob格式图片地址
|
|
201
202
|
name: 'file',
|
|
202
203
|
formData,
|
|
204
|
+
timeout: this.options.uploadTimeOut || 20000, // 默认20s
|
|
203
205
|
success: (res) => {
|
|
204
206
|
const { statusCode } = res;
|
|
205
207
|
if (statusCode == 200) {
|
|
@@ -223,6 +225,7 @@ class SadaisUploader {
|
|
|
223
225
|
});
|
|
224
226
|
data.append('file', file);
|
|
225
227
|
const xhr = new XMLHttpRequest();
|
|
228
|
+
xhr.timeout = this.options.uploadTimeOut || 20000; // 默认20s
|
|
226
229
|
xhr.open('POST', apiUrl, true);
|
|
227
230
|
xhr.onreadystatechange = () => {
|
|
228
231
|
if (xhr.readyState === XMLHttpRequest.DONE) {
|
|
@@ -237,9 +240,43 @@ class SadaisUploader {
|
|
|
237
240
|
}
|
|
238
241
|
}
|
|
239
242
|
|
|
243
|
+
async _apiSubmit(resolve, reject, file) {
|
|
244
|
+
console.log('api接口上传');
|
|
245
|
+
const { ossFailedApiOption } = this.options;
|
|
246
|
+
|
|
247
|
+
const success = {
|
|
248
|
+
data: '',
|
|
249
|
+
head: { ret: 0, msg: 'success' }
|
|
250
|
+
};
|
|
251
|
+
const error = {
|
|
252
|
+
data: file.name,
|
|
253
|
+
head: { ret: 1, msg: 'fail' }
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
const [, result] = await uni.uploadFile({
|
|
257
|
+
url: ossFailedApiOption.api,
|
|
258
|
+
filePath: file.path,
|
|
259
|
+
name: 'file'
|
|
260
|
+
});
|
|
261
|
+
|
|
262
|
+
const { errMsg, data: resData } = result || {};
|
|
263
|
+
if (!errMsg || errMsg !== 'uploadFile:ok') {
|
|
264
|
+
throw new Error(errMsg)
|
|
265
|
+
}
|
|
266
|
+
const { data, head: { ret, msg } = {} } = JSON.parse(resData);
|
|
267
|
+
|
|
268
|
+
if (ret !== ossFailedApiOption.successRetCode) {
|
|
269
|
+
error.head.msg = msg;
|
|
270
|
+
reject(error);
|
|
271
|
+
} else {
|
|
272
|
+
success.data = data.url;
|
|
273
|
+
resolve(success);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
240
277
|
// 腾讯put上传
|
|
241
278
|
async _putSubmit(resolve, reject, file) {
|
|
242
|
-
const { domain } = this.options;
|
|
279
|
+
const { domain, ossFailedApiOption } = this.options;
|
|
243
280
|
|
|
244
281
|
const formData = this._buildParams(file);
|
|
245
282
|
const apiUrl = formData.url + '/' + formData.key;
|
|
@@ -290,13 +327,21 @@ class SadaisUploader {
|
|
|
290
327
|
if (statusCode == 200) {
|
|
291
328
|
resolve(success);
|
|
292
329
|
} else {
|
|
293
|
-
|
|
294
|
-
|
|
330
|
+
if (ossFailedApiOption) {
|
|
331
|
+
this._apiSubmit(resolve, reject, file);
|
|
332
|
+
} else {
|
|
333
|
+
error.head.msg = res;
|
|
334
|
+
reject(error);
|
|
335
|
+
}
|
|
295
336
|
}
|
|
296
337
|
},
|
|
297
338
|
fail: (error) => {
|
|
298
|
-
|
|
299
|
-
|
|
339
|
+
if (ossFailedApiOption) {
|
|
340
|
+
this._apiSubmit(resolve, reject, file);
|
|
341
|
+
} else {
|
|
342
|
+
console.log(error);
|
|
343
|
+
reject(error);
|
|
344
|
+
}
|
|
300
345
|
}
|
|
301
346
|
});
|
|
302
347
|
} catch (e) {
|
package/dist/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function e(e,n){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,n){if(!e)return;if("string"==typeof e)return t(e,n);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 t(e,n)}(e))||n&&e&&"number"==typeof e.length){r&&(e=r);var a=0,i=function(){};return{s:i,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){u=!0,o=e},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw o}}}}function t(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 n(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 r(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function a(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,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 o(e){return function(){var t=this,n=arguments;return new Promise((function(r,a){var o=e.apply(t,n);function s(e){i(o,r,a,s,u,"next",e)}function u(e){i(o,r,a,s,u,"throw",e)}s(void 0)}))}}function s(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 u(e){return e&&e.size}Object.defineProperty(exports,"__esModule",{value:!0});var c,p={ALIYUN:"ALIYUN",TXYUN:"TXYUN",HUAWEI:"HUAWEI"},l=function(e){return c||(c=new f(e)),c},f=function(){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this._init(e)}var n,a,i,c,l,f,h,d,m;return n=t,a=[{key:"_init",value:(m=o(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 m.apply(this,arguments)})},{key:"initOptions",value:(d=o(regeneratorRuntime.mark((function e(t){var n,a,i,o,s,u,c;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=r(r({},this.params),t));case 3:if(n=this.params,a=n.type,i=n.getOptionFun,o=n.path,s=n.getAuthInfoFunc,u=n.isUploadWebp,this.getAuthInfoFunc=s,this.options={type:a,isUploadWebp:u},!i){e.next=15;break}return e.next=9,i(a);case 9:if(c=e.sent){e.next=12;break}return e.abrupt("return");case 12:(o=o||c.path)&&!o.endsWith("/")&&(c.path=o+"/"),this.options=r(r({},this.options),c);case 15:case"end":return e.stop()}}),e,this)}))),function(e){return d.apply(this,arguments)})},{key:"_isTimeOut",value:function(){var e=this.options.timeOut-1e4;return(new Date).getTime()>e}},{key:"upload",value:(h=o(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 h.apply(this,arguments)})},{key:"uploadFile",value:(f=o(regeneratorRuntime.mark((function e(t){var n,a,i,o,s=this,c=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=c.length>1&&void 0!==c[1]?c[1]:{},this.options&&!this._isTimeOut()){e.next=4;break}return e.next=4,this.initOptions();case 4:return console.log("sadais uploader 上传文件",t),t=!u(t)&&u(t.path)?t.path:t,this.options=r(r({},this.options),n),!t.name&&t.path&&(a=t.path.startsWith("blob"),i=t.path.startsWith("data"),o=a||i?".png":t.path.substring(t.path.lastIndexOf(".")),t.name=this._guid()+o),e.abrupt("return",new Promise((function(e,n){s.options.isUploadWebp&&p.TXYUN==s.params.type&&s._fileIsPic(t.name)?s._putSubmit(e,n,t):s._formSubmit(e,n,t)})));case 9:case"end":return e.stop()}}),e,this)}))),function(e){return f.apply(this,arguments)})},{key:"uploadFiles",value:(l=o(regeneratorRuntime.mark((function t(n){var r,a,i,o,s,u,c,p,l=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:r=l.length>1&&void 0!==l[1]?l[1]:{},a=[],i=[],o=e(n),t.prev=4,o.s();case 6:if((s=o.n()).done){t.next=16;break}return u=s.value,t.next=10,this.uploadFile(u,r);case 10:c=t.sent,p=c.data,0===c.head.ret?a.push(p):i.push(p);case 14:t.next=6;break;case 16:t.next=21;break;case 18:t.prev=18,t.t0=t.catch(4),o.e(t.t0);case 21:return t.prev=21,o.f(),t.finish(21);case 24:return t.abrupt("return",{successUrls:a,failUrls:i});case 25:case"end":return t.stop()}}),t,this,[[4,18,21,24]])}))),function(e){return l.apply(this,arguments)})},{key:"_formSubmit",value:function(e,t,n){console.log("表单上传");var r=this.options.domain,a=this._buildParams(n),i=a.url,o={data:"".concat(r).concat(r.endsWith("/")?"":"/").concat(a.key),head:{ret:0,msg:"success"}},s={data:n.name,head:{ret:1,msg:"fail"}};try{uni.uploadFile({url:i,filePath:n.path,name:"file",formData:a,success:function(n){200==n.statusCode?e(o):(s.head.msg=n,t(s))},fail:function(e){console.log(e),t(e)}})}catch(r){console.log("uni报错,调用XMLHttpRequest",r);var u=new FormData;Object.keys(a).forEach((function(e){u.append(e,a[e])})),u.append("file",n);var c=new XMLHttpRequest;c.open("POST",i,!0),c.onreadystatechange=function(){c.readyState===XMLHttpRequest.DONE&&(200===c.status?e(o):t(s))},c.send(u)}}},{key:"_putSubmit",value:(c=o(regeneratorRuntime.mark((function e(t,n,r){var a,i,o,s,u,c,p,l,f,h,d,m,y,g,b;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=this.options.domain,i=this._buildParams(r),o=i.url+"/"+i.key,s=JSON.stringify({is_pic_info:1,rules:[{fileid:"/"+i.key,rule:"imageMogr2/format/webp"}]}),u={httpMethodName:"PUT",resoucePath:"/"+i.key,storage:this.params.type,headerMap:{"Pic-Operations":s}},e.next=7,this.getAuthInfoFunc(u);case 7:if(c=e.sent,p=c?c.content:""){e.next=11;break}return e.abrupt("return",n(h));case 11:l="".concat(a).concat(a.endsWith("/")?"":"/").concat(i.key),f={data:l,head:{ret:0,msg:"success"}},h={data:r.name,head:{ret:1,msg:"fail"}},d=function(e){try{uni.request({url:o,method:"PUT",data:e,header:{Authorization:p,"Pic-Operations":s},success:function(e){200==e.statusCode?t(f):(h.head.msg=e,n(h))},fail:function(e){console.log(e),n(e)}})}catch(a){console.log("web环境");var r=new XMLHttpRequest;r.open("PUT",o,!0),r.setRequestHeader("Authorization",p),r.setRequestHeader("Pic-Operations",s),r.onreadystatechange=function(){r.readyState===XMLHttpRequest.DONE&&(200===r.status?t(f):n(h))},r.send(e)}},e.prev=15,console.log("微信环境"),m=uni.getFileSystemManager(),y=m.readFileSync(r.path),d(y),e.next=35;break;case 22:if(e.prev=22,e.t0=e.catch(15),console.log("H5环境"),!r.type){e.next=29;break}d(r),e.next=35;break;case 29:return e.next=31,fetch(r.path).then((function(e){return e.blob()}));case 31:g=e.sent,(b=new FileReader).onload=function(){d(b.result)},b.readAsArrayBuffer(g);case 35:case"end":return e.stop()}}),e,this,[[15,22]])}))),function(e,t,n){return c.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,r={name:e.name,policy:t.policy,success_action_status:"200",key:this._getUploadFilePath(e.name)},a=t.endPoint.replace("https://","").replace("http://","");return p.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")):p.HUAWEI===n?(r.AccessKeyId=t.accessKeyId,r.signature=t.signature,r.url="https://".concat(t.bucketName,".obs.").concat(a,".myhuaweicloud.com")):(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){this.params.type;var t=this.options,n=t.useOriginalName,r=t.path,a=e.lastIndexOf("."),i=e.substring(0,a),o=e.substring(a+1),s=n?"/".concat(i):"";return"".concat(r).concat(this._getNowDate(),"/").concat(this._guid()).concat(s,".").concat(o)}},{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)}))}}],a&&s(n.prototype,a),i&&s(n,i),Object.defineProperty(n,"prototype",{writable:!1}),t}();exports.DEFAULT_OPTIONS={},exports.UPLOADER_TYPE=p,exports.UploaderInstance=l;
|
|
1
|
+
"use strict";function e(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)||n(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 t(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=n(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var a=0,i=function(){};return{s:i,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return s=e.done,e},e:function(e){u=!0,o=e},f:function(){try{s||null==r.return||r.return()}finally{if(u)throw o}}}}function n(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}function r(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 a(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 i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(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 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,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 p(e){return e&&e.size}Object.defineProperty(exports,"__esModule",{value:!0});var l,f={ALIYUN:"ALIYUN",TXYUN:"TXYUN",HUAWEI:"HUAWEI"},h=function(e){return l||(l=new d(e)),l},d=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,a,o,s,l,h,d,m,y,g;return r=n,a=[{key:"_init",value:(g=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 g.apply(this,arguments)})},{key:"initOptions",value:(y=u(regeneratorRuntime.mark((function e(t){var n,r,a,o,s,u,c,p;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=i(i({},this.params),t));case 3:if(n=this.params,r=n.type,a=n.getOptionFun,o=n.path,s=n.getAuthInfoFunc,u=n.isUploadWebp,c=n.ossFailedApiOption,this.getAuthInfoFunc=s,this.options={type:r,isUploadWebp:u,ossFailedApiOption:c},!a){e.next=15;break}return e.next=9,a(r);case 9:if(p=e.sent){e.next=12;break}return e.abrupt("return");case 12:(o=o||p.path)&&!o.endsWith("/")&&(p.path=o+"/"),this.options=i(i({},this.options),p);case 15:case"end":return e.stop()}}),e,this)}))),function(e){return y.apply(this,arguments)})},{key:"_isTimeOut",value:function(){var e=this.options.timeOut-1e4;return(new Date).getTime()>e}},{key:"upload",value:(m=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 m.apply(this,arguments)})},{key:"uploadFile",value:(d=u(regeneratorRuntime.mark((function e(t){var n,r,a,o,s=this,u=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=u.length>1&&void 0!==u[1]?u[1]:{},this.options&&!this._isTimeOut()){e.next=4;break}return e.next=4,this.initOptions();case 4:return console.log("sadais uploader 上传文件",t),t=!p(t)&&p(t.path)?t.path:t,this.options=i(i({},this.options),n),!t.name&&t.path&&(r=t.path.startsWith("blob"),a=t.path.startsWith("data"),o=r||a?".png":t.path.substring(t.path.lastIndexOf(".")),t.name=this._guid()+o),e.abrupt("return",new Promise((function(e,n){s.options.isUploadWebp&&f.TXYUN==s.params.type&&s._fileIsPic(t.name)?s._putSubmit(e,n,t):s._formSubmit(e,n,t)})));case 9:case"end":return e.stop()}}),e,this)}))),function(e){return d.apply(this,arguments)})},{key:"uploadFiles",value:(h=u(regeneratorRuntime.mark((function e(n){var r,a,i,o,s,u,c,p,l=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=l.length>1&&void 0!==l[1]?l[1]:{},a=[],i=[],o=t(n),e.prev=4,o.s();case 6:if((s=o.n()).done){e.next=16;break}return u=s.value,e.next=10,this.uploadFile(u,r);case 10:c=e.sent,p=c.data,0===c.head.ret?a.push(p):i.push(p);case 14:e.next=6;break;case 16:e.next=21;break;case 18:e.prev=18,e.t0=e.catch(4),o.e(e.t0);case 21:return e.prev=21,o.f(),e.finish(21);case 24:return e.abrupt("return",{successUrls:a,failUrls:i});case 25:case"end":return e.stop()}}),e,this,[[4,18,21,24]])}))),function(e){return h.apply(this,arguments)})},{key:"_formSubmit",value:function(e,t,n){console.log("表单上传");var r=this.options.domain,a=this._buildParams(n),i=a.url,o={data:"".concat(r).concat(r.endsWith("/")?"":"/").concat(a.key),head:{ret:0,msg:"success"}},s={data:n.name,head:{ret:1,msg:"fail"}};try{uni.uploadFile({url:i,filePath:n.path,name:"file",formData:a,timeout:this.options.uploadTimeOut||2e4,success:function(n){200==n.statusCode?e(o):(s.head.msg=n,t(s))},fail:function(e){console.log(e),t(e)}})}catch(r){console.log("uni报错,调用XMLHttpRequest",r);var u=new FormData;Object.keys(a).forEach((function(e){u.append(e,a[e])})),u.append("file",n);var c=new XMLHttpRequest;c.timeout=this.options.uploadTimeOut||2e4,c.open("POST",i,!0),c.onreadystatechange=function(){c.readyState===XMLHttpRequest.DONE&&(200===c.status?e(o):t(s))},c.send(u)}}},{key:"_apiSubmit",value:(l=u(regeneratorRuntime.mark((function t(n,r,a){var i,o,s,u,c,p,l,f,h,d,m,y,g,b;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return console.log("api接口上传"),i=this.options.ossFailedApiOption,o={data:"",head:{ret:0,msg:"success"}},s={data:a.name,head:{ret:1,msg:"fail"}},t.next=6,uni.uploadFile({url:i.api,filePath:a.path,name:"file"});case 6:if(u=t.sent,c=e(u,2),p=c[1],f=(l=p||{}).errMsg,h=l.data,f&&"uploadFile:ok"===f){t.next=12;break}throw new Error(f);case 12:d=JSON.parse(h),m=d.data,y=d.head,g=(y=void 0===y?{}:y).ret,b=y.msg,g!==i.successRetCode?(s.head.msg=b,r(s)):(o.data=m.url,n(o));case 16:case"end":return t.stop()}}),t,this)}))),function(e,t,n){return l.apply(this,arguments)})},{key:"_putSubmit",value:(s=u(regeneratorRuntime.mark((function e(t,n,r){var a,i,o,s,u,c,p,l,f,h,d,m,y,g,b,v,x,k=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=this.options,i=a.domain,o=a.ossFailedApiOption,s=this._buildParams(r),u=s.url+"/"+s.key,c=JSON.stringify({is_pic_info:1,rules:[{fileid:"/"+s.key,rule:"imageMogr2/format/webp"}]}),p={httpMethodName:"PUT",resoucePath:"/"+s.key,storage:this.params.type,headerMap:{"Pic-Operations":c}},e.next=7,this.getAuthInfoFunc(p);case 7:if(l=e.sent,f=l?l.content:""){e.next=11;break}return e.abrupt("return",n(m));case 11:h="".concat(i).concat(i.endsWith("/")?"":"/").concat(s.key),d={data:h,head:{ret:0,msg:"success"}},m={data:r.name,head:{ret:1,msg:"fail"}},y=function(e){try{uni.request({url:u,method:"PUT",data:e,header:{Authorization:f,"Pic-Operations":c},success:function(e){200==e.statusCode?t(d):o?k._apiSubmit(t,n,r):(m.head.msg=e,n(m))},fail:function(e){o?k._apiSubmit(t,n,r):(console.log(e),n(e))}})}catch(r){console.log("web环境");var a=new XMLHttpRequest;a.open("PUT",u,!0),a.setRequestHeader("Authorization",f),a.setRequestHeader("Pic-Operations",c),a.onreadystatechange=function(){a.readyState===XMLHttpRequest.DONE&&(200===a.status?t(d):n(m))},a.send(e)}},e.prev=15,console.log("微信环境"),g=uni.getFileSystemManager(),b=g.readFileSync(r.path),y(b),e.next=35;break;case 22:if(e.prev=22,e.t0=e.catch(15),console.log("H5环境"),!r.type){e.next=29;break}y(r),e.next=35;break;case 29:return e.next=31,fetch(r.path).then((function(e){return e.blob()}));case 31:v=e.sent,(x=new FileReader).onload=function(){y(x.result)},x.readAsArrayBuffer(v);case 35:case"end":return e.stop()}}),e,this,[[15,22]])}))),function(e,t,n){return s.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,r={name:e.name,policy:t.policy,success_action_status:"200",key:this._getUploadFilePath(e.name)},a=t.endPoint.replace("https://","").replace("http://","");return f.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")):f.HUAWEI===n?(r.AccessKeyId=t.accessKeyId,r.signature=t.signature,r.url="https://".concat(t.bucketName,".obs.").concat(a,".myhuaweicloud.com")):(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){this.params.type;var t=this.options,n=t.useOriginalName,r=t.path,a=e.lastIndexOf("."),i=e.substring(0,a),o=e.substring(a+1),s=n?"/".concat(i):"";return"".concat(r).concat(this._getNowDate(),"/").concat(this._guid()).concat(s,".").concat(o)}},{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)}))}}],a&&c(r.prototype,a),o&&c(r,o),Object.defineProperty(r,"prototype",{writable:!1}),n}();exports.DEFAULT_OPTIONS={},exports.UPLOADER_TYPE=f,exports.UploaderInstance=h;
|