"use strict";function _typeof(e){return _typeof="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},_typeof(e)}!function(e,t){"object"==("undefined"==typeof exports?"undefined":_typeof(exports))&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TTUploader={})}(void 0,function(e){function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,s=Array(t);i>>8;return U(~s>>>0)}var T=1000002,D=1001e3,q=1003e3,H=1005e3,R=r(function e(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};s(this,e),this.path=t.path,this.size=t.size,this.uploaderCtx=t.context,this.key=t.key,this.isDirect=t.isDirect,this.isImageBatchUpload=t.isImageBatchUpload,this.config=i},[{key:"start",value:function(e,t,i){if(this.successProcess=t,this.failProcess=i,this.sliceSize=this.size,this._st=Date.now(),this.uploaderCtx.priorInfo._supportCrc32)this.crc32();else{var s=this.uploaderCtx.tasks[this.key];this.successProcess(Object.assign(s,{crc32Array:[0],sliceSize:this.sliceSize,extra:{message:"Skip crc32 stage."},stage:1e3,type:"success",duration:Date.now()-this._st,totalDuration:Date.now()-this._st,isDirect:this.isDirect,isImageBatchUpload:this.isImageBatchUpload}))}}},{key:"crc32",value:function(){var e=this;this.isImageBatchUpload||(this.isDirect?this.getContentCrc32(this.path,0,this.size,function(t){e.success([t])},function(t){e.fail(t)}):(this.sliceSize=this.config.sliceSize,this.sliceFile(this.path,this.sliceSize)))}},{key:"sliceFile",value:function(e,t){for(var i=[],s=this.size,n=0,r=0;r419430400&&s-r<=5242880&&(r=s),i.push({start:n,end:r,crc32:0}),n=r;this.success(i)}},{key:"getContentCrc32",value:function(e,t,i,s,n){wx.getFileSystemManager().readFile({filePath:e,position:t,length:i-t,success:function(e){var t=0;try{t=j(e.data,0)}catch(e){return n({code:1000003,error:e.toString(),message:"Compute Crc32 value failed."})}s(t)},fail:function(e){n({code:1000001,error:e.errMsg||"",message:"Read file faild."})}})}},{key:"getCrc32Key",value:function(e,t){var i;return(i="[object Array]"===Object.prototype.toString.call(t)?v(t):[t]).push(e[0].crc32,e[e.length-1].crc32),i.join("_")}},{key:"success",value:function(e){var t=this.uploaderCtx,i=this.key,s=t.tasks[i],n=[],r=[];if(this.isImageBatchUpload)for(var o=0;o>>2]>>>24-r%4*8&255;t[s+r>>>2]|=o<<24-(s+r)%4*8}else for(var a=0;a>>2]=i[a>>>2];return this.sigBytes+=n,this},clamp:function(){var t=this.words,i=this.sigBytes;t[i>>>2]&=4294967295<<32-i%4*8,t.length=e.ceil(i/4)},clone:function(){var e=o.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],s=0;s>>2]>>>24-n%4*8&255;s.push((r>>>4).toString(16)),s.push((15&r).toString(16))}return s.join("")},parse:function(e){for(var t=e.length,i=[],s=0;s>>3]|=parseInt(e.substr(s,2),16)<<24-s%8*4;return new a.init(i,t/2)}},l=c.Latin1={stringify:function(e){for(var t=e.words,i=e.sigBytes,s=[],n=0;n>>2]>>>24-n%4*8&255;s.push(String.fromCharCode(r))}return s.join("")},parse:function(e){for(var t=e.length,i=[],s=0;s>>2]|=(255&e.charCodeAt(s))<<24-s%4*8;return new a.init(i,t)}},h=c.Utf8={stringify:function(e){try{return decodeURIComponent(escape(l.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return l.parse(unescape(encodeURIComponent(e)))}},d=r.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=h.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var i,s=this._data,n=s.words,r=s.sigBytes,o=this.blockSize,c=r/(4*o),u=(c=t?e.ceil(c):e.max((0|c)-this._minBufferSize,0))*o,l=e.min(4*u,r);if(u){for(var h=0;h>>7)^(p<<14|p>>>18)^p>>>3,v=u[f-2],y=(v<<15|v>>>17)^(v<<13|v>>>19)^v>>>10;u[f]=g+u[f-7]+y+u[f-16]}var m=s&n^s&r^n&r,k=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),_=d+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&l^~a&h)+c[f]+u[f];d=h,h=l,l=a,a=o+_|0,o=r,r=n,n=s,s=_+(k+m)|0}i[0]=i[0]+s|0,i[1]=i[1]+n|0,i[2]=i[2]+r|0,i[3]=i[3]+o|0,i[4]=i[4]+a|0,i[5]=i[5]+l|0,i[6]=i[6]+h|0,i[7]=i[7]+d|0},_doFinalize:function(){var t=this._data,i=t.words,s=8*this._nDataBytes,n=8*t.sigBytes;return i[n>>>5]|=128<<24-n%32,i[14+(n+64>>>9<<4)]=e.floor(s/4294967296),i[15+(n+64>>>9<<4)]=s,t.sigBytes=4*i.length,this._process(),this._hash},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=r._createHelper(l),t.HmacSHA256=r._createHmacHelper(l)}(Math),i.SHA256)}),N=(_(function(e,t){var i;e.exports=(i=E,void function(){var e=i,t=e.lib.Base,s=e.enc.Utf8;e.algo.HMAC=t.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=s.parse(t));var i=e.blockSize,n=4*i;t.sigBytes>n&&(t=e.finalize(t)),t.clamp();for(var r=this._oKey=t.clone(),o=this._iKey=t.clone(),a=r.words,c=o.words,u=0;u0&&void 0!==arguments[0]?arguments[0]:{};return Object.keys(e).map(function(t){return"".concat(t,"=").concat(encodeURIComponent(e[t]))}).join("&")},date:{iso8601:function(e){return void 0===e&&(e=M.date.getDate()),e.toISOString().replace(/\.\d{3}Z$/,"Z")}},getFileSuffix:function(e){if(e&&"[object String]"===Object.prototype.toString.call(e)){var t=e.lastIndexOf(".");if(t>0){var i="."+e.substring(t+1);if(i.length<=8)return i}}},formatUploadHeader:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1]?{"X-Upload-Storage-Mode":"gateway"}:{};return"[object Array]"===Object.prototype.toString.call(e)?e.forEach(function(e){e.Key&&e.Value&&(t[e.Key.toLowerCase()]=e.Value)}):"[object Object]"===Object.prototype.toString.call(e)&&Object.assign(t,e),"gateway"!==t["X-Storage-Mode"]&&"gateway"!==t["x-storage-mode"]||(t["X-Upload-Storage-Mode"]="gateway"),t},urlTemplate:function(e,t){var i;return t=t||{},Object.keys(t).forEach(function(s){i=new RegExp("{".concat(s,"}"),"g"),e=e.replace(i,t[s])}),e}},B=function(){try{var e;return!!(null===(e=wx)||void 0===e?void 0:e.getFileSystemManager()).readFile}catch(e){return!1}},$=["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id"],K=function(e){try{return encodeURIComponent(e).replace(/[^A-Za-z0-9_.~\-%]+/g,escape).replace(/[*]/g,function(e){return"%".concat(e.charCodeAt(0).toString(16).toUpperCase())})}catch(e){return""}},L=function(e){return Object.keys(e).sort().map(function(t){var i=e[t];if(null!=i){var s=K(t);if(s)return Array.isArray(i)?"".concat(s,"=").concat(i.map(K).sort().join("&".concat(s,"="))):"".concat(s,"=").concat(K(i))}}).filter(function(e){return e}).join("&")},V=r(function e(t,i,n){s(this,e),this.request=t,this.request.headers=t.headers||{},this.serviceName=i,n=n||{},this.signatureCache="boolean"!=typeof n.signatureCache||n.signatureCache,this.operation=n.operation,this.signatureVersion=n.signatureVersion,this.constant=n.isVolcengine?{algorithm:"HMAC-SHA256",v4Identifier:"request",dateHeader:"X-Date",tokenHeader:"x-security-token",contentSha256Header:"X-Content-Sha256",kDatePrefix:""}:{algorithm:"AWS4-HMAC-SHA256",v4Identifier:"aws4_request",dateHeader:"X-Amz-Date",tokenHeader:"x-amz-security-token",contentSha256Header:"X-Amz-Content-Sha256",kDatePrefix:"AWS4"},this.bodySha256=n.bodySha256},[{key:"addAuthorization",value:function(e,t){var i=this.iso8601(t).replace(/[:\-]|\.\d{3}/g,"");this.addHeaders(e,i),this.request.headers.Authorization=this.authorization(e,i)}},{key:"addHeaders",value:function(e,t){if(this.request.headers[this.constant.dateHeader]=t,e.sessionToken&&(this.request.headers[this.constant.tokenHeader]=e.sessionToken),this.request.body){var i=this.request.body;"string"!=typeof i&&(i=i instanceof URLSearchParams?i.toString():JSON.stringify(i)),this.request.headers[this.constant.contentSha256Header]=this.bodySha256||M.crypto.sha256(i).toString()}}},{key:"authorization",value:function(e,t){var i=[],s=this.credentialString(t);return i.push("".concat(this.constant.algorithm," Credential=").concat(e.accessKeyId,"/").concat(s)),i.push("SignedHeaders=".concat(this.signedHeaders())),i.push("Signature=".concat(this.signature(e,t))),i.join(", ")}},{key:"signature",value:function(e,t){var i=this.getSigningKey(e,t.substr(0,8),this.request.region,this.serviceName,this.signatureCache);return M.crypto.hmac(i,this.stringToSign(t),"hex")}},{key:"stringToSign",value:function(e){var t=[];return t.push(this.constant.algorithm),t.push(e),t.push(this.credentialString(e)),t.push(this.hexEncodedHash(this.canonicalString())),t.join("\n")}},{key:"canonicalString",value:function(){var e=[],t=this.request.pathname||"/";return e.push(this.request.method.toUpperCase()),e.push(t),e.push(L(this.request.params)||""),e.push("".concat(this.canonicalHeaders(),"\n")),e.push(this.signedHeaders()),e.push(this.hexEncodedBodyHash()),e.join("\n")}},{key:"canonicalHeaders",value:function(){var e=this,t=[];Object.keys(this.request.headers).forEach(function(i){t.push([i,e.request.headers[i]])}),t.sort(function(e,t){return e[0].toLowerCase()0&&(c=_.map(function(e){var t=e.Cloud,i=e.SessionKey,s=e.StoreInfos,n=e.UploadHeader,r=e.UploadHosts;return{Cloud:t,SessionKey:i,UploadHeader:n,StoreInfo:s[0],UploadHost:r[0]}}))}u=this.config.uploadHost?"https://".concat(this.config.uploadHost):"https://".concat(h[0]);var b=Object.assign(this.currFileCtx,{signature:null===(i=l[0])||void 0===i?void 0:i.Auth,type:"success",extra:{message:"prepare upload success"},stage:1001,oid:M.resolveUri(null===(s=l[0])||void 0===s?void 0:s.StoreUri),tosDomain:u,uploadHeader:M.formatUploadHeader(f,this.currFileCtx.gatewayUpload),sessionKey:d,res:t,duration:Date.now()-this._st,totalDuration:Date.now()-this._st+this.currFileCtx.totalDuration,fallbackStoreInfoList:c});return this.successProcess(b)}},{key:"fail",value:function(e){var t=d({type:"error",key:this.options.key,stage:1001},e);this.failProcess(t)}}]),X=r(function e(t,i){s(this,e),this.uploaderCtx=t.context,this.key=t.key,this.currFileCtx=this.uploaderCtx.tasks[this.key],this.config=i},[{key:"start",value:function(e,t,i){this.successProcess=t,this.failProcess=i,this._st=Date.now(),this.initUpload()}},{key:"initUpload",value:function(){var e=this,t=this.currFileCtx,i={oid:t.oid,tosDomain:t.tosDomain},s=M.urlTemplate("{tosDomain}/upload/v1/{oid}?uploadmode=part&phase=init",i),n=this.config.userId,r=t.uploadHeader;wx.request({method:"POST",url:s,timeout:this.config.uplaodTimeout,header:d({authorization:t.signature,"x-storage-u":n},r),success:function(t){var i,s=t.statusCode,n=t.data;2e3===(null==n?void 0:n.code)&&null!=n&&null!==(i=n.data)&&void 0!==i&&i.uploadid?e.success(n.data.uploadid):e.fail({statusCode:s,error:"Init phase failed.",message:n.message,code:n.code})},fail:function(t){e.fail({error:"Unknown network error when init",code:t.errno||1002e3,message:t.errMsg||"Unknown network error when init"})}})}},{key:"success",value:function(e){var t=this.currFileCtx,i=Object.assign(t,{uploadId:e,percent:0,type:"success",extra:{message:"Init upload success."},stage:1002,duration:Date.now()-this._st,totalDuration:Date.now()-this._st+t.totalDuration});this.successProcess(i)}},{key:"fail",value:function(e){var t=d({type:"error",key:this.key,stage:1002},e);this.failProcess(t)}}]),W=function(e){function t(e){var n;return s(this,t),(n=i(this,t)).crc32=e.crc32,n.url=e.url,n.uploadHeader=e.uploadHeader||{},n.oid=e.oid,n.signature=e.signature,n.timeout=e.timeout,n.uploadTask=null,n}return u(t,e),r(t,[{key:"upload",value:function(e){var t=this,i={url:this.url,filePath:e,name:decodeURIComponent(this.oid.split("/")[1]),header:d({Authorization:this.signature,"Content-CRC32":0===this.crc32?"Ignore":this.crc32},this.uploadHeader),timeout:this.timeout,success:function(e){var i=e.statusCode,s=e.data,n=e.header;try{s=JSON.parse(s)}catch(e){console.warn(e)}200===i&&2e3===s.code?t.success(s):t.fail({statusCode:i,error:"Upload failed, oid:".concat(t.oid),code:s.code,message:"".concat(s.message,".request log id:").concat(n["X-Tt-Logid"]||n["X-Upload-Request-Id"]),direct:!0})},fail:function(e){t.fail({error:"Upload failed, oid:".concat(t.oid),code:e.errno||q,message:e.errMsg,direct:!0})},complete:function(){t.uploadTask=null}};this.uploadTask=wx.uploadFile(i),this.uploadTask.onProgressUpdate(function(e){t.progress(e)})}},{key:"uploadSlice",value:function(e,t,i){var s=this,n={url:this.url,data:e,header:d({authorization:this.signature,"content-crc32":this.crc32,"content-type":"application/octet-stream"},this.uploadHeader),timeout:this.timeout,method:"POST",success:function(e){var n=e.statusCode,r=e.data,o=e.header;if(200===n&&2e3===r.code)s.success(t);else{var a=null;try{a=JSON.stringify(r.data)}catch(e){console.warn(e)}s.fail({statusCode:n,code:r.code||q,error:"".concat(a||"upload slice failed",", uploadId:").concat(i),message:"".concat(r.message,".request log id:").concat(o["X-Tt-Logid"]||o["X-Upload-Request-Id"]||o["x-tt-logid"]||o["x-upload-request-id"])})}},fail:function(e){s.fail({error:"upload slice failed, uploadId:".concat(i),code:e.errno||q,message:e.errMsg})},complete:function(){s.uploadTask.offProgressUpdate(),s.uploadTask=null}};this.uploadTask=wx.request(n)}},{key:"success",value:function(e){this.emit("success",e)}},{key:"fail",value:function(e){this.emit("error",e)}},{key:"progress",value:function(e){this.emit("progress",e)}},{key:"abort",value:function(){this.uploadTask&&this.uploadTask.abort()}}])}(b),G=r(function e(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};s(this,e),this.path=t.path,this.size=t.size,this.uploaderCtx=t.context,this.key=t.key,this.config=i,this.currFileCtx=this.uploaderCtx.tasks[this.key],this.finishSize=0,this.finishArr=[],this.uploadSliceCount=Number(i.uploadSliceCount)||3,this.percent=0},[{key:"start",value:function(e,t,i){this.failProcess=i,this.successProcess=t,this.crc32Array=this.currFileCtx.crc32Array,this.uploadSliceCount=this.uploadSliceCount>this.crc32Array.length?this.crc32Array.length:this.uploadSliceCount,this.lastIndex=0,this.uploading=[],this.uploadHandlers={},this.currFileCtx.useFallback&&(this.crc32Array.forEach(function(e){e.finished=!1,e.loaded=0,e.speed=0}),this.finishArr=[],this.finishSize=0),this._st=Date.now(),this.threadUpload()}},{key:"threadUpload",value:function(){if(!(this.uploading.length>=this.uploadSliceCount)){var e=this.lastIndex,t=this.crc32Array[e];if(t){if(t.finished){if(-1===this.finishArr.indexOf(t.start)&&(this.finishArr.push(t.start),this.finishArr.length===this.crc32Array.length))return this.stop(),void this.success()}else this.uploading.push(e),this.read(t,e);this.lastIndex++,this.threadUpload()}}}},{key:"read",value:function(e,t){var i=this;wx.getFileSystemManager().readFile({filePath:this.path,position:e.start,length:e.end-e.start,success:function(s){var n=0;try{n=j(s.data,0),e.crc32=n}catch(e){return i.fail(e)}i.upload(e,s.data,t)},fail:function(e){i.fail(e)}})}},{key:"upload",value:function(e,t,i){var s=this,n=e.crc32,r=this.currFileCtx,o=r.uploadId,a=r.oid,c=r.tosDomain,u=r.signature,l={part_number:i+1,uploadId:o,oid:a,tosDomain:c},h=M.urlTemplate("{tosDomain}/upload/v1/{oid}?uploadid={uploadId}&part_number={part_number}&phase=transfer",l),d=M.formatUploadHeader(r.uploadHeader,r.gatewayUpload),f=new W({crc32:n,url:h,uploadHeader:d,oid:a,signature:u,timeout:this.config.uploadTimeout});f.on("success",function(e){e.sliceIndex=i,s.fileSliceSuccess(e)}),f.on("error",function(e){1===s.currFileCtx.status&&(s.currFileCtx.userCanceled&&/abort/g.test(e.message)||s.fail(Object.assign(e,{sliceIndex:i})))}),f.uploadSlice(t,e,o),this.uploadHandlers["".concat(n,"_").concat(i)]=f}},{key:"fileSliceSuccess",value:function(e){var t=e.sliceIndex;if(-1===this.finishArr.indexOf(e.start)&&(this.finishArr.push(e.start),this.finishSize+=e.end-e.start),this.crc32Array[t].finished=!0,this.uploading.splice(this.uploading.indexOf(t),1),this.uploadHandlers[t]&&delete this.uploadHandlers[t],this.uploaderCtx.logger.send({key:this.key,stage:1003,type:"success",slice_index:t,extra:{message:"slice upload success"}},!0),1===this.currFileCtx.status){var i=Math.round(this.finishSize/this.size*100);if(this.percent=Math.max(this.percent,i),this.uploaderCtx._broadcast(w.PROGRESS,{percent:Math.min(this.percent,99),totalSize:this.size,sentSize:this.finishSize,key:this.key,oid:this.currFileCtx.oid,uploadId:this.currFileCtx.uploadId,sliceIndex:t+1}),this.finishArr.length>=this.crc32Array.length)return this.stop(),void this.success(e);this.threadUpload()}}},{key:"success",value:function(e){var t=Date.now()-this._st,i=Math.round(this.size/t),s=this.currFileCtx,n=Object.assign(s,{type:"success",stage:1003,percent:99,extra:{message:"upload all slice success."},speed:i,duration:t,totalDuration:Date.now()-this._st+s.totalDuration,isAllFinish:!0});this.successProcess(n)}},{key:"fail",value:function(e){this.stop();var t=d({type:"error",key:this.key,uploadId:this.currFileCtx.uploadId,oid:this.currFileCtx.oid,stage:1003},e);this.failProcess(t)}},{key:"stop",value:function(){Object.values(this.uploadHandlers).forEach(function(e){e&&e.abort&&e.abort()})}}]),Z=r(function e(t,i){s(this,e),this.uploaderCtx=t.context,this.key=t.key,this.currFileCtx=this.uploaderCtx.tasks[this.key],this.config=i},[{key:"start",value:function(e,t,i){this.successProcess=t,this.failProcess=i,this._st=Date.now(),this.mergeFile()}},{key:"mergeFile",value:function(){for(var e=this,t=this.currFileCtx,i={oid:t.oid,uploadId:t.uploadId,tosDomain:t.tosDomain},s=t.crc32Array,n="",r=0;r1&&void 0!==arguments[1]?arguments[1]:{};s(this,e),this.path=t.path,this.size=t.size,this.uploaderCtx=t.context,this.key=t.key,this.currentCtx=this.uploaderCtx.tasks[this.key],this.isImageBatchUpload=t.isImageBatchUpload,this.config=i,this.percent=0,this.totalBytesSent=0},[{key:"start",value:function(e,t,i){this.successProcess=t,this.failProcess=i,this.crc32Array=this.currentCtx.crc32Array,this.uploadHandlers={},this._st=Date.now(),this.upload()}},{key:"upload",value:function(){for(var e=this,t=this.crc32Array.length,i=0,s=0,n=this.currentCtx,r=0;r0&&(e.Functions=a),this.options.callbackArgs&&(e.CallbackArgs=this.options.callbackArgs)}this.config.accountId&&(n["X-Account-Id"]=this.config.accountId);var c=M.toQueryString(n),u=this.currFileCtx.proxyStsToken,l=u.AccessKeyID,h=u.AccessKeyId,d=u.SecretAccessKey,f=u.SessionToken,p={method:"POST",url:"".concat(s,"?").concat(c),timeout:this.config.gatewayTimeout,region:i,params:n,headers:{}};if(r===x){var g=Object.keys(e).map(function(t){return"[object Array]"===Object.prototype.toString.call(e[t])||"[object Object]"===Object.prototype.toString.call(e[t])?"".concat(t,"=").concat(encodeURIComponent(JSON.stringify(e[t]))):"".concat(t,"=").concat(encodeURIComponent(e[t]))}).join("&");p.headers["Content-Type"]="application/x-www-form-urlencoded",p.body=g}else p.headers["Content-Type"]="application/json",p.body=JSON.stringify(e);new V(p,r,{isVolcengine:!0}).addAuthorization({accessKeyId:h||l,secretAccessKey:d,sessionToken:f},new Date),wx.request({method:"POST",url:p.url,header:p.headers,data:p.body,success:function(e){var i,s,n,r,o,a=e.data,c=e.statusCode;200!==c||null!==(i=a.ResponseMetadata)&&void 0!==i&&i.Error?t.fail({statusCode:c,error:null===(s=a.ResponseMetadata)||void 0===s||null===(s=s.Error)||void 0===s?void 0:s.Code,message:"".concat(null===(n=a.ResponseMetadata)||void 0===n||null===(n=n.Error)||void 0===n?void 0:n.Message,",RequestId:").concat(null===(r=a.ResponseMetadata)||void 0===r?void 0:r.RequestId,"."),code:(null===(o=a.ResponseMetadata)||void 0===o||null===(o=o.Error)||void 0===o?void 0:o.CodeN)||H}):t.success(a.Result)},fail:function(e){t.fail({error:"Unknown network error when commit",code:e.errno||H,message:e.errMsg||"Unknown network error when commit"})}})}},{key:"success",value:function(e){var t;if(this.serviceName===S){var i=e.PluginResult,s=void 0===i?[]:i,n=e.Results,r=void 0===n?[]:n;try{t=r.map(function(e,t){return d(d({},e),s[t])})}catch(e){console.warn("[1005 error]:",e.toString())}}else t=e.Data;var o=Date.now()-this._st+this.currFileCtx.totalDuration,a=Object.assign(this.currFileCtx,{stage:1005,type:"success",percent:100,extra:{message:"upload successful"},uploadResult:t,duration:Date.now()-this._st,totalDuration:o,speed:Math.round(this.currFileCtx.fileSize/o)});this.successProcess(a)}},{key:"fail",value:function(e){var t=d({type:"error",key:this.options.key,stage:1005},e);this.failProcess(t)}}]),ee=function(e){function t(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2?arguments[2]:void 0,a=arguments.length>3?arguments[3]:void 0;return s(this,t),(n=i(this,t,[e])).tasks=e,n.config=r,n.uploaderCtx=o,n.key=a,n.currFileCtx=n.uploaderCtx.tasks[n.key],n.current=0,n.taskError={},n.retryTaskTime=r.retryTaskTime||3,n}return u(t,e),r(t,[{key:"addTask",value:function(e){this.tasks.push(e)}},{key:"start",value:function(){var e=this.tasks.shift();e&&(this.current=e.index,this.execTask(e))}},{key:"execTask",value:function(e){var t=this,i=e.key,s=this.uploaderCtx,n=s.tasks[i];if(n){var r=n.cacheTask;!n.useFallback&&r&&e.index>0&&e.index0?t.start():s._queueSuccess(i)},function(e){var s;if(n.useFallback=!1,O.TRANS.includes(n.stage)&&(null==n||null===(s=n.fallbackStoreInfoList)||void 0===s?void 0:s.length)>0){var r=n.fallbackStoreInfoList.shift();n.tosDomain="https://".concat(r.UploadHost),n.uploadHeader=M.formatUploadHeader(r.UploadHeader),n.oid=M.resolveUri(r.StoreInfo.StoreUri),n.signature=r.StoreInfo.Auth,n.SessionKey=r.SessionKey,n.UploadID=r.StoreInfo.UploadID,n.useFallback=!0;var o=t.uploaderCtx.taskList[i].findIndex(function(e){return 1001===e.stage});t.tasks=t.uploaderCtx.taskList[i].slice(o+1),t.uploaderCtx.logger.send(n,{type:"retryUseFallback",ex:"retry start from fallbackNodes."}),t.start()}else n.key=i,n.status=5,t.fail(e)}))}}},{key:"success",value:function(e){this.uploaderCtx._broadcast(e.stage,e),this.uploaderCtx.logger.send(e)}},{key:"fail",value:function(e){this.uploaderCtx._broadcast(w.ERROR,e),this.uploaderCtx.logger.send(e)}},{key:"cancel",value:function(e){var t=this.key,i=this.uploaderCtx.tasks[t].currentTask,s=this.uploaderCtx.tasks[t].isDirect?this.uploaderCtx.taskList[t][i-1]:this.uploaderCtx.taskList[t][i];e||(this.tasks=[]),s&&3===s.index&&s.context.stop()}},{key:"restart",value:function(){this.uploadList.forEach(function(e){e.cancel=!1}),this.start()}}])}(b);function te(e,t){var i={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(i[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(s=Object.getOwnPropertySymbols(e);n-1&&(o=(s=p(n.split("."),2))[0],n=s[1]),"os_version"!==n&&"mp_platform"!==n||(r="".concat(r)),o?("headers"===o&&(o="header"),"user"===o||"header"===o?t.env[o][n]=r:t.env.header.custom[n]=r):t.env.user.hasOwnProperty(n)?["user_type","ip_addr_id"].indexOf(n)>-1?t.env.user[n]=Number(r):["user_id","web_id","user_unique_id"].indexOf(n)>-1?t.env.user[n]=String(r):["user_is_auth","user_is_login"].indexOf(n)>-1?t.env.user[n]=Boolean(r):["device_id"].indexOf(n)>-1&&(t.env.user[n]=r):t.env.header.hasOwnProperty(n)?t.env.header[n]=r:t.env.header.custom[n]=r}})}},{key:"get",value:function(e){return e&&"env"!==e?"evtParams"===e?Object.assign({},this[e]):this.env.hasOwnProperty(e)?this.clone(this.env[e]):this.env.user.hasOwnProperty(e)?this.clone(this.env.user[e]):this.env.header.hasOwnProperty(e)?this.clone(this.env.header[e]):this.env.header.custom.hasOwnProperty(e)?this.clone(this.env.header.custom[e]):void 0:this.clone(this.env)}},{key:"compose",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=this.env,s=i.user,n=i.header,r=this.evtParams,o=e.map(function(e){return e.event&&!t.includes(e.event)&&r&&Object.keys(r).forEach(function(t){void 0===e.params[t]&&(e.params[t]=r[t])}),e.params=JSON.stringify(e.params),e});return this.clone({events:o,user:s,header:n})}},{key:"merge",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=this.compose(e,t);return i.local_time=Math.floor(he()/1e3),[i]}},{key:"clone",value:function(e){return ce(e)?JSON.parse(JSON.stringify(e)):e}}]),fe=r(function e(){s(this,e),this.domains=ie,this.init()},[{key:"init",value:function(){this.option={caller:"",log:!1,channel:"cn",report_channel:"cn",channel_domain:"",report_url:"",auto_report:!1,auto_profile:!1,profile_channel:"cn",enable_profile:!1,enable_ab_test:!1,ab_channel_domain:"",clear_ab_cache_on_user_change:!0,enable_et_test:!1,event_verify_url:"",enable_buffer:!1,buffer_interval:5e3,buffer_number:5,enable_storage_only:!1,enable_filter_list:!1,enable_third:!1,enable_filter_crawler:!1,request_timeout:0,enable_initiative_launch:!1,enable_custom_webid:!1,disable_sdk_monitor:!1},this.cloneOption=Object.assign({},this.option),this.initDomain()}},{key:"initDomain",value:function(){if(this.option.channel_domain)this.domain=this.option.channel_domain;else{var e=this.option.report_channel;Object.keys(this.domains).includes(e)||(e="cn"),this.domain=this.domains[e]}}},{key:"set",value:function(e){var t=this;ce(e)&&Object.keys(e).forEach(function(i){t.option.hasOwnProperty(i)&&("channel"===i||"report_channel"===i?(t.option.report_channel=t.option.channel=e[i]?e[i]:t.cloneOption[i],t.initDomain()):(t.option[i]=void 0===e[i]?t.cloneOption[i]:e[i],"channel_domain"===i&&t.initDomain()))})}},{key:"get",value:function(e){return e?this.hasOwnProperty(e)?this[e]:this.option.hasOwnProperty(e)?this.option[e]:void 0:Object.assign({},this.option)}}]),pe=r(function e(){s(this,e),this.hooks={}},[{key:"on",value:function(e,t){e&&t&&"function"==typeof t&&(this.hooks[e]||(this.hooks[e]=[]),this.hooks[e].push(t))}},{key:"once",value:function(e,t){var i=this;e&&t&&"function"==typeof t&&this.on(e,function s(n){t(n),i.off(e,s)})}},{key:"off",value:function(e,t){if(e&&this.hooks[e]&&this.hooks[e].length)if(t){var i=this.hooks[e].indexOf(t);-1!==i&&this.hooks[e].splice(i,1)}else this.hooks[e]=[]}},{key:"emit",value:function(e,t){e&&this.hooks[e]&&this.hooks[e].length&&v(this.hooks[e]).forEach(function(e){try{e(t)}catch(e){}})}}]),ge=r(function e(t){s(this,e),this.ready=!1,this.sdk=t},[{key:"setLog",value:function(e){e&&ue(e.log)&&(this._log=e)}},{key:"setRequest",value:function(e){if(ue(e)){var t=e(this.sdk);ue(t)&&(this._request=t)}}},{key:"setStorage",value:function(e){ce(e)&&ue(e.get)&&ue(e.set)&&ue(e.remove)&&(this._storage=e)}},{key:"check",value:function(){this._request&&this._storage&&(this.ready=!0)}},{key:"log",value:function(){if(this._log)try{var e;this.sdk.option.get("log")&&(e=this._log).log.apply(e,arguments)}catch(e){}}},{key:"request",value:function(e){var t;if(!this.ready)return Promise.reject();try{return null===(t=this._request)||void 0===t?void 0:t.call(this,e)}catch(e){}}},{key:"get",value:function(e){return this.ready?this._storage.get(e):Promise.reject(null)}},{key:"set",value:function(e,t){return this.ready?this._storage.set(e,t):Promise.reject(!1)}},{key:"remove",value:function(e){return this.ready?this._storage.remove(e):Promise.reject(!1)}}]);!function(e){e.Init="$init",e.Config="$config",e.Send="$send",e.Ready="$ready",e.TokenComplete="$token-complete",e.TokenStorage="$token-storage",e.TokenFetch="$token-fetch",e.TokenGet="$token-get",e.LaunchComplete="$launch-complete",e.ConfigUuid="$config-uuid",e.ConfigWebId="$config-webid",e.ConfigTransform="$config-transform",e.UuidChangeBefore="$uuid-change-before",e.UuidChangeAfter="$uuid-change-after",e.EnvTransform="$env-transform",e.Event="$event",e.Report="$report",e.AppOpen="$app-open",e.AppClose="$app-close",e.AppShowStart="$app-show-start",e.AppShow="$app-show",e.AppHide="$app-hide",e.AppError="$app-error",e.AppShare="$app-share",e.AppOnShare="$app-on-share",e.PageShow="$page-show",e.PageHide="$page-hide",e.PageShare="$page-share",e.SubmitBefore="$submit-before",e.SubmitAfter="$submit-after",e.SubmitError="$submit-error",e.FilterCrawler="$filter-crawler",e.LaunchInfo="$launch-info",e.AbVar="$ab-var",e.AbAllVars="$ab-all-vars",e.AbExternalVersion="$ab-external-version",e.AbVersionChangeOn="$ab-version-change-on",e.AbVersionChangeOff="$ab-version-change-off",e.AbRefresh="$ab-refresh",e.AbFetchAfter="$ab-fetch-After",e.ProfileSet="$profile-set",e.ProfileSetOnce="$profile-set-once",e.ProfileUnset="$profile-unset",e.ProfileIncrement="$profile-increment",e.ProfileAppend="$profile-append",e.ProfileClear="$profile-clear",e.ProfileSubmitAfter="$profile-submit-after",e.ProfileSubmitError="$profile-submit-error",e.TransformInfo="$transform-info"}(ne||(ne={}));var ve=ne,ye=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)})},me=function(){function e(){s(this,e),this.types=ve,this.EventType=re,this.ProfileType=ae,this.UtmType=oe,this.SdkHook=ve,this.inited=!1,this.sended=!1,this.pluginInstances=[],this.data=new Map,this.ready=!1,this.sessionId="",this.env=new de(this),this.option=new fe,this.hook=new pe,e.instances.push(this);try{this.adapter=new ge(this),this.adapter.setLog(e._log),this.adapter.setRequest(e._request),this.adapter.setStorage(e._storage),this.adapter.check(),e.plugins.reduce(function(e,t){var i=t.plugin;return e.push(new i),e},this.pluginInstances)}catch(e){}}return r(e,[{key:"on",value:function(e,t){var i;null===(i=this.hook)||void 0===i||i.on(e,t)}},{key:"once",value:function(e,t){var i;null===(i=this.hook)||void 0===i||i.once(e,t)}},{key:"off",value:function(e,t){var i;!t&&this.types[e]||null===(i=this.hook)||void 0===i||i.off(e,t)}},{key:"emit",value:function(e,t){var i;this.adapter.log("emit ".concat(e),t||""),null===(i=this.hook)||void 0===i||i.emit(e,t)}},{key:"appId",get:function(){return this._appId}},{key:"checkUsePlugin",value:function(t){return!!e.plugins.find(function(e){return e.name===t})}},{key:"init",value:function(e){var t=this;if(!this.inited&&ce(e)){var i=e.app_id,s=e.log,n=te(e,["app_id","log"]);if(void 0!==s&&this.option.set({log:s}),le(i)&&i>0){this._appId=i,this.option.set(n),this.env.set({app_id:i}),Promise.all([new Promise(function(e){t.once(ve.TokenComplete,function(){e(!0)})}),new Promise(function(e){t.checkUsePlugin("official:auto")?t.on(ve.LaunchComplete,function(){e(!0)}):e(!0)}),new Promise(function(e){t.sended?e(!0):t.once(ve.Send,function(){e(!0)})})]).then(function(){t.ready=!0,t.emit(ve.Ready)});var r=this.option.get();this.pluginInstances.forEach(function(e){e.apply(t,r)}),this.get("is-crawler")||(this.inited=!0,this.emit(ve.Init),this.sessionId=ye(),this.on(ve.AppShowStart,function(){t.sessionId=ye()}))}else this.adapter.log("app_id invalid")}}},{key:"config",value:function(e){if(this.inited&&ce(e)){this.emit(ve.Config,e);var t=e.web_id,i=e.user_unique_id,s=te(e,["web_id","user_unique_id"]);void 0!==t&&this.emit(ve.ConfigWebId,t),void 0!==i&&this.emit(ve.ConfigUuid,i),this.env.set(s)}}},{key:"send",value:function(){this.inited&&!this.sended&&(this.sended=!0,this.emit(ve.Send))}},{key:"event",value:function(e,t){var i=this;if(!this.get("is-crawler"))if(Array.isArray(e)){var s=he(),n=[];e.forEach(function(e){var t,r,o,a;Array.isArray(e)?(r=(t=p(e,3))[0],o=t[1],a=t[2]):ce(e)&&(r=e.event,o=e.params,a=e.local_time_ms),r&&((!le(a)||a<0||a>s)&&(a=s),n.push(i.createEvent({event:r,params:o,time:a})))}),n.length>0&&this.emit(ve.Event,n)}else this.emit(ve.Event,this.createEvent({event:e,params:t}))}},{key:"createEvent",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=Object.assign({event:e.event,params:e.params||{},local_time_ms:e.time||he()},this.sessionId?{session_id:this.sessionId}:{});if(!t)return i;var s="",n=this.get("ab_sdk_version");n&&(s+=n);var r=this.get("ab_sdk_version_external");return r&&(s?s+=","+r:s=r),Object.assign(Object.assign({},i),s?{ab_sdk_version:s}:{})}},{key:"set",value:function(e,t){this.data.set(e,t)}},{key:"get",value:function(e){return this.data.get(e)}},{key:"getKey",value:function(e){var t=this.appId;if("ab_version"===e||"ab_version_external"===e)return"__tea_sdk_".concat(e,"_").concat(t);var i={token:"tokens",report:"reports",event:"events",utm:"utm",first:"first",compensate:"compensate"};return i[e]?"__tea_cache_".concat(i[e],"_").concat(t):void 0}},{key:"getUrl",value:function(e){var t=this.option,i=this.env,s=i.get("_sdk_version"),n=(i.get("_sdk_name")||"").replace(/@.+\//,""),r="".concat(t.get("domain")).concat(e,"?sdk_version=").concat(s,"&sdk_name=").concat(n),o=t.get("caller");return o?"".concat(r,"&app_id=").concat(this.appId,"&caller=").concat(o):r}},{key:"getToken",value:function(e){var t=this;if(!e)return new Promise(function(e){t.emit(ve.TokenGet,{callback:function(t){e(t)}})});this.emit(ve.TokenGet,{callback:e})}},{key:"getConfig",value:function(e){return this.env.get(e||"header")}},{key:"stash",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i="stash";this.set(i,[].concat(v(this.get(i)||[]),[this.createEvent({event:e,params:t})]))}},{key:"commit",value:function(){var e="stash",t=this.get(e)||[];t.length>0&&(this.event(t),this.set(e,[]))}},{key:"getVar",value:function(e,t,i){var s=this;if(!i)return new Promise(function(i){s.emit(ve.AbVar,{name:e,defaultValue:t,callback:function(e){i(e)}})});this.emit(ve.AbVar,{name:e,defaultValue:t,callback:i})}},{key:"getAllVars",value:function(e){var t=this;if(!e)return new Promise(function(e){t.emit(ve.AbAllVars,function(t){e(t)})});this.emit(ve.AbAllVars,e)}},{key:"getAbSdkVersion",value:function(){var e=this.get("ab_versions")||[];return e.length>0?e[e.length-1].ab:""}},{key:"onAbSdkVersionChange",value:function(e){var t=this;return this.emit(ve.AbVersionChangeOn,e),function(){t.emit(ve.AbVersionChangeOff,e)}}},{key:"offAbSdkVersionChange",value:function(e){this.emit(ve.AbVersionChangeOff,e)}},{key:"setExternalAbVersion",value:function(e){this.emit(ve.AbExternalVersion,"string"==typeof e&&e?"".concat(e).trim():null)}},{key:"getAbConfig",value:function(e,t){var i=this;if(!t)return new Promise(function(t){i.emit(ve.AbRefresh,{params:e,callback:function(e){t(e)}})});this.emit(ve.AbRefresh,{params:e,callback:t})}},{key:"profileSet",value:function(e){this.emit(ve.ProfileSet,e)}},{key:"profileSetOnce",value:function(e){this.emit(ve.ProfileSetOnce,e)}},{key:"profileUnset",value:function(e){this.emit(ve.ProfileUnset,e)}},{key:"profileIncrement",value:function(e){this.emit(ve.ProfileIncrement,e)}},{key:"profileAppend",value:function(e){this.emit(ve.ProfileAppend,e)}},{key:"autoInitializationRangers",value:function(e){var t=e.onTokenReady,i=te(e,["onTokenReady"]);return this.init(Object.assign(Object.assign({},i),{log:!1,enable_third:!0})),this.send(),this.getToken().then(function(e){var i=e.web_id;try{if("function"==typeof t)return void t("".concat(i))}catch(e){}return"".concat(i)})}}],[{key:"useAdapterLog",value:function(t){e._log=t}},{key:"useAdapterRequest",value:function(t){e._request=t}},{key:"useAdapterStorage",value:function(t){e._storage=t}},{key:"usePlugin",value:function(t,i){var s=i||t.pluginName;if(s){for(var n=!1,r=0,o=e.plugins.length;r0&&void 0!==arguments[0]&&arguments[0],t=this.sdk.types,i=o({web_id:this.webId,user_unique_id:this.userUniqueId},this.typeKey,this.isCustom?ke.Custom:ke.Default);this.sdk.env.set(i),e&&this.sdk.adapter.set(this.key,i),this.tokenComplete=!0,this.sdk.emit(t.TokenComplete)}},{key:"setUserUniqueId",value:function(e){var t=this.sdk,i=t.adapter,s=t.env,n=t.types;if(this.tokenComplete){if(this.userUniqueId===e)return;this.sdk.emit(n.UuidChangeBefore),this.userUniqueId=e||this.webId,s.set({user_unique_id:this.userUniqueId});var r=o({web_id:this.webId,user_unique_id:this.userUniqueId},this.typeKey,this.isCustom?ke.Custom:ke.Default);i.set(this.key,r),this.sdk.emit(n.UuidChangeAfter)}else this.tmpUserUniqueId=e}},{key:"fetchTobid",value:function(){var e=this,t=this.sdk,i=t.adapter,s=t.appId;return i.request({url:this.sdk.getUrl("".concat(this.tobidUrl)),method:"POST",data:{app_id:s,web_id:this.webId,user_unique_id:this.userUniqueId}}).then(function(t){try{var i=t.data,s=void 0===i?{}:i,n=s.e,r=void 0===n?-1e4:n,o=s.tobid,a=void 0===o?"":o;if(0===r)return void(e.tobid=a)}catch(t){}}).catch(function(e){i.log("fetch tobid error",e)})}}]);xe.pluginName="official:token";var Se=r(function e(){s(this,e),this.url="/list/",this.cache=[]},[{key:"apply",value:function(e,t){var i=this;this.sdk=e,this.options=t,this.key=this.sdk.getKey("report"),this.reportUrl=this.sdk.getUrl("".concat(this.url)),this.sdk.set("report_url",this.reportUrl);var s=this.sdk.types;this.sdk.on(s.Report,function(e){Array.isArray(e)||(e=[e]),i.sdk.ready?i.report(e):e.forEach(function(e){return i.cache.push(e)})}),this.sdk.on(s.Ready,function(){i.cache.length>0&&(i.report(v(i.cache)),i.cache.length=0)});var n=this.sdk.adapter;this.sdk.on(s.AppOpen,function(){n.get(i.key).then(function(){})}),this.sdk.on(s.AppClose,function(){i.cache.length>0&&(n.set(i.key,v(i.cache)),i.cache.length=0)})}},{key:"report",value:function(e){this.submit(e)}},{key:"submit",value:function(e){var t=this,i=this.sdk.types;this.sdk.emit(i.SubmitBefore,e),this.sdk.adapter.request({url:this.reportUrl,method:"POST",data:e}).then(function(s){t.sdk.emit(i.SubmitAfter,{isError:!1,response:s,event:e})}).catch(function(s){t.sdk.emit(i.SubmitAfter,{isError:!0,error:s,event:e}),t.sdk.emit(i.SubmitError,{event:e})})}}]);Se.pluginName="official:report";var Ce=r(function e(){s(this,e),this.buffer=[],this.timer=0,this.unReadyCache=[]},[{key:"apply",value:function(e,t){var i,s,n=this;this.sdk=e,this.options=t,this.enable=!!this.options.enable_buffer;var r=!0===this.options.enable_storage||!1===this.options.disable_storage;if(r&&(this.enable=!0),this.enable){this.interval=this.options.buffer_interval,this.number=this.options.buffer_number,r&&((null===(i=this.options)||void 0===i?void 0:i.report_interval)>0&&(this.interval=this.options.report_interval),(null===(s=this.options)||void 0===s?void 0:s.max_batch_event)>0&&(this.number=this.options.max_batch_event));try{this.interval=Number(this.interval),this.number=Number(this.number)}catch(e){}}this.sdk.set("enable_storage",this.enable);var o=this.sdk.types;this.sdk.on(o.Event,function(e){n.sdk.ready?n.process(Array.isArray(e)?e:[e]):n.unReadyCache=[].concat(v(n.unReadyCache),v(Array.isArray(e)?e:[e]))}),this.sdk.on(o.Ready,function(){n.unReadyCache.length>0&&(n.process(n.unReadyCache),n.unReadyCache=[])}),this.sdk.on(o.AppClose,function(){n.buffer.length>0&&(n.report(n.buffer),n.buffer.length=0)})}},{key:"process",value:function(e){var t=this.sdk.env.compose(e);this.enable?(this.buffer=[].concat(v(this.buffer),[t]),this.refresh()):this.report(t)}},{key:"refresh",value:function(){var e=this;this.timer&&clearTimeout(this.timer),this.buffer.length>=this.number?(this.report(v(this.buffer)),this.buffer.length=0):this.timer=setTimeout(function(){e.report(v(e.buffer)),e.buffer.length=0},this.interval)}},{key:"report",value:function(e){this.sdk.emit(this.sdk.types.Report,e)}}]);Ce.pluginName="official:buffer";var Ie=r(function e(){s(this,e)},[{key:"apply",value:function(e,t){var i=this;this.sdk=e,this.options=t;var s=this.sdk,n=s.types,r=s.env,o=function(){try{var e=(new Date).getTimezoneOffset();return{timezone:Math.floor(Math.abs(e)/60),offset:60*e}}catch(e){return{timezone:8,offset:-28800}}}();r.set({timezone:o.timezone,tz_offset:o.offset}),this.sdk.on(n.ConfigTransform,function(e){if(void 0!==e.gender&&([1,2,"1","2"].includes(e.gender)?e.gender=e.gender<2?"male":"female":delete e.gender),i.options.enable_profile){var t={};["nick_name","gender","avatar_url"].forEach(function(i){void 0!==e[i]&&(t[i]=e[i],delete e[i])}),i.sdk.emit(n.ProfileSet,t)}}),this.sdk.on(n.EnvTransform,function(e){if(i.options.enable_profile){var t={};["$mp_from_uuid"].forEach(function(i){void 0!==e[i]&&(t[i]=e[i],delete e[i])}),Object.keys(t).length>0&&i.sdk.emit(n.ProfileSetOnce,t)}})}}]);Ie.pluginName="official:transform",me.usePlugin(_e),me.usePlugin(xe),me.usePlugin(Se),me.usePlugin(Ce),me.usePlugin(Ie);var Oe=console,Ae="undefined",Pe=function(){return"undefined"!==Ae||(Ae="undefined"!=typeof tt?{target:tt,config:"undefined"!=typeof __ttConfig?__ttConfig:null,customPlatform:"ttMiniProduct",mpPlatform:2,is:"tt"}:"undefined"!=typeof my?{target:my,config:null,customPlatform:"aliMiniProduct",mpPlatform:1,is:"my"}:"undefined"!=typeof swan?{target:swan,config:null,customPlatform:"swanMiniProduct",mpPlatform:5,is:"swan"}:"undefined"!=typeof qq?{target:qq,config:"undefined"!=typeof __qqConfig?__qqConfig:null,customPlatform:"qqMiniProduct",mpPlatform:6,is:"qq"}:"undefined"!=typeof wx?{target:wx,config:"undefined"!=typeof __wxConfig?__wxConfig:null,customPlatform:"miniProduct",mpPlatform:0,is:"wx"}:"undefined"!=typeof uni?{target:uni,config:null,customPlatform:"uniMiniProduct",mpPlatform:7,is:"uni"}:{target:{},config:null,customPlatform:"",mpPlatform:-1,is:""}),Ae},Ue=Pe(),je="my"===Ue.is?function(e){return function(t){var i=t.timeout||e.option.get("request_timeout"),s="number"==typeof i&&i>0;return new Promise(function(e,n){var r=my[my.request?"request":"httpRequest"](Object.assign(Object.assign({},t),{dataType:t.dataType||"json",success:function(t){e(t)},fail:function(e){n(e)}}));s&&setTimeout(function(){try{r&&r.abort()}catch(e){}},i)})}}:Ue.target?function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function(i){return function(s){var n=s.timeout||i.option.get("request_timeout"),r="number"==typeof n&&n>0;return new Promise(function(i,o){var a=e.request(Object.assign(Object.assign(Object.assign({},s),r&&!t?{timeout:n}:{}),{dataType:s.dataType||"json",success:function(e){i(e)},fail:function(e){o(e)}}));r&&t&&setTimeout(function(){try{a&&a.abort()}catch(e){}},n)})}}}(Ue.target,"swan"===Ue.is):function(e){return function(e){return Promise.reject("request adapter error")}},Te=Pe(),De="my"===Te.is?new(r(function e(){s(this,e)},[{key:"get",value:function(e){return new Promise(function(t,i){try{t(my.getStorageSync({key:e}).data)}catch(e){i(e)}})}},{key:"set",value:function(e,t){return new Promise(function(i,s){try{my.setStorageSync({key:e,data:t}),i(!0)}catch(e){s(!1)}})}},{key:"remove",value:function(e){return new Promise(function(t,i){try{my.removeStorageSync({key:e}),t(!0)}catch(e){i(!1)}})}}])):Te.target?new(r(function e(t){s(this,e),this.target=t},[{key:"get",value:function(e){var t=this;return new Promise(function(i,s){try{i(t.target.getStorageSync(e))}catch(e){s(e)}})}},{key:"set",value:function(e,t){var i=this;return new Promise(function(s,n){try{i.target.setStorageSync(e,t),s(!0)}catch(e){n(!1)}})}},{key:"remove",value:function(e){var t=this;return new Promise(function(i,s){try{t.target.removeStorageSync(e),i(!0)}catch(e){s(!1)}})}}]))(Te.target):function(){var e="storage adapter error";return{get:function(t){return Promise.reject(e)},set:function(t,i){return Promise.reject(e)},remove:function(t){return Promise.reject(e)}}}(),qe=r(function e(){s(this,e)},[{key:"apply",value:function(e,t){var i=this;this.sdk=e,this.options=t,this.boost();var s=this.sdk.types;this.getInfo(),this.sdk.on(s.AppOpen,function(){i.getInfo()})}},{key:"boost",value:function(){}},{key:"getInfo",value:function(){var e=this,t=this.sdk,i=t.target,s=t.env;i&&(i.getSystemInfo&&i.getSystemInfo({success:function(t){var i=Math.ceil(t.screenWidth),n=Math.ceil(t.screenHeight),r={device_brand:t.brand,device_model:t.model,os_version:t.system,os_name:t.platform,platform:t.platform,resolution:"".concat(i,"x").concat(n),screen_width:i,screen_height:n};e.overlap(t,r),s.set(r)}}),i.getNetworkType&&i.getNetworkType({success:function(e){var t={access:e.networkType};s.set(t)}}))}},{key:"overlap",value:function(e,t){t.language=e.language,t.mp_platform_app_version=e.version,t.mp_platform_basic_version=e.SDKVersion}}]);qe.pluginName="official:device",me.useAdapterLog(Oe),me.useAdapterRequest(je),me.useAdapterStorage(De),me.usePlugin(function(e){function t(){return s(this,t),i(this,t,arguments)}return u(t,e),r(t,[{key:"boost",value:function(){g(t,"boost",this,3)([]),this.which=Pe(),this.sdk.target=this.which.target,this.sdk.targetEnvConfig=this.which.config,this.sdk.env.set({sdk_lib:"mp_common",custom_platform:this.which.customPlatform,mp_platform:this.which.mpPlatform})}},{key:"overlap",value:function(e,i){g(t,"overlap",this,3)([e,i])}}],[{key:"init",value:function(e){var t=Pe();e.platform=t.is?t.target:null,e.platformIs=t.is}}])}(qe));var He=r(function e(t,i){s(this,e),this.config=t,this.uploaderCtx=i,this.teaLog=new me,this.teaLog.init({app_id:2562,channel:"cn",log:!1}),this.teaLog.config({evtParams:{sdk_version:this.config.sdkVersion,line_app_id:this.config.appId,toB:!0,user_unique_id:this.config.userId,imp:!0},user_unique_id:this.config.userId}),this.teaLog.send()},[{key:"send",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.uploaderCtx,s=e.key,n=e.stage,r=e.type,o=i.tasks[s];if(o){var a=o.serviceType,c=o.fileSize,u=o.duration,l=o.totalDuration,h=a===x?"video":"image",f={type:r,stage:n,fk:s,fs:c,ts:Math.round(Date.now()/1e3),idu:Number(o.isDirect),cuh:o.customUploadHost};if("error"!==r){var p="".concat(h,"_").concat(n),g=d({dur:u,tdur:l,durs:u/1e3,tdurs:l/1e3,oid:e.oid,upload_host:e.tosDomain},f);switch(n){case 1e3:this.teaLog.event(p,Object.assign({},g,{ex:JSON.stringify({msg:e.extra&&e.extra.message,crc32Array:[e.crc32Array[0],e.crc32Array[e.crc32Array.length-1]],isDirect:e.isDirect})}));break;case 1001:this.teaLog.event(p,Object.assign({},g,{ex:JSON.stringify({msg:e.extra&&e.extra.message}),res:e.res}));break;case 1002:this.teaLog.event(p,Object.assign({},g,{uploadId:e.uploadId,ex:JSON.stringify({msg:e.extra&&e.extra.message,upid:e.uploadId}),uh:e.uploadHeader&&JSON.stringify(e.uploadHeader)}));break;case 1003:t?this.teaLog.event(p,Object.assign({},f,{ex:JSON.stringify({msg:e.extra&&e.extra.message,si:e.slice_index,af:e.isAllFinish}),uh:o.uploadHeader&&JSON.stringify(o.uploadHeader),si:e.slice_index,oid:o.oid,upload_host:o.tosDomain,uploadId:o.uploadId,ss:o.sliceSize&&o.sliceSize/1024/1024})):this.teaLog.event(p,Object.assign({},g,{ex:JSON.stringify({msg:e.extra&&e.extra.message,af:e.isAllFinish}),uploadId:o.uploadId,uh:e.uploadHeader&&JSON.stringify(e.uploadHeader),af:!0,speed:e.speed}));break;case 1004:this.teaLog.event(p,Object.assign({},g,{ex:JSON.stringify({msg:e.extra&&e.extra.message,upid:e.uploadId}),uh:e.uploadHeader&&JSON.stringify(e.uploadHeader),uploadId:e.uploadId,speed:e.speed}));break;case 1005:this.teaLog.event(p,Object.assign({},g,{ex:JSON.stringify({msg:e.extra&&e.extra.message,vid:e.uploadResult&&e.uploadResult.Vid}),vid:e.uploadResult&&e.uploadResult.Vid,speed:e.speed}))}}else{var v=d({ex:JSON.stringify({errc:e.code,msg:e.message,err:e.error}),errc:e.code,errmsg:e.message,err:e.error},f);this.teaLog.event("".concat(h,"_error"),Object.assign({},v))}}}}]),Re=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return s(this,t),(e=i(this,t,[n])).config=Object.assign({},A,n),e.tasks={},e.taskList={},e.priorInfo={_supportCrc32:B()},e.logger=e.config.noLog?{send:function(){}}:new He(e.config,e),e}return u(t,e),r(t,[{key:"_addTask",value:function(e,t){var i=this.tasks,s=this.taskList;i[e]&&i[e].task?(s[e].push(t),i[e].task.addTask(t)):(s[e]=[],s[e].push(t),i[e]=i[e]||{},i[e].task=new ee([],this.config,this,e),i[e].task.addTask(t))}},{key:"_broadcast",value:function(e,t){var i=this.tasks[t.key];if(i){if(5===i.status&&e===w.ERROR)return this.emit(e,t);if(1===i.status){if(e===w.PROGRESS||e===w.ERROR)return this.emit(e,t);t.status;var s=t.stage,n=Object.keys(t).reduce(function(e,i){return"task"!==i&&"sessionKey"!==i&&"signature"!==i&&"uploadHeader"!==i&&"tosDomain"!==i&&"crc32Array"!==i&&"res"!==i&&(e[i]=t[i]),e},{});1005===s&&(n.status=4),this.emit(w[s],n)}}}},{key:"_addAllUploadProcess",value:function(e,t,i){var s="image"===e.type&&"[object Array]"===Object.prototype.toString.call(e.file);try{var n=function(e){if(e.size)return e.size;try{var t;return(null===(t=wx)||void 0===t?void 0:t.getFileSystemManager()).statSync(e.path).size}catch(e){throw console.error(e),e}}(e);e.size=n}catch(e){return void this.emit(w.ERROR,{code:1000004,message:"get file size error",error:"get file size error"})}this.tasks[t]=this.tasks[t]||{};var r=this.tasks[t]={key:t,fileSize:e.size,proxyStsToken:e.stsToken,serviceType:i,filePath:e.path,customUploadHost:this.config.uploadHost,gatewayUpload:!!this.config.uploadHost};r.status=0,i===x&&(r.fileType=e.type||"media");var o=e.size<10485760||s;this._addCrc32ProcessTask(e,t,{isDirect:o,isImageBatchUpload:s}),this._addPreUploadTask(e,t,{isImageBatchUpload:s,serviceId:i===S?e.serviceId:null,serviceName:i}),o||!this.priorInfo._supportCrc32?this._addDirectUploadTask(e,t,{isImageBatchUpload:s}):(this._addInitUploadIDTask(e,t),this._addUploadProcessTask(e,t),this._mergeFileTask(e,t));var a=i===S&&e.skipCommit;this._getMetaInfoTask(e,t,{isImageBatchUpload:s,serviceId:i===S?e.serviceId:null,skipCommit:a,serviceName:i})}},{key:"_addCrc32ProcessTask",value:function(e,t,i){var s=i.isDirect,n=i.isImageBatchUpload,r=new R({path:e.path,size:e.size,context:this,key:t,isDirect:s,isImageBatchUpload:n},this.config),o={context:r,func:r.start,arg:{},key:t,index:0,stage:1e3};this._addTask(t,o)}},{key:"_addPreUploadTask",value:function(e,t,i){var s=i.isImageBatchUpload,n=i.serviceId,r=i.serviceName,o={file:e.file,stsToken:e.stsToken,context:this,type:e.type||"video",key:t,isImageBatchUpload:s,fileExtension:e.fileExtension||null,fileName:e.fileName||null,storageClass:e.storageClass||null,serviceId:n,prefix:e.prefix,storeKey:e.storeKey,serviceName:r,overwrite:e.overwrite},a=new J(o,this.config),c={context:a,func:a.start,arg:{},key:t,index:1,stage:1001};this._addTask(t,c)}},{key:"_addInitUploadIDTask",value:function(e,t){var i=new X({context:this,key:t},this.config),s={context:i,func:i.start,arg:{},key:t,index:2,stage:1002};this._addTask(t,s)}},{key:"_addDirectUploadTask",value:function(e,t,i){var s=i.isImageBatchUpload,n=new Q({path:e.path,size:e.size,context:this,key:t,isImageBatchUpload:s},this.config),r={context:n,func:n.start,arg:{},key:t,index:3,stage:1003};this._addTask(t,r)}},{key:"_addUploadProcessTask",value:function(e,t){var i=new G({path:e.path,size:e.size,context:this,key:t},this.config),s={context:i,func:i.start,arg:{},key:t,index:3,stage:1003};this._addTask(t,s)}},{key:"_mergeFileTask",value:function(e,t){var i=new Z({context:this,key:t},this.config),s={context:i,func:i.start,arg:{},key:t,index:4,stage:1004};this._addTask(t,s)}},{key:"_getMetaInfoTask",value:function(e,t,i){var s=i.isImageBatchUpload,n=void 0!==s&&s,r=i.serviceId,o=i.skipCommit,a=i.serviceName,c={context:this,key:t,isImageBatchUpload:n,serviceId:r,processAction:e.processAction,callbackArgs:e.callbackArgs,skipCommit:o,skipMeta:e.skipMeta,serviceName:a},u=new Y(c,this.config),l={context:u,func:u.start,arg:{},key:t,index:5,stage:1005};this._addTask(t,l)}},{key:"_run",value:function(e){var t=this.tasks;t[e]?1!==t[e]?3===t[e].status?this._restart(e):t[e].task&&1!==t[e].status&&t[e].task.tasks.length&&(t[e].startTime=Date.now(),t[e].status=1,t[e].task.start()):console.wran("".concat(e," is running now...")):console.warn("".concat(e," is not exit in object tasks, stop running..."))}},{key:"_pause",value:function(e){var t=this.tasks;t[e]?5!==t[e].currentTask&&1===t[e].status&&(t[e].userCanceled=!0,t[e].status=3,t[e].task.cancel(!0)):console.warn("".concat(e," is not exit in object tasks"))}},{key:"_cancel",value:function(e){var t=this.tasks;t[e]?5!==t[e].currentTask&&(1===t[e].status&&(t[e].userCanceled=!0,t[e].task.cancel(!1),t[e].status=2),this._removeFile(e)):console.warn("".concat(e," is not exit in object tasks"))}},{key:"_restart",value:function(e){var t=this,i=this.tasks;if(i[e]){if(3===i[e].status){var s=i[e].task,n=i[e].currentTask||0;this.taskList[e].forEach(function(i,r){i.index===n&&(s.tasks=t.taskList[e].slice(r))}),!s.tasks.length>0?console.warn("".concat(e," has already completed.")):(i[e].status=1,s.start())}}else console.warn("".concat(e," is not exit in object tasks."))}},{key:"_queueSuccess",value:function(e){var t=this.tasks;t[e]?(t[e].endTime=Date.now(),t[e].time=t[e].endTime-t[e].startTime,t[e].status=4):console.warn("".concat(e," is not exit in object tasks"))}},{key:"_removeFile",value:function(e){this.tasks[e]&&(delete this.tasks[e],delete this.taskList[e])}},{key:"_batchAction",value:function(e){var t=this.tasks;Object.keys(t).forEach(function(t){e&&e(t)})}},{key:"_setServiceId",value:function(e){!this.config.imageConfig&&e?this.config.imageConfig={serviceId:e}:this.config.imageConfig.serviceId=e}},{key:"_getServiceId",value:function(){var e;return null===(e=this.config.imageConfig)||void 0===e?void 0:e.serviceId}},{key:"_getOption",value:function(e){var t=Object.assign({},this.config);return e?t[e]:t}}])}(b),ze=function(e){return!!e&&e.SessionToken&&e.SecretAccessKey&&(e.AccessKeyId||e.AccessKeyID)},Ee=function(e){function t(){return s(this,t),i(this,t,arguments)}return u(t,e),r(t,[{key:"start",value:function(e){this.abort=!1,e?this._run(e):this._batchAction(this._run.bind(this))}},{key:"pause",value:function(e){e?this._pause(e):this._batchAction(this._pause.bind(this))}},{key:"restart",value:function(e){e?this._restart(e):this._batchAction(this._restart.bind(this))}},{key:"cancel",value:function(e){e?this._cancel(e):this._batchAction(this._cancel.bind(this))}},{key:"addFile",value:function(e){if(!e||!ze(e.stsToken))return this.emit(w.ERROR,{code:T,message:"sts token format invalid.",error:"sts token format invalid."}),null;if(e.path){var t=M.getUnique("file");return this._addAllUploadProcess(e,t,x),t}return null}},{key:"addImageFile",value:function(e){if(!e||!ze(e.stsToken))return this.emit(w.ERROR,{code:T,message:"sts token format invalid.",error:"sts token format invalid."}),null;if(e.path){var t=M.getUnique("file");return this._addAllUploadProcess(e,t,S),t}return null}},{key:"addImageXFile",value:function(e){return this.addImageFile(e)}},{key:"setServiceId",value:function(e){this._setServiceId(e)}},{key:"getServiceId",value:function(){return this._getServiceId()}}])}(Re);e.default=Ee,Object.defineProperty(e,"__esModule",{value:!0})});