"use strict";vare=require("@dcloudio/uni-i18n");"undefined"!=typeofglobalThis?globalThis:"undefined"!=typeofwindow?window:"undefined"!=typeofglobal?global:"undefined"!=typeofself&&self;functiont(e){returne&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}functions(e,t,s){returne(s={path:t,exports:{},require:function(e,t){returnfunction(){thrownewError("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&s.path)}},s.exports),s.exports}varn=s((function(e,t){vars;e.exports=(s=s||function(e,t){vars=Object.create||function(){functione(){}returnfunction(t){vars;returne.prototype=t,s=newe,e.prototype=null,s}}(),n={},r=n.lib={},o=r.Base={extend:function(e){vart=s(this);returne&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){vare=this.extend();returne.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(vartine)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){returnthis.init.prototype.extend(this)}},i=r.WordArray=o.extend({init:function(e,s){e=this.words=e||[],this.sigBytes=s!=t?s:4*e.length},toString:function(e){return(e||c).stringify(this)},concat:function(e){vart=this.words,s=e.words,n=this.sigBytes,r=e.sigBytes;if(this.clamp(),n%4)for(varo=0;o<r;o++){vari=s[o>>>2]>>>24-o%4*8&255;t[n+o>>>2]|=i<<24-(n+o)%4*8}elsefor(o=0;o<r;o+=4)t[n+o>>>2]=s[o>>>2];returnthis.sigBytes+=r,this},clamp:function(){vart=this.words,s=this.sigBytes;t[s>>>2]&=4294967295<<32-s%4*8,t.length=e.ceil(s/4)},clone:function(){vare=o.clone.call(this);returne.words=this.words.slice(0),e},random:function(t){for(vars,n=[],r=function(t){t=t;vars=987654321,n=4294967295;returnfunction(){varr=((s=36969*(65535&s)+(s>>16)&n)<<16)+(t=18e3*(65535&t)+(t>>16)&n)&n;returnr/=4294967296,(r+=.5)*(e.random()>.5?1:-1)}},o=0;o<t;o+=4){vara=r(4294967296*(s||e.random()));s=987654071*a(),n.push(4294967296*a()|0)}returnnewi.init(n,t)}}),a=n.enc={},c=a.Hex={stringify:function(e){for(vart=e.words,s=e.sigBytes,n=[],r=0;r<s;r++){varo=t[r>>>2]>>>24-r%4*8&255;n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}returnn.join("")},parse:function(e){for(vart=e.length,s=[],n=0;n<t;n+=2)s[n>>>3]|=parseInt(e.substr(n,2),16)<<24-n%8*4;returnnewi.init(s,t/2)}},u=a.Latin1={stringify:function(e){for(vart=e.words,s=e.sigBytes,n=[],r=0;r<s;r++){varo=t[r>>>2]>>>24-r%4*8&255;n.push(String.fromCharCode(o))}returnn.join("")},parse:function(e){for(vart=e.length,s=[],n=0;n<t;n++)s[n>>>2]|=(255&e.charCodeAt(n))<<24-n%4*8;returnnewi.init(s,t)}},h=a.Utf8={stringify:function(e){try{returndecodeURIComponent(escape(u.stringify(e)))}catch(e){thrownewError("Malformed UTF-8 data")}},parse:function(e){returnu.parse(unescape(encodeURIComponent(e)))}},l=r.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=newi.init,this._nDataBytes=0},_append:function(e){"string"==typeofe&&(e=h.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){vars=this._data,n=s.words,r=s.sigBytes,o=this.blockSize,a=r/(4*o),c=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*o,u=e.min(4*c,r);if(c){for(varh=0;h<c;h+=o)this._doProcessBlock(n,h);varl=n.splice(0,c);s.sigBytes-=u}returnnewi.init(l,u)},clone:function(){vare=o.clone.call(this);returne._data=this._data.clone(),e},_minBufferSize:0}),d=(r.Hasher=l.extend({cfg:o.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){l.reset.call(this),this._doReset()},update:function(e){returnthis._append(e),this._process(),this},finalize:function(e){returne&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){returnfunction(t,s){returnnewe.init(s).finalize(t)}},_createHmacHelper:function(e){returnfunction(t,s){returnnewd.HMAC.init(e,s).finalize(t)}}}),n.algo={});returnn}(Math),s)})),r=(s((function(e,t){vars;e.exports=(s=n,function(e){vart=s,n=t.lib,r=n.WordArray,o=n.Hasher,i=t.algo,a=[];!function(){for(vart=0;t<64;t++)a[t]=4294967296*e.abs(e.sin(t+1))|0}();varc=i.MD5=o.extend({_doReset:function(){this._hash=newr.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(vars=0;s<16;s++){varn=t+s,r=e[n];e[n]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}varo=this._hash.words,i=e[t+0],c=e[t+1],f=e[t+2],p=e[t+3],g=e[t+4],m=e[t+5],y=e[t+6],_=e[t+7],w=e[t+8],v=e[t+9],S=e[t+10],k=e[t+11],T=e[t+12],P=e[t+13],I=e[t+14],A=e[t+15],E=o[0],b=o[1],O=o[2],U=o[3];E=u(E,b,O,U,i,7,a[0]),U=u(U,E,b,O,c,12,a[1]),O=u(O,U,E,b,f,17,a[2]),b=u(b,O,U,E,p,22,a[3]),E=u(E,b,O,U,g,7,a[4]),U=u(U,E,b,O,m,12,a[5]),O=u(O,U,E,b,y,17,a[6]),b=u(b,O,U,E,_,22,a[7]),E=u(E,b,O,U,w,7,a[8]),U=u(U,E,b,O,v,12,a[9]),O=u(O,U,E,b,S,17,a[10]),b=u(b,O,U,E,k,22,a[11]),E=u(E,b,O,U,T,7,a[12]),U=u(U,E,b,O,P,12,a[13]),O=u(O,U,E,b,I,17,a[14]),E=h(E,b=u(b,O,U,E,A,22,a[15]),O,U,c,5,a[16]),U=h(U,E,b,O,y,9,a[17]),O=h(O,U,E,b,k,14,a[18]),b=h(b,O,U,E,i,20,a[19]),E=h(E,b,O,U,m,5,a[20]),U=h(U,E,b,O,S,9,a[21]),O=h(O,U,E,b,A,14,a[22]),b=h(b,O,U,E,g,20,a[23]),E=h(E,b,O,U,v,5,a[24]),U=h(U,E,b,O,I,9,a[25]),O=h(O,U,E,b,p,14,a[26]),b=h(b,O,U,E,w,20,a[27]),E=h(E,b,O,U,P,5,a[28]),U=h(U,E,b,O,f,9,a[29]),O=h(O,U,E,b,_,14,a[30]),E=l(E,b=h(b,O,U,E,T,20,a[31]),O,U,m,4,a[32]),U=l(U,E,b,O,w,11,a[33]),O=l(O,U,E,b,k,16,a[34]),b=l(b,O,U,E,I,23,a[35]),E=l(E,b,O,U,c,4,a[36]),U=l(U,E,b,O,g,11,a[37]),O=l(O,U,E,b,_,16,a[38]),b=l(b,O,U,E,S,23,a[39]),E=l(E,b,O,U,P,4,a[40]),U=l(U,E,b,O,i,11,a[41]),O=l(O,U,E,b,p,16,a[42]),b=l(b,O,U,E,y,23,a[43]),E=l(E,b,O,U,v,4,a[44]),U=l(U,E,b,O,T,11,a[45]),O=l(O,U,E,b,A,16,a[46]),E=d(E,b=l(b,O,U,E,f,23,a[47]),O,U,i,6,a[48]),U=d(U,E,b,O,_,10,a[49]),O=d(O,U,E,b,I,15,a[50]),b=d(b,O,U,E,m,21,a[51]),E=d(E,b,O,U,T,6,a[52]),U=d(U,E,b,O,p,10,a[53]),O=d(O,U,E,b,S,15,a[54]),b=d(b,O,U,E,c,21,a[55]),E=d(E,b,O,U,w,6,a[56]),U=d(U,E,b,O,A,10,a[57]),O=d(O,U,E,b,y,15,a[58]),b=d(b,O,U,E,P,21,a[59]),E=d(E,b,O,U,g,6,a[60]),U=d(U,E,b,O,k,10,a[61]),O=d(O,U,E,b,f,15,a[62]),b=d(b,O,U,E,v,21,a[63]),o[0]=o[0]+E|0,o[1]=o[1]+b|0,o[2]=o[2]+O|0,o[3]=o[3]+U|0},_doFinalize:function(){vart=this._data,s=t.words,n=8*this._nDataBytes,r=8*t.sigBytes;s[r>>>5]|=128<<24-r%32;varo=e.floor(n/4294967296),i=n;s[15+(r+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),s[14+(r+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t.sigBytes=4*(s.length+1),this._process();for(vara=this._hash,c=a.words,u=0;u<4;u++){varh=c[u];c[u]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8)}returna},clone:function(){vare=o.clone.call(this);returne._hash=this._hash.clone(),e}});functionu(e,t,s,n,r,o,i){vara=e+(t&s|~t&n)+r+i;return(a<<o|a>>>32-o)+t}functionh(e,t,s,n,r,o,i){vara=e+(t&n|s&~n)+r+i;return(a<<o|a>>>32-o)+t}functionl(e,t,s,n,r,o,i){vara=e+(t^s^n)+r+i;return(a<<o|a>>>32-o)+t}functiond(e,t,s,n,r,o,i){vara=e+(s^(t|~n))+r+i;return(a<<o|a>>>32-o)+t}t.MD5=o._createHelper(c),t.HmacMD5=o._createHmacHelper(c)}(Math),s.MD5)})),s((function(e,t){vars,r,o;e.exports=(r=(s=n).lib.Base,o=s.enc.Utf8,void(s.algo.HMAC=r.extend({init:function(e,t){e=this._hasher=newe.init,"string"==typeoft&&(t=o.parse(t));vars=e.blockSize,n=4*s;t.sigBytes>n&&(t=e.finalize(t)),t.clamp();for(varr=this._oKey=t.clone(),i=this._iKey=t.clone(),a=r.words,c=i.words,u=0;u<s;u++)a[u]^=1549556828,c[u]^=909522486;r.sigBytes=i.sigBytes=n,this.reset()},reset:function(){vare=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){returnthis._hasher.update(e),this},finalize:function(e){vart=this._hasher,s=t.finalize(e);returnt.reset(),t.finalize(this._oKey.clone().concat(s))}})))})),s((function(e,t){e.exports=n.HmacMD5})));functiono(e){returnObject.prototype.toString.call(e).slice(8,-1).toLowerCase()}functioni(e){return"object"===o(e)}classaextendsError{constructor(e,t){super(e),this.code=t}}functionc(e){returne&&"string"==typeofe?JSON.parse(e):e}constu="development"===process.env.NODE_ENV,h=process.env.VUE_APP_PLATFORM||process.env.UNI_PLATFORM,l=c(process.env.UNICLOUD_DEBUG),d=c(process.env.UNI_CLOUD_PROVIDER),f=process.env.RUN_BY_HBUILDERX;letp;try{conste=require("uni-stat-config").default||require("uni-stat-config");p=e.appid}catch(e){p=process.env.UNI_APP_ID||""}letg={};functionm(e,t={}){vars,n;returns=g,n=e,Object.prototype.hasOwnProperty.call(s,n)||(g[e]=t),g[e]}consty=["invoke","success","fail","complete"],_=m("_globalUniCloudInterceptor");functionw(e,t){_[e]||(_[e]={}),i(t)&&Object.keys(t).forEach((s=>{y.indexOf(s)>-1&&function(e,t,s){letn=_[e][t];n||(n=_[e][t]=[]),-1===n.indexOf(s)&&"function"==typeofs&&n.push(s)}(e,s,t[s])}))}functionv(e,t){_[e]||(_[e]={}),i(t)?Object.keys(t).forEach((s=>{y.indexOf(s)>-1&&function(e,t,s){constn=_[e][t];if(!n)return;constr=n.indexOf(s);r>-1&&n.splice(r,1)}(e,s,t[s])})):delete_[e]}functionS(e,t){returne&&0!==e.length?e.reduce(((e,s)=>e.then((()=>s(t)))),Promise.resolve()):Promise.resolve()}functionk(e,t){return_[e]&&_[e][t]||[]}functionT(e,t){returnt?function(s){constn="callFunction"===t&&"DCloud-clientDB"===(s&&s.name);letr;r=this.isReady?Promise.resolve():this.initUniCloud,s=s||{};consto=r.then((()=>n?Promise.resolve():S(k(t,"invoke"),s))).then((()=>e.call(this,s))).then((e=>n?Promise.resolve(e):S(k(t,"success"),e).then((()=>S(k(t,"complete"),e))).then((()=>Promise.resolve(e)))),(e=>n?Promise.reject(e):S(k(t,"fail"),e).then((()=>S(k(t,"complete"),e))).then((()=>Promise.reject(e)))));if(!(s.success||s.fail||s.complete))returno;o.then((e=>{s.success&&s.success(e),s.complete&&s.complete(e)})).catch((e=>{s.fail&&s.fail(e),s.complete&&s.complete(e)}))}:function(t){if(!((t=t||{}).success||t.fail||t.complete))returne.call(this,t);e.call(this,t).then((e=>{t.success&&t.success(e),t.complete&&t.complete(e)}),(e=>{t.fail&&t.fail(e),t.complete&&t.complete(e)}))}}classPextendsError{constructor(e){super(e.message),this.errMsg=e.message||"",Object.defineProperties(this,{code:{get:()=>e.code},requestId:{get:()=>e.requestId},message:{get(){returnthis.errMsg},set(e){this.errMsg=e}}})}}const{t:I,setLocale:A,getLocale:E}=e.initVueI18n({"zh-Hans":{"uniCloud.init.paramRequired":"缺少参数:{param}","uniCloud.uploadFile.fileError":"filePath应为File对象"},"zh-Hant":{"uniCloud.init.paramRequired":"缺少参数:{param}","uniCloud.uploadFile.fileError":"filePath应为File对象"},en:{"uniCloud.init.paramRequired":"{param} required","uniCloud.uploadFile.fileError":"filePath should be instance of File"},fr:{"uniCloud.init.paramRequired":"{param} required","uniCloud.uploadFile.fileError":"filePath should be instance of File"},es:{"uniCloud.init.paramRequired":"{param} required","uniCloud.uploadFile.fileError":"filePath should be instance of File"}},"zh-Hans");letb,O;functionU(e=8){lett="";for(;t.length<e;)t+=Math.random().toString(32).substring(2);returnt.substring(0,e)}functionD(){const{deviceId:e}=uni.getSystemInfoSync();return{PLATFORM:h,OS:O,APPID:p,LOCALE:E(),DEVICEID:e,CLIENT_SDK_VERSION:"1.0.7"}}functionC(){if("n"===x()){try{b=plus.runtime.getDCloudId()}catch(e){b=""}returnb}returnb||(b=U(32),uni.setStorage({key:"__DC_CLOUD_UUID",data:b})),b}functionx(){return{"app-plus":"n",h5:"h5","mp-weixin":"wx",[["y","a","p","mp-ali"].reverse().join("")]:"ali","mp-baidu":"bd","mp-toutiao":"tt","mp-qq":"qq","quickapp-native":"qn"}[h]}varR={sign:function(e,t){lets="";returnObject.keys(e).sort().forEach((function(t){e[t]&&(s=s+"&"+t+"="+e[t])})),s=s.slice(1),r(s,t).toString()},wrappedRequest:function(e,t){returnnewPromise(((s,n)=>{t(Object.assign(e,{complete(e){e||(e={}),u&&"h5"===h&&e.errMsg&&0===e.errMsg.indexOf("request:fail")&&console.warn("发布H5,需要在uniCloud后台操作,绑定安全域名,否则会因为跨域问题而无法访问。教程参考:https://uniapp.dcloud.io/uniCloud/quickstart?id=useinh5");constt=e.data&&e.data.header&&e.data.header["x-serverless-request-id"]||e.header&&e.header["request-id"];if(!e.statusCode||e.statusCode>=400)returnn(newP({code:"SYS_ERR",message:e.errMsg||"request:fail",requestId:t}));constr=e.data;if(r.error)returnn(newP({code:r.error.code,message:r.error.message,requestId:t}));r.result=r.data,r.requestId=t,deleter.data,s(r)}}))}))}};constq={request:e=>uni.request(e),uploadFile:e=>uni.uploadFile(e),setStorageSync:(e,t)=>uni.setStorageSync(e,t),getStorageSync:e=>uni.getStorageSync(e),removeStorageSync:e=>uni.removeStorageSync(e),clearStorageSync:()=>uni.clearStorageSync()};classF{constructor(e){["spaceId","clientSecret"].forEach((t=>{if(!Object.prototype.hasOwnProperty.call(e,t))thrownewError(I("uniCloud.init.paramRequired",{param:t}))})),this.config=Object.assign({},{endpoint:"https://api.bspapp.com"},e),this.config.provider="aliyun",this.config.requestUrl=this.config.endpoint+"/client",this.config.envType=this.config.envType||"public",this.config.accessTokenKey="access_token_"+this.config.spaceId,this.adapter=q,this._getAccessTokenPromise=null,this._getAccessTokenPromiseStatus=null}gethasAccessToken(){return!!this.accessToken}setAccessToken(e){this.accessToken=e}requestWrapped(e){returnR.wrappedRequest(e,this.adapter.request)}requestAuth(e){returnthis.requestWrapped(e)}request(e,t){returnPromise.resolve().then((()=>this.hasAccessToken?t?this.requestWrapped(e):this.requestWrapped(e).catch((t=>newPromise(((e,s)=>{!t||"GATEWAY_INVALID_TOKEN"!==t.code&&"InvalidParameter.InvalidToken"!==t.code?s(t):e()})).then((()=>this.getAccessToken())).then((()=>{constt=this.rebuildRequest(e);returnthis.request(t,!0)})))):this.getAccessToken().then((()=>{constt=this.rebuildRequest(e);returnthis.request(t,!0)}))))}rebuildRequest(e){constt=Object.assign({},e);returnt.data.token=this.accessToken,t.header["x-basement-token"]=this.accessToken,t.header["x-serverless-sign"]=R.sign(t.data,this.config.clientSecret),t}setupRequest(e,t){consts=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),n={"Content-Type":"application/json"};return"auth"!==t&&(s.token=this.accessToken,n["x-basement-token"]=this.accessToken),n["x-serverless-sign"]=R.sign(s,this.config.clientSecret),{url:this.config.requestUrl,method:"POST",data:s,dataType:"json",header:n}}getAccessToken(){if("pending"===this._getAccessTokenPromiseStatus)returnthis._getAccessTokenPromise;this._getAccessTokenPromiseStatus="pending";returnthis._getAccessTokenPromise=this.requestAuth(this.setupRequest({method:"serverless.auth.user.anonymousAuthorize",params:"{}"},"auth")).then((e=>newPromise(((t,s)=>{e.result&&e.result.accessToken?(this.setAccessToken(e.result.accessToken),this._getAccessTokenPromiseStatus="fulfilled",t(this.accessToken)):(this._getAccessTokenPromiseStatus="rejected",s(newP({code:"AUTH_FAILED",message:"获取accessToken失败"})))}))),(e=>(this._getAccessTokenPromiseStatus="rejected",Promise.reject(e)))),this._getAccessTokenPromise}authorize(){this.getAccessToken()}callFunction(e){constt={method:"serverless.function.runtime.invoke",params:JSON.stringify({functionTarget:e.name,functionArgs:e.data||{}})};returnthis.request(this.setupRequest(t))}getOSSUploadOptionsFromPath(e){constt={method:"serverless.file.resource.generateProximalSign",params:JSON.stringify(e)};returnthis.request(this.setupRequest(t))}uploadFileToOSS({url:e,formData:t,name:s,filePath:n,fileType:r,onUploadProgress:o}){returnnewPromise(((i,a)=>{constc=this.adapter.uploadFile({url:e,formData:t,name:s,filePath:n,fileType:r,header:{"X-OSS-server-side-encrpytion":"AES256"},success(e){e&&e.statusCode<400?i(e):a(newP({code:"UPLOAD_FAILED",message:"文件上传失败"}))},fail(e){a(newP({code:e.code||"UPLOAD_FAILED",message:e.message||e.errMsg||"文件上传失败"}))}});"function"==typeofo&&c&&"function"==typeofc.onProgressUpdate&&c.onProgressUpdate((e=>{o({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}reportOSSUpload(e){constt={method:"serverless.file.resource.report",params:JSON.stringify(e)};returnthis.request(this.setupRequest(t))}uploadFile({filePath:e,cloudPath:t,fileType:s="image",onUploadProgress:n,config:r}){if(!t)thrownewP({code:"CLOUDPATH_REQUIRED",message:"cloudPath不可为空"});consto=r&&r.envType||this.config.envType;leti,a;returnthis.getOSSUploadOptionsFromPath({env:o,filename:t}).then((t=>{constr=t.result;i=r.id,a="https://"+r.cdnDomain+"/"+r.ossPath;consto={url:"https://"+r.host,formData:{"Cache-Control":"max-age=2592000","Content-Disposition":"attachment",OSSAccessKeyId:r.accessKeyId,Signature:r.signature,host:r.host,id:i,key:r.ossPath,policy:r.policy,success_action_status:200},fileName:"file",name:"file",filePath:e,fileType:s};returnthis.uploadFileToOSS(Object.assign({},o,{onUploadProgress:n}))})).then((()=>this.reportOSSUpload({id:i}))).then((t=>newPromise(((s,n)=>{t.success?s({success:!0,filePath:e,fileID:a}):n(newP({code:"UPLOAD_FAILED",message:"文件上传失败"}))}))))}deleteFile({fileList:e}){constt={method:"serverless.file.resource.delete",params:JSON.stringify({id:e[0]})};returnthis.request(this.setupRequest(t))}getTempFileURL({fileList:e}={}){returnnewPromise(((t,s)=>{Array.isArray(e)&&0!==e.length||s(newP({code:"INVALID_PARAM",message:"fileList的元素必须是非空的字符串"})),t({fileList:e.map((e=>({fileID:e,tempFileURL:e})))})}))}}constL={init(e){constt=newF(e),s={signInAnonymously:function(){returnt.authorize()},getLoginState:function(){returnPromise.resolve(!1)}};returnt.auth=function(){returns},t.customAuth=t.auth,t}},N="undefined"!=typeoflocation&&"http:"===location.protocol?"http:":"https:",M="undefined"!=typeofprocess&&"e2e"===process.env.NODE_ENV&&"pre"===process.env.END_POINT?"//tcb-pre.tencentcloudapi.com/web":"//tcb-api.tencentcloudapi.com/web";var$;!function(e){e.local="local",e.none="none",e.session="session"}($||($={}));varj=function(){};constK=()=>{lete;if(!Promise){e=()=>{},e.promise={};constt=()=>{thrownewError('Your Node runtime does support ES6 Promises. Set "global.Promise" to your preferred implementation of promises.')};returnObject.defineProperty(e.promise,"then",{get:t}),Object.defineProperty(e.promise,"catch",{get:t}),e}constt=newPromise(((t,s)=>{e=(e,n)=>e?s(e):t(n)}));returne.promise=t,e};functionB(e){returnvoid0===e}functionH(e){return"[object Null]"===Object.prototype.toString.call(e)}varW;functionz(e){constt=(s=e,"[object Array]"===Object.prototype.toString.call(s)?e:[e]);vars;for(consteoft){const{isMatch:t,genAdapter:s,runtime:n}=e;if(t())return{adapter:s(),runtime:n}}}!function(e){e.WEB="web",e.WX_MP="wx_mp"}(W||(W={}));constV={adapter:null,runtime:void0},J=["anonymousUuidKey"];classYextendsj{constructor(){super(),V.adapter.root.tcbObject||(V.adapter.root.tcbObject={})}setItem(e,t){V.adapter.root.tcbObject[e]=t}getItem(e){returnV.adapter.root.tcbObject[e]}removeItem(e){deleteV.adapter.root.tcbObject[e]}clear(){deleteV.adapter.root.tcbObject}}functionX(e,t){switch(e){case"local":returnt.localStorage||newY;case"none":returnnewY;default:returnt.sessionStorage||newY}}classG{constructor(e){if(!this._storage){this._persistence=V.adapter.primaryStorage||e.persistence,this._storage=X(this._persistence,V.adapter);constt=`access_token_${e.env}`,s=`access_token_expire_${e.env}`,n=`refresh_token_${e.env}`,r=`anonymous_uuid_${e.env}`,o=`login_type_${e.env}`,i=`user_info_${e.env}`;this.keys={accessTokenKey:t,accessTokenExpireKey:s,refreshTokenKey:n,anonymousUuidKey:r,loginTypeKey:o,userInfoKey:i}}}updatePersistence(e){if(e===this._persistence)return;constt="local"===this._persistence;this._persistence=e;consts=X(e,V.adapter);for(consteinthis.keys){constn=this.keys[e];if(t&&J.includes(e))continue;constr=this._storage.getItem(n);B(r)||H(r)||(s.setItem(n,r),this._storage.removeItem(n))}this._storage=s}setStore(e,t,s){if(!this._storage)return;constn={version:s||"localCachev1",content:t},r=JSON.stringify(n);try{this._storage.setItem(e,r)}catch(e){throwe}}getStore(e,t){try{if(!this._storage)return}catch(e){return""}t=t||"localCachev1";consts=this._storage.getItem(e);if(!s)return"";if(s.indexOf(t)>=0){returnJSON.parse(s).content}return""}removeStore(e){this._storage.removeItem(e)}}constQ={},Z={};functionee(e){returnQ[e]}classte{constructor(e,t){this.data=t||null,this.name=e}}classseextendste{constructor(e,t){super("error",{error:e,data:t}),this.error=e}}constne=newclass{constructor(){this._listeners={}}on(e,t){returnfunction(e,t,s){s[e]=s[e]||[],s[e].push(t)}(e,t,this._listeners),this}off(e,t){returnfunction(e,t,s){if(s&&s[e]){constn=s[e].indexOf(t);-1!==n&&s[e].splice(n,1)}}(e,t,this._listeners),this}fire(e,t){if(einstanceofse)returnconsole.error(e.error),this;consts="string"==typeofe?newte(e,t||{}):e;constn=s.name;if(this._listens(n)){s.target=this;conste=this._listeners[n]?[...this._listeners[n]]:[];for(consttofe)t.call(this,s)}returnthis}_listens(e){returnthis._listeners[e]&&this._listeners[e].length>0}};functionre(e,t){ne.on(e,t)}functionoe(e,t={}){ne.fire(e,t)}functionie(e,t){ne.off(e,t)}constae="loginStateChanged",ce="loginStateExpire",ue="loginTypeChanged",he="anonymousConverted",le="refreshAccessToken";varde;!function(e){e.ANONYMOUS="ANONYMOUS",e.WECHAT="WECHAT",e.WECHAT_PUBLIC="WECHAT-PUBLIC",e.WECHAT_OPEN="WECHAT-OPEN",e.CUSTOM="CUSTOM",e.EMAIL="EMAIL",e.USERNAME="USERNAME",e.NULL="NULL"}(de||(de={}));constfe=["auth.getJwt","auth.logout","auth.signInWithTicket","auth.signInAnonymously","auth.signIn","auth.fetchAccessTokenWithRefreshToken","auth.signUpWithEmailAndPassword","auth.activateEndUserMail","auth.sendPasswordResetEmail","auth.resetPasswordWithToken","auth.isUsernameRegistered"],pe={"X-SDK-Version":"1.3.5"};functionge(e,t,s){constn=e[t];e[t]=function(t){constr={},o={};s.forEach((s=>{const{data:n,headers:i}=s.call(e,t);Object.assign(r,n),Object.assign(o,i)}));consti=t.data;returni&&(()=>{vare;if(e=i,"[object FormData]"!==Object.prototype.toString.call(e))t.data={...i,...r};elsefor(consteinr)i.append(e,r[e])})(),t.headers={...t.headers||{},...o},n.call(e,t)}}functionme(){conste=Math.random().toString(16).slice(2);return{data:{seqId:e},headers:{...pe,"x-seqid":e}}}classye{constructor(e={}){vart;this.config=e,this._reqClass=newV.adapter.reqClass({timeout:this.config.timeout,timeoutMsg:`请求在${this.config.timeout/1e3}s内未完成,已中断`,restrictedMethods:["post"]}),this._cache=ee(this.config.env),this._localCache=(t=this.config.env,Z[t]),ge(this._reqClass,"post",[me]),ge(this._reqClass,"upload",[me]),ge(this._reqClass,"download",[me])}asyncpost(e){returnawaitthis._reqClass.post(e)}asyncupload(e){returnawaitthis._reqClass.upload(e)}asyncdownload(e){returnawaitthis._reqClass.download(e)}asyncrefreshAccessToken(){lete,t;this._refreshAccessTokenPromise||(this._refreshAccessTokenPromise=this._refreshAccessToken());try{e=awaitthis._refreshAccessTokenPromise}catch(e){t=e}if(this._refreshAccessTokenPromise=null,this._shouldRefreshAccessTokenHook=null,t)throwt;returne}async_refreshAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t,refreshTokenKey:s,loginTypeKey:n,anonymousUuidKey:r}=this._cache.keys;this._cache.removeStore(e),this._cache.removeStore(t);leto=this._cache.getStore(s);if(!o)thrownewError("未登录CloudBase");consti={refresh_token:o},a=awaitthis.request("auth.fetchAccessTokenWithRefreshToken",i);if(a.data.code){const{code:e}=a.data;if("SIGN_PARAM_INVALID"===e||"REFRESH_TOKEN_EXPIRED"===e||"INVALID_REFRESH_TOKEN"===e){if(this._cache.getStore(n)===de.ANONYMOUS&&"INVALID_REFRESH_TOKEN"===e){conste=this._cache.getStore(r),t=this._cache.getStore(s),n=awaitthis.send("auth.signInAnonymously",{anonymous_uuid:e,refresh_token:t});returnthis.setRefreshToken(n.refresh_token),this._refreshAccessToken()}oe(ce),this._cache.removeStore(s)}thrownewError(`刷新access token失败:${a.data.code}`)}if(a.data.access_token)returnoe(le),this._cache.setStore(e,a.data.access_token),this._cache.setStore(t,a.data.access_token_expire+Date.now()),{accessToken:a.data.access_token,accessTokenExpire:a.data.access_token_expire};a.data.refresh_token&&(this._cache.removeStore(s),this._cache.setStore(s,a.data.refresh_token),this._refreshAccessToken())}asyncgetAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t,refreshTokenKey:s}=this._cache.keys;if(!this._cache.getStore(s))thrownewError("refresh token不存在,登录状态异常");letn=this._cache.getStore(e),r=this._cache.getStore(t),o=!0;returnthis._shouldRefreshAccessTokenHook&&!awaitthis._shouldRefreshAccessTokenHook(n,r)&&(o=!1),(!n||!r||r<Date.now())&&o?this.refreshAccessToken():{accessToken:n,accessTokenExpire:r}}asyncrequest(e,t,s){constn=`x-tcb-trace_${this.config.env}`;letr="application/x-www-form-urlencoded";consto={action:e,env:this.config.env,dataVersion:"2019-08-16",...t};if(-1===fe.indexOf(e)){const{refreshTokenKey:e}=this._cache.keys;this._cache.getStore(e)&&(o.access_token=(awaitthis.getAccessToken()).accessToken)}leti;if("storage.uploadFile"===e){i=newFormData;for(leteini)i.hasOwnProperty(e)&&void0!==i[e]&&i.append(e,o[e]);r="multipart/form-data"}else{r="application/json;charset=UTF-8",i={};for(leteino)void0!==o[e]&&(i[e]=o[e])}leta={headers:{"content-type":r}};s&&s.onUploadProgress&&(a.onUploadProgress=s.onUploadProgress);constc=this._localCache.getStore(n);c&&(a.headers["X-TCB-Trace"]=c);const{parse:u,inQuery:h,search:l}=t;letd={env:this.config.env};u&&(d.parse=!0),h&&(d={...h,...d});letf=function(e,t,s={}){constn=/\?/.test(t);letr="";for(leteins)""===r?!n&&(t+="?"):r+="&",r+=`${e}=${encodeURIComponent(s[e])}`;return/^http(s)?\:\/\//.test(t+=r)?t:`${e}${t}`}(N,M,d);l&&(f+=l);constp=awaitthis.post({url:f,data:i,...a}),g=p.header&&p.header["x-tcb-trace"];if(g&&this._localCache.setStore(n,g),200!==Number(p.status)&&200!==Number(p.statusCode)||!p.data)thrownewError("network request error");returnp}asyncsend(e,t={}){consts=awaitthis.request(e,t,{onUploadProgress:t.onUploadProgress});if("ACCESS_TOKEN_EXPIRED"===s.data.code&&-1===fe.indexOf(e)){awaitthis.refreshAccessToken();consts=awaitthis.request(e,t,{onUploadProgress:t.onUploadProgress});if(s.data.code)thrownewError(`[${s.data.code}] ${s.data.message}`);returns.data}if(s.data.code)thrownewError(`[${s.data.code}] ${s.data.message}`);returns.data}setRefreshToken(e){const{accessTokenKey:t,accessTokenExpireKey:s,refreshTokenKey:n}=this._cache.keys;this._cache.removeStore(t),this._cache.removeStore(s),this._cache.setStore(n,e)}}const_e={};functionwe(e){return_e[e]}classve{constructor(e){this.config=e,this._cache=ee(e.env),this._request=we(e.env)}setRefreshToken(e){const{accessTokenKey:t,accessTokenExpireKey:s,refreshTokenKey:n}=this._cache.keys;this._cache.removeStore(t),this._cache.removeStore(s),this._cache.setStore(n,e)}setAccessToken(e,t){const{accessTokenKey:s,accessTokenExpireKey:n}=this._cache.keys;this._cache.setStore(s,e),this._cache.setStore(n,t)}asyncrefreshUserInfo(){const{data:e}=awaitthis._request.send("auth.getUserInfo",{});returnthis.setLocalUserInfo(e),e}setLocalUserInfo(e){const{userInfoKey:t}=this._cache.keys;this._cache.setStore(t,e)}}classSe{constructor(e){if(!e)thrownewError("envId is not defined");this._envId=e,this._cache=ee(this._envId),this._request=we(this._envId),this.setUserInfo()}linkWithTicket(e){if("string"!=typeofe)thrownewError("ticket must be string");returnthis._request.send("auth.linkWithTicket",{ticket:e})}linkWithRedirect(e){e.signInWithRedirect()}updatePassword(e,t){returnthis._request.send("auth.updatePassword",{oldPassword:t,newPassword:e})}updateEmail(e){returnthis._request.send("auth.updateEmail",{newEmail:e})}updateUsername(e){if("string"!=typeofe)thrownewError("username must be a string");returnthis._request.send("auth.updateUsername",{username:e})}asyncgetLinkedUidList(){const{data:e}=awaitthis._request.send("auth.getLinkedUidList",{});lett=!1;const{users:s}=e;returns.forEach((e=>{e.wxOpenId&&e.wxPublicId&&(t=!0)})),{users:s,hasPrimaryUid:t}}setPrimaryUid(e){returnthis._request.send("auth.setPrimaryUid",{uid:e})}unlink(e){returnthis._request.send("auth.unlink",{platform:e})}asyncupdate(e){const{nickName:t,gender:s,avatarUrl:n,province:r,country:o,city:i}=e,{data:a}=awaitthis._request.send("auth.updateUserInfo",{nickName:t,gender:s,avatarUrl:n,province:r,country:o,city:i});this.setLocalUserInfo(a)}asyncrefresh(){const{data:e}=awaitthis._request.send("auth.getUserInfo",{});returnthis.setLocalUserInfo(e),e}setUserInfo(){const{userInfoKey:e}=this._cache.keys,t=this._cache.getStore(e);["uid","loginType","openid","wxOpenId","wxPublicId","unionId","qqMiniOpenId","email","hasPassword","customUserId","nickName","gender","avatarUrl"].forEach((e=>{this[e]=t[e]})),this.location={country:t.country,province:t.province,city:t.city}}setLocalUserInfo(e){const{userInfoKey:t}=this._cache.keys;this._cache.setStore(t,e),this.setUserInfo()}}classke{constructor(e){if(!e)thrownewError("envId is not defined");this._cache=ee(e);const{refreshTokenKey:t,accessTokenKey:s,accessTokenExpireKey:n}=this._cache.keys,r=this._cache.getStore(t),o=this._cache.getStore(s),i=this._cache.getStore(n);this.credential={refreshToken:r,accessToken:o,accessTokenExpire:i},this.user=newSe(e)}getisAnonymousAuth(){returnthis.loginType===de.ANONYMOUS}getisCustomAuth(){returnthis.loginType===de.CUSTOM}getisWeixinAuth(){returnthis.loginType===de.WECHAT||this.loginType===de.WECHAT_OPEN||this.loginType===de.WECHAT_PUBLIC}getloginType(){returnthis._cache.getStore(this._cache.keys.loginTypeKey)}}classTeextendsve{asyncsignIn(){this._cache.updatePersistence("local");const{anonymousUuidKey:e,refreshTokenKey:t}=this._cache.keys,s=this._cache.getStore(e)||void0,n=this._cache.getStore(t)||void0,r=awaitthis._request.send("auth.signInAnonymously",{anonymous_uuid:s,refresh_token:n});if(r.uuid&&r.refresh_token){this._setAnonymousUUID(r.uuid),this.setRefreshToken(r.refresh_token),awaitthis._request.refreshAccessToken(),oe(ae),oe(ue,{env:this.config.env,loginType:de.ANONYMOUS,persistence:"local"});conste=newke(this.config.env);returnawaite.user.refresh(),e}thrownewError("匿名登录失败")}asynclinkAndRetrieveDataWithTicket(e){const{anonymousUuidKey:t,refreshTokenKey:s}=this._cache.keys,n=this._cache.getStore(t),r=this._cache.getStore(s),o=awaitthis._request.send("auth.linkAndRetrieveDataWithTicket",{anonymous_uuid:n,refresh_token:r,ticket:e});if(o.refresh_token)returnthis._clearAnonymousUUID(),this.setRefreshToken(o.refresh_token),awaitthis._request.refreshAccessToken(),oe(he,{env:this.config.env}),oe(ue,{loginType:de.CUSTOM,persistence:"local"}),{credential:{refreshToken:o.refresh_token}};thrownewError("匿名转化失败")}_setAnonymousUUID(e){const{anonymousUuidKey:t,loginTypeKey:s}=this._cache.keys;this._cache.removeStore(t),this._cache.setStore(t,e),this._cache.setStore(s,de.ANONYMOUS)}_clearAnonymousUUID(){this._cache.removeStore(this._cache.keys.anonymousUuidKey)}}classPeextendsve{asyncsignIn(e){if("string"!=typeofe)thrownewError("ticket must be a string");const{refreshTokenKey:t}=this._cache.keys,s=awaitthis._request.send("auth.signInWithTicket",{ticket:e,refresh_token:this._cache.getStore(t)||""});if(s.refresh_token)returnthis.setRefreshToken(s.refresh_token),awaitthis._request.refreshAccessToken(),oe(ae),oe(ue,{env:this.config.env,loginType:de.CUSTOM,persistence:this.config.persistence}),awaitthis.refreshUserInfo(),newke(this.config.env);thrownewError("自定义登录失败")}}classIeextendsve{asyncsignIn(e,t){if("string"!=typeofe)thrownewError("email must be a string");const{refreshTokenKey:s}=this._cache.keys,n=awaitthis._request.send("auth.signIn",{loginType:"EMAIL",email:e,password:t,refresh_token:this._cache.getStore(s)||""}),{refresh_token:r,access_token:o,access_token_expire:i}=n;if(r)returnthis.setRefreshToken(r),o&&i?this.setAccessToken(o,i):awaitthis._request.refreshAccessToken(),awaitthis.refreshUserInfo(),oe(ae),oe(ue,{env:this.config.env,loginType:de.EMAIL,persistence:this.config.persistence}),newke(this.config.env);thrown.code?newError(`邮箱登录失败: [${n.code}] ${n.message}`):newError("邮箱登录失败")}asyncactivate(e){returnthis._request.send("auth.activateEndUserMail",{token:e})}asyncresetPasswordWithToken(e,t){returnthis._request.send("auth.resetPasswordWithToken",{token:e,newPassword:t})}}classAeextendsve{asyncsignIn(e,t){if("string"!=typeofe)thrownewError("username must be a string");"string"!=typeoft&&(t="",console.warn("password is empty"));const{refreshTokenKey:s}=this._cache.keys,n=awaitthis._request.send("auth.signIn",{loginType:de.USERNAME,username:e,password:t,refresh_token:this._cache.getStore(s)||""}),{refresh_token:r,access_token_expire:o,access_token:i}=n;if(r)returnthis.setRefreshToken(r),i&&o?this.setAccessToken(i,o):awaitthis._request.refreshAccessToken(),awaitthis.refreshUserInfo(),oe(ae),oe(ue,{env:this.config.env,loginType:de.USERNAME,persistence:this.config.persistence}),newke(this.config.env);thrown.code?newError(`用户名密码登录失败: [${n.code}] ${n.message}`):newError("用户名密码登录失败")}}classEe{constructor(e){this.config=e,this._cache=ee(e.env),this._request=we(e.env),this._onAnonymousConverted=this._onAnonymousConverted.bind(this),this._onLoginTypeChanged=this._onLoginTypeChanged.bind(this),re(ue,this._onLoginTypeChanged)}getcurrentUser(){conste=this.hasLoginState();returne&&e.user||null}getloginType(){returnthis._cache.getStore(this._cache.keys.loginTypeKey)}anonymousAuthProvider(){returnnewTe(this.config)}customAuthProvider(){returnnewPe(this.config)}emailAuthProvider(){returnnewIe(this.config)}usernameAuthProvider(){returnnewAe(this.config)}asyncsignInAnonymously(){returnnewTe(this.config).signIn()}asyncsignInWithEmailAndPassword(e,t){returnnewIe(this.config).signIn(e,t)}signInWithUsernameAndPassword(e,t){returnnewAe(this.config).signIn(e,t)}asynclinkAndRetrieveDataWithTicket(e){this._anonymousAuthProvider||(this._anonymousAuthProvider=newTe(this.config)),re(he,this._onAnonymousConverted);returnawaitthis._anonymousAuthProvider.linkAndRetrieveDataWithTicket(e)}asyncsignOut(){if(this.loginType===de.ANONYMOUS)thrownewError("匿名用户不支持登出操作");const{refreshTokenKey:e,accessTokenKey:t,accessTokenExpireKey:s}=this._cache.keys,n=this._cache.getStore(e);if(!n)return;constr=awaitthis._request.send("auth.logout",{refresh_token:n});returnthis._cache.removeStore(e),this._cache.removeStore(t),this._cache.removeStore(s),oe(ae),oe(ue,{env:this.config.env,loginType:de.NULL,persistence:this.config.persistence}),r}asyncsignUpWithEmailAndPassword(e,t){returnthis._request.send("auth.signUpWithEmailAndPassword",{email:e,password:t})}asyncsendPasswordResetEmail(e){returnthis._request.send("auth.sendPasswordResetEmail",{email:e})}onLoginStateChanged(e){re(ae,(()=>{constt=this.hasLoginState();e.call(this,t)}));constt=this.hasLoginState();e.call(this,t)}onLoginStateExpired(e){re(ce,e.bind(this))}onAccessTokenRefreshed(e){re(le,e.bind(this))}onAnonymousConverted(e){re(he,e.bind(this))}onLoginTypeChanged(e){re(ue,(()=>{constt=this.hasLoginState();e.call(this,t)}))}asyncgetAccessToken(){return{accessToken:(awaitthis._request.getAccessToken()).accessToken,env:this.config.env}}hasLoginState(){const{refreshTokenKey:e}=this._cache.keys;returnthis._cache.getStore(e)?newke(this.config.env):null}asyncisUsernameRegistered(e){if("string"!=typeofe)thrownewError("username must be a string");const{data:t}=awaitthis._request.send("auth.isUsernameRegistered",{username:e});returnt&&t.isRegistered}getLoginState(){returnPromise.resolve(this.hasLoginState())}asyncsignInWithTicket(e){returnnewPe(this.config).signIn(e)}shouldRefreshAccessToken(e){this._request._shouldRefreshAccessTokenHook=e.bind(this)}getUserInfo(){returnthis._request.send("auth.getUserInfo",{}).then((e=>e.code?e:{...e.data,requestId:e.seqId}))}getAuthHeader(){const{refreshTokenKey:e,accessTokenKey:t}=this._cache.keys,s=this._cache.getStore(e);return{"x-cloudbase-credentials":this._cache.getStore(t)+"/@@/"+s}}_onAnonymousConverted(e){const{env:t}=e.data;t===this.config.env&&this._cache.updatePersistence(this.config.persistence)}_onLoginTypeChanged(e){const{loginType:t,persistence:s,env:n}=e.data;n===this.config.env&&(this._cache.updatePersistence(s),this._cache.setStore(this._cache.keys.loginTypeKey,t))}}constbe=function(e,t){t=t||K();consts=we(this.config.env),{cloudPath:n,filePath:r,onUploadProgress:o,fileType:i="image"}=e;returns.send("storage.getUploadMetadata",{path:n}).then((e=>{const{data:{url:a,authorization:c,token:u,fileId:h,cosFileId:l},requestId:d}=e,f={key:n,signature:c,"x-cos-meta-fileid":l,success_action_status:"201","x-cos-security-token":u};s.upload({url:a,data:f,file:r,name:n,fileType:i,onUploadProgress:o}).then((e=>{201===e.statusCode?t(null,{fileID:h,requestId:d}):t(newError(`STORAGE_REQUEST_FAIL: ${e.data}`))})).catch((e=>{t(e)}))})).catch((e=>{t(e)})),t.promise},Oe=function(e,t){t=t||K();consts=we(this.config.env),{cloudPath:n}=e;returns.send("storage.getUploadMetadata",{path:n}).then((e=>{t(null,e)})).catch((e=>{t(e)})),t.promise},Ue=function({fileList:e},t){if(t=t||K(),!e||!Array.isArray(e))return{code:"INVALID_PARAM",message:"fileList必须是非空的数组"};for(lettofe)if(!t||"string"!=typeoft)return{code:"INVALID_PARAM",message:"fileList的元素必须是非空的字符串"};consts={fileid_list:e};returnwe(this.config.env).send("storage.batchDeleteFile",s).then((e=>{e.code?t(null,e):t(null,{fileList:e.data.delete_list,requestId:e.requestId})})).catch((e=>{t(e)})),t.promise},De=function({fileList:e},t){t=t||K(),e&&Array.isArray(e)||t(null,{code:"INVALID_PARAM",message:"fileList必须是非空的数组"});lets=[];for(letnofe)"object"==typeofn?(n.hasOwnProperty("fileID")&&n.hasOwnProperty("maxAge")||t(null,{code:"INVALID_PARAM",message:"fileList的元素必须是包含fileID和maxAge的对象"}),s.push({fileid:n.fileID,max_age:n.maxAge})):"string"==typeofn?s.push({fileid:n}):t(null,{code:"INVALID_PARAM",message:"fileList的元素必须是字符串"});constn={file_list:s};returnwe(this.config.env).send("storage.batchGetDownloadUrl",n).then((e=>{e.code?t(null,e):t(null,{fileList:e.data.download_list,requestId:e.requestId})})).catch((e=>{t(e)})),t.promise},Ce=asyncfunction({fileID:e},t){consts=(awaitDe.call(this,{fileList:[{fileID:e,maxAge:600}]})).fileList[0];if("SUCCESS"!==s.code)returnt?t(s):newPromise((e=>{e(s)}));constn=we(this.config.env);letr=s.download_url;if(r=encodeURI(r),!t)returnn.download({url:r});t(awaitn.download({url:r}))},xe=function({name:e,data:t,query:s,parse:n,search:r},o){consti=o||K();leta;try{a=t?JSON.stringify(t):""}catch(e){returnPromise.reject(e)}if(!e)returnPromise.reject(newError("函数名不能为空"));constc={inQuery:s,parse:n,search:r,function_name:e,request_data:a};returnwe(this.config.env).send("functions.invokeFunction",c).then((e=>{if(e.code)i(null,e);else{lett=e.data.response_data;if(n)i(null,{result:t,requestId:e.requestId});elsetry{t=JSON.parse(e.data.response_data),i(null,{result:t,requestId:e.requestId})}catch(e){i(newError("response data must be json"))}}returni.promise})).catch((e=>{i(e)})),i.promise},Re={timeout:15e3,persistence:"session"},qe={};classFe{constructor(e){this.config=e||this.config,this.authObj=void0}init(e){switch(V.adapter||(this.requestClient=newV.adapter.reqClass({timeout:e.timeout||5e3,timeoutMsg:`请求在${(e.timeout||5e3)/1e3}s内未完成,已中断`})),this.config={...Re,...e},!0){casethis.config.timeout>6e5:console.warn("timeout大于可配置上限[10分钟],已重置为上限数值"),this.config.timeout=6e5;break;casethis.config.timeout<100:console.warn("timeout小于可配置下限[100ms],已重置为下限数值"),this.config.timeout=100}returnnewFe(this.config)}auth({persistence:e}={}){if(this.authObj)returnthis.authObj;constt=e||V.adapter.primaryStorage||Re.persistence;vars;returnt!==this.config.persistence&&(this.config.persistence=t),function(e){const{env:t}=e;Q[t]=newG(e),Z[t]=newG({...e,persistence:"local"})}(this.config),s=this.config,_e[s.env]=newye(s),this.authObj=newEe(this.config),this.authObj}on(e,t){returnre.apply(this,[e,t])}off(e,t){returnie.apply(this,[e,t])}callFunction(e,t){returnxe.apply(this,[e,t])}deleteFile(e,t){returnUe.apply(this,[e,t])}getTempFileURL(e,t){returnDe.apply(this,[e,t])}downloadFile(e,t){returnCe.apply(this,[e,t])}uploadFile(e,t){returnbe.apply(this,[e,t])}getUploadMetadata(e,t){returnOe.apply(this,[e,t])}registerExtension(e){qe[e.name]=e}asyncinvokeExtension(e,t){consts=qe[e];if(!s)throwError(`扩展${e} 必须先注册`);returnawaits.invoke(t,this)}useAdapters(e){const{adapter:t,runtime:s}=z(e)||{};t&&(V.adapter=t),s&&(V.runtime=s)}}constLe=newFe;functionNe(e,t,s){void0===s&&(s={});varn=/\?/.test(t),r="";for(varoins)""===r?!n&&(t+="?"):r+="&",r+=o+"="+encodeURIComponent(s[o]);return/^http(s)?:\/\//.test(t+=r)?t:""+e+t}classMe{post(e){const{url:t,data:s,headers:n}=e;returnnewPromise(((e,r)=>{q.request({url:Ne("https:",t),data:s,method:"POST",header:n,success(t){e(t)},fail(e){r(e)}})}))}upload(e){returnnewPromise(((t,s)=>{const{url:n,file:r,data:o,headers:i,fileType:a}=e,c=q.uploadFile({url:Ne("https:",n),name:"file",formData:Object.assign({},o),filePath:r,fileType:a,header:i,success(e){consts={statusCode:e.statusCode,data:e.data||{}};200===e.statusCode&&o.success_action_status&&(s.statusCode=parseInt(o.success_action_status,10)),t(s)},fail(e){u&&"mp-alipay"===h&&console.warn("支付宝小程序开发工具上传腾讯云时无法准确判断是否上传成功,请使用真机测试"),s(newError(e.errMsg||"uploadFile:fail"))}});"function"==typeofe.onUploadProgress&&c&&"function"==typeofc.onProgressUpdate&&c.onProgressUpdate((t=>{e.onUploadProgress({loaded:t.totalBytesSent,total:t.totalBytesExpectedToSend})}))}))}}const$e={setItem(e,t){q.setStorageSync(e,t)},getItem:e=>q.getStorageSync(e),removeItem(e){q.removeStorageSync(e)},clear(){q.clearStorageSync()}};constje={genAdapter:function(){return{root:{},reqClass:Me,localStorage:$e,primaryStorage:"local"}},isMatch:function(){return!0},runtime:"uni_app"};Le.useAdapters(je);constKe=Le,Be=Ke.init;Ke.init=function(e){e.env=e.spaceId;constt=Be.call(this,e);t.config.provider="tencent",t.config.spaceId=e.spaceId;consts=t.auth;returnt.auth=function(e){constt=s.call(this,e);return["linkAndRetrieveDataWithTicket","signInAnonymously","signOut","getAccessToken","getLoginState","signInWithTicket","getUserInfo"].forEach((e=>{t[e]=T(t[e]).bind(t)})),t},t.customAuth=t.auth,t};classHeextendsF{getAccessToken(){returnnewPromise(((e,t)=>{consts="Anonymous_Access_token";this.setAccessToken(s),e(s)}))}setupRequest(e,t){consts=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),n={"Content-Type":"application/json"};"auth"!==t&&(s.token=this.accessToken,n["x-basement-token"]=this.accessToken),n["x-serverless-sign"]=R.sign(s,this.config.clientSecret);constr=D(),{APPID:o,PLATFORM:i,DEVICEID:a,CLIENT_SDK_VERSION:c}=r;returnn["x-client-platform"]=i,n["x-client-appid"]=o,n["x-client-device-id"]=a,n["x-client-version"]=c,n["x-client-token"]=q.getStorageSync("uni_id_token"),{url:this.config.requestUrl,method:"POST",data:s,dataType:"json",header:JSON.parse(JSON.stringify(n))}}uploadFileToOSS({url:e,formData:t,name:s,filePath:n,fileType:r,onUploadProgress:o}){returnnewPromise(((i,a)=>{constc=this.adapter.uploadFile({url:e,formData:t,name:s,filePath:n,fileType:r,success(e){e&&e.statusCode<400?i(e):a(newP({code:"UPLOAD_FAILED",message:"文件上传失败"}))},fail(e){a(newP({code:e.code||"UPLOAD_FAILED",message:e.message||e.errMsg||"文件上传失败"}))}});"function"==typeofo&&c&&"function"==typeofc.onProgressUpdate&&c.onProgressUpdate((e=>{o({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}uploadFile({filePath:e,cloudPath:t,fileType:s="image",onUploadProgress:n}){if(!t)thrownewP({code:"CLOUDPATH_REQUIRED",message:"cloudPath不可为空"});letr;returnthis.getOSSUploadOptionsFromPath({cloudPath:t}).then((t=>{const{url:o,formData:i,name:a,fileUrl:c}=t.result;r=c;constu={url:o,formData:i,name:a,filePath:e,fileType:s};returnthis.uploadFileToOSS(Object.assign({},u,{onUploadProgress:n}))})).then((()=>this.reportOSSUpload({cloudPath:t}))).then((t=>newPromise(((s,n)=>{t.success?s({success:!0,filePath:e,fileID:r}):n(newP({code:"UPLOAD_FAILED",message:"文件上传失败"}))}))))}}constWe={init(e){constt=newHe(e),s={signInAnonymously:function(){returnt.authorize()},getLoginState:function(){returnPromise.resolve(!1)}};returnt.auth=function(){returns},t.customAuth=t.auth,t}};letze,Ve;functionJe({name:e,data:t,spaceId:s,provider:n}){ze||(ze=D(),Ve={ak:p,p:"android"===O?"a":"i",ut:x(),uuid:C()});constr=JSON.parse(JSON.stringify(t||{})),o=e,i=s,a={tencent:"t",aliyun:"a"}[n];{conste=Object.assign({},Ve,{fn:o,sid:i,pvd:a});Object.assign(r,{clientInfo:ze,uniCloudClientInfo:encodeURIComponent(JSON.stringify(e))});const{deviceId:t}=uni.getSystemInfoSync();r.uniCloudDeviceId=t}if(!r.uniIdToken){conste=q.getStorageSync("uni_id_token")||q.getStorageSync("uniIdToken");e&&(r.uniIdToken=e)}returnr}functionYe({name:e,data:t}){const{localAddress:s,localPort:n}=this,r={aliyun:"aliyun",tencent:"tcb"}[this.config.provider],o=this.config.spaceId,i=`http://${s}:${n}/system/check-function`,a=`http://${s}:${n}/cloudfunctions/${e}`;returnnewPromise(((t,s)=>{q.request({method:"POST",url:i,data:{name:e,platform:h,provider:r,spaceId:o},timeout:3e3,success(e){t(e)},fail(){t({data:{code:"NETWORK_ERROR",message:"连接本地调试服务失败,请检查客户端是否和主机在同一局域网下,自动切换为已部署的云函数。"}})}})})).then((({data:e}={})=>{const{code:t,message:s}=e||{};return{code:0===t?0:t||"SYS_ERR",message:s||"SYS_ERR"}})).then((({code:s,message:n})=>{if(0!==s){switch(s){case"MODULE_ENCRYPTED":console.error(`此云函数(${e})依赖加密公共模块不可本地调试,自动切换为云端已部署的云函数`);break;case"FUNCTION_ENCRYPTED":console.error(`此云函数(${e})已加密不可本地调试,自动切换为云端已部署的云函数`);break;case"ACTION_ENCRYPTED":console.error(n||"需要访问加密的uni-clientDB-action,自动切换为云端环境");break;case"NETWORK_ERROR":{conste="连接本地调试服务失败,请检查客户端是否和主机在同一局域网下";throwconsole.error(e),newError(e)}case"SWITCH_TO_CLOUD":break;default:{conste=`检测本地调试服务出现错误:${n},请检查网络环境或重启客户端再试`;throwconsole.error(e),newError(e)}}returnthis._originCallFunction({name:e,data:t})}returnnewPromise(((s,n)=>{consti=Je({name:e,data:t,provider:this.config.provider,spaceId:o});q.request({method:"POST",url:a,data:{provider:r,platform:h,param:i},success:({statusCode:e,data:t}={})=>!e||e>=400?n(newP({code:t.code||"SYS_ERR",message:t.message||"request:fail"})):s({result:t}),fail(e){n(newP({code:e.code||e.errCode||"SYS_ERR",message:e.message||e.errMsg||"request:fail"}))}})}))}))}constXe=[{rule:/fc_function_not_found|FUNCTION_NOT_FOUND/,content:",云函数[{functionName}]在云端不存在,请检查此云函数名称是否正确以及该云函数是否已上传到服务空间",mode:"append"}];varGe=/[\\^$.*+?()[\]{}|]/g,Qe=RegExp(Ge.source);functionZe(e,t,s){returne.replace(newRegExp((n=t)&&Qe.test(n)?n.replace(Ge,"\\$&"):n,"g"),s);varn}functionet({functionName:e,result:t,logPvd:s}){if(this.config.useDebugFunction&&t&&t.requestId){constn=JSON.stringify({spaceId:this.config.spaceId,functionName:e,requestId:t.requestId});console.log(`[${s}-request]${n}[/${s}-request]`)}}functiontt(e){constt=e.callFunction,s=function(e){consts=e.name;e.data=Je({name:s,data:e.data,provider:this.config.provider,spaceId:this.config.spaceId});constn={aliyun:"aliyun",tencent:"tcb"}[this.config.provider];returnt.call(this,e).then((e=>(et.call(this,{functionName:s,result:e,logPvd:n}),Promise.resolve(e))),(t=>(et.call(this,{functionName:s,result:t,logPvd:n}),t&&t.message&&(t.message=function({message:e="",extraInfo:t={},formatter:s=[]}={}){for(letn=0;n<s.length;n++){const{rule:r,content:o,mode:i}=s[n],a=e.match(r);if(!a)continue;letc=o;for(lete=1;e<a.length;e++)c=Ze(c,`{$${e}}`,a[e]);for(consteint)c=Ze(c,`{${e}}`,t[e]);switch(i){case"replace":returnc;case"append":default:returne+c}}returne}({message:`[${e.name}]: ${t.message}`,formatter:Xe,extraInfo:{functionName:s}})),Promise.reject(t))))};e.callFunction=function(t){letn;returnu&&e.debugInfo&&!e.debugInfo.forceRemote&&d?(e._originCallFunction||(e._originCallFunction=s),n=Ye.call(this,t)):n=s.call(this,t),Object.defineProperty(n,"result",{get:()=>(console.warn("当前返回结果为Promise类型,不可直接访问其result属性,详情请参考:https://uniapp.dcloud.net.cn/uniCloud/faq?id=promise"),{})}),n}}constst=Symbol("CLIENT_DB_INTERNAL");functionnt(e,t){returne.then="DoNotReturnProxyWithAFunctionNamedThen",e._internalType=st,e.__v_raw=void0,newProxy(e,{get:(e,s,n)=>sine||"string"!=typeofs?e[s]:t.get(e,s,n)})}functionrt(e){returne&&rt(e.__v_raw)||e}functionot(e){switch(o(e=rt(e))){case"array":returne.map((e=>ot(e)));case"object":returne._internalType===st||Object.keys(e).forEach((t=>{e[t]=ot(e[t])})),e;case"regexp":return{$regexp:{source:e.source,flags:e.flags}};case"date":return{$date:e.toISOString()};default:returne}}functionit(){conste=q.getStorageSync("uni_id_token")||"",t=e.split(".");if(!e||3!==t.length)return{uid:null,role:[],permission:[],tokenExpired:0};lets;try{s=JSON.parse((n=t[1],decodeURIComponent(atob(n).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""))))}catch(e){thrownewError("获取当前用户信息出错,详细错误信息为:"+e.message)}varn;returns.tokenExpired=1e3*s.exp,deletes.exp,deletes.iat,s}varat=t(s((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});consts="chooseAndUploadFile:ok",n="chooseAndUploadFile:fail";functionr(e,t){returne.tempFiles.forEach(((e,s)=>{e.name||(e.name=e.path.substring(e.path.lastIndexOf("/")+1)),t&&(e.fileType=t),e.cloudPath=Date.now()+"_"+s+e.name.substring(e.name.lastIndexOf("."))})),e.tempFilePaths||(e.tempFilePaths=e.tempFiles.map((e=>e.path))),e}functiono(e,t,{onChooseFile:n,onUploadProgress:r}){returnt.then((e=>{if(n){constt=n(e);if(void0!==t)returnPromise.resolve(t).then((t=>void0===t?e:t))}returne})).then((t=>!1===t?{errMsg:s,tempFilePaths:[],tempFiles:[]}:function(e,t,n=5,r){(t=Object.assign({},t)).errMsg=s;consto=t.tempFiles,i=o.length;leta=0;returnnewPromise((s=>{for(;a<n;)c();functionc(){constn=a++;if(n>=i)returnvoid(!o.find((e=>!e.url&&!e.errMsg))&&s(t));constu=o[n];e.uploadFile({filePath:u.path,cloudPath:u.cloudPath,fileType:u.fileType,onUploadProgress(e){e.index=n,e.tempFile=u,e.tempFilePath=u.path,r&&r(e)}}).then((e=>{u.url=e.fileID,n<i&&c()})).catch((e=>{u.errMsg=e.errMsg||e.message,n<i&&c()}))}}))}(e,t,5,r)))}t.initChooseAndUploadFile=function(e){returnfunction(t={type:"all"}){return"image"===t.type?o(e,function(e){const{count:t,sizeType:s,sourceType:o=["album","camera"],extension:i}=e;returnnewPromise(((e,a)=>{uni.chooseImage({count:t,sizeType:s,sourceType:o,extension:i,success(t){e(r(t,"image"))},fail(e){a({errMsg:e.errMsg.replace("chooseImage:fail",n)})}})}))}(t),t):"video"===t.type?o(e,function(e){const{camera:t,compressed:s,maxDuration:o,sourceType:i=["album","camera"],extension:a}=e;returnnewPromise(((e,c)=>{uni.chooseVideo({camera:t,compressed:s,maxDuration:o,sourceType:i,extension:a,success(t){const{tempFilePath:s,duration:n,size:o,height:i,width:a}=t;e(r({errMsg:"chooseVideo:ok",tempFilePaths:[s],tempFiles:[{name:t.tempFile&&t.tempFile.name||"",path:s,size:o,type:t.tempFile&&t.tempFile.type||"",width:a,height:i,duration:n,fileType:"video",cloudPath:""}]},"video"))},fail(e){c({errMsg:e.errMsg.replace("chooseVideo:fail",n)})}})}))}(t),t):o(e,function(e){const{count:t,extension:s}=e;returnnewPromise(((e,o)=>{leti=uni.chooseFile;if("undefined"!=typeofwx&&"function"==typeofwx.chooseMessageFile&&(i=wx.chooseMessageFile),"function"!=typeofi)returno({errMsg:n+" 请指定 type 类型,该平台仅支持选择 image 或 video。"});i({type:"all",count:t,extension:s,success(t){e(r(t))},fail(e){o({errMsg:e.errMsg.replace("chooseFile:fail",n)})}})}))}(t),t)}}})));constct="manual";functionut(e){return{props:{localdata:{type:Array,default:()=>[]},options:{type:[Object,Array],default:()=>({})},collection:{type:String,default:""},action:{type:String,default:""},field:{type:String,default:""},orderby:{type:String,default:""},where:{type:[String,Object],default:""},pageData:{type:String,default:"add"},pageCurrent:{type:Number,default:1},pageSize:{type:Number,default:20},getcount:{type:[Boolean,String],default:!1},gettree:{type:[Boolean,String],default:!1},gettreepath:{type:[Boolean,String],default:!1},startwith:{type:String,default:""},limitlevel:{type:Number,default:10},groupby:{type:String,default:""},groupField:{type:String,default:""},distinct:{type:[Boolean,String],default:!1},foreignKey:{type:String,default:""},loadtime:{type:String,default:"auto"},manual:{type:Boolean,default:!1}},data:()=>({mixinDatacomLoading:!1,mixinDatacomHasMore:!1,mixinDatacomResData:[],mixinDatacomErrorMessage:"",mixinDatacomPage:{}}),created(){this.mixinDatacomPage={current:this.pageCurrent,size:this.pageSize,count:0},this.$watch((()=>{vare=[];return["pageCurrent","pageSize","localdata","collection","action","field","orderby","where","getont","getcount","gettree","groupby","groupField","distinct"].forEach((t=>{e.push(this[t])})),e}),((e,t)=>{if(this.loadtime===ct)return;lets=!1;constn=[];for(letr=2;r<e.length;r++)e[r]!==t[r]&&(n.push(e[r]),s=!0);e[0]!==t[0]&&(this.mixinDatacomPage.current=this.pageCurrent),this.mixinDatacomPage.size=this.pageSize,this.onMixinDatacomPropsChange(s,n)}))},methods:{onMixinDatacomPropsChange(e,t){},mixinDatacomEasyGet({getone:e=!1,success:t,fail:s}={}){this.mixinDatacomLoading||(this.mixinDatacomLoading=!0,this.mixinDatacomErrorMessage="",this.mixinDatacomGet().then((s=>{this.mixinDatacomLoading=!1;const{data:n,count:r}=s.result;this.getcount&&(this.mixinDatacomPage.count=r),this.mixinDatacomHasMore=n.length<this.pageSize;consto=e?n.length?n[0]:void0:n;this.mixinDatacomResData=o,t&&t(o)})).catch((e=>{this.mixinDatacomLoading=!1,this.mixinDatacomErrorMessage=e,s&&s(e)})))},mixinDatacomGet(t={}){lets=e.database();constn=t.action||this.action;n&&(s=s.action(n));constr=t.collection||this.collection;s=s.collection(r);consto=t.where||this.where;o&&Object.keys(o).length&&(s=s.where(o));consti=t.field||this.field;i&&(s=s.field(i));consta=t.foreignKey||this.foreignKey;a&&(s=s.foreignKey(a));constc=t.groupby||this.groupby;c&&(s=s.groupBy(c));constu=t.groupField||this.groupField;u&&(s=s.groupField(u));!0===(void0!==t.distinct?t.distinct:this.distinct)&&(s=s.distinct());consth=t.orderby||this.orderby;h&&(s=s.orderBy(h));constl=void0!==t.pageCurrent?t.pageCurrent:this.mixinDatacomPage.current,d=void0!==t.pageSize?t.pageSize:this.mixinDatacomPage.size,f=void0!==t.getcount?t.getcount:this.getcount,p=void0!==t.gettree?t.gettree:this.gettree,g=void0!==t.gettreepath?t.gettreepath:this.gettreepath,m={getCount:f},y={limitLevel:void0!==t.limitlevel?t.limitlevel:this.limitlevel,startWith:void0!==t.startwith?t.startwith:this.startwith};returnp&&(m.getTree=y),g&&(m.getTreePath=y),s=s.skip(d*(l-1)).limit(d).get(m),s}}}}asyncfunctionht(e,t){consts=`http://${e}:${t}/system/ping`;try{conste=await(n={url:s,timeout:500},newPromise(((e,t)=>{q.request({...n,success(t){e(t)},fail(e){t(e)}})})));return!(!e.data||0!==e.data.code)}catch(e){return!1}varn}letlt=newclass{init(e){lett={};consts=!1;switch(e.provider){case"tencent":t=Ke.init(Object.assign(e,{useDebugFunction:s}));break;case"aliyun":t=L.init(Object.assign(e,{useDebugFunction:s}));break;case"private":t=We.init(Object.assign(e,{useDebugFunction:s}));break;default:thrownewError("未提供正确的provider参数")}constn=l;u&&n&&!n.code&&(t.debugInfo=n);letr=Promise.resolve();t.isReady=!1,t.isDefault=!1;consto=t.auth();t.initUniCloud=r.then((()=>o.getLoginState())).then((e=>e?Promise.resolve():o.signInAnonymously())).then((()=>{if(u&&t.debugInfo){const{address:e,servePort:s}=t.debugInfo;returnasyncfunction(e,t){lets;for(letn=0;n<e.length;n++){constr=e[n];if(awaitht(r,t)){s=r;break}}return{address:s,port:t}}(e,s)}returnPromise.resolve()})).then((({address:e,port:s}={})=>{if(!u)returnPromise.resolve();if(e)t.localAddress=e,t.localPort=s;elseif(t.debugInfo){conste=console["app-plus"===h?"error":"warn"];"remote"===t.debugInfo.initialLaunchType?(t.debugInfo.forceRemote=!0,e("当前客户端和HBuilderX不在同一局域网下(或其他网络原因无法连接HBuilderX),uniCloud本地调试服务不对当前客户端生效。\n- 如果不使用uniCloud本地调试服务,请直接忽略此信息。\n- 如需使用uniCloud本地调试服务,请将客户端与主机连接到同一局域网下并重新运行到客户端。\n- 如果在HBuilderX开启的状态下切换过网络环境,请重启HBuilderX后再试\n- 检查系统防火墙是否拦截了HBuilderX自带的nodejs")):e("无法连接uniCloud本地调试服务,请检查当前客户端是否与主机在同一局域网下。\n- 如需使用uniCloud本地调试服务,请将客户端与主机连接到同一局域网下并重新运行到客户端。\n- 如果在HBuilderX开启的状态下切换过网络环境,请重启HBuilderX后再试\n- 检查系统防火墙是否拦截了HBuilderX自带的nodejs")}})).then((()=>(function(){if(!u||"h5"!==h)return;if(uni.getStorageSync("__LAST_DCLOUD_APPID")===p)return;uni.setStorageSync("__LAST_DCLOUD_APPID",p),uni.removeStorageSync("uni_id_token")&&(console.warn("检测到当前项目与上次运行到此端口的项目不一致,自动清理uni-id保存的token信息(仅开发调试时生效)"),uni.removeStorageSync("uni_id_token"),uni.removeStorageSync("uni_id_token_expired"))}(),newPromise((e=>{"quickapp-native"===h?(O="android",uni.getStorage({key:"__DC_CLOUD_UUID",success(t){b=t.data?t.data:U(32),e()}})):setTimeout((()=>{O=uni.getSystemInfoSync().platform,b=uni.getStorageSync("__DC_CLOUD_UUID")||U(32),e()}),0)}))))).then((()=>{t.isReady=!0})),tt(t),function(e){constt=e.uploadFile;e.uploadFile=function(e){lets;returns=this.isReady?Promise.resolve():this.initUniCloud,s.then((()=>t.call(this,e)))}}(t),function(e){e.database=function(){if(this._database)returnthis._database;constt={};lets={};functionn({action:n,command:r,multiCommand:o}){returnS(k("database","invoke")).then((()=>e.callFunction({name:"DCloud-clientDB",data:{action:n,command:r,multiCommand:o}}))).then((e=>{const{code:n,message:r,token:o,tokenExpired:i,systemInfo:c=[]}=e.result;if(c)for(lete=0;e<c.length;e++){const{level:t,message:s,detail:n}=c[e],r=console["app-plus"===h&&"warn"===t?"error":t]||console.log;leto="[System Info]"+s;n&&(o=`${o}\n详细信息:${n}`),r(o)}if(n){conste=newa(r,n);returns.error&&s.error.forEach((t=>{t(e)})),Promise.reject(e)}o&&i&&(t.refreshToken&&t.refreshToken.forEach((e=>{e({token:o,tokenExpired:i})})),s.refreshToken&&s.refreshToken.forEach((e=>{e({token:o,tokenExpired:i})})));constu=e.result.affectedDocs;return"number"==typeofu&&Object.defineProperty(e.result,"affectedDocs",{get:()=>(console.warn("affectedDocs不再推荐使用,请使用inserted/deleted/updated/data.length替代"),u)}),S(k("database","success"),e).then((()=>S(k("database","complete"),e))).then((()=>Promise.resolve(e)))}),(e=>{constt=newa(e.message,e.code||"SYSTEM_ERROR");returns.error&&s.error.forEach((e=>{e(t)})),/fc_function_not_found|FUNCTION_NOT_FOUND/g.test(e.message)&&console.warn("clientDB未初始化,请在web控制台保存一次schema以开启clientDB"),S(k("database","fail"),e).then((()=>S(k("database","complete"),e))).then((()=>Promise.reject(e)))}))}this.isDefault&&(s=m("_globalUniCloudDatabaseCallback"));classr{constructor(e,t){this.content=e,this.prevStage=t,this.udb=null}toJSON(){lete=this;constt=[e.content];for(;e.prevStage;)e=e.prevStage,t.push(e.content);return{$db:t.reverse().map((e=>({$method:e.$method,$param:ot(e.$param)})))}}getAction(){conste=this.toJSON().$db.find((e=>"action"===e.$method));returne&&e.$param&&e.$param[0]}getCommand(){return{$db:this.toJSON().$db.filter((e=>"action"!==e.$method))}}getuseAggregate(){lete=this,t=!1;for(;e.prevStage;){e=e.prevStage;consts=e.content.$method;if("aggregate"===s||"pipeline"===s){t=!0;break}}returnt}getcount(){if(!this.useAggregate)returnfunction(){returnthis._send("count",Array.from(arguments))};conste=this;returnfunction(){returnc({$method:"count",$param:ot(Array.from(arguments))},e)}}get(){returnthis._send("get",Array.from(arguments))}add(){returnthis._send("add",Array.from(arguments))}remove(){returnthis._send("remove",Array.from(arguments))}update(){returnthis._send("update",Array.from(arguments))}end(){returnthis._send("end",Array.from(arguments))}set(){thrownewError("clientDB禁止使用set方法")}getmultiSend(){}_send(e,t){consts=this.getAction(),r=this.getCommand();returnr.$db.push({$method:e,$param:ot(t)}),n({action:s,command:r})}}consto=["db.Geo","db.command","command.aggregate"];functioni(e,t){returno.indexOf(`${e}.${t}`)>-1}functionc(e,t){returnnt(newr(e,t),{get(e,t){lets="db";returne&&e.content&&(s=e.content.$method),i(s,t)?c({$method:t},e):function(){returnc({$method:t,$param:ot(Array.from(arguments))},e)}},set(e,t,s){e[t]=s}})}functionu({path:e,method:t}){returnclass{constructor(){this.param=Array.from(arguments)}toJSON(){return{$newDb:[...e.map((e=>({$method:e}))),{$method:t,$param:this.param}]}}}}constl={auth:{on:(e,s)=>{t[e]=t[e]||[],t[e].indexOf(s)>-1||t[e].push(s)},off:(e,s)=>{t[e]=t[e]||[];constn=t[e].indexOf(s);-1!==n&&t[e].splice(n,1)}},on:(e,t)=>{s[e]=s[e]||[],s[e].indexOf(t)>-1||s[e].push(t)},off:(e,t)=>{s[e]=s[e]||[];constn=s[e].indexOf(t);-1!==n&&s[e].splice(n,1)},env:nt({},{get:(e,t)=>({$env:t})}),Geo:nt({},{get:(e,t)=>u({path:["Geo"],method:t})}),getCloudEnv:function(e){if("string"!=typeofe||!e.trim())thrownewError("getCloudEnv参数错误");return{$env:e.replace("$cloudEnv_","")}},multiSend(){conste=Array.from(arguments);returnn({multiCommand:e.map((e=>{constt=e.getAction(),s=e.getCommand();if("getTemp"!==s.$db[s.$db.length-1].$method)thrownewError("multiSend只支持子命令内使用getTemp");return{action:t,command:s}}))}).then((t=>{for(lets=0;s<e.length;s++){constn=e[s];n.udb&&"function"==typeofn.udb.setResult&&n.udb.setResult(t.result.dataList[s])}returnPromise.resolve(t)}),(t=>{for(lets=0;s<e.length;s++){constn=e[s];n.udb&&"function"==typeofn.udb.setResult&&n.udb.setResult(t)}returnPromise.reject(t)}))},getserverDate(){returnu({path:[],method:"serverDate"})},getRegExp(){returnu({path:[],method:"RegExp"})}},d=nt(l,{get:(e,t)=>i("db",t)?c({$method:t}):function(){returnc({$method:t,$param:ot(Array.from(arguments))})}});returnthis._database=d,d}}(t),function(e){e.getCurrentUserInfo=it,e.chooseAndUploadFile=at.initChooseAndUploadFile(e),Object.assign(e,{getmixinDatacom(){returnut(e)}})}(t);return["callFunction","uploadFile","deleteFile","getTempFileURL","downloadFile","chooseAndUploadFile"].forEach((e=>{t[e]&&(t[e]=T(t[e],e))})),t.init=this.init,t}};(()=>{{conste=d;lett={};if(1===e.length)t=e[0],lt=lt.init(t),lt.isDefault=!0;else{constt=["auth","callFunction","uploadFile","deleteFile","getTempFileURL","downloadFile","database","getCurrentUSerInfo"];lets;s=e&&e.length>0?"应用有多个服务空间,请通过uniCloud.init方法指定要使用的服务空间":f?"应用未关联服务空间,请在uniCloud目录右键关联服务空间":"uni-app cli项目内使用uniCloud需要使用HBuilderX的运行菜单运行项目,且需要在uniCloud目录关联服务空间",t.forEach((e=>{lt[e]=function(){returnconsole.error(s),Promise.reject(newP({code:"SYS_ERR",message:s}))}}))}Object.assign(lt,{getmixinDatacom(){returnut(lt)}}),lt.addInterceptor=w,lt.removeInterceptor=v}})();vardt=lt;module.exports=dt;
import{initVueI18nase}from"@dcloudio/uni-i18n";"undefined"!=typeofglobalThis?globalThis:"undefined"!=typeofwindow?window:"undefined"!=typeofglobal?global:"undefined"!=typeofself&&self;functiont(e){returne&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}functionn(e,t,n){returne(n={path:t,exports:{},require:function(e,t){returnfunction(){thrownewError("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&n.path)}},n.exports),n.exports}vars=n((function(e,t){varn;e.exports=(n=n||function(e,t){varn=Object.create||function(){functione(){}returnfunction(t){varn;returne.prototype=t,n=newe,e.prototype=null,n}}(),s={},r=s.lib={},o=r.Base={extend:function(e){vart=n(this);returne&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){vare=this.extend();returne.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(vartine)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){returnthis.init.prototype.extend(this)}},i=r.WordArray=o.extend({init:function(e,n){e=this.words=e||[],this.sigBytes=n!=t?n:4*e.length},toString:function(e){return(e||c).stringify(this)},concat:function(e){vart=this.words,n=e.words,s=this.sigBytes,r=e.sigBytes;if(this.clamp(),s%4)for(varo=0;o<r;o++){vari=n[o>>>2]>>>24-o%4*8&255;t[s+o>>>2]|=i<<24-(s+o)%4*8}elsefor(o=0;o<r;o+=4)t[s+o>>>2]=n[o>>>2];returnthis.sigBytes+=r,this},clamp:function(){vart=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){vare=o.clone.call(this);returne.words=this.words.slice(0),e},random:function(t){for(varn,s=[],r=function(t){t=t;varn=987654321,s=4294967295;returnfunction(){varr=((n=36969*(65535&n)+(n>>16)&s)<<16)+(t=18e3*(65535&t)+(t>>16)&s)&s;returnr/=4294967296,(r+=.5)*(e.random()>.5?1:-1)}},o=0;o<t;o+=4){vara=r(4294967296*(n||e.random()));n=987654071*a(),s.push(4294967296*a()|0)}returnnewi.init(s,t)}}),a=s.enc={},c=a.Hex={stringify:function(e){for(vart=e.words,n=e.sigBytes,s=[],r=0;r<n;r++){varo=t[r>>>2]>>>24-r%4*8&255;s.push((o>>>4).toString(16)),s.push((15&o).toString(16))}returns.join("")},parse:function(e){for(vart=e.length,n=[],s=0;s<t;s+=2)n[s>>>3]|=parseInt(e.substr(s,2),16)<<24-s%8*4;returnnewi.init(n,t/2)}},u=a.Latin1={stringify:function(e){for(vart=e.words,n=e.sigBytes,s=[],r=0;r<n;r++){varo=t[r>>>2]>>>24-r%4*8&255;s.push(String.fromCharCode(o))}returns.join("")},parse:function(e){for(vart=e.length,n=[],s=0;s<t;s++)n[s>>>2]|=(255&e.charCodeAt(s))<<24-s%4*8;returnnewi.init(n,t)}},h=a.Utf8={stringify:function(e){try{returndecodeURIComponent(escape(u.stringify(e)))}catch(e){thrownewError("Malformed UTF-8 data")}},parse:function(e){returnu.parse(unescape(encodeURIComponent(e)))}},l=r.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=newi.init,this._nDataBytes=0},_append:function(e){"string"==typeofe&&(e=h.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){varn=this._data,s=n.words,r=n.sigBytes,o=this.blockSize,a=r/(4*o),c=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*o,u=e.min(4*c,r);if(c){for(varh=0;h<c;h+=o)this._doProcessBlock(s,h);varl=s.splice(0,c);n.sigBytes-=u}returnnewi.init(l,u)},clone:function(){vare=o.clone.call(this);returne._data=this._data.clone(),e},_minBufferSize:0}),d=(r.Hasher=l.extend({cfg:o.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){l.reset.call(this),this._doReset()},update:function(e){returnthis._append(e),this._process(),this},finalize:function(e){returne&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){returnfunction(t,n){returnnewe.init(n).finalize(t)}},_createHmacHelper:function(e){returnfunction(t,n){returnnewd.HMAC.init(e,n).finalize(t)}}}),s.algo={});returns}(Math),n)})),r=(n((function(e,t){varn;e.exports=(n=s,function(e){vart=n,s=t.lib,r=s.WordArray,o=s.Hasher,i=t.algo,a=[];!function(){for(vart=0;t<64;t++)a[t]=4294967296*e.abs(e.sin(t+1))|0}();varc=i.MD5=o.extend({_doReset:function(){this._hash=newr.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(varn=0;n<16;n++){vars=t+n,r=e[s];e[s]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}varo=this._hash.words,i=e[t+0],c=e[t+1],f=e[t+2],p=e[t+3],g=e[t+4],m=e[t+5],y=e[t+6],_=e[t+7],w=e[t+8],v=e[t+9],S=e[t+10],k=e[t+11],T=e[t+12],P=e[t+13],I=e[t+14],A=e[t+15],E=o[0],b=o[1],O=o[2],U=o[3];E=u(E,b,O,U,i,7,a[0]),U=u(U,E,b,O,c,12,a[1]),O=u(O,U,E,b,f,17,a[2]),b=u(b,O,U,E,p,22,a[3]),E=u(E,b,O,U,g,7,a[4]),U=u(U,E,b,O,m,12,a[5]),O=u(O,U,E,b,y,17,a[6]),b=u(b,O,U,E,_,22,a[7]),E=u(E,b,O,U,w,7,a[8]),U=u(U,E,b,O,v,12,a[9]),O=u(O,U,E,b,S,17,a[10]),b=u(b,O,U,E,k,22,a[11]),E=u(E,b,O,U,T,7,a[12]),U=u(U,E,b,O,P,12,a[13]),O=u(O,U,E,b,I,17,a[14]),E=h(E,b=u(b,O,U,E,A,22,a[15]),O,U,c,5,a[16]),U=h(U,E,b,O,y,9,a[17]),O=h(O,U,E,b,k,14,a[18]),b=h(b,O,U,E,i,20,a[19]),E=h(E,b,O,U,m,5,a[20]),U=h(U,E,b,O,S,9,a[21]),O=h(O,U,E,b,A,14,a[22]),b=h(b,O,U,E,g,20,a[23]),E=h(E,b,O,U,v,5,a[24]),U=h(U,E,b,O,I,9,a[25]),O=h(O,U,E,b,p,14,a[26]),b=h(b,O,U,E,w,20,a[27]),E=h(E,b,O,U,P,5,a[28]),U=h(U,E,b,O,f,9,a[29]),O=h(O,U,E,b,_,14,a[30]),E=l(E,b=h(b,O,U,E,T,20,a[31]),O,U,m,4,a[32]),U=l(U,E,b,O,w,11,a[33]),O=l(O,U,E,b,k,16,a[34]),b=l(b,O,U,E,I,23,a[35]),E=l(E,b,O,U,c,4,a[36]),U=l(U,E,b,O,g,11,a[37]),O=l(O,U,E,b,_,16,a[38]),b=l(b,O,U,E,S,23,a[39]),E=l(E,b,O,U,P,4,a[40]),U=l(U,E,b,O,i,11,a[41]),O=l(O,U,E,b,p,16,a[42]),b=l(b,O,U,E,y,23,a[43]),E=l(E,b,O,U,v,4,a[44]),U=l(U,E,b,O,T,11,a[45]),O=l(O,U,E,b,A,16,a[46]),E=d(E,b=l(b,O,U,E,f,23,a[47]),O,U,i,6,a[48]),U=d(U,E,b,O,_,10,a[49]),O=d(O,U,E,b,I,15,a[50]),b=d(b,O,U,E,m,21,a[51]),E=d(E,b,O,U,T,6,a[52]),U=d(U,E,b,O,p,10,a[53]),O=d(O,U,E,b,S,15,a[54]),b=d(b,O,U,E,c,21,a[55]),E=d(E,b,O,U,w,6,a[56]),U=d(U,E,b,O,A,10,a[57]),O=d(O,U,E,b,y,15,a[58]),b=d(b,O,U,E,P,21,a[59]),E=d(E,b,O,U,g,6,a[60]),U=d(U,E,b,O,k,10,a[61]),O=d(O,U,E,b,f,15,a[62]),b=d(b,O,U,E,v,21,a[63]),o[0]=o[0]+E|0,o[1]=o[1]+b|0,o[2]=o[2]+O|0,o[3]=o[3]+U|0},_doFinalize:function(){vart=this._data,n=t.words,s=8*this._nDataBytes,r=8*t.sigBytes;n[r>>>5]|=128<<24-r%32;varo=e.floor(s/4294967296),i=s;n[15+(r+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),n[14+(r+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t.sigBytes=4*(n.length+1),this._process();for(vara=this._hash,c=a.words,u=0;u<4;u++){varh=c[u];c[u]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8)}returna},clone:function(){vare=o.clone.call(this);returne._hash=this._hash.clone(),e}});functionu(e,t,n,s,r,o,i){vara=e+(t&n|~t&s)+r+i;return(a<<o|a>>>32-o)+t}functionh(e,t,n,s,r,o,i){vara=e+(t&s|n&~s)+r+i;return(a<<o|a>>>32-o)+t}functionl(e,t,n,s,r,o,i){vara=e+(t^n^s)+r+i;return(a<<o|a>>>32-o)+t}functiond(e,t,n,s,r,o,i){vara=e+(n^(t|~s))+r+i;return(a<<o|a>>>32-o)+t}t.MD5=o._createHelper(c),t.HmacMD5=o._createHmacHelper(c)}(Math),n.MD5)})),n((function(e,t){varn,r,o;e.exports=(r=(n=s).lib.Base,o=n.enc.Utf8,void(n.algo.HMAC=r.extend({init:function(e,t){e=this._hasher=newe.init,"string"==typeoft&&(t=o.parse(t));varn=e.blockSize,s=4*n;t.sigBytes>s&&(t=e.finalize(t)),t.clamp();for(varr=this._oKey=t.clone(),i=this._iKey=t.clone(),a=r.words,c=i.words,u=0;u<n;u++)a[u]^=1549556828,c[u]^=909522486;r.sigBytes=i.sigBytes=s,this.reset()},reset:function(){vare=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){returnthis._hasher.update(e),this},finalize:function(e){vart=this._hasher,n=t.finalize(e);returnt.reset(),t.finalize(this._oKey.clone().concat(n))}})))})),n((function(e,t){e.exports=s.HmacMD5})));functiono(e){returnObject.prototype.toString.call(e).slice(8,-1).toLowerCase()}functioni(e){return"object"===o(e)}classaextendsError{constructor(e,t){super(e),this.code=t}}functionc(e){returne&&"string"==typeofe?JSON.parse(e):e}constu="development"===process.env.NODE_ENV,h=process.env.VUE_APP_PLATFORM||process.env.UNI_PLATFORM,l=c(process.env.UNICLOUD_DEBUG),d=c(process.env.UNI_CLOUD_PROVIDER),f=process.env.RUN_BY_HBUILDERX;letp;try{conste=require("uni-stat-config").default||require("uni-stat-config");p=e.appid}catch(e){p=process.env.UNI_APP_ID||""}letg={};functionm(e,t={}){varn,s;returnn=g,s=e,Object.prototype.hasOwnProperty.call(n,s)||(g[e]=t),g[e]}"app-plus"===h&&(g=uni._globalUniCloudObj?uni._globalUniCloudObj:uni._globalUniCloudObj={});consty=["invoke","success","fail","complete"],_=m("_globalUniCloudInterceptor");functionw(e,t){_[e]||(_[e]={}),i(t)&&Object.keys(t).forEach((n=>{y.indexOf(n)>-1&&function(e,t,n){lets=_[e][t];s||(s=_[e][t]=[]),-1===s.indexOf(n)&&"function"==typeofn&&s.push(n)}(e,n,t[n])}))}functionv(e,t){_[e]||(_[e]={}),i(t)?Object.keys(t).forEach((n=>{y.indexOf(n)>-1&&function(e,t,n){consts=_[e][t];if(!s)return;constr=s.indexOf(n);r>-1&&s.splice(r,1)}(e,n,t[n])})):delete_[e]}functionS(e,t){returne&&0!==e.length?e.reduce(((e,n)=>e.then((()=>n(t)))),Promise.resolve()):Promise.resolve()}functionk(e,t){return_[e]&&_[e][t]||[]}functionT(e,t){returnt?function(n){consts="callFunction"===t&&"DCloud-clientDB"===(n&&n.name);letr;r=this.isReady?Promise.resolve():this.initUniCloud,n=n||{};consto=r.then((()=>s?Promise.resolve():S(k(t,"invoke"),n))).then((()=>e.call(this,n))).then((e=>s?Promise.resolve(e):S(k(t,"success"),e).then((()=>S(k(t,"complete"),e))).then((()=>Promise.resolve(e)))),(e=>s?Promise.reject(e):S(k(t,"fail"),e).then((()=>S(k(t,"complete"),e))).then((()=>Promise.reject(e)))));if(!(n.success||n.fail||n.complete))returno;o.then((e=>{n.success&&n.success(e),n.complete&&n.complete(e)})).catch((e=>{n.fail&&n.fail(e),n.complete&&n.complete(e)}))}:function(t){if(!((t=t||{}).success||t.fail||t.complete))returne.call(this,t);e.call(this,t).then((e=>{t.success&&t.success(e),t.complete&&t.complete(e)}),(e=>{t.fail&&t.fail(e),t.complete&&t.complete(e)}))}}classPextendsError{constructor(e){super(e.message),this.errMsg=e.message||"",Object.defineProperties(this,{code:{get:()=>e.code},requestId:{get:()=>e.requestId},message:{get(){returnthis.errMsg},set(e){this.errMsg=e}}})}}const{t:I,setLocale:A,getLocale:E}=e({"zh-Hans":{"uniCloud.init.paramRequired":"缺少参数:{param}","uniCloud.uploadFile.fileError":"filePath应为File对象"},"zh-Hant":{"uniCloud.init.paramRequired":"缺少参数:{param}","uniCloud.uploadFile.fileError":"filePath应为File对象"},en:{"uniCloud.init.paramRequired":"{param} required","uniCloud.uploadFile.fileError":"filePath should be instance of File"},fr:{"uniCloud.init.paramRequired":"{param} required","uniCloud.uploadFile.fileError":"filePath should be instance of File"},es:{"uniCloud.init.paramRequired":"{param} required","uniCloud.uploadFile.fileError":"filePath should be instance of File"}},"zh-Hans");letb,O;functionU(e=8){lett="";for(;t.length<e;)t+=Math.random().toString(32).substring(2);returnt.substring(0,e)}functionC(){const{deviceId:e}=uni.getSystemInfoSync();return{PLATFORM:h,OS:O,APPID:p,LOCALE:E(),DEVICEID:e,CLIENT_SDK_VERSION:"1.0.7"}}functionD(){if("n"===x()){try{b=plus.runtime.getDCloudId()}catch(e){b=""}returnb}returnb||(b=U(32),uni.setStorage({key:"__DC_CLOUD_UUID",data:b})),b}functionx(){return{"app-plus":"n",h5:"h5","mp-weixin":"wx",[["y","a","p","mp-ali"].reverse().join("")]:"ali","mp-baidu":"bd","mp-toutiao":"tt","mp-qq":"qq","quickapp-native":"qn"}[h]}varR={sign:function(e,t){letn="";returnObject.keys(e).sort().forEach((function(t){e[t]&&(n=n+"&"+t+"="+e[t])})),n=n.slice(1),r(n,t).toString()},wrappedRequest:function(e,t){returnnewPromise(((n,s)=>{t(Object.assign(e,{complete(e){e||(e={}),u&&"h5"===h&&e.errMsg&&0===e.errMsg.indexOf("request:fail")&&console.warn("发布H5,需要在uniCloud后台操作,绑定安全域名,否则会因为跨域问题而无法访问。教程参考:https://uniapp.dcloud.io/uniCloud/quickstart?id=useinh5");constt=e.data&&e.data.header&&e.data.header["x-serverless-request-id"]||e.header&&e.header["request-id"];if(!e.statusCode||e.statusCode>=400)returns(newP({code:"SYS_ERR",message:e.errMsg||"request:fail",requestId:t}));constr=e.data;if(r.error)returns(newP({code:r.error.code,message:r.error.message,requestId:t}));r.result=r.data,r.requestId=t,deleter.data,n(r)}}))}))}};constq={request:e=>uni.request(e),uploadFile:e=>uni.uploadFile(e),setStorageSync:(e,t)=>uni.setStorageSync(e,t),getStorageSync:e=>uni.getStorageSync(e),removeStorageSync:e=>uni.removeStorageSync(e),clearStorageSync:()=>uni.clearStorageSync()};classF{constructor(e){["spaceId","clientSecret"].forEach((t=>{if(!Object.prototype.hasOwnProperty.call(e,t))thrownewError(I("uniCloud.init.paramRequired",{param:t}))})),this.config=Object.assign({},{endpoint:"https://api.bspapp.com"},e),this.config.provider="aliyun",this.config.requestUrl=this.config.endpoint+"/client",this.config.envType=this.config.envType||"public",this.config.accessTokenKey="access_token_"+this.config.spaceId,this.adapter=q,this._getAccessTokenPromise=null,this._getAccessTokenPromiseStatus=null}gethasAccessToken(){return!!this.accessToken}setAccessToken(e){this.accessToken=e}requestWrapped(e){returnR.wrappedRequest(e,this.adapter.request)}requestAuth(e){returnthis.requestWrapped(e)}request(e,t){returnPromise.resolve().then((()=>this.hasAccessToken?t?this.requestWrapped(e):this.requestWrapped(e).catch((t=>newPromise(((e,n)=>{!t||"GATEWAY_INVALID_TOKEN"!==t.code&&"InvalidParameter.InvalidToken"!==t.code?n(t):e()})).then((()=>this.getAccessToken())).then((()=>{constt=this.rebuildRequest(e);returnthis.request(t,!0)})))):this.getAccessToken().then((()=>{constt=this.rebuildRequest(e);returnthis.request(t,!0)}))))}rebuildRequest(e){constt=Object.assign({},e);returnt.data.token=this.accessToken,t.header["x-basement-token"]=this.accessToken,t.header["x-serverless-sign"]=R.sign(t.data,this.config.clientSecret),t}setupRequest(e,t){constn=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),s={"Content-Type":"application/json"};return"auth"!==t&&(n.token=this.accessToken,s["x-basement-token"]=this.accessToken),s["x-serverless-sign"]=R.sign(n,this.config.clientSecret),{url:this.config.requestUrl,method:"POST",data:n,dataType:"json",header:s}}getAccessToken(){if("pending"===this._getAccessTokenPromiseStatus)returnthis._getAccessTokenPromise;this._getAccessTokenPromiseStatus="pending";returnthis._getAccessTokenPromise=this.requestAuth(this.setupRequest({method:"serverless.auth.user.anonymousAuthorize",params:"{}"},"auth")).then((e=>newPromise(((t,n)=>{e.result&&e.result.accessToken?(this.setAccessToken(e.result.accessToken),this._getAccessTokenPromiseStatus="fulfilled",t(this.accessToken)):(this._getAccessTokenPromiseStatus="rejected",n(newP({code:"AUTH_FAILED",message:"获取accessToken失败"})))}))),(e=>(this._getAccessTokenPromiseStatus="rejected",Promise.reject(e)))),this._getAccessTokenPromise}authorize(){this.getAccessToken()}callFunction(e){constt={method:"serverless.function.runtime.invoke",params:JSON.stringify({functionTarget:e.name,functionArgs:e.data||{}})};returnthis.request(this.setupRequest(t))}getOSSUploadOptionsFromPath(e){constt={method:"serverless.file.resource.generateProximalSign",params:JSON.stringify(e)};returnthis.request(this.setupRequest(t))}uploadFileToOSS({url:e,formData:t,name:n,filePath:s,fileType:r,onUploadProgress:o}){returnnewPromise(((i,a)=>{constc=this.adapter.uploadFile({url:e,formData:t,name:n,filePath:s,fileType:r,header:{"X-OSS-server-side-encrpytion":"AES256"},success(e){e&&e.statusCode<400?i(e):a(newP({code:"UPLOAD_FAILED",message:"文件上传失败"}))},fail(e){a(newP({code:e.code||"UPLOAD_FAILED",message:e.message||e.errMsg||"文件上传失败"}))}});"function"==typeofo&&c&&"function"==typeofc.onProgressUpdate&&c.onProgressUpdate((e=>{o({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}reportOSSUpload(e){constt={method:"serverless.file.resource.report",params:JSON.stringify(e)};returnthis.request(this.setupRequest(t))}uploadFile({filePath:e,cloudPath:t,fileType:n="image",onUploadProgress:s,config:r}){if(!t)thrownewP({code:"CLOUDPATH_REQUIRED",message:"cloudPath不可为空"});consto=r&&r.envType||this.config.envType;leti,a;returnthis.getOSSUploadOptionsFromPath({env:o,filename:t}).then((t=>{constr=t.result;i=r.id,a="https://"+r.cdnDomain+"/"+r.ossPath;consto={url:"https://"+r.host,formData:{"Cache-Control":"max-age=2592000","Content-Disposition":"attachment",OSSAccessKeyId:r.accessKeyId,Signature:r.signature,host:r.host,id:i,key:r.ossPath,policy:r.policy,success_action_status:200},fileName:"file",name:"file",filePath:e,fileType:n};returnthis.uploadFileToOSS(Object.assign({},o,{onUploadProgress:s}))})).then((()=>this.reportOSSUpload({id:i}))).then((t=>newPromise(((n,s)=>{t.success?n({success:!0,filePath:e,fileID:a}):s(newP({code:"UPLOAD_FAILED",message:"文件上传失败"}))}))))}deleteFile({fileList:e}){constt={method:"serverless.file.resource.delete",params:JSON.stringify({id:e[0]})};returnthis.request(this.setupRequest(t))}getTempFileURL({fileList:e}={}){returnnewPromise(((t,n)=>{Array.isArray(e)&&0!==e.length||n(newP({code:"INVALID_PARAM",message:"fileList的元素必须是非空的字符串"})),t({fileList:e.map((e=>({fileID:e,tempFileURL:e})))})}))}}constL={init(e){constt=newF(e),n={signInAnonymously:function(){returnt.authorize()},getLoginState:function(){returnPromise.resolve(!1)}};returnt.auth=function(){returnn},t.customAuth=t.auth,t}},N="undefined"!=typeoflocation&&"http:"===location.protocol?"http:":"https:",M="undefined"!=typeofprocess&&"e2e"===process.env.NODE_ENV&&"pre"===process.env.END_POINT?"//tcb-pre.tencentcloudapi.com/web":"//tcb-api.tencentcloudapi.com/web";var$;!function(e){e.local="local",e.none="none",e.session="session"}($||($={}));varj=function(){};constK=()=>{lete;if(!Promise){e=()=>{},e.promise={};constt=()=>{thrownewError('Your Node runtime does support ES6 Promises. Set "global.Promise" to your preferred implementation of promises.')};returnObject.defineProperty(e.promise,"then",{get:t}),Object.defineProperty(e.promise,"catch",{get:t}),e}constt=newPromise(((t,n)=>{e=(e,s)=>e?n(e):t(s)}));returne.promise=t,e};functionB(e){returnvoid0===e}functionH(e){return"[object Null]"===Object.prototype.toString.call(e)}varW;functionz(e){constt=(n=e,"[object Array]"===Object.prototype.toString.call(n)?e:[e]);varn;for(consteoft){const{isMatch:t,genAdapter:n,runtime:s}=e;if(t())return{adapter:n(),runtime:s}}}!function(e){e.WEB="web",e.WX_MP="wx_mp"}(W||(W={}));constV={adapter:null,runtime:void0},J=["anonymousUuidKey"];classYextendsj{constructor(){super(),V.adapter.root.tcbObject||(V.adapter.root.tcbObject={})}setItem(e,t){V.adapter.root.tcbObject[e]=t}getItem(e){returnV.adapter.root.tcbObject[e]}removeItem(e){deleteV.adapter.root.tcbObject[e]}clear(){deleteV.adapter.root.tcbObject}}functionX(e,t){switch(e){case"local":returnt.localStorage||newY;case"none":returnnewY;default:returnt.sessionStorage||newY}}classG{constructor(e){if(!this._storage){this._persistence=V.adapter.primaryStorage||e.persistence,this._storage=X(this._persistence,V.adapter);constt=`access_token_${e.env}`,n=`access_token_expire_${e.env}`,s=`refresh_token_${e.env}`,r=`anonymous_uuid_${e.env}`,o=`login_type_${e.env}`,i=`user_info_${e.env}`;this.keys={accessTokenKey:t,accessTokenExpireKey:n,refreshTokenKey:s,anonymousUuidKey:r,loginTypeKey:o,userInfoKey:i}}}updatePersistence(e){if(e===this._persistence)return;constt="local"===this._persistence;this._persistence=e;constn=X(e,V.adapter);for(consteinthis.keys){consts=this.keys[e];if(t&&J.includes(e))continue;constr=this._storage.getItem(s);B(r)||H(r)||(n.setItem(s,r),this._storage.removeItem(s))}this._storage=n}setStore(e,t,n){if(!this._storage)return;consts={version:n||"localCachev1",content:t},r=JSON.stringify(s);try{this._storage.setItem(e,r)}catch(e){throwe}}getStore(e,t){try{if(!this._storage)return}catch(e){return""}t=t||"localCachev1";constn=this._storage.getItem(e);if(!n)return"";if(n.indexOf(t)>=0){returnJSON.parse(n).content}return""}removeStore(e){this._storage.removeItem(e)}}constQ={},Z={};functionee(e){returnQ[e]}classte{constructor(e,t){this.data=t||null,this.name=e}}classneextendste{constructor(e,t){super("error",{error:e,data:t}),this.error=e}}constse=newclass{constructor(){this._listeners={}}on(e,t){returnfunction(e,t,n){n[e]=n[e]||[],n[e].push(t)}(e,t,this._listeners),this}off(e,t){returnfunction(e,t,n){if(n&&n[e]){consts=n[e].indexOf(t);-1!==s&&n[e].splice(s,1)}}(e,t,this._listeners),this}fire(e,t){if(einstanceofne)returnconsole.error(e.error),this;constn="string"==typeofe?newte(e,t||{}):e;consts=n.name;if(this._listens(s)){n.target=this;conste=this._listeners[s]?[...this._listeners[s]]:[];for(consttofe)t.call(this,n)}returnthis}_listens(e){returnthis._listeners[e]&&this._listeners[e].length>0}};functionre(e,t){se.on(e,t)}functionoe(e,t={}){se.fire(e,t)}functionie(e,t){se.off(e,t)}constae="loginStateChanged",ce="loginStateExpire",ue="loginTypeChanged",he="anonymousConverted",le="refreshAccessToken";varde;!function(e){e.ANONYMOUS="ANONYMOUS",e.WECHAT="WECHAT",e.WECHAT_PUBLIC="WECHAT-PUBLIC",e.WECHAT_OPEN="WECHAT-OPEN",e.CUSTOM="CUSTOM",e.EMAIL="EMAIL",e.USERNAME="USERNAME",e.NULL="NULL"}(de||(de={}));constfe=["auth.getJwt","auth.logout","auth.signInWithTicket","auth.signInAnonymously","auth.signIn","auth.fetchAccessTokenWithRefreshToken","auth.signUpWithEmailAndPassword","auth.activateEndUserMail","auth.sendPasswordResetEmail","auth.resetPasswordWithToken","auth.isUsernameRegistered"],pe={"X-SDK-Version":"1.3.5"};functionge(e,t,n){consts=e[t];e[t]=function(t){constr={},o={};n.forEach((n=>{const{data:s,headers:i}=n.call(e,t);Object.assign(r,s),Object.assign(o,i)}));consti=t.data;returni&&(()=>{vare;if(e=i,"[object FormData]"!==Object.prototype.toString.call(e))t.data={...i,...r};elsefor(consteinr)i.append(e,r[e])})(),t.headers={...t.headers||{},...o},s.call(e,t)}}functionme(){conste=Math.random().toString(16).slice(2);return{data:{seqId:e},headers:{...pe,"x-seqid":e}}}classye{constructor(e={}){vart;this.config=e,this._reqClass=newV.adapter.reqClass({timeout:this.config.timeout,timeoutMsg:`请求在${this.config.timeout/1e3}s内未完成,已中断`,restrictedMethods:["post"]}),this._cache=ee(this.config.env),this._localCache=(t=this.config.env,Z[t]),ge(this._reqClass,"post",[me]),ge(this._reqClass,"upload",[me]),ge(this._reqClass,"download",[me])}asyncpost(e){returnawaitthis._reqClass.post(e)}asyncupload(e){returnawaitthis._reqClass.upload(e)}asyncdownload(e){returnawaitthis._reqClass.download(e)}asyncrefreshAccessToken(){lete,t;this._refreshAccessTokenPromise||(this._refreshAccessTokenPromise=this._refreshAccessToken());try{e=awaitthis._refreshAccessTokenPromise}catch(e){t=e}if(this._refreshAccessTokenPromise=null,this._shouldRefreshAccessTokenHook=null,t)throwt;returne}async_refreshAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t,refreshTokenKey:n,loginTypeKey:s,anonymousUuidKey:r}=this._cache.keys;this._cache.removeStore(e),this._cache.removeStore(t);leto=this._cache.getStore(n);if(!o)thrownewError("未登录CloudBase");consti={refresh_token:o},a=awaitthis.request("auth.fetchAccessTokenWithRefreshToken",i);if(a.data.code){const{code:e}=a.data;if("SIGN_PARAM_INVALID"===e||"REFRESH_TOKEN_EXPIRED"===e||"INVALID_REFRESH_TOKEN"===e){if(this._cache.getStore(s)===de.ANONYMOUS&&"INVALID_REFRESH_TOKEN"===e){conste=this._cache.getStore(r),t=this._cache.getStore(n),s=awaitthis.send("auth.signInAnonymously",{anonymous_uuid:e,refresh_token:t});returnthis.setRefreshToken(s.refresh_token),this._refreshAccessToken()}oe(ce),this._cache.removeStore(n)}thrownewError(`刷新access token失败:${a.data.code}`)}if(a.data.access_token)returnoe(le),this._cache.setStore(e,a.data.access_token),this._cache.setStore(t,a.data.access_token_expire+Date.now()),{accessToken:a.data.access_token,accessTokenExpire:a.data.access_token_expire};a.data.refresh_token&&(this._cache.removeStore(n),this._cache.setStore(n,a.data.refresh_token),this._refreshAccessToken())}asyncgetAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t,refreshTokenKey:n}=this._cache.keys;if(!this._cache.getStore(n))thrownewError("refresh token不存在,登录状态异常");lets=this._cache.getStore(e),r=this._cache.getStore(t),o=!0;returnthis._shouldRefreshAccessTokenHook&&!awaitthis._shouldRefreshAccessTokenHook(s,r)&&(o=!1),(!s||!r||r<Date.now())&&o?this.refreshAccessToken():{accessToken:s,accessTokenExpire:r}}asyncrequest(e,t,n){consts=`x-tcb-trace_${this.config.env}`;letr="application/x-www-form-urlencoded";consto={action:e,env:this.config.env,dataVersion:"2019-08-16",...t};if(-1===fe.indexOf(e)){const{refreshTokenKey:e}=this._cache.keys;this._cache.getStore(e)&&(o.access_token=(awaitthis.getAccessToken()).accessToken)}leti;if("storage.uploadFile"===e){i=newFormData;for(leteini)i.hasOwnProperty(e)&&void0!==i[e]&&i.append(e,o[e]);r="multipart/form-data"}else{r="application/json;charset=UTF-8",i={};for(leteino)void0!==o[e]&&(i[e]=o[e])}leta={headers:{"content-type":r}};n&&n.onUploadProgress&&(a.onUploadProgress=n.onUploadProgress);constc=this._localCache.getStore(s);c&&(a.headers["X-TCB-Trace"]=c);const{parse:u,inQuery:h,search:l}=t;letd={env:this.config.env};u&&(d.parse=!0),h&&(d={...h,...d});letf=function(e,t,n={}){consts=/\?/.test(t);letr="";for(leteinn)""===r?!s&&(t+="?"):r+="&",r+=`${e}=${encodeURIComponent(n[e])}`;return/^http(s)?\:\/\//.test(t+=r)?t:`${e}${t}`}(N,M,d);l&&(f+=l);constp=awaitthis.post({url:f,data:i,...a}),g=p.header&&p.header["x-tcb-trace"];if(g&&this._localCache.setStore(s,g),200!==Number(p.status)&&200!==Number(p.statusCode)||!p.data)thrownewError("network request error");returnp}asyncsend(e,t={}){constn=awaitthis.request(e,t,{onUploadProgress:t.onUploadProgress});if("ACCESS_TOKEN_EXPIRED"===n.data.code&&-1===fe.indexOf(e)){awaitthis.refreshAccessToken();constn=awaitthis.request(e,t,{onUploadProgress:t.onUploadProgress});if(n.data.code)thrownewError(`[${n.data.code}] ${n.data.message}`);returnn.data}if(n.data.code)thrownewError(`[${n.data.code}] ${n.data.message}`);returnn.data}setRefreshToken(e){const{accessTokenKey:t,accessTokenExpireKey:n,refreshTokenKey:s}=this._cache.keys;this._cache.removeStore(t),this._cache.removeStore(n),this._cache.setStore(s,e)}}const_e={};functionwe(e){return_e[e]}classve{constructor(e){this.config=e,this._cache=ee(e.env),this._request=we(e.env)}setRefreshToken(e){const{accessTokenKey:t,accessTokenExpireKey:n,refreshTokenKey:s}=this._cache.keys;this._cache.removeStore(t),this._cache.removeStore(n),this._cache.setStore(s,e)}setAccessToken(e,t){const{accessTokenKey:n,accessTokenExpireKey:s}=this._cache.keys;this._cache.setStore(n,e),this._cache.setStore(s,t)}asyncrefreshUserInfo(){const{data:e}=awaitthis._request.send("auth.getUserInfo",{});returnthis.setLocalUserInfo(e),e}setLocalUserInfo(e){const{userInfoKey:t}=this._cache.keys;this._cache.setStore(t,e)}}classSe{constructor(e){if(!e)thrownewError("envId is not defined");this._envId=e,this._cache=ee(this._envId),this._request=we(this._envId),this.setUserInfo()}linkWithTicket(e){if("string"!=typeofe)thrownewError("ticket must be string");returnthis._request.send("auth.linkWithTicket",{ticket:e})}linkWithRedirect(e){e.signInWithRedirect()}updatePassword(e,t){returnthis._request.send("auth.updatePassword",{oldPassword:t,newPassword:e})}updateEmail(e){returnthis._request.send("auth.updateEmail",{newEmail:e})}updateUsername(e){if("string"!=typeofe)thrownewError("username must be a string");returnthis._request.send("auth.updateUsername",{username:e})}asyncgetLinkedUidList(){const{data:e}=awaitthis._request.send("auth.getLinkedUidList",{});lett=!1;const{users:n}=e;returnn.forEach((e=>{e.wxOpenId&&e.wxPublicId&&(t=!0)})),{users:n,hasPrimaryUid:t}}setPrimaryUid(e){returnthis._request.send("auth.setPrimaryUid",{uid:e})}unlink(e){returnthis._request.send("auth.unlink",{platform:e})}asyncupdate(e){const{nickName:t,gender:n,avatarUrl:s,province:r,country:o,city:i}=e,{data:a}=awaitthis._request.send("auth.updateUserInfo",{nickName:t,gender:n,avatarUrl:s,province:r,country:o,city:i});this.setLocalUserInfo(a)}asyncrefresh(){const{data:e}=awaitthis._request.send("auth.getUserInfo",{});returnthis.setLocalUserInfo(e),e}setUserInfo(){const{userInfoKey:e}=this._cache.keys,t=this._cache.getStore(e);["uid","loginType","openid","wxOpenId","wxPublicId","unionId","qqMiniOpenId","email","hasPassword","customUserId","nickName","gender","avatarUrl"].forEach((e=>{this[e]=t[e]})),this.location={country:t.country,province:t.province,city:t.city}}setLocalUserInfo(e){const{userInfoKey:t}=this._cache.keys;this._cache.setStore(t,e),this.setUserInfo()}}classke{constructor(e){if(!e)thrownewError("envId is not defined");this._cache=ee(e);const{refreshTokenKey:t,accessTokenKey:n,accessTokenExpireKey:s}=this._cache.keys,r=this._cache.getStore(t),o=this._cache.getStore(n),i=this._cache.getStore(s);this.credential={refreshToken:r,accessToken:o,accessTokenExpire:i},this.user=newSe(e)}getisAnonymousAuth(){returnthis.loginType===de.ANONYMOUS}getisCustomAuth(){returnthis.loginType===de.CUSTOM}getisWeixinAuth(){returnthis.loginType===de.WECHAT||this.loginType===de.WECHAT_OPEN||this.loginType===de.WECHAT_PUBLIC}getloginType(){returnthis._cache.getStore(this._cache.keys.loginTypeKey)}}classTeextendsve{asyncsignIn(){this._cache.updatePersistence("local");const{anonymousUuidKey:e,refreshTokenKey:t}=this._cache.keys,n=this._cache.getStore(e)||void0,s=this._cache.getStore(t)||void0,r=awaitthis._request.send("auth.signInAnonymously",{anonymous_uuid:n,refresh_token:s});if(r.uuid&&r.refresh_token){this._setAnonymousUUID(r.uuid),this.setRefreshToken(r.refresh_token),awaitthis._request.refreshAccessToken(),oe(ae),oe(ue,{env:this.config.env,loginType:de.ANONYMOUS,persistence:"local"});conste=newke(this.config.env);returnawaite.user.refresh(),e}thrownewError("匿名登录失败")}asynclinkAndRetrieveDataWithTicket(e){const{anonymousUuidKey:t,refreshTokenKey:n}=this._cache.keys,s=this._cache.getStore(t),r=this._cache.getStore(n),o=awaitthis._request.send("auth.linkAndRetrieveDataWithTicket",{anonymous_uuid:s,refresh_token:r,ticket:e});if(o.refresh_token)returnthis._clearAnonymousUUID(),this.setRefreshToken(o.refresh_token),awaitthis._request.refreshAccessToken(),oe(he,{env:this.config.env}),oe(ue,{loginType:de.CUSTOM,persistence:"local"}),{credential:{refreshToken:o.refresh_token}};thrownewError("匿名转化失败")}_setAnonymousUUID(e){const{anonymousUuidKey:t,loginTypeKey:n}=this._cache.keys;this._cache.removeStore(t),this._cache.setStore(t,e),this._cache.setStore(n,de.ANONYMOUS)}_clearAnonymousUUID(){this._cache.removeStore(this._cache.keys.anonymousUuidKey)}}classPeextendsve{asyncsignIn(e){if("string"!=typeofe)thrownewError("ticket must be a string");const{refreshTokenKey:t}=this._cache.keys,n=awaitthis._request.send("auth.signInWithTicket",{ticket:e,refresh_token:this._cache.getStore(t)||""});if(n.refresh_token)returnthis.setRefreshToken(n.refresh_token),awaitthis._request.refreshAccessToken(),oe(ae),oe(ue,{env:this.config.env,loginType:de.CUSTOM,persistence:this.config.persistence}),awaitthis.refreshUserInfo(),newke(this.config.env);thrownewError("自定义登录失败")}}classIeextendsve{asyncsignIn(e,t){if("string"!=typeofe)thrownewError("email must be a string");const{refreshTokenKey:n}=this._cache.keys,s=awaitthis._request.send("auth.signIn",{loginType:"EMAIL",email:e,password:t,refresh_token:this._cache.getStore(n)||""}),{refresh_token:r,access_token:o,access_token_expire:i}=s;if(r)returnthis.setRefreshToken(r),o&&i?this.setAccessToken(o,i):awaitthis._request.refreshAccessToken(),awaitthis.refreshUserInfo(),oe(ae),oe(ue,{env:this.config.env,loginType:de.EMAIL,persistence:this.config.persistence}),newke(this.config.env);throws.code?newError(`邮箱登录失败: [${s.code}] ${s.message}`):newError("邮箱登录失败")}asyncactivate(e){returnthis._request.send("auth.activateEndUserMail",{token:e})}asyncresetPasswordWithToken(e,t){returnthis._request.send("auth.resetPasswordWithToken",{token:e,newPassword:t})}}classAeextendsve{asyncsignIn(e,t){if("string"!=typeofe)thrownewError("username must be a string");"string"!=typeoft&&(t="",console.warn("password is empty"));const{refreshTokenKey:n}=this._cache.keys,s=awaitthis._request.send("auth.signIn",{loginType:de.USERNAME,username:e,password:t,refresh_token:this._cache.getStore(n)||""}),{refresh_token:r,access_token_expire:o,access_token:i}=s;if(r)returnthis.setRefreshToken(r),i&&o?this.setAccessToken(i,o):awaitthis._request.refreshAccessToken(),awaitthis.refreshUserInfo(),oe(ae),oe(ue,{env:this.config.env,loginType:de.USERNAME,persistence:this.config.persistence}),newke(this.config.env);throws.code?newError(`用户名密码登录失败: [${s.code}] ${s.message}`):newError("用户名密码登录失败")}}classEe{constructor(e){this.config=e,this._cache=ee(e.env),this._request=we(e.env),this._onAnonymousConverted=this._onAnonymousConverted.bind(this),this._onLoginTypeChanged=this._onLoginTypeChanged.bind(this),re(ue,this._onLoginTypeChanged)}getcurrentUser(){conste=this.hasLoginState();returne&&e.user||null}getloginType(){returnthis._cache.getStore(this._cache.keys.loginTypeKey)}anonymousAuthProvider(){returnnewTe(this.config)}customAuthProvider(){returnnewPe(this.config)}emailAuthProvider(){returnnewIe(this.config)}usernameAuthProvider(){returnnewAe(this.config)}asyncsignInAnonymously(){returnnewTe(this.config).signIn()}asyncsignInWithEmailAndPassword(e,t){returnnewIe(this.config).signIn(e,t)}signInWithUsernameAndPassword(e,t){returnnewAe(this.config).signIn(e,t)}asynclinkAndRetrieveDataWithTicket(e){this._anonymousAuthProvider||(this._anonymousAuthProvider=newTe(this.config)),re(he,this._onAnonymousConverted);returnawaitthis._anonymousAuthProvider.linkAndRetrieveDataWithTicket(e)}asyncsignOut(){if(this.loginType===de.ANONYMOUS)thrownewError("匿名用户不支持登出操作");const{refreshTokenKey:e,accessTokenKey:t,accessTokenExpireKey:n}=this._cache.keys,s=this._cache.getStore(e);if(!s)return;constr=awaitthis._request.send("auth.logout",{refresh_token:s});returnthis._cache.removeStore(e),this._cache.removeStore(t),this._cache.removeStore(n),oe(ae),oe(ue,{env:this.config.env,loginType:de.NULL,persistence:this.config.persistence}),r}asyncsignUpWithEmailAndPassword(e,t){returnthis._request.send("auth.signUpWithEmailAndPassword",{email:e,password:t})}asyncsendPasswordResetEmail(e){returnthis._request.send("auth.sendPasswordResetEmail",{email:e})}onLoginStateChanged(e){re(ae,(()=>{constt=this.hasLoginState();e.call(this,t)}));constt=this.hasLoginState();e.call(this,t)}onLoginStateExpired(e){re(ce,e.bind(this))}onAccessTokenRefreshed(e){re(le,e.bind(this))}onAnonymousConverted(e){re(he,e.bind(this))}onLoginTypeChanged(e){re(ue,(()=>{constt=this.hasLoginState();e.call(this,t)}))}asyncgetAccessToken(){return{accessToken:(awaitthis._request.getAccessToken()).accessToken,env:this.config.env}}hasLoginState(){const{refreshTokenKey:e}=this._cache.keys;returnthis._cache.getStore(e)?newke(this.config.env):null}asyncisUsernameRegistered(e){if("string"!=typeofe)thrownewError("username must be a string");const{data:t}=awaitthis._request.send("auth.isUsernameRegistered",{username:e});returnt&&t.isRegistered}getLoginState(){returnPromise.resolve(this.hasLoginState())}asyncsignInWithTicket(e){returnnewPe(this.config).signIn(e)}shouldRefreshAccessToken(e){this._request._shouldRefreshAccessTokenHook=e.bind(this)}getUserInfo(){returnthis._request.send("auth.getUserInfo",{}).then((e=>e.code?e:{...e.data,requestId:e.seqId}))}getAuthHeader(){const{refreshTokenKey:e,accessTokenKey:t}=this._cache.keys,n=this._cache.getStore(e);return{"x-cloudbase-credentials":this._cache.getStore(t)+"/@@/"+n}}_onAnonymousConverted(e){const{env:t}=e.data;t===this.config.env&&this._cache.updatePersistence(this.config.persistence)}_onLoginTypeChanged(e){const{loginType:t,persistence:n,env:s}=e.data;s===this.config.env&&(this._cache.updatePersistence(n),this._cache.setStore(this._cache.keys.loginTypeKey,t))}}constbe=function(e,t){t=t||K();constn=we(this.config.env),{cloudPath:s,filePath:r,onUploadProgress:o,fileType:i="image"}=e;returnn.send("storage.getUploadMetadata",{path:s}).then((e=>{const{data:{url:a,authorization:c,token:u,fileId:h,cosFileId:l},requestId:d}=e,f={key:s,signature:c,"x-cos-meta-fileid":l,success_action_status:"201","x-cos-security-token":u};n.upload({url:a,data:f,file:r,name:s,fileType:i,onUploadProgress:o}).then((e=>{201===e.statusCode?t(null,{fileID:h,requestId:d}):t(newError(`STORAGE_REQUEST_FAIL: ${e.data}`))})).catch((e=>{t(e)}))})).catch((e=>{t(e)})),t.promise},Oe=function(e,t){t=t||K();constn=we(this.config.env),{cloudPath:s}=e;returnn.send("storage.getUploadMetadata",{path:s}).then((e=>{t(null,e)})).catch((e=>{t(e)})),t.promise},Ue=function({fileList:e},t){if(t=t||K(),!e||!Array.isArray(e))return{code:"INVALID_PARAM",message:"fileList必须是非空的数组"};for(lettofe)if(!t||"string"!=typeoft)return{code:"INVALID_PARAM",message:"fileList的元素必须是非空的字符串"};constn={fileid_list:e};returnwe(this.config.env).send("storage.batchDeleteFile",n).then((e=>{e.code?t(null,e):t(null,{fileList:e.data.delete_list,requestId:e.requestId})})).catch((e=>{t(e)})),t.promise},Ce=function({fileList:e},t){t=t||K(),e&&Array.isArray(e)||t(null,{code:"INVALID_PARAM",message:"fileList必须是非空的数组"});letn=[];for(letsofe)"object"==typeofs?(s.hasOwnProperty("fileID")&&s.hasOwnProperty("maxAge")||t(null,{code:"INVALID_PARAM",message:"fileList的元素必须是包含fileID和maxAge的对象"}),n.push({fileid:s.fileID,max_age:s.maxAge})):"string"==typeofs?n.push({fileid:s}):t(null,{code:"INVALID_PARAM",message:"fileList的元素必须是字符串"});consts={file_list:n};returnwe(this.config.env).send("storage.batchGetDownloadUrl",s).then((e=>{e.code?t(null,e):t(null,{fileList:e.data.download_list,requestId:e.requestId})})).catch((e=>{t(e)})),t.promise},De=asyncfunction({fileID:e},t){constn=(awaitCe.call(this,{fileList:[{fileID:e,maxAge:600}]})).fileList[0];if("SUCCESS"!==n.code)returnt?t(n):newPromise((e=>{e(n)}));consts=we(this.config.env);letr=n.download_url;if(r=encodeURI(r),!t)returns.download({url:r});t(awaits.download({url:r}))},xe=function({name:e,data:t,query:n,parse:s,search:r},o){consti=o||K();leta;try{a=t?JSON.stringify(t):""}catch(e){returnPromise.reject(e)}if(!e)returnPromise.reject(newError("函数名不能为空"));constc={inQuery:n,parse:s,search:r,function_name:e,request_data:a};returnwe(this.config.env).send("functions.invokeFunction",c).then((e=>{if(e.code)i(null,e);else{lett=e.data.response_data;if(s)i(null,{result:t,requestId:e.requestId});elsetry{t=JSON.parse(e.data.response_data),i(null,{result:t,requestId:e.requestId})}catch(e){i(newError("response data must be json"))}}returni.promise})).catch((e=>{i(e)})),i.promise},Re={timeout:15e3,persistence:"session"},qe={};classFe{constructor(e){this.config=e||this.config,this.authObj=void0}init(e){switch(V.adapter||(this.requestClient=newV.adapter.reqClass({timeout:e.timeout||5e3,timeoutMsg:`请求在${(e.timeout||5e3)/1e3}s内未完成,已中断`})),this.config={...Re,...e},!0){casethis.config.timeout>6e5:console.warn("timeout大于可配置上限[10分钟],已重置为上限数值"),this.config.timeout=6e5;break;casethis.config.timeout<100:console.warn("timeout小于可配置下限[100ms],已重置为下限数值"),this.config.timeout=100}returnnewFe(this.config)}auth({persistence:e}={}){if(this.authObj)returnthis.authObj;constt=e||V.adapter.primaryStorage||Re.persistence;varn;returnt!==this.config.persistence&&(this.config.persistence=t),function(e){const{env:t}=e;Q[t]=newG(e),Z[t]=newG({...e,persistence:"local"})}(this.config),n=this.config,_e[n.env]=newye(n),this.authObj=newEe(this.config),this.authObj}on(e,t){returnre.apply(this,[e,t])}off(e,t){returnie.apply(this,[e,t])}callFunction(e,t){returnxe.apply(this,[e,t])}deleteFile(e,t){returnUe.apply(this,[e,t])}getTempFileURL(e,t){returnCe.apply(this,[e,t])}downloadFile(e,t){returnDe.apply(this,[e,t])}uploadFile(e,t){returnbe.apply(this,[e,t])}getUploadMetadata(e,t){returnOe.apply(this,[e,t])}registerExtension(e){qe[e.name]=e}asyncinvokeExtension(e,t){constn=qe[e];if(!n)throwError(`扩展${e} 必须先注册`);returnawaitn.invoke(t,this)}useAdapters(e){const{adapter:t,runtime:n}=z(e)||{};t&&(V.adapter=t),n&&(V.runtime=n)}}constLe=newFe;functionNe(e,t,n){void0===n&&(n={});vars=/\?/.test(t),r="";for(varoinn)""===r?!s&&(t+="?"):r+="&",r+=o+"="+encodeURIComponent(n[o]);return/^http(s)?:\/\//.test(t+=r)?t:""+e+t}classMe{post(e){const{url:t,data:n,headers:s}=e;returnnewPromise(((e,r)=>{q.request({url:Ne("https:",t),data:n,method:"POST",header:s,success(t){e(t)},fail(e){r(e)}})}))}upload(e){returnnewPromise(((t,n)=>{const{url:s,file:r,data:o,headers:i,fileType:a}=e,c=q.uploadFile({url:Ne("https:",s),name:"file",formData:Object.assign({},o),filePath:r,fileType:a,header:i,success(e){constn={statusCode:e.statusCode,data:e.data||{}};200===e.statusCode&&o.success_action_status&&(n.statusCode=parseInt(o.success_action_status,10)),t(n)},fail(e){u&&"mp-alipay"===h&&console.warn("支付宝小程序开发工具上传腾讯云时无法准确判断是否上传成功,请使用真机测试"),n(newError(e.errMsg||"uploadFile:fail"))}});"function"==typeofe.onUploadProgress&&c&&"function"==typeofc.onProgressUpdate&&c.onProgressUpdate((t=>{e.onUploadProgress({loaded:t.totalBytesSent,total:t.totalBytesExpectedToSend})}))}))}}const$e={setItem(e,t){q.setStorageSync(e,t)},getItem:e=>q.getStorageSync(e),removeItem(e){q.removeStorageSync(e)},clear(){q.clearStorageSync()}};constje={genAdapter:function(){return{root:{},reqClass:Me,localStorage:$e,primaryStorage:"local"}},isMatch:function(){return!0},runtime:"uni_app"};Le.useAdapters(je);constKe=Le,Be=Ke.init;Ke.init=function(e){e.env=e.spaceId;constt=Be.call(this,e);t.config.provider="tencent",t.config.spaceId=e.spaceId;constn=t.auth;returnt.auth=function(e){constt=n.call(this,e);return["linkAndRetrieveDataWithTicket","signInAnonymously","signOut","getAccessToken","getLoginState","signInWithTicket","getUserInfo"].forEach((e=>{t[e]=T(t[e]).bind(t)})),t},t.customAuth=t.auth,t};classHeextendsF{getAccessToken(){returnnewPromise(((e,t)=>{constn="Anonymous_Access_token";this.setAccessToken(n),e(n)}))}setupRequest(e,t){constn=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),s={"Content-Type":"application/json"};"auth"!==t&&(n.token=this.accessToken,s["x-basement-token"]=this.accessToken),s["x-serverless-sign"]=R.sign(n,this.config.clientSecret);constr=C(),{APPID:o,PLATFORM:i,DEVICEID:a,CLIENT_SDK_VERSION:c}=r;returns["x-client-platform"]=i,s["x-client-appid"]=o,s["x-client-device-id"]=a,s["x-client-version"]=c,s["x-client-token"]=q.getStorageSync("uni_id_token"),{url:this.config.requestUrl,method:"POST",data:n,dataType:"json",header:JSON.parse(JSON.stringify(s))}}uploadFileToOSS({url:e,formData:t,name:n,filePath:s,fileType:r,onUploadProgress:o}){returnnewPromise(((i,a)=>{constc=this.adapter.uploadFile({url:e,formData:t,name:n,filePath:s,fileType:r,success(e){e&&e.statusCode<400?i(e):a(newP({code:"UPLOAD_FAILED",message:"文件上传失败"}))},fail(e){a(newP({code:e.code||"UPLOAD_FAILED",message:e.message||e.errMsg||"文件上传失败"}))}});"function"==typeofo&&c&&"function"==typeofc.onProgressUpdate&&c.onProgressUpdate((e=>{o({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}uploadFile({filePath:e,cloudPath:t,fileType:n="image",onUploadProgress:s}){if(!t)thrownewP({code:"CLOUDPATH_REQUIRED",message:"cloudPath不可为空"});letr;returnthis.getOSSUploadOptionsFromPath({cloudPath:t}).then((t=>{const{url:o,formData:i,name:a,fileUrl:c}=t.result;r=c;constu={url:o,formData:i,name:a,filePath:e,fileType:n};returnthis.uploadFileToOSS(Object.assign({},u,{onUploadProgress:s}))})).then((()=>this.reportOSSUpload({cloudPath:t}))).then((t=>newPromise(((n,s)=>{t.success?n({success:!0,filePath:e,fileID:r}):s(newP({code:"UPLOAD_FAILED",message:"文件上传失败"}))}))))}}constWe={init(e){constt=newHe(e),n={signInAnonymously:function(){returnt.authorize()},getLoginState:function(){returnPromise.resolve(!1)}};returnt.auth=function(){returnn},t.customAuth=t.auth,t}};letze,Ve;functionJe({name:e,data:t,spaceId:n,provider:s}){ze||(ze=C(),Ve={ak:p,p:"android"===O?"a":"i",ut:x(),uuid:D()});constr=JSON.parse(JSON.stringify(t||{})),o=e,i=n,a={tencent:"t",aliyun:"a"}[s];{conste=Object.assign({},Ve,{fn:o,sid:i,pvd:a});Object.assign(r,{clientInfo:ze,uniCloudClientInfo:encodeURIComponent(JSON.stringify(e))});const{deviceId:t}=uni.getSystemInfoSync();r.uniCloudDeviceId=t}if(!r.uniIdToken){conste=q.getStorageSync("uni_id_token")||q.getStorageSync("uniIdToken");e&&(r.uniIdToken=e)}returnr}functionYe({name:e,data:t}){const{localAddress:n,localPort:s}=this,r={aliyun:"aliyun",tencent:"tcb"}[this.config.provider],o=this.config.spaceId,i=`http://${n}:${s}/system/check-function`,a=`http://${n}:${s}/cloudfunctions/${e}`;returnnewPromise(((t,n)=>{q.request({method:"POST",url:i,data:{name:e,platform:h,provider:r,spaceId:o},timeout:3e3,success(e){t(e)},fail(){t({data:{code:"NETWORK_ERROR",message:"连接本地调试服务失败,请检查客户端是否和主机在同一局域网下,自动切换为已部署的云函数。"}})}})})).then((({data:e}={})=>{const{code:t,message:n}=e||{};return{code:0===t?0:t||"SYS_ERR",message:n||"SYS_ERR"}})).then((({code:n,message:s})=>{if(0!==n){switch(n){case"MODULE_ENCRYPTED":console.error(`此云函数(${e})依赖加密公共模块不可本地调试,自动切换为云端已部署的云函数`);break;case"FUNCTION_ENCRYPTED":console.error(`此云函数(${e})已加密不可本地调试,自动切换为云端已部署的云函数`);break;case"ACTION_ENCRYPTED":console.error(s||"需要访问加密的uni-clientDB-action,自动切换为云端环境");break;case"NETWORK_ERROR":{conste="连接本地调试服务失败,请检查客户端是否和主机在同一局域网下";throwconsole.error(e),newError(e)}case"SWITCH_TO_CLOUD":break;default:{conste=`检测本地调试服务出现错误:${s},请检查网络环境或重启客户端再试`;throwconsole.error(e),newError(e)}}returnthis._originCallFunction({name:e,data:t})}returnnewPromise(((n,s)=>{consti=Je({name:e,data:t,provider:this.config.provider,spaceId:o});q.request({method:"POST",url:a,data:{provider:r,platform:h,param:i},success:({statusCode:e,data:t}={})=>!e||e>=400?s(newP({code:t.code||"SYS_ERR",message:t.message||"request:fail"})):n({result:t}),fail(e){s(newP({code:e.code||e.errCode||"SYS_ERR",message:e.message||e.errMsg||"request:fail"}))}})}))}))}constXe=[{rule:/fc_function_not_found|FUNCTION_NOT_FOUND/,content:",云函数[{functionName}]在云端不存在,请检查此云函数名称是否正确以及该云函数是否已上传到服务空间",mode:"append"}];varGe=/[\\^$.*+?()[\]{}|]/g,Qe=RegExp(Ge.source);functionZe(e,t,n){returne.replace(newRegExp((s=t)&&Qe.test(s)?s.replace(Ge,"\\$&"):s,"g"),n);vars}functionet({functionName:e,result:t,logPvd:n}){if(this.config.useDebugFunction&&t&&t.requestId){consts=JSON.stringify({spaceId:this.config.spaceId,functionName:e,requestId:t.requestId});console.log(`[${n}-request]${s}[/${n}-request]`)}}functiontt(e){constt=e.callFunction,n=function(e){constn=e.name;e.data=Je({name:n,data:e.data,provider:this.config.provider,spaceId:this.config.spaceId});consts={aliyun:"aliyun",tencent:"tcb"}[this.config.provider];returnt.call(this,e).then((e=>(et.call(this,{functionName:n,result:e,logPvd:s}),Promise.resolve(e))),(t=>(et.call(this,{functionName:n,result:t,logPvd:s}),t&&t.message&&(t.message=function({message:e="",extraInfo:t={},formatter:n=[]}={}){for(lets=0;s<n.length;s++){const{rule:r,content:o,mode:i}=n[s],a=e.match(r);if(!a)continue;letc=o;for(lete=1;e<a.length;e++)c=Ze(c,`{$${e}}`,a[e]);for(consteint)c=Ze(c,`{${e}}`,t[e]);switch(i){case"replace":returnc;case"append":default:returne+c}}returne}({message:`[${e.name}]: ${t.message}`,formatter:Xe,extraInfo:{functionName:n}})),Promise.reject(t))))};e.callFunction=function(t){lets;returnu&&e.debugInfo&&!e.debugInfo.forceRemote&&d?(e._originCallFunction||(e._originCallFunction=n),s=Ye.call(this,t)):s=n.call(this,t),Object.defineProperty(s,"result",{get:()=>(console.warn("当前返回结果为Promise类型,不可直接访问其result属性,详情请参考:https://uniapp.dcloud.net.cn/uniCloud/faq?id=promise"),{})}),s}}constnt=Symbol("CLIENT_DB_INTERNAL");functionst(e,t){returne.then="DoNotReturnProxyWithAFunctionNamedThen",e._internalType=nt,e.__v_raw=void0,newProxy(e,{get:(e,n,s)=>nine||"string"!=typeofn?e[n]:t.get(e,n,s)})}functionrt(e){returne&&rt(e.__v_raw)||e}functionot(e){switch(o(e=rt(e))){case"array":returne.map((e=>ot(e)));case"object":returne._internalType===nt||Object.keys(e).forEach((t=>{e[t]=ot(e[t])})),e;case"regexp":return{$regexp:{source:e.source,flags:e.flags}};case"date":return{$date:e.toISOString()};default:returne}}functionit(){conste=q.getStorageSync("uni_id_token")||"",t=e.split(".");if(!e||3!==t.length)return{uid:null,role:[],permission:[],tokenExpired:0};letn;try{n=JSON.parse((s=t[1],decodeURIComponent(atob(s).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""))))}catch(e){thrownewError("获取当前用户信息出错,详细错误信息为:"+e.message)}vars;returnn.tokenExpired=1e3*n.exp,deleten.exp,deleten.iat,n}varat=t(n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});constn="chooseAndUploadFile:ok",s="chooseAndUploadFile:fail";functionr(e,t){returne.tempFiles.forEach(((e,n)=>{e.name||(e.name=e.path.substring(e.path.lastIndexOf("/")+1)),t&&(e.fileType=t),e.cloudPath=Date.now()+"_"+n+e.name.substring(e.name.lastIndexOf("."))})),e.tempFilePaths||(e.tempFilePaths=e.tempFiles.map((e=>e.path))),e}functiono(e,t,{onChooseFile:s,onUploadProgress:r}){returnt.then((e=>{if(s){constt=s(e);if(void0!==t)returnPromise.resolve(t).then((t=>void0===t?e:t))}returne})).then((t=>!1===t?{errMsg:n,tempFilePaths:[],tempFiles:[]}:function(e,t,s=5,r){(t=Object.assign({},t)).errMsg=n;consto=t.tempFiles,i=o.length;leta=0;returnnewPromise((n=>{for(;a<s;)c();functionc(){consts=a++;if(s>=i)returnvoid(!o.find((e=>!e.url&&!e.errMsg))&&n(t));constu=o[s];e.uploadFile({filePath:u.path,cloudPath:u.cloudPath,fileType:u.fileType,onUploadProgress(e){e.index=s,e.tempFile=u,e.tempFilePath=u.path,r&&r(e)}}).then((e=>{u.url=e.fileID,s<i&&c()})).catch((e=>{u.errMsg=e.errMsg||e.message,s<i&&c()}))}}))}(e,t,5,r)))}t.initChooseAndUploadFile=function(e){returnfunction(t={type:"all"}){return"image"===t.type?o(e,function(e){const{count:t,sizeType:n,sourceType:o=["album","camera"],extension:i}=e;returnnewPromise(((e,a)=>{uni.chooseImage({count:t,sizeType:n,sourceType:o,extension:i,success(t){e(r(t,"image"))},fail(e){a({errMsg:e.errMsg.replace("chooseImage:fail",s)})}})}))}(t),t):"video"===t.type?o(e,function(e){const{camera:t,compressed:n,maxDuration:o,sourceType:i=["album","camera"],extension:a}=e;returnnewPromise(((e,c)=>{uni.chooseVideo({camera:t,compressed:n,maxDuration:o,sourceType:i,extension:a,success(t){const{tempFilePath:n,duration:s,size:o,height:i,width:a}=t;e(r({errMsg:"chooseVideo:ok",tempFilePaths:[n],tempFiles:[{name:t.tempFile&&t.tempFile.name||"",path:n,size:o,type:t.tempFile&&t.tempFile.type||"",width:a,height:i,duration:s,fileType:"video",cloudPath:""}]},"video"))},fail(e){c({errMsg:e.errMsg.replace("chooseVideo:fail",s)})}})}))}(t),t):o(e,function(e){const{count:t,extension:n}=e;returnnewPromise(((e,o)=>{leti=uni.chooseFile;if("undefined"!=typeofwx&&"function"==typeofwx.chooseMessageFile&&(i=wx.chooseMessageFile),"function"!=typeofi)returno({errMsg:s+" 请指定 type 类型,该平台仅支持选择 image 或 video。"});i({type:"all",count:t,extension:n,success(t){e(r(t))},fail(e){o({errMsg:e.errMsg.replace("chooseFile:fail",s)})}})}))}(t),t)}}})));constct="manual";functionut(e){return{props:{localdata:{type:Array,default:()=>[]},options:{type:[Object,Array],default:()=>({})},collection:{type:String,default:""},action:{type:String,default:""},field:{type:String,default:""},orderby:{type:String,default:""},where:{type:[String,Object],default:""},pageData:{type:String,default:"add"},pageCurrent:{type:Number,default:1},pageSize:{type:Number,default:20},getcount:{type:[Boolean,String],default:!1},gettree:{type:[Boolean,String],default:!1},gettreepath:{type:[Boolean,String],default:!1},startwith:{type:String,default:""},limitlevel:{type:Number,default:10},groupby:{type:String,default:""},groupField:{type:String,default:""},distinct:{type:[Boolean,String],default:!1},foreignKey:{type:String,default:""},loadtime:{type:String,default:"auto"},manual:{type:Boolean,default:!1}},data:()=>({mixinDatacomLoading:!1,mixinDatacomHasMore:!1,mixinDatacomResData:[],mixinDatacomErrorMessage:"",mixinDatacomPage:{}}),created(){this.mixinDatacomPage={current:this.pageCurrent,size:this.pageSize,count:0},this.$watch((()=>{vare=[];return["pageCurrent","pageSize","localdata","collection","action","field","orderby","where","getont","getcount","gettree","groupby","groupField","distinct"].forEach((t=>{e.push(this[t])})),e}),((e,t)=>{if(this.loadtime===ct)return;letn=!1;consts=[];for(letr=2;r<e.length;r++)e[r]!==t[r]&&(s.push(e[r]),n=!0);e[0]!==t[0]&&(this.mixinDatacomPage.current=this.pageCurrent),this.mixinDatacomPage.size=this.pageSize,this.onMixinDatacomPropsChange(n,s)}))},methods:{onMixinDatacomPropsChange(e,t){},mixinDatacomEasyGet({getone:e=!1,success:t,fail:n}={}){this.mixinDatacomLoading||(this.mixinDatacomLoading=!0,this.mixinDatacomErrorMessage="",this.mixinDatacomGet().then((n=>{this.mixinDatacomLoading=!1;const{data:s,count:r}=n.result;this.getcount&&(this.mixinDatacomPage.count=r),this.mixinDatacomHasMore=s.length<this.pageSize;consto=e?s.length?s[0]:void0:s;this.mixinDatacomResData=o,t&&t(o)})).catch((e=>{this.mixinDatacomLoading=!1,this.mixinDatacomErrorMessage=e,n&&n(e)})))},mixinDatacomGet(t={}){letn=e.database();consts=t.action||this.action;s&&(n=n.action(s));constr=t.collection||this.collection;n=n.collection(r);consto=t.where||this.where;o&&Object.keys(o).length&&(n=n.where(o));consti=t.field||this.field;i&&(n=n.field(i));consta=t.foreignKey||this.foreignKey;a&&(n=n.foreignKey(a));constc=t.groupby||this.groupby;c&&(n=n.groupBy(c));constu=t.groupField||this.groupField;u&&(n=n.groupField(u));!0===(void0!==t.distinct?t.distinct:this.distinct)&&(n=n.distinct());consth=t.orderby||this.orderby;h&&(n=n.orderBy(h));constl=void0!==t.pageCurrent?t.pageCurrent:this.mixinDatacomPage.current,d=void0!==t.pageSize?t.pageSize:this.mixinDatacomPage.size,f=void0!==t.getcount?t.getcount:this.getcount,p=void0!==t.gettree?t.gettree:this.gettree,g=void0!==t.gettreepath?t.gettreepath:this.gettreepath,m={getCount:f},y={limitLevel:void0!==t.limitlevel?t.limitlevel:this.limitlevel,startWith:void0!==t.startwith?t.startwith:this.startwith};returnp&&(m.getTree=y),g&&(m.getTreePath=y),n=n.skip(d*(l-1)).limit(d).get(m),n}}}}asyncfunctionht(e,t){constn=`http://${e}:${t}/system/ping`;try{conste=await(s={url:n,timeout:500},newPromise(((e,t)=>{q.request({...s,success(t){e(t)},fail(e){t(e)}})})));return!(!e.data||0!==e.data.code)}catch(e){return!1}vars}letlt=newclass{init(e){lett={};constn=!1!==e.debugFunction&&u&&("h5"===h&&navigator.userAgent.indexOf("HBuilderX")>0||"app-plus"===h);switch(e.provider){case"tencent":t=Ke.init(Object.assign(e,{useDebugFunction:n}));break;case"aliyun":t=L.init(Object.assign(e,{useDebugFunction:n}));break;case"private":t=We.init(Object.assign(e,{useDebugFunction:n}));break;default:thrownewError("未提供正确的provider参数")}consts=l;u&&s&&!s.code&&(t.debugInfo=s);letr=Promise.resolve();varo;o=1,r=newPromise(((e,t)=>{setTimeout((()=>{e()}),o)})),t.isReady=!1,t.isDefault=!1;consti=t.auth();t.initUniCloud=r.then((()=>i.getLoginState())).then((e=>e?Promise.resolve():i.signInAnonymously())).then((()=>{if(u&&t.debugInfo){const{address:e,servePort:n}=t.debugInfo;returnasyncfunction(e,t){letn;for(lets=0;s<e.length;s++){constr=e[s];if(awaitht(r,t)){n=r;break}}return{address:n,port:t}}(e,n)}returnPromise.resolve()})).then((({address:e,port:n}={})=>{if(!u)returnPromise.resolve();if(e)t.localAddress=e,t.localPort=n;elseif(t.debugInfo){conste=console["app-plus"===h?"error":"warn"];"remote"===t.debugInfo.initialLaunchType?(t.debugInfo.forceRemote=!0,e("当前客户端和HBuilderX不在同一局域网下(或其他网络原因无法连接HBuilderX),uniCloud本地调试服务不对当前客户端生效。\n- 如果不使用uniCloud本地调试服务,请直接忽略此信息。\n- 如需使用uniCloud本地调试服务,请将客户端与主机连接到同一局域网下并重新运行到客户端。\n- 如果在HBuilderX开启的状态下切换过网络环境,请重启HBuilderX后再试\n- 检查系统防火墙是否拦截了HBuilderX自带的nodejs")):e("无法连接uniCloud本地调试服务,请检查当前客户端是否与主机在同一局域网下。\n- 如需使用uniCloud本地调试服务,请将客户端与主机连接到同一局域网下并重新运行到客户端。\n- 如果在HBuilderX开启的状态下切换过网络环境,请重启HBuilderX后再试\n- 检查系统防火墙是否拦截了HBuilderX自带的nodejs")}})).then((()=>(function(){if(!u||"h5"!==h)return;if(uni.getStorageSync("__LAST_DCLOUD_APPID")===p)return;uni.setStorageSync("__LAST_DCLOUD_APPID",p),uni.removeStorageSync("uni_id_token")&&(console.warn("检测到当前项目与上次运行到此端口的项目不一致,自动清理uni-id保存的token信息(仅开发调试时生效)"),uni.removeStorageSync("uni_id_token"),uni.removeStorageSync("uni_id_token_expired"))}(),newPromise((e=>{"quickapp-native"===h?(O="android",uni.getStorage({key:"__DC_CLOUD_UUID",success(t){b=t.data?t.data:U(32),e()}})):setTimeout((()=>{O=uni.getSystemInfoSync().platform,b=uni.getStorageSync("__DC_CLOUD_UUID")||U(32),e()}),0)}))))).then((()=>{t.isReady=!0})),tt(t),function(e){constt=e.uploadFile;e.uploadFile=function(e){letn;returnn=this.isReady?Promise.resolve():this.initUniCloud,n.then((()=>t.call(this,e)))}}(t),function(e){e.database=function(){if(this._database)returnthis._database;constt={};letn={};functions({action:s,command:r,multiCommand:o}){returnS(k("database","invoke")).then((()=>e.callFunction({name:"DCloud-clientDB",data:{action:s,command:r,multiCommand:o}}))).then((e=>{const{code:s,message:r,token:o,tokenExpired:i,systemInfo:c=[]}=e.result;if(c)for(lete=0;e<c.length;e++){const{level:t,message:n,detail:s}=c[e],r=console["app-plus"===h&&"warn"===t?"error":t]||console.log;leto="[System Info]"+n;s&&(o=`${o}\n详细信息:${s}`),r(o)}if(s){conste=newa(r,s);returnn.error&&n.error.forEach((t=>{t(e)})),Promise.reject(e)}o&&i&&(t.refreshToken&&t.refreshToken.forEach((e=>{e({token:o,tokenExpired:i})})),n.refreshToken&&n.refreshToken.forEach((e=>{e({token:o,tokenExpired:i})})));constu=e.result.affectedDocs;return"number"==typeofu&&Object.defineProperty(e.result,"affectedDocs",{get:()=>(console.warn("affectedDocs不再推荐使用,请使用inserted/deleted/updated/data.length替代"),u)}),S(k("database","success"),e).then((()=>S(k("database","complete"),e))).then((()=>Promise.resolve(e)))}),(e=>{constt=newa(e.message,e.code||"SYSTEM_ERROR");returnn.error&&n.error.forEach((e=>{e(t)})),/fc_function_not_found|FUNCTION_NOT_FOUND/g.test(e.message)&&console.warn("clientDB未初始化,请在web控制台保存一次schema以开启clientDB"),S(k("database","fail"),e).then((()=>S(k("database","complete"),e))).then((()=>Promise.reject(e)))}))}this.isDefault&&(n=m("_globalUniCloudDatabaseCallback"));classr{constructor(e,t){this.content=e,this.prevStage=t,this.udb=null}toJSON(){lete=this;constt=[e.content];for(;e.prevStage;)e=e.prevStage,t.push(e.content);return{$db:t.reverse().map((e=>({$method:e.$method,$param:ot(e.$param)})))}}getAction(){conste=this.toJSON().$db.find((e=>"action"===e.$method));returne&&e.$param&&e.$param[0]}getCommand(){return{$db:this.toJSON().$db.filter((e=>"action"!==e.$method))}}getuseAggregate(){lete=this,t=!1;for(;e.prevStage;){e=e.prevStage;constn=e.content.$method;if("aggregate"===n||"pipeline"===n){t=!0;break}}returnt}getcount(){if(!this.useAggregate)returnfunction(){returnthis._send("count",Array.from(arguments))};conste=this;returnfunction(){returnc({$method:"count",$param:ot(Array.from(arguments))},e)}}get(){returnthis._send("get",Array.from(arguments))}add(){returnthis._send("add",Array.from(arguments))}remove(){returnthis._send("remove",Array.from(arguments))}update(){returnthis._send("update",Array.from(arguments))}end(){returnthis._send("end",Array.from(arguments))}set(){thrownewError("clientDB禁止使用set方法")}getmultiSend(){}_send(e,t){constn=this.getAction(),r=this.getCommand();returnr.$db.push({$method:e,$param:ot(t)}),s({action:n,command:r})}}consto=["db.Geo","db.command","command.aggregate"];functioni(e,t){returno.indexOf(`${e}.${t}`)>-1}functionc(e,t){returnst(newr(e,t),{get(e,t){letn="db";returne&&e.content&&(n=e.content.$method),i(n,t)?c({$method:t},e):function(){returnc({$method:t,$param:ot(Array.from(arguments))},e)}},set(e,t,n){e[t]=n}})}functionu({path:e,method:t}){returnclass{constructor(){this.param=Array.from(arguments)}toJSON(){return{$newDb:[...e.map((e=>({$method:e}))),{$method:t,$param:this.param}]}}}}constl={auth:{on:(e,n)=>{t[e]=t[e]||[],t[e].indexOf(n)>-1||t[e].push(n)},off:(e,n)=>{t[e]=t[e]||[];consts=t[e].indexOf(n);-1!==s&&t[e].splice(s,1)}},on:(e,t)=>{n[e]=n[e]||[],n[e].indexOf(t)>-1||n[e].push(t)},off:(e,t)=>{n[e]=n[e]||[];consts=n[e].indexOf(t);-1!==s&&n[e].splice(s,1)},env:st({},{get:(e,t)=>({$env:t})}),Geo:st({},{get:(e,t)=>u({path:["Geo"],method:t})}),getCloudEnv:function(e){if("string"!=typeofe||!e.trim())thrownewError("getCloudEnv参数错误");return{$env:e.replace("$cloudEnv_","")}},multiSend(){conste=Array.from(arguments);returns({multiCommand:e.map((e=>{constt=e.getAction(),n=e.getCommand();if("getTemp"!==n.$db[n.$db.length-1].$method)thrownewError("multiSend只支持子命令内使用getTemp");return{action:t,command:n}}))}).then((t=>{for(letn=0;n<e.length;n++){consts=e[n];s.udb&&"function"==typeofs.udb.setResult&&s.udb.setResult(t.result.dataList[n])}returnPromise.resolve(t)}),(t=>{for(letn=0;n<e.length;n++){consts=e[n];s.udb&&"function"==typeofs.udb.setResult&&s.udb.setResult(t)}returnPromise.reject(t)}))},getserverDate(){returnu({path:[],method:"serverDate"})},getRegExp(){returnu({path:[],method:"RegExp"})}},d=st(l,{get:(e,t)=>i("db",t)?c({$method:t}):function(){returnc({$method:t,$param:ot(Array.from(arguments))})}});returnthis._database=d,d}}(t),function(e){e.getCurrentUserInfo=it,e.chooseAndUploadFile=at.initChooseAndUploadFile(e),Object.assign(e,{getmixinDatacom(){returnut(e)}})}(t);return["callFunction","uploadFile","deleteFile","getTempFileURL","downloadFile","chooseAndUploadFile"].forEach((e=>{t[e]&&(t[e]=T(t[e],e))})),t.init=this.init,t}};(()=>{{conste=d;lett={};if(1===e.length)t=e[0],lt=lt.init(t),lt.isDefault=!0;else{constt=["auth","callFunction","uploadFile","deleteFile","getTempFileURL","downloadFile","database","getCurrentUSerInfo"];letn;n=e&&e.length>0?"应用有多个服务空间,请通过uniCloud.init方法指定要使用的服务空间":f?"应用未关联服务空间,请在uniCloud目录右键关联服务空间":"uni-app cli项目内使用uniCloud需要使用HBuilderX的运行菜单运行项目,且需要在uniCloud目录关联服务空间",t.forEach((e=>{lt[e]=function(){returnconsole.error(n),Promise.reject(newP({code:"SYS_ERR",message:n}))}}))}Object.assign(lt,{getmixinDatacom(){returnut(lt)}}),lt.addInterceptor=w,lt.removeInterceptor=v,u&&"h5"===h&&(window.uniCloud=lt)}})();vardt=lt;exportdefaultdt;