You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
oa-base/unpackage/cache/wgt/__UNI__4796942/app-service.js

2 lines
85 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

if("undefined"==typeof Promise||Promise.prototype.finally||(Promise.prototype.finally=function(e){const t=this.constructor;return this.then((n=>t.resolve(e()).then((()=>n))),(n=>t.resolve(e()).then((()=>{throw n}))))}),"undefined"!=typeof uni&&uni&&uni.requireGlobal){const e=uni.requireGlobal();ArrayBuffer=e.ArrayBuffer,Int8Array=e.Int8Array,Uint8Array=e.Uint8Array,Uint8ClampedArray=e.Uint8ClampedArray,Int16Array=e.Int16Array,Uint16Array=e.Uint16Array,Int32Array=e.Int32Array,Uint32Array=e.Uint32Array,Float32Array=e.Float32Array,Float64Array=e.Float64Array,BigInt64Array=e.BigInt64Array,BigUint64Array=e.BigUint64Array}uni.restoreGlobal&&uni.restoreGlobal(Vue,weex,plus,setTimeout,clearTimeout,setInterval,clearInterval),function(e){"use strict";function t(e,t,...n){uni.__log__?uni.__log__(e,t,...n):console[e].apply(console,[...n,t])}const n=t=>(n,s=e.getCurrentInstance())=>{!e.isInSSRComponentSetup&&e.injectHook(t,n,s)},s=n("onShow"),r=n("onHide"),o=n("onLaunch"),i=n("onLoad"),a={apiBaseUrl:"https://oa-a.szjixun.cn/#/",h5Url:"https://oa-a.szjixun.cn/#/"};uni;const c={__name:"index",setup(n){const o=e.ref(null);uni.getSystemInfoSync();const c=e=>{e.isConnected?uni.redirectTo({url:"/pages/index/index"}):uni.showToast({title:"网络无连接",icon:"none"})},u=e.ref(null);i((()=>{})),s((()=>{uni.onNetworkStatusChange(c)})),r((()=>{uni.offNetworkStatusChange(c)}));const l=e=>{const n=(e=>e.detail.data[0])(e);if("load-complete"===n.action){const e=getCurrentPages().at(-1).$getAppWebview();u.value=e.children()[0];let n=uni.getSystemInfoSync().statusBarHeight;u.value.setStyle({top:n,bottom:0});const s=uni.getSystemInfoSync();uni.getLocation({type:"gcj02",geocode:!1,isHighAccuracy:!1,success:async e=>{const t=JSON.stringify({...e,systemInfo:s,latitude:31.386561,longitude:120.660274});u.value.evalJS(`window.onReceive(${t})`)},fail:e=>{t("log","at pages/index/index.vue:112",e)}})}};return(t,n)=>(e.openBlock(),e.createElementBlock("web-view",{class:"webview",onMessage:l,style:{flex:"1"},ref_key:"webViewRef",ref:o,src:e.unref(a).h5Url},null,40,["src"]))}};__definePage("pages/index/index",c),uni.invokePushCallback({type:"enabled",offline:!0}),Promise.resolve().then((()=>{"undefined"!=typeof plus&&plus.push&&plus.globalEvent.addEventListener("newPath",(({path:e})=>{if(!e)return;const t=getCurrentPages(),n=t[t.length-1];n&&n.$page&&n.$page.fullPath===e||uni.navigateTo({url:e,fail(t){t.errMsg.indexOf("tabbar")>-1?uni.switchTab({url:e,fail(e){console.error(e.errMsg)}}):console.error(t.errMsg)}})})),plus.push.setAutoNotification&&plus.push.setAutoNotification(!1)}));const u={__name:"App",setup:e=>(o((()=>{})),s((()=>{})),r((()=>{plus.geolocation.clearWatch(LocationId),t("log","at App.vue:23","App Hide")})),uni.getPushClientId({success:e=>{t("log","at App.vue:28","客户端推送标识cid:",e.cid)},fail(e){t("log","at App.vue:31",e)}}),uni.onPushMessage((e=>{t("log","at App.vue:35",JSON.stringify(e))})),()=>{})},l={pages:[{path:"pages/index/index",style:{navigationStyle:"custom","app-plus":{titleNView:!1}}}],uniIdRouter:{}};function h(e,t,n){return e(n={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&n.path)}},n.exports),n.exports}var d=h((function(e,t){var n;e.exports=(n=n||function(e,t){var n=Object.create||function(){function e(){}return function(t){var n;return e.prototype=t,n=new e,e.prototype=null,n}}(),s={},r=s.lib={},o=r.Base={extend:function(e){var t=n(this);return e&&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(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},i=r.WordArray=o.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||c).stringify(this)},concat:function(e){var t=this.words,n=e.words,s=this.sigBytes,r=e.sigBytes;if(this.clamp(),s%4)for(var o=0;o<r;o++){var i=n[o>>>2]>>>24-o%4*8&255;t[s+o>>>2]|=i<<24-(s+o)%4*8}else for(o=0;o<r;o+=4)t[s+o>>>2]=n[o>>>2];return this.sigBytes+=r,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=o.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n,s=[],r=function(t){var n=987654321,s=4294967295;return function(){var r=((n=36969*(65535&n)+(n>>16)&s)<<16)+(t=18e3*(65535&t)+(t>>16)&s)&s;return r/=4294967296,(r+=.5)*(e.random()>.5?1:-1)}},o=0;o<t;o+=4){var a=r(4294967296*(n||e.random()));n=987654071*a(),s.push(4294967296*a()|0)}return new i.init(s,t)}}),a=s.enc={},c=a.Hex={stringify:function(e){for(var t=e.words,n=e.sigBytes,s=[],r=0;r<n;r++){var o=t[r>>>2]>>>24-r%4*8&255;s.push((o>>>4).toString(16)),s.push((15&o).toString(16))}return s.join("")},parse:function(e){for(var t=e.length,n=[],s=0;s<t;s+=2)n[s>>>3]|=parseInt(e.substr(s,2),16)<<24-s%8*4;return new i.init(n,t/2)}},u=a.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,s=[],r=0;r<n;r++){var o=t[r>>>2]>>>24-r%4*8&255;s.push(String.fromCharCode(o))}return s.join("")},parse:function(e){for(var t=e.length,n=[],s=0;s<t;s++)n[s>>>2]|=(255&e.charCodeAt(s))<<24-s%4*8;return new i.init(n,t)}},l=a.Utf8={stringify:function(e){try{return decodeURIComponent(escape(u.stringify(e)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(e){return u.parse(unescape(encodeURIComponent(e)))}},h=r.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new i.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=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(var l=0;l<c;l+=o)this._doProcessBlock(s,l);var h=s.splice(0,c);n.sigBytes-=u}return new i.init(h,u)},clone:function(){var e=o.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});r.Hasher=h.extend({cfg:o.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){h.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,n){return new e.init(n).finalize(t)}},_createHmacHelper:function(e){return function(t,n){return new d.HMAC.init(e,n).finalize(t)}}});var d=s.algo={};return s}(Math),n)})),f=d,p=(h((function(e,t){var n;e.exports=(n=f,function(e){var t=n,s=t.lib,r=s.WordArray,o=s.Hasher,i=t.algo,a=[];!function(){for(var t=0;t<64;t++)a[t]=4294967296*e.abs(e.sin(t+1))|0}();var c=i.MD5=o.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var s=t+n,r=e[s];e[s]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}var o=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],I=e[t+10],A=e[t+11],S=e[t+12],k=e[t+13],P=e[t+14],T=e[t+15],b=o[0],x=o[1],O=o[2],C=o[3];b=u(b,x,O,C,i,7,a[0]),C=u(C,b,x,O,c,12,a[1]),O=u(O,C,b,x,f,17,a[2]),x=u(x,O,C,b,p,22,a[3]),b=u(b,x,O,C,g,7,a[4]),C=u(C,b,x,O,m,12,a[5]),O=u(O,C,b,x,y,17,a[6]),x=u(x,O,C,b,_,22,a[7]),b=u(b,x,O,C,w,7,a[8]),C=u(C,b,x,O,v,12,a[9]),O=u(O,C,b,x,I,17,a[10]),x=u(x,O,C,b,A,22,a[11]),b=u(b,x,O,C,S,7,a[12]),C=u(C,b,x,O,k,12,a[13]),O=u(O,C,b,x,P,17,a[14]),b=l(b,x=u(x,O,C,b,T,22,a[15]),O,C,c,5,a[16]),C=l(C,b,x,O,y,9,a[17]),O=l(O,C,b,x,A,14,a[18]),x=l(x,O,C,b,i,20,a[19]),b=l(b,x,O,C,m,5,a[20]),C=l(C,b,x,O,I,9,a[21]),O=l(O,C,b,x,T,14,a[22]),x=l(x,O,C,b,g,20,a[23]),b=l(b,x,O,C,v,5,a[24]),C=l(C,b,x,O,P,9,a[25]),O=l(O,C,b,x,p,14,a[26]),x=l(x,O,C,b,w,20,a[27]),b=l(b,x,O,C,k,5,a[28]),C=l(C,b,x,O,f,9,a[29]),O=l(O,C,b,x,_,14,a[30]),b=h(b,x=l(x,O,C,b,S,20,a[31]),O,C,m,4,a[32]),C=h(C,b,x,O,w,11,a[33]),O=h(O,C,b,x,A,16,a[34]),x=h(x,O,C,b,P,23,a[35]),b=h(b,x,O,C,c,4,a[36]),C=h(C,b,x,O,g,11,a[37]),O=h(O,C,b,x,_,16,a[38]),x=h(x,O,C,b,I,23,a[39]),b=h(b,x,O,C,k,4,a[40]),C=h(C,b,x,O,i,11,a[41]),O=h(O,C,b,x,p,16,a[42]),x=h(x,O,C,b,y,23,a[43]),b=h(b,x,O,C,v,4,a[44]),C=h(C,b,x,O,S,11,a[45]),O=h(O,C,b,x,T,16,a[46]),b=d(b,x=h(x,O,C,b,f,23,a[47]),O,C,i,6,a[48]),C=d(C,b,x,O,_,10,a[49]),O=d(O,C,b,x,P,15,a[50]),x=d(x,O,C,b,m,21,a[51]),b=d(b,x,O,C,S,6,a[52]),C=d(C,b,x,O,p,10,a[53]),O=d(O,C,b,x,I,15,a[54]),x=d(x,O,C,b,c,21,a[55]),b=d(b,x,O,C,w,6,a[56]),C=d(C,b,x,O,T,10,a[57]),O=d(O,C,b,x,y,15,a[58]),x=d(x,O,C,b,k,21,a[59]),b=d(b,x,O,C,g,6,a[60]),C=d(C,b,x,O,A,10,a[61]),O=d(O,C,b,x,f,15,a[62]),x=d(x,O,C,b,v,21,a[63]),o[0]=o[0]+b|0,o[1]=o[1]+x|0,o[2]=o[2]+O|0,o[3]=o[3]+C|0},_doFinalize:function(){var t=this._data,n=t.words,s=8*this._nDataBytes,r=8*t.sigBytes;n[r>>>5]|=128<<24-r%32;var o=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(var a=this._hash,c=a.words,u=0;u<4;u++){var l=c[u];c[u]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}return a},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});function u(e,t,n,s,r,o,i){var a=e+(t&n|~t&s)+r+i;return(a<<o|a>>>32-o)+t}function l(e,t,n,s,r,o,i){var a=e+(t&s|n&~s)+r+i;return(a<<o|a>>>32-o)+t}function h(e,t,n,s,r,o,i){var a=e+(t^n^s)+r+i;return(a<<o|a>>>32-o)+t}function d(e,t,n,s,r,o,i){var a=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)})),h((function(e,t){var n,s,r;e.exports=(s=(n=f).lib.Base,r=n.enc.Utf8,void(n.algo.HMAC=s.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=r.parse(t));var n=e.blockSize,s=4*n;t.sigBytes>s&&(t=e.finalize(t)),t.clamp();for(var o=this._oKey=t.clone(),i=this._iKey=t.clone(),a=o.words,c=i.words,u=0;u<n;u++)a[u]^=1549556828,c[u]^=909522486;o.sigBytes=i.sigBytes=s,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher,n=t.finalize(e);return t.reset(),t.finalize(this._oKey.clone().concat(n))}})))})),h((function(e,t){e.exports=f.HmacMD5}))),g=h((function(e,t){e.exports=f.enc.Utf8})),m=h((function(e,t){var n,s,r;e.exports=(r=(s=n=f).lib.WordArray,s.enc.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,s=this._map;e.clamp();for(var r=[],o=0;o<n;o+=3)for(var i=(t[o>>>2]>>>24-o%4*8&255)<<16|(t[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|t[o+2>>>2]>>>24-(o+2)%4*8&255,a=0;a<4&&o+.75*a<n;a++)r.push(s.charAt(i>>>6*(3-a)&63));var c=s.charAt(64);if(c)for(;r.length%4;)r.push(c);return r.join("")},parse:function(e){var t=e.length,n=this._map,s=this._reverseMap;if(!s){s=this._reverseMap=[];for(var o=0;o<n.length;o++)s[n.charCodeAt(o)]=o}var i=n.charAt(64);if(i){var a=e.indexOf(i);-1!==a&&(t=a)}return function(e,t,n){for(var s=[],o=0,i=0;i<t;i++)if(i%4){var a=n[e.charCodeAt(i-1)]<<i%4*2,c=n[e.charCodeAt(i)]>>>6-i%4*2;s[o>>>2]|=(a|c)<<24-o%4*8,o++}return r.create(s,o)}(e,t,s)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},n.enc.Base64)}));const y="FUNCTION",_="pending",w="rejected";function v(e){return Object.prototype.toString.call(e).slice(8,-1).toLowerCase()}function I(e){return"object"===v(e)}function A(e){return"function"==typeof e}function S(e){return function(){try{return e.apply(e,arguments)}catch(t){console.error(t)}}}const k="REJECTED",P="NOT_PENDING";class T{constructor({createPromise:e,retryRule:t=k}={}){this.createPromise=e,this.status=null,this.promise=null,this.retryRule=t}get needRetry(){if(!this.status)return!0;switch(this.retryRule){case k:return this.status===w;case P:return this.status!==_}}exec(){return this.needRetry?(this.status=_,this.promise=this.createPromise().then((e=>(this.status="fulfilled",Promise.resolve(e))),(e=>(this.status=w,Promise.reject(e)))),this.promise):this.promise}}function b(e){return e&&"string"==typeof e?JSON.parse(e):e}const x=b([]);b("");const O=b('[{"provider":"aliyun","spaceName":"oabase","spaceId":"mp-edf38b0d-bc9a-4e81-9a15-f55995ccca70","clientSecret":"ty1X79FB2pMuAQUzaQBKXA==","endpoint":"https://api.next.bspapp.com"}]')||[];let C="";try{C="__UNI__4796942"}catch(_e){}let L={};function E(e,t={}){var n,s;return n=L,s=e,Object.prototype.hasOwnProperty.call(n,s)||(L[e]=t),L[e]}L=uni._globalUniCloudObj?uni._globalUniCloudObj:uni._globalUniCloudObj={};const U=["invoke","success","fail","complete"],R=E("_globalUniCloudInterceptor");function N(e,t){R[e]||(R[e]={}),I(t)&&Object.keys(t).forEach((n=>{U.indexOf(n)>-1&&function(e,t,n){let s=R[e][t];s||(s=R[e][t]=[]),-1===s.indexOf(n)&&A(n)&&s.push(n)}(e,n,t[n])}))}function D(e,t){R[e]||(R[e]={}),I(t)?Object.keys(t).forEach((n=>{U.indexOf(n)>-1&&function(e,t,n){const s=R[e][t];if(!s)return;const r=s.indexOf(n);r>-1&&s.splice(r,1)}(e,n,t[n])})):delete R[e]}function M(e,t){return e&&0!==e.length?e.reduce(((e,n)=>e.then((()=>n(t)))),Promise.resolve()):Promise.resolve()}function F(e,t){return R[e]&&R[e][t]||[]}function q(e){N("callObject",e)}const j=E("_globalUniCloudListener"),$="response",B="needLogin",K="refreshToken",H="clientdb",J="cloudfunction",W="cloudobject";function V(e){return j[e]||(j[e]=[]),j[e]}function z(e,t){const n=V(e);n.includes(t)||n.push(t)}function Q(e,t){const n=V(e),s=n.indexOf(t);-1!==s&&n.splice(s,1)}function G(e,t){const n=V(e);for(let s=0;s<n.length;s++)(0,n[s])(t)}let Y,X=!1;function Z(){return Y||(Y=new Promise((e=>{X&&e(),function t(){if("function"==typeof getCurrentPages){const t=getCurrentPages();t&&t[0]&&(X=!0,e())}X||setTimeout((()=>{t()}),30)}()})),Y)}function ee(e){const t={};for(const n in e){const s=e[n];A(s)&&(t[n]=S(s))}return t}class te extends Error{constructor(e){super(e.message),this.errMsg=e.message||e.errMsg||"unknown system error",this.code=this.errCode=e.code||e.errCode||"SYSTEM_ERROR",this.errSubject=this.subject=e.subject||e.errSubject,this.cause=e.cause,this.requestId=e.requestId}toJson(e=0){if(!(e>=10))return e++,{errCode:this.errCode,errMsg:this.errMsg,errSubject:this.errSubject,cause:this.cause&&this.cause.toJson?this.cause.toJson(e):this.cause}}}var ne={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()};function se(e){return e&&se(e.__v_raw)||e}function re(){return{token:ne.getStorageSync("uni_id_token")||ne.getStorageSync("uniIdToken"),tokenExpired:ne.getStorageSync("uni_id_token_expired")}}function oe({token:e,tokenExpired:t}={}){e&&ne.setStorageSync("uni_id_token",e),t&&ne.setStorageSync("uni_id_token_expired",t)}let ie,ae;function ce(){return ie||(ie=uni.getSystemInfoSync()),ie}function ue(){let e,t;try{if(uni.getLaunchOptionsSync){if(uni.getLaunchOptionsSync.toString().indexOf("not yet implemented")>-1)return;const{scene:n,channel:s}=uni.getLaunchOptionsSync();e=s,t=n}}catch(n){}return{channel:e,scene:t}}function le(){const e=uni.getLocale&&uni.getLocale()||"en";if(ae)return{...ae,locale:e,LOCALE:e};const t=ce(),{deviceId:n,osName:s,uniPlatform:r,appId:o}=t,i=["pixelRatio","brand","model","system","language","version","platform","host","SDKVersion","swanNativeVersion","app","AppPlatform","fontSizeSetting"];for(let a=0;a<i.length;a++)delete t[i[a]];return ae={PLATFORM:r,OS:s,APPID:o,DEVICEID:n,...ue(),...t},{...ae,locale:e,LOCALE:e}}var he=function(e,t){let n="";return Object.keys(e).sort().forEach((function(t){e[t]&&(n=n+"&"+t+"="+e[t])})),n=n.slice(1),p(n,t).toString()},de=function(e,t){return new Promise(((n,s)=>{t(Object.assign(e,{complete(e){e||(e={});const t=e.data&&e.data.header&&e.data.header["x-serverless-request-id"]||e.header&&e.header["request-id"];if(!e.statusCode||e.statusCode>=400){const n=e.data&&e.data.error&&e.data.error.code||"SYS_ERR",r=e.data&&e.data.error&&e.data.error.message||e.errMsg||"request:fail";return s(new te({code:n,message:r,requestId:t}))}const r=e.data;if(r.error)return s(new te({code:r.error.code,message:r.error.message,requestId:t}));r.result=r.data,r.requestId=t,delete r.data,n(r)}}))}))},fe=function(e){return m.stringify(g.parse(e))},pe=class{constructor(e){["spaceId","clientSecret"].forEach((t=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw new Error(`${t} required`)})),this.config=Object.assign({},{endpoint:0===e.spaceId.indexOf("mp-")?"https://api.next.bspapp.com":"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=ne,this._getAccessTokenPromiseHub=new T({createPromise:()=>this.requestAuth(this.setupRequest({method:"serverless.auth.user.anonymousAuthorize",params:"{}"},"auth")).then((e=>{if(!e.result||!e.result.accessToken)throw new te({code:"AUTH_FAILED",message:"获取accessToken失败"});this.setAccessToken(e.result.accessToken)})),retryRule:P})}get hasAccessToken(){return!!this.accessToken}setAccessToken(e){this.accessToken=e}requestWrapped(e){return de(e,this.adapter.request)}requestAuth(e){return this.requestWrapped(e)}request(e,t){return Promise.resolve().then((()=>this.hasAccessToken?t?this.requestWrapped(e):this.requestWrapped(e).catch((t=>new Promise(((e,n)=>{!t||"GATEWAY_INVALID_TOKEN"!==t.code&&"InvalidParameter.InvalidToken"!==t.code?n(t):e()})).then((()=>this.getAccessToken())).then((()=>{const t=this.rebuildRequest(e);return this.request(t,!0)})))):this.getAccessToken().then((()=>{const t=this.rebuildRequest(e);return this.request(t,!0)}))))}rebuildRequest(e){const t=Object.assign({},e);return t.data.token=this.accessToken,t.header["x-basement-token"]=this.accessToken,t.header["x-serverless-sign"]=he(t.data,this.config.clientSecret),t}setupRequest(e,t){const n=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"]=he(n,this.config.clientSecret),{url:this.config.requestUrl,method:"POST",data:n,dataType:"json",header:s}}getAccessToken(){return this._getAccessTokenPromiseHub.exec()}async authorize(){await this.getAccessToken()}callFunction(e){const t={method:"serverless.function.runtime.invoke",params:JSON.stringify({functionTarget:e.name,functionArgs:e.data||{}})};return this.request(this.setupRequest(t))}getOSSUploadOptionsFromPath(e){const t={method:"serverless.file.resource.generateProximalSign",params:JSON.stringify(e)};return this.request(this.setupRequest(t))}uploadFileToOSS({url:e,formData:t,name:n,filePath:s,fileType:r,onUploadProgress:o}){return new Promise(((i,a)=>{const c=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(new te({code:"UPLOAD_FAILED",message:"文件上传失败"}))},fail(e){a(new te({code:e.code||"UPLOAD_FAILED",message:e.message||e.errMsg||"文件上传失败"}))}});"function"==typeof o&&c&&"function"==typeof c.onProgressUpdate&&c.onProgressUpdate((e=>{o({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}reportOSSUpload(e){const t={method:"serverless.file.resource.report",params:JSON.stringify(e)};return this.request(this.setupRequest(t))}async uploadFile({filePath:e,cloudPath:t,fileType:n="image",cloudPathAsRealPath:s=!1,onUploadProgress:r,config:o}){if("string"!==v(t))throw new te({code:"INVALID_PARAM",message:"cloudPath必须为字符串类型"});if(!(t=t.trim()))throw new te({code:"INVALID_PARAM",message:"cloudPath不可为空"});if(/:\/\//.test(t))throw new te({code:"INVALID_PARAM",message:"cloudPath不合法"});const i=o&&o.envType||this.config.envType;if(s&&("/"!==t[0]&&(t="/"+t),t.indexOf("\\")>-1))throw new te({code:"INVALID_PARAM",message:"使用cloudPath作为路径时cloudPath不可包含“\\”"});const a=(await this.getOSSUploadOptionsFromPath({env:i,filename:s?t.split("/").pop():t,fileId:s?t:void 0})).result,c="https://"+a.cdnDomain+"/"+a.ossPath,{securityToken:u,accessKeyId:l,signature:h,host:d,ossPath:f,id:p,policy:g,ossCallbackUrl:m}=a,y={"Cache-Control":"max-age=2592000","Content-Disposition":"attachment",OSSAccessKeyId:l,Signature:h,host:d,id:p,key:f,policy:g,success_action_status:200};if(u&&(y["x-oss-security-token"]=u),m){const e=JSON.stringify({callbackUrl:m,callbackBody:JSON.stringify({fileId:p,spaceId:this.config.spaceId}),callbackBodyType:"application/json"});y.callback=fe(e)}const _={url:"https://"+a.host,formData:y,fileName:"file",name:"file",filePath:e,fileType:n};if(await this.uploadFileToOSS(Object.assign({},_,{onUploadProgress:r})),m)return{success:!0,filePath:e,fileID:c};if((await this.reportOSSUpload({id:p})).success)return{success:!0,filePath:e,fileID:c};throw new te({code:"UPLOAD_FAILED",message:"文件上传失败"})}getTempFileURL({fileList:e}={}){return new Promise(((t,n)=>{Array.isArray(e)&&0!==e.length||n(new te({code:"INVALID_PARAM",message:"fileList的元素必须是非空的字符串"})),t({fileList:e.map((e=>({fileID:e,tempFileURL:e})))})}))}async getFileInfo({fileList:e}={}){if(!Array.isArray(e)||0===e.length)throw new te({code:"INVALID_PARAM",message:"fileList的元素必须是非空的字符串"});const t={method:"serverless.file.resource.info",params:JSON.stringify({id:e.map((e=>e.split("?")[0])).join(",")})};return{fileList:(await this.request(this.setupRequest(t))).result}}},ge={init(e){const t=new pe(e),n={signInAnonymously:function(){return t.authorize()},getLoginState:function(){return Promise.resolve(!1)}};return t.auth=function(){return n},t.customAuth=t.auth,t}};const me="undefined"!=typeof location&&"http:"===location.protocol?"http:":"https:";var ye,_e;(_e=ye||(ye={})).local="local",_e.none="none",_e.session="session";var we=function(){},ve=h((function(e,t){var n;e.exports=(n=f,function(e){var t=n,s=t.lib,r=s.WordArray,o=s.Hasher,i=t.algo,a=[],c=[];!function(){function t(t){for(var n=e.sqrt(t),s=2;s<=n;s++)if(!(t%s))return!1;return!0}function n(e){return 4294967296*(e-(0|e))|0}for(var s=2,r=0;r<64;)t(s)&&(r<8&&(a[r]=n(e.pow(s,.5))),c[r]=n(e.pow(s,1/3)),r++),s++}();var u=[],l=i.SHA256=o.extend({_doReset:function(){this._hash=new r.init(a.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,s=n[0],r=n[1],o=n[2],i=n[3],a=n[4],l=n[5],h=n[6],d=n[7],f=0;f<64;f++){if(f<16)u[f]=0|e[t+f];else{var p=u[f-15],g=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,m=u[f-2],y=(m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10;u[f]=g+u[f-7]+y+u[f-16]}var _=s&r^s&o^r&o,w=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),v=d+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&l^~a&h)+c[f]+u[f];d=h,h=l,l=a,a=i+v|0,i=o,o=r,r=s,s=v+(w+_)|0}n[0]=n[0]+s|0,n[1]=n[1]+r|0,n[2]=n[2]+o|0,n[3]=n[3]+i|0,n[4]=n[4]+a|0,n[5]=n[5]+l|0,n[6]=n[6]+h|0,n[7]=n[7]+d|0},_doFinalize:function(){var t=this._data,n=t.words,s=8*this._nDataBytes,r=8*t.sigBytes;return n[r>>>5]|=128<<24-r%32,n[14+(r+64>>>9<<4)]=e.floor(s/4294967296),n[15+(r+64>>>9<<4)]=s,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=o._createHelper(l),t.HmacSHA256=o._createHmacHelper(l)}(Math),n.SHA256)})),Ie=ve,Ae=h((function(e,t){e.exports=f.HmacSHA256}));const Se=()=>{let e;if(!Promise){e=()=>{},e.promise={};const t=()=>{throw new te({message:'Your Node runtime does support ES6 Promises. Set "global.Promise" to your preferred implementation of promises.'})};return Object.defineProperty(e.promise,"then",{get:t}),Object.defineProperty(e.promise,"catch",{get:t}),e}const t=new Promise(((t,n)=>{e=(e,s)=>e?n(e):t(s)}));return e.promise=t,e};function ke(e){return void 0===e}function Pe(e){return"[object Null]"===Object.prototype.toString.call(e)}var Te;!function(e){e.WEB="web",e.WX_MP="wx_mp"}(Te||(Te={}));const be={adapter:null,runtime:void 0},xe=["anonymousUuidKey"];class Oe extends we{constructor(){super(),be.adapter.root.tcbObject||(be.adapter.root.tcbObject={})}setItem(e,t){be.adapter.root.tcbObject[e]=t}getItem(e){return be.adapter.root.tcbObject[e]}removeItem(e){delete be.adapter.root.tcbObject[e]}clear(){delete be.adapter.root.tcbObject}}function Ce(e,t){switch(e){case"local":return t.localStorage||new Oe;case"none":return new Oe;default:return t.sessionStorage||new Oe}}class Le{constructor(e){if(!this._storage){this._persistence=be.adapter.primaryStorage||e.persistence,this._storage=Ce(this._persistence,be.adapter);const t=`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;const t="local"===this._persistence;this._persistence=e;const n=Ce(e,be.adapter);for(const s in this.keys){const e=this.keys[s];if(t&&xe.includes(s))continue;const r=this._storage.getItem(e);ke(r)||Pe(r)||(n.setItem(e,r),this._storage.removeItem(e))}this._storage=n}setStore(e,t,n){if(!this._storage)return;const s={version:n||"localCachev1",content:t},r=JSON.stringify(s);try{this._storage.setItem(e,r)}catch(o){throw o}}getStore(e,t){try{if(!this._storage)return}catch(s){return""}t=t||"localCachev1";const n=this._storage.getItem(e);return n&&n.indexOf(t)>=0?JSON.parse(n).content:""}removeStore(e){this._storage.removeItem(e)}}const Ee={},Ue={};function Re(e){return Ee[e]}class Ne{constructor(e,t){this.data=t||null,this.name=e}}class De extends Ne{constructor(e,t){super("error",{error:e,data:t}),this.error=e}}const Me=new class{constructor(){this._listeners={}}on(e,t){return n=e,s=t,(r=this._listeners)[n]=r[n]||[],r[n].push(s),this;var n,s,r}off(e,t){return function(e,t,n){if(n&&n[e]){const s=n[e].indexOf(t);-1!==s&&n[e].splice(s,1)}}(e,t,this._listeners),this}fire(e,t){if(e instanceof De)return console.error(e.error),this;const n="string"==typeof e?new Ne(e,t||{}):e,s=n.name;if(this._listens(s)){n.target=this;const e=this._listeners[s]?[...this._listeners[s]]:[];for(const t of e)t.call(this,n)}return this}_listens(e){return this._listeners[e]&&this._listeners[e].length>0}};function Fe(e,t){Me.on(e,t)}function qe(e,t={}){Me.fire(e,t)}function je(e,t){Me.off(e,t)}const $e="loginStateChanged",Be="loginStateExpire",Ke="loginTypeChanged",He="anonymousConverted",Je="refreshAccessToken";var We;!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"}(We||(We={}));const Ve=["auth.getJwt","auth.logout","auth.signInWithTicket","auth.signInAnonymously","auth.signIn","auth.fetchAccessTokenWithRefreshToken","auth.signUpWithEmailAndPassword","auth.activateEndUserMail","auth.sendPasswordResetEmail","auth.resetPasswordWithToken","auth.isUsernameRegistered"],ze={"X-SDK-Version":"1.3.5"};function Qe(e,t,n){const s=e[t];e[t]=function(t){const r={},o={};n.forEach((n=>{const{data:s,headers:i}=n.call(e,t);Object.assign(r,s),Object.assign(o,i)}));const i=t.data;return i&&(()=>{var e;if(e=i,"[object FormData]"!==Object.prototype.toString.call(e))t.data={...i,...r};else for(const t in r)i.append(t,r[t])})(),t.headers={...t.headers||{},...o},s.call(e,t)}}function Ge(){const e=Math.random().toString(16).slice(2);return{data:{seqId:e},headers:{...ze,"x-seqid":e}}}class Ye{constructor(e={}){var t;this.config=e,this._reqClass=new be.adapter.reqClass({timeout:this.config.timeout,timeoutMsg:`请求在${this.config.timeout/1e3}s内未完成已中断`,restrictedMethods:["post"]}),this._cache=Re(this.config.env),this._localCache=(t=this.config.env,Ue[t]),Qe(this._reqClass,"post",[Ge]),Qe(this._reqClass,"upload",[Ge]),Qe(this._reqClass,"download",[Ge])}async post(e){return await this._reqClass.post(e)}async upload(e){return await this._reqClass.upload(e)}async download(e){return await this._reqClass.download(e)}async refreshAccessToken(){let e,t;this._refreshAccessTokenPromise||(this._refreshAccessTokenPromise=this._refreshAccessToken());try{e=await this._refreshAccessTokenPromise}catch(n){t=n}if(this._refreshAccessTokenPromise=null,this._shouldRefreshAccessTokenHook=null,t)throw t;return e}async _refreshAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t,refreshTokenKey:n,loginTypeKey:s,anonymousUuidKey:r}=this._cache.keys;this._cache.removeStore(e),this._cache.removeStore(t);let o=this._cache.getStore(n);if(!o)throw new te({message:"未登录CloudBase"});const i={refresh_token:o},a=await this.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)===We.ANONYMOUS&&"INVALID_REFRESH_TOKEN"===e){const e=this._cache.getStore(r),t=this._cache.getStore(n),s=await this.send("auth.signInAnonymously",{anonymous_uuid:e,refresh_token:t});return this.setRefreshToken(s.refresh_token),this._refreshAccessToken()}qe(Be),this._cache.removeStore(n)}throw new te({code:a.data.code,message:`刷新access token失败${a.data.code}`})}if(a.data.access_token)return qe(Je),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())}async getAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t,refreshTokenKey:n}=this._cache.keys;if(!this._cache.getStore(n))throw new te({message:"refresh token不存在登录状态异常"});let s=this._cache.getStore(e),r=this._cache.getStore(t),o=!0;return this._shouldRefreshAccessTokenHook&&!(await this._shouldRefreshAccessTokenHook(s,r))&&(o=!1),(!s||!r||r<Date.now())&&o?this.refreshAccessToken():{accessToken:s,accessTokenExpire:r}}async request(e,t,n){const s=`x-tcb-trace_${this.config.env}`;let r="application/x-www-form-urlencoded";const o={action:e,env:this.config.env,dataVersion:"2019-08-16",...t};if(-1===Ve.indexOf(e)){const{refreshTokenKey:e}=this._cache.keys;this._cache.getStore(e)&&(o.access_token=(await this.getAccessToken()).accessToken)}let i;if("storage.uploadFile"===e){i=new FormData;for(let e in i)i.hasOwnProperty(e)&&void 0!==i[e]&&i.append(e,o[e]);r="multipart/form-data"}else{r="application/json",i={};for(let e in o)void 0!==o[e]&&(i[e]=o[e])}let a={headers:{"content-type":r}};n&&n.onUploadProgress&&(a.onUploadProgress=n.onUploadProgress);const c=this._localCache.getStore(s);c&&(a.headers["X-TCB-Trace"]=c);const{parse:u,inQuery:l,search:h}=t;let d={env:this.config.env};u&&(d.parse=!0),l&&(d={...l,...d});let f=function(e,t,n={}){const s=/\?/.test(t);let r="";for(let o in n)""===r?!s&&(t+="?"):r+="&",r+=`${o}=${encodeURIComponent(n[o])}`;return/^http(s)?\:\/\//.test(t+=r)?t:`${e}${t}`}(me,"//tcb-api.tencentcloudapi.com/web",d);h&&(f+=h);const p=await this.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)throw new te({code:"NETWORK_ERROR",message:"network request error"});return p}async send(e,t={}){const n=await this.request(e,t,{onUploadProgress:t.onUploadProgress});if("ACCESS_TOKEN_EXPIRED"===n.data.code&&-1===Ve.indexOf(e)){await this.refreshAccessToken();const n=await this.request(e,t,{onUploadProgress:t.onUploadProgress});if(n.data.code)throw new te({code:n.data.code,message:n.data.message});return n.data}if(n.data.code)throw new te({code:n.data.code,message:n.data.message});return n.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 Xe={};function Ze(e){return Xe[e]}class et{constructor(e){this.config=e,this._cache=Re(e.env),this._request=Ze(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)}async refreshUserInfo(){const{data:e}=await this._request.send("auth.getUserInfo",{});return this.setLocalUserInfo(e),e}setLocalUserInfo(e){const{userInfoKey:t}=this._cache.keys;this._cache.setStore(t,e)}}class tt{constructor(e){if(!e)throw new te({code:"PARAM_ERROR",message:"envId is not defined"});this._envId=e,this._cache=Re(this._envId),this._request=Ze(this._envId),this.setUserInfo()}linkWithTicket(e){if("string"!=typeof e)throw new te({code:"PARAM_ERROR",message:"ticket must be string"});return this._request.send("auth.linkWithTicket",{ticket:e})}linkWithRedirect(e){e.signInWithRedirect()}updatePassword(e,t){return this._request.send("auth.updatePassword",{oldPassword:t,newPassword:e})}updateEmail(e){return this._request.send("auth.updateEmail",{newEmail:e})}updateUsername(e){if("string"!=typeof e)throw new te({code:"PARAM_ERROR",message:"username must be a string"});return this._request.send("auth.updateUsername",{username:e})}async getLinkedUidList(){const{data:e}=await this._request.send("auth.getLinkedUidList",{});let t=!1;const{users:n}=e;return n.forEach((e=>{e.wxOpenId&&e.wxPublicId&&(t=!0)})),{users:n,hasPrimaryUid:t}}setPrimaryUid(e){return this._request.send("auth.setPrimaryUid",{uid:e})}unlink(e){return this._request.send("auth.unlink",{platform:e})}async update(e){const{nickName:t,gender:n,avatarUrl:s,province:r,country:o,city:i}=e,{data:a}=await this._request.send("auth.updateUserInfo",{nickName:t,gender:n,avatarUrl:s,province:r,country:o,city:i});this.setLocalUserInfo(a)}async refresh(){const{data:e}=await this._request.send("auth.getUserInfo",{});return this.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()}}class nt{constructor(e){if(!e)throw new te({code:"PARAM_ERROR",message:"envId is not defined"});this._cache=Re(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=new tt(e)}get isAnonymousAuth(){return this.loginType===We.ANONYMOUS}get isCustomAuth(){return this.loginType===We.CUSTOM}get isWeixinAuth(){return this.loginType===We.WECHAT||this.loginType===We.WECHAT_OPEN||this.loginType===We.WECHAT_PUBLIC}get loginType(){return this._cache.getStore(this._cache.keys.loginTypeKey)}}class st extends et{async signIn(){this._cache.updatePersistence("local");const{anonymousUuidKey:e,refreshTokenKey:t}=this._cache.keys,n=this._cache.getStore(e)||void 0,s=this._cache.getStore(t)||void 0,r=await this._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),await this._request.refreshAccessToken(),qe($e),qe(Ke,{env:this.config.env,loginType:We.ANONYMOUS,persistence:"local"});const e=new nt(this.config.env);return await e.user.refresh(),e}throw new te({message:"匿名登录失败"})}async linkAndRetrieveDataWithTicket(e){const{anonymousUuidKey:t,refreshTokenKey:n}=this._cache.keys,s=this._cache.getStore(t),r=this._cache.getStore(n),o=await this._request.send("auth.linkAndRetrieveDataWithTicket",{anonymous_uuid:s,refresh_token:r,ticket:e});if(o.refresh_token)return this._clearAnonymousUUID(),this.setRefreshToken(o.refresh_token),await this._request.refreshAccessToken(),qe(He,{env:this.config.env}),qe(Ke,{loginType:We.CUSTOM,persistence:"local"}),{credential:{refreshToken:o.refresh_token}};throw new te({message:"匿名转化失败"})}_setAnonymousUUID(e){const{anonymousUuidKey:t,loginTypeKey:n}=this._cache.keys;this._cache.removeStore(t),this._cache.setStore(t,e),this._cache.setStore(n,We.ANONYMOUS)}_clearAnonymousUUID(){this._cache.removeStore(this._cache.keys.anonymousUuidKey)}}class rt extends et{async signIn(e){if("string"!=typeof e)throw new te({code:"PARAM_ERROR",message:"ticket must be a string"});const{refreshTokenKey:t}=this._cache.keys,n=await this._request.send("auth.signInWithTicket",{ticket:e,refresh_token:this._cache.getStore(t)||""});if(n.refresh_token)return this.setRefreshToken(n.refresh_token),await this._request.refreshAccessToken(),qe($e),qe(Ke,{env:this.config.env,loginType:We.CUSTOM,persistence:this.config.persistence}),await this.refreshUserInfo(),new nt(this.config.env);throw new te({message:"自定义登录失败"})}}class ot extends et{async signIn(e,t){if("string"!=typeof e)throw new te({code:"PARAM_ERROR",message:"email must be a string"});const{refreshTokenKey:n}=this._cache.keys,s=await this._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)return this.setRefreshToken(r),o&&i?this.setAccessToken(o,i):await this._request.refreshAccessToken(),await this.refreshUserInfo(),qe($e),qe(Ke,{env:this.config.env,loginType:We.EMAIL,persistence:this.config.persistence}),new nt(this.config.env);throw s.code?new te({code:s.code,message:`邮箱登录失败: ${s.message}`}):new te({message:"邮箱登录失败"})}async activate(e){return this._request.send("auth.activateEndUserMail",{token:e})}async resetPasswordWithToken(e,t){return this._request.send("auth.resetPasswordWithToken",{token:e,newPassword:t})}}class it extends et{async signIn(e,t){if("string"!=typeof e)throw new te({code:"PARAM_ERROR",message:"username must be a string"});"string"!=typeof t&&(t="",console.warn("password is empty"));const{refreshTokenKey:n}=this._cache.keys,s=await this._request.send("auth.signIn",{loginType:We.USERNAME,username:e,password:t,refresh_token:this._cache.getStore(n)||""}),{refresh_token:r,access_token_expire:o,access_token:i}=s;if(r)return this.setRefreshToken(r),i&&o?this.setAccessToken(i,o):await this._request.refreshAccessToken(),await this.refreshUserInfo(),qe($e),qe(Ke,{env:this.config.env,loginType:We.USERNAME,persistence:this.config.persistence}),new nt(this.config.env);throw s.code?new te({code:s.code,message:`用户名密码登录失败: ${s.message}`}):new te({message:"用户名密码登录失败"})}}class at{constructor(e){this.config=e,this._cache=Re(e.env),this._request=Ze(e.env),this._onAnonymousConverted=this._onAnonymousConverted.bind(this),this._onLoginTypeChanged=this._onLoginTypeChanged.bind(this),Fe(Ke,this._onLoginTypeChanged)}get currentUser(){const e=this.hasLoginState();return e&&e.user||null}get loginType(){return this._cache.getStore(this._cache.keys.loginTypeKey)}anonymousAuthProvider(){return new st(this.config)}customAuthProvider(){return new rt(this.config)}emailAuthProvider(){return new ot(this.config)}usernameAuthProvider(){return new it(this.config)}async signInAnonymously(){return new st(this.config).signIn()}async signInWithEmailAndPassword(e,t){return new ot(this.config).signIn(e,t)}signInWithUsernameAndPassword(e,t){return new it(this.config).signIn(e,t)}async linkAndRetrieveDataWithTicket(e){return this._anonymousAuthProvider||(this._anonymousAuthProvider=new st(this.config)),Fe(He,this._onAnonymousConverted),await this._anonymousAuthProvider.linkAndRetrieveDataWithTicket(e)}async signOut(){if(this.loginType===We.ANONYMOUS)throw new te({message:"匿名用户不支持登出操作"});const{refreshTokenKey:e,accessTokenKey:t,accessTokenExpireKey:n}=this._cache.keys,s=this._cache.getStore(e);if(!s)return;const r=await this._request.send("auth.logout",{refresh_token:s});return this._cache.removeStore(e),this._cache.removeStore(t),this._cache.removeStore(n),qe($e),qe(Ke,{env:this.config.env,loginType:We.NULL,persistence:this.config.persistence}),r}async signUpWithEmailAndPassword(e,t){return this._request.send("auth.signUpWithEmailAndPassword",{email:e,password:t})}async sendPasswordResetEmail(e){return this._request.send("auth.sendPasswordResetEmail",{email:e})}onLoginStateChanged(e){Fe($e,(()=>{const t=this.hasLoginState();e.call(this,t)}));const t=this.hasLoginState();e.call(this,t)}onLoginStateExpired(e){Fe(Be,e.bind(this))}onAccessTokenRefreshed(e){Fe(Je,e.bind(this))}onAnonymousConverted(e){Fe(He,e.bind(this))}onLoginTypeChanged(e){Fe(Ke,(()=>{const t=this.hasLoginState();e.call(this,t)}))}async getAccessToken(){return{accessToken:(await this._request.getAccessToken()).accessToken,env:this.config.env}}hasLoginState(){const{refreshTokenKey:e}=this._cache.keys;return this._cache.getStore(e)?new nt(this.config.env):null}async isUsernameRegistered(e){if("string"!=typeof e)throw new te({code:"PARAM_ERROR",message:"username must be a string"});const{data:t}=await this._request.send("auth.isUsernameRegistered",{username:e});return t&&t.isRegistered}getLoginState(){return Promise.resolve(this.hasLoginState())}async signInWithTicket(e){return new rt(this.config).signIn(e)}shouldRefreshAccessToken(e){this._request._shouldRefreshAccessTokenHook=e.bind(this)}getUserInfo(){return this._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))}}const ct=function(e,t){t=t||Se();const n=Ze(this.config.env),{cloudPath:s,filePath:r,onUploadProgress:o,fileType:i="image"}=e;return n.send("storage.getUploadMetadata",{path:s}).then((e=>{const{data:{url:a,authorization:c,token:u,fileId:l,cosFileId:h},requestId:d}=e,f={key:s,signature:c,"x-cos-meta-fileid":h,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:l,requestId:d}):t(new te({code:"STORAGE_REQUEST_FAIL",message:`STORAGE_REQUEST_FAIL: ${e.data}`}))})).catch((e=>{t(e)}))})).catch((e=>{t(e)})),t.promise},ut=function(e,t){t=t||Se();const n=Ze(this.config.env),{cloudPath:s}=e;return n.send("storage.getUploadMetadata",{path:s}).then((e=>{t(null,e)})).catch((e=>{t(e)})),t.promise},lt=function({fileList:e},t){if(t=t||Se(),!e||!Array.isArray(e))return{code:"INVALID_PARAM",message:"fileList必须是非空的数组"};for(let s of e)if(!s||"string"!=typeof s)return{code:"INVALID_PARAM",message:"fileList的元素必须是非空的字符串"};const n={fileid_list:e};return Ze(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},ht=function({fileList:e},t){t=t||Se(),e&&Array.isArray(e)||t(null,{code:"INVALID_PARAM",message:"fileList必须是非空的数组"});let n=[];for(let r of e)"object"==typeof r?(r.hasOwnProperty("fileID")&&r.hasOwnProperty("maxAge")||t(null,{code:"INVALID_PARAM",message:"fileList的元素必须是包含fileID和maxAge的对象"}),n.push({fileid:r.fileID,max_age:r.maxAge})):"string"==typeof r?n.push({fileid:r}):t(null,{code:"INVALID_PARAM",message:"fileList的元素必须是字符串"});const s={file_list:n};return Ze(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},dt=async function({fileID:e},t){const n=(await ht.call(this,{fileList:[{fileID:e,maxAge:600}]})).fileList[0];if("SUCCESS"!==n.code)return t?t(n):new Promise((e=>{e(n)}));const s=Ze(this.config.env);let r=n.download_url;if(r=encodeURI(r),!t)return s.download({url:r});t(await s.download({url:r}))},ft=function({name:e,data:t,query:n,parse:s,search:r},o){const i=o||Se();let a;try{a=t?JSON.stringify(t):""}catch(u){return Promise.reject(u)}if(!e)return Promise.reject(new te({code:"PARAM_ERROR",message:"函数名不能为空"}));const c={inQuery:n,parse:s,search:r,function_name:e,request_data:a};return Ze(this.config.env).send("functions.invokeFunction",c).then((e=>{if(e.code)i(null,e);else{let n=e.data.response_data;if(s)i(null,{result:n,requestId:e.requestId});else try{n=JSON.parse(e.data.response_data),i(null,{result:n,requestId:e.requestId})}catch(t){i(new te({message:"response data must be json"}))}}return i.promise})).catch((e=>{i(e)})),i.promise},pt={timeout:15e3,persistence:"session"},gt={};class mt{constructor(e){this.config=e||this.config,this.authObj=void 0}init(e){switch(be.adapter||(this.requestClient=new be.adapter.reqClass({timeout:e.timeout||5e3,timeoutMsg:`请求在${(e.timeout||5e3)/1e3}s内未完成已中断`})),this.config={...pt,...e},!0){case this.config.timeout>6e5:console.warn("timeout大于可配置上限[10分钟],已重置为上限数值"),this.config.timeout=6e5;break;case this.config.timeout<100:console.warn("timeout小于可配置下限[100ms],已重置为下限数值"),this.config.timeout=100}return new mt(this.config)}auth({persistence:e}={}){if(this.authObj)return this.authObj;const t=e||be.adapter.primaryStorage||pt.persistence;var n;return t!==this.config.persistence&&(this.config.persistence=t),function(e){const{env:t}=e;Ee[t]=new Le(e),Ue[t]=new Le({...e,persistence:"local"})}(this.config),n=this.config,Xe[n.env]=new Ye(n),this.authObj=new at(this.config),this.authObj}on(e,t){return Fe.apply(this,[e,t])}off(e,t){return je.apply(this,[e,t])}callFunction(e,t){return ft.apply(this,[e,t])}deleteFile(e,t){return lt.apply(this,[e,t])}getTempFileURL(e,t){return ht.apply(this,[e,t])}downloadFile(e,t){return dt.apply(this,[e,t])}uploadFile(e,t){return ct.apply(this,[e,t])}getUploadMetadata(e,t){return ut.apply(this,[e,t])}registerExtension(e){gt[e.name]=e}async invokeExtension(e,t){const n=gt[e];if(!n)throw new te({message:`扩展${e} 必须先注册`});return await n.invoke(t,this)}useAdapters(e){const{adapter:t,runtime:n}=function(e){const t=(n=e,"[object Array]"===Object.prototype.toString.call(n)?e:[e]);var n;for(const s of t){const{isMatch:e,genAdapter:t,runtime:n}=s;if(e())return{adapter:t(),runtime:n}}}(e)||{};t&&(be.adapter=t),n&&(be.runtime=n)}}var yt=new mt;function _t(e,t,n){void 0===n&&(n={});var s=/\?/.test(t),r="";for(var o in n)""===r?!s&&(t+="?"):r+="&",r+=o+"="+encodeURIComponent(n[o]);return/^http(s)?:\/\//.test(t+=r)?t:""+e+t}class wt{post(e){const{url:t,data:n,headers:s}=e;return new Promise(((e,r)=>{ne.request({url:_t("https:",t),data:n,method:"POST",header:s,success(t){e(t)},fail(e){r(e)}})}))}upload(e){return new Promise(((t,n)=>{const{url:s,file:r,data:o,headers:i,fileType:a}=e,c=ne.uploadFile({url:_t("https:",s),name:"file",formData:Object.assign({},o),filePath:r,fileType:a,header:i,success(e){const n={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){n(new Error(e.errMsg||"uploadFile:fail"))}});"function"==typeof e.onUploadProgress&&c&&"function"==typeof c.onProgressUpdate&&c.onProgressUpdate((t=>{e.onUploadProgress({loaded:t.totalBytesSent,total:t.totalBytesExpectedToSend})}))}))}}const vt={setItem(e,t){ne.setStorageSync(e,t)},getItem:e=>ne.getStorageSync(e),removeItem(e){ne.removeStorageSync(e)},clear(){ne.clearStorageSync()}};var It={genAdapter:function(){return{root:{},reqClass:wt,localStorage:vt,primaryStorage:"local"}},isMatch:function(){return!0},runtime:"uni_app"};yt.useAdapters(It);const At=yt,St=At.init;At.init=function(e){e.env=e.spaceId;const t=St.call(this,e);t.config.provider="tencent",t.config.spaceId=e.spaceId;const n=t.auth;return t.auth=function(e){const t=n.call(this,e);return["linkAndRetrieveDataWithTicket","signInAnonymously","signOut","getAccessToken","getLoginState","signInWithTicket","getUserInfo"].forEach((e=>{var n;t[e]=(n=t[e],function(e){e=e||{};const{success:t,fail:s,complete:r}=ee(e);if(!(t||s||r))return n.call(this,e);n.call(this,e).then((e=>{t&&t(e),r&&r(e)}),(e=>{s&&s(e),r&&r(e)}))}).bind(t)})),t},t.customAuth=t.auth,t};var kt=At,Pt=class extends pe{getAccessToken(){return new Promise(((e,t)=>{const n="Anonymous_Access_token";this.setAccessToken(n),e(n)}))}setupRequest(e,t){const n=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"]=he(n,this.config.clientSecret);const r=le();s["x-client-info"]=encodeURIComponent(JSON.stringify(r));const{token:o}=re();return s["x-client-token"]=o,{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}){return new Promise(((i,a)=>{const c=this.adapter.uploadFile({url:e,formData:t,name:n,filePath:s,fileType:r,success(e){e&&e.statusCode<400?i(e):a(new te({code:"UPLOAD_FAILED",message:"文件上传失败"}))},fail(e){a(new te({code:e.code||"UPLOAD_FAILED",message:e.message||e.errMsg||"文件上传失败"}))}});"function"==typeof o&&c&&"function"==typeof c.onProgressUpdate&&c.onProgressUpdate((e=>{o({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}uploadFile({filePath:e,cloudPath:t,fileType:n="image",onUploadProgress:s}){if(!t)throw new te({code:"CLOUDPATH_REQUIRED",message:"cloudPath不可为空"});let r;return this.getOSSUploadOptionsFromPath({cloudPath:t}).then((t=>{const{url:o,formData:i,name:a}=t.result;r=t.result.fileUrl;const c={url:o,formData:i,name:a,filePath:e,fileType:n};return this.uploadFileToOSS(Object.assign({},c,{onUploadProgress:s}))})).then((()=>this.reportOSSUpload({cloudPath:t}))).then((t=>new Promise(((n,s)=>{t.success?n({success:!0,filePath:e,fileID:r}):s(new te({code:"UPLOAD_FAILED",message:"文件上传失败"}))}))))}deleteFile({fileList:e}){const t={method:"serverless.file.resource.delete",params:JSON.stringify({fileList:e})};return this.request(this.setupRequest(t)).then((e=>{if(e.success)return e.result;throw new te({code:"DELETE_FILE_FAILED",message:"删除文件失败"})}))}getTempFileURL({fileList:e,maxAge:t}={}){if(!Array.isArray(e)||0===e.length)throw new te({code:"INVALID_PARAM",message:"fileList的元素必须是非空的字符串"});const n={method:"serverless.file.resource.getTempFileURL",params:JSON.stringify({fileList:e,maxAge:t})};return this.request(this.setupRequest(n)).then((e=>{if(e.success)return{fileList:e.result.fileList.map((e=>({fileID:e.fileID,tempFileURL:e.tempFileURL})))};throw new te({code:"GET_TEMP_FILE_URL_FAILED",message:"获取临时文件链接失败"})}))}},Tt={init(e){const t=new Pt(e),n={signInAnonymously:function(){return t.authorize()},getLoginState:function(){return Promise.resolve(!1)}};return t.auth=function(){return n},t.customAuth=t.auth,t}},bt=h((function(e,t){e.exports=f.enc.Hex}));function xt(e="",t={}){const{data:n,functionName:s,method:r,headers:o,signHeaderKeys:i=[],config:a}=t,c=Date.now(),u="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})),l=Object.assign({},o,{"x-from-app-id":a.spaceAppId,"x-from-env-id":a.spaceId,"x-to-env-id":a.spaceId,"x-from-instance-id":c,"x-from-function-name":s,"x-client-timestamp":c,"x-alipay-source":"client","x-request-id":u,"x-alipay-callid":u,"x-trace-id":u}),h=["x-from-app-id","x-from-env-id","x-to-env-id","x-from-instance-id","x-from-function-name","x-client-timestamp"].concat(i),[d="",f=""]=e.split("?")||[],p=function(e){const t=e.signedHeaders.join(";"),n=e.signedHeaders.map((t=>`${t.toLowerCase()}:${e.headers[t]}\n`)).join(""),s=Ie(e.body).toString(bt),r=`${e.method.toUpperCase()}\n${e.path}\n${e.query}\n${n}\n${t}\n${s}\n`,o=Ie(r).toString(bt),i=`HMAC-SHA256\n${e.timestamp}\n${o}\n`,a=Ae(i,e.secretKey).toString(bt);return`HMAC-SHA256 Credential=${e.secretId}, SignedHeaders=${t}, Signature=${a}`}({path:d,query:f,method:r,headers:l,timestamp:c,body:JSON.stringify(n),secretId:a.accessKey,secretKey:a.secretKey,signedHeaders:h.sort()});return{url:`${a.endpoint}${e}`,headers:Object.assign({},l,{Authorization:p})}}function Ot({url:e,data:t,method:n="POST",headers:s={}}){return new Promise(((r,o)=>{ne.request({url:e,method:n,data:t,header:s,dataType:"json",complete:(e={})=>{const t=s["x-trace-id"]||"";if(!e.statusCode||e.statusCode>=400){const{message:n,errMsg:s,trace_id:r}=e.data||{};return o(new te({code:"SYS_ERR",message:n||s||"request:fail",requestId:r||t}))}r({status:e.statusCode,data:e.data,headers:e.header,requestId:t})}})}))}function Ct(e,t){const{path:n,data:s,method:r="GET"}=e,{url:o,headers:i}=xt(n,{functionName:"",data:s,method:r,headers:{"x-alipay-cloud-mode":"oss","x-data-api-type":"oss","x-expire-timestamp":Date.now()+6e4},signHeaderKeys:["x-data-api-type","x-expire-timestamp"],config:t});return Ot({url:o,data:s,method:r,headers:i}).then((e=>{const t=e.data||{};if(!t.success)throw new te({code:e.errCode,message:e.errMsg,requestId:e.requestId});return t.data||{}})).catch((e=>{throw new te({code:e.errCode,message:e.errMsg,requestId:e.requestId})}))}function Lt(e=""){const t=e.trim().replace(/^cloud:\/\//,""),n=t.indexOf("/");if(n<=0)throw new te({code:"INVALID_PARAM",message:"fileID不合法"});const s=t.substring(0,n),r=t.substring(n+1);return s!==this.config.spaceId&&console.warn("file ".concat(e," does not belong to env ").concat(this.config.spaceId)),r}function Et(e=""){return"cloud://".concat(this.config.spaceId,"/").concat(e.replace(/^\/+/,""))}var Ut={init:e=>{e.provider="alipay";const t=new class{constructor(e){if(["spaceId","spaceAppId","accessKey","secretKey"].forEach((t=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw new Error(`${t} required`)})),e.endpoint){if("string"!=typeof e.endpoint)throw new Error("endpoint must be string");if(!/^https:\/\//.test(e.endpoint))throw new Error("endpoint must start with https://");e.endpoint=e.endpoint.replace(/\/$/,"")}this.config=Object.assign({},e,{endpoint:e.endpoint||`https://${e.spaceId}.api-hz.cloudbasefunction.cn`})}callFunction(e){return function(e,t){const{name:n,data:s}=e,r="POST",{url:o,headers:i}=xt("/functions/invokeFunction",{functionName:n,data:s,method:r,headers:{"x-to-function-name":n},signHeaderKeys:["x-to-function-name"],config:t});return Ot({url:o,data:s,method:r,headers:i}).then((e=>({errCode:0,success:!0,requestId:e.requestId,result:e.data}))).catch((e=>{throw new te({code:e.errCode,message:e.errMsg,requestId:e.requestId})}))}(e,this.config)}uploadFileToOSS({url:e,filePath:t,fileType:n,formData:s,onUploadProgress:r}){return new Promise(((o,i)=>{const a=ne.uploadFile({url:e,filePath:t,fileType:n,formData:s,name:"file",success(e){e&&e.statusCode<400?o(e):i(new te({code:"UPLOAD_FAILED",message:"文件上传失败"}))},fail(e){i(new te({code:e.code||"UPLOAD_FAILED",message:e.message||e.errMsg||"文件上传失败"}))}});"function"==typeof r&&a&&"function"==typeof a.onProgressUpdate&&a.onProgressUpdate((e=>{r({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}async uploadFile({filePath:e,cloudPath:t="",fileType:n="image",onUploadProgress:s}){if("string"!==v(t))throw new te({code:"INVALID_PARAM",message:"cloudPath必须为字符串类型"});if(!(t=t.trim()))throw new te({code:"INVALID_PARAM",message:"cloudPath不可为空"});if(/:\/\//.test(t))throw new te({code:"INVALID_PARAM",message:"cloudPath不合法"});const r=await Ct({path:"/".concat(t.replace(/^\//,""),"?post_url")},this.config),{file_id:o,upload_url:i,form_data:a}=r,c=a&&a.reduce(((e,t)=>(e[t.key]=t.value,e)),{});return this.uploadFileToOSS({url:i,filePath:e,fileType:n,formData:c,onUploadProgress:s}).then((()=>({fileID:o})))}async getTempFileURL({fileList:e}){return new Promise(((t,n)=>{(!e||e.length<0)&&n(new te({errCode:"INVALID_PARAM",errMsg:"fileList不能为空数组"})),e.length>50&&n(new te({errCode:"INVALID_PARAM",errMsg:"fileList数组长度不能超过50"}));const s=[];for(const r of e){"string"!==v(r)&&n(new te({errCode:"INVALID_PARAM",errMsg:"fileList的元素必须是非空的字符串"}));const e=Lt.call(this,r);s.push({file_id:e,expire:600})}Ct({path:"/?download_url",data:{file_list:s},method:"POST"},this.config).then((e=>{const{file_list:n=[]}=e;t({fileList:n.map((e=>({fileID:Et.call(this,e.file_id),tempFileURL:e.download_url})))})})).catch((e=>n(e)))}))}}(e);return t.auth=function(){return{signInAnonymously:function(){return Promise.resolve()},getLoginState:function(){return Promise.resolve(!0)}}},t}};function Rt({data:e}){let t;t=le();const n=JSON.parse(JSON.stringify(e||{}));if(Object.assign(n,{clientInfo:t}),!n.uniIdToken){const{token:e}=re();e&&(n.uniIdToken=e)}return n}const Nt=[{rule:/fc_function_not_found|FUNCTION_NOT_FOUND/,content:",云函数[{functionName}]在云端不存在,请检查此云函数名称是否正确以及该云函数是否已上传到服务空间",mode:"append"}];var Dt=/[\\^$.*+?()[\]{}|]/g,Mt=RegExp(Dt.source);function Ft(e,t,n){return e.replace(new RegExp((s=t)&&Mt.test(s)?s.replace(Dt,"\\$&"):s,"g"),n);var s}const qt=2e4,jt={code:20101,message:"Invalid client"};function $t(e){const{errSubject:t,subject:n,errCode:s,errMsg:r,code:o,message:i,cause:a}=e||{};return new te({subject:t||n||"uni-secure-network",code:s||o||qt,message:r||i,cause:a})}let Bt;function Kt({secretType:e}={}){return"request"===e||"response"===e||"both"===e}function Ht({name:e,data:t={}}={}){return"DCloud-clientDB"===e&&"encryption"===t.redirectTo&&"getAppClientKey"===t.action}function Jt({functionName:e,result:t,logPvd:n}){}function Wt(e){const t=e.callFunction,n=function(n){const s=n.name;n.data=Rt.call(e,{data:n.data});const r={aliyun:"aliyun",tencent:"tcb",tcb:"tcb",alipay:"alipay"}[this.config.provider],o=Kt(n),i=Ht(n),a=o||i;return t.call(this,n).then((e=>(e.errCode=0,!a&&Jt.call(this,{functionName:s,result:e,logPvd:r}),Promise.resolve(e))),(e=>(!a&&Jt.call(this,{functionName:s,result:e,logPvd:r}),e&&e.message&&(e.message=function({message:e="",extraInfo:t={},formatter:n=[]}={}){for(let s=0;s<n.length;s++){const{rule:r,content:o,mode:i}=n[s],a=e.match(r);if(!a)continue;let c=o;for(let e=1;e<a.length;e++)c=Ft(c,`{$${e}}`,a[e]);for(const e in t)c=Ft(c,`{${e}}`,t[e]);return"replace"===i?c:e+c}return e}({message:`[${n.name}]: ${e.message}`,formatter:Nt,extraInfo:{functionName:s}})),Promise.reject(e))))};e.callFunction=function(t){const{provider:s,spaceId:r}=e.config,o=t.name;let i,a;return t.data=t.data||{},i=n,i=i.bind(e),a=Ht(t)?n.call(e,t):Kt(t)?new Bt({secretType:t.secretType,uniCloudIns:e}).wrapEncryptDataCallFunction(n.bind(e))(t):function({provider:e,spaceId:t,functionName:n}={}){const{appId:s,uniPlatform:r,osName:o}=ce();let i=r;"app"===r&&(i=o);const a=function({provider:e,spaceId:t}={}){const n=x;if(!n)return{};e=function(e){return"tencent"===e?"tcb":e}(e);const s=n.find((n=>n.provider===e&&n.spaceId===t));return s&&s.config}({provider:e,spaceId:t});if(!a||!a.accessControl||!a.accessControl.enable)return!1;const c=a.accessControl.function||{},u=Object.keys(c);if(0===u.length)return!0;const l=function(e,t){let n,s,r;for(let o=0;o<e.length;o++){const i=e[o];i!==t?"*"!==i?i.split(",").map((e=>e.trim())).indexOf(t)>-1&&(s=i):r=i:n=i}return n||s||r}(u,n);if(!l)return!1;if((c[l]||[]).find(((e={})=>e.appId===s&&(e.platform||"").toLowerCase()===i.toLowerCase())))return!0;throw console.error(`此应用[appId: ${s}, platform: ${i}]不在云端配置的允许访问的应用列表内参考https://uniapp.dcloud.net.cn/uniCloud/secure-network.html#verify-client`),$t(jt)}({provider:s,spaceId:r,functionName:o})?new Bt({secretType:t.secretType,uniCloudIns:e}).wrapVerifyClientCallFunction(n.bind(e))(t):i(t),Object.defineProperty(a,"result",{get:()=>(console.warn("当前返回结果为Promise类型不可直接访问其result属性详情请参考https://uniapp.dcloud.net.cn/uniCloud/faq?id=promise"),{})}),a.then((e=>("undefined"!=typeof UTSJSONObject&&(e.result=new UTSJSONObject(e.result)),e)))}}Bt=class{constructor(){throw $t({message:"Platform app is not enabled, please check whether secure network module is enabled in your manifest.json"})}};const Vt=Symbol("CLIENT_DB_INTERNAL");function zt(e,t){return e.then="DoNotReturnProxyWithAFunctionNamedThen",e._internalType=Vt,e.inspect=null,e.__v_raw=void 0,new Proxy(e,{get(e,n,s){if("_uniClient"===n)return null;if("symbol"==typeof n)return e[n];if(n in e||"string"!=typeof n){const t=e[n];return"function"==typeof t?t.bind(e):t}return t.get(e,n,s)}})}function Qt(e){return{on:(t,n)=>{e[t]=e[t]||[],e[t].indexOf(n)>-1||e[t].push(n)},off:(t,n)=>{e[t]=e[t]||[];const s=e[t].indexOf(n);-1!==s&&e[t].splice(s,1)}}}const Gt=["db.Geo","db.command","command.aggregate"];function Yt(e,t){return Gt.indexOf(`${e}.${t}`)>-1}function Xt(e){switch(v(e=se(e))){case"array":return e.map((e=>Xt(e)));case"object":return e._internalType===Vt||Object.keys(e).forEach((t=>{e[t]=Xt(e[t])})),e;case"regexp":return{$regexp:{source:e.source,flags:e.flags}};case"date":return{$date:e.toISOString()};default:return e}}function Zt(e){return e&&e.content&&e.content.$method}class en{constructor(e,t,n){this.content=e,this.prevStage=t||null,this.udb=null,this._database=n}toJSON(){let e=this;const t=[e.content];for(;e.prevStage;)e=e.prevStage,t.push(e.content);return{$db:t.reverse().map((e=>({$method:e.$method,$param:Xt(e.$param)})))}}toString(){return JSON.stringify(this.toJSON())}getAction(){const e=this.toJSON().$db.find((e=>"action"===e.$method));return e&&e.$param&&e.$param[0]}getCommand(){return{$db:this.toJSON().$db.filter((e=>"action"!==e.$method))}}get isAggregate(){let e=this;for(;e;){const t=Zt(e),n=Zt(e.prevStage);if("aggregate"===t&&"collection"===n||"pipeline"===t)return!0;e=e.prevStage}return!1}get isCommand(){let e=this;for(;e;){if("command"===Zt(e))return!0;e=e.prevStage}return!1}get isAggregateCommand(){let e=this;for(;e;){const t=Zt(e),n=Zt(e.prevStage);if("aggregate"===t&&"command"===n)return!0;e=e.prevStage}return!1}getNextStageFn(e){const t=this;return function(){return tn({$method:e,$param:Xt(Array.from(arguments))},t,t._database)}}get count(){return this.isAggregate?this.getNextStageFn("count"):function(){return this._send("count",Array.from(arguments))}}get remove(){return this.isCommand?this.getNextStageFn("remove"):function(){return this._send("remove",Array.from(arguments))}}get(){return this._send("get",Array.from(arguments))}get add(){return this.isCommand?this.getNextStageFn("add"):function(){return this._send("add",Array.from(arguments))}}update(){return this._send("update",Array.from(arguments))}end(){return this._send("end",Array.from(arguments))}get set(){return this.isCommand?this.getNextStageFn("set"):function(){throw new Error("JQL禁止使用set方法")}}_send(e,t){const n=this.getAction(),s=this.getCommand();return s.$db.push({$method:e,$param:Xt(t)}),this._database._callCloudFunction({action:n,command:s})}}function tn(e,t,n){return zt(new en(e,t,n),{get(e,t){let s="db";return e&&e.content&&(s=e.content.$method),Yt(s,t)?tn({$method:t},e,n):function(){return tn({$method:t,$param:Xt(Array.from(arguments))},e,n)}}})}function nn({path:e,method:t}){return class{constructor(){this.param=Array.from(arguments)}toJSON(){return{$newDb:[...e.map((e=>({$method:e}))),{$method:t,$param:this.param}]}}toString(){return JSON.stringify(this.toJSON())}}}function sn(e,t={}){return zt(new e(t),{get:(e,t)=>Yt("db",t)?tn({$method:t},null,e):function(){return tn({$method:t,$param:Xt(Array.from(arguments))},null,e)}})}class rn extends class{constructor({uniClient:e={},isJQL:t=!1}={}){this._uniClient=e,this._authCallBacks={},this._dbCallBacks={},e._isDefault&&(this._dbCallBacks=E("_globalUniCloudDatabaseCallback")),t||(this.auth=Qt(this._authCallBacks)),this._isJQL=t,Object.assign(this,Qt(this._dbCallBacks)),this.env=zt({},{get:(e,t)=>({$env:t})}),this.Geo=zt({},{get:(e,t)=>nn({path:["Geo"],method:t})}),this.serverDate=nn({path:[],method:"serverDate"}),this.RegExp=nn({path:[],method:"RegExp"})}getCloudEnv(e){if("string"!=typeof e||!e.trim())throw new Error("getCloudEnv参数错误");return{$env:e.replace("$cloudEnv_","")}}_callback(e,t){const n=this._dbCallBacks;n[e]&&n[e].forEach((e=>{e(...t)}))}_callbackAuth(e,t){const n=this._authCallBacks;n[e]&&n[e].forEach((e=>{e(...t)}))}multiSend(){const e=Array.from(arguments),t=e.map((e=>{const t=e.getAction(),n=e.getCommand();if("getTemp"!==n.$db[n.$db.length-1].$method)throw new Error("multiSend只支持子命令内使用getTemp");return{action:t,command:n}}));return this._callCloudFunction({multiCommand:t,queryList:e})}}{_parseResult(e){return this._isJQL?e.result:e}_callCloudFunction({action:e,command:t,multiCommand:n,queryList:s}){function r(e,t){if(n&&s)for(let n=0;n<s.length;n++){const r=s[n];r.udb&&"function"==typeof r.udb.setResult&&(t?r.udb.setResult(t):r.udb.setResult(e.result.dataList[n]))}}const o=this,i=this._isJQL?"databaseForJQL":"database";function a(e){return o._callback("error",[e]),M(F(i,"fail"),e).then((()=>M(F(i,"complete"),e))).then((()=>(r(null,e),G($,{type:H,content:e}),Promise.reject(e))))}const c=M(F(i,"invoke")),u=this._uniClient;return c.then((()=>u.callFunction({name:"DCloud-clientDB",type:"CLIENT_DB",data:{action:e,command:t,multiCommand:n}}))).then((e=>{const{code:t,message:n,token:s,tokenExpired:c,systemInfo:u=[]}=e.result;if(u)for(let r=0;r<u.length;r++){const{level:e,message:t,detail:n}=u[r],s=console["warn"===e?"error":e]||console.log;let o="[System Info]"+t;n&&(o=`${o}\n详细信息:${n}`),s(o)}if(t)return a(new te({code:t,message:n,requestId:e.requestId}));e.result.errCode=e.result.errCode||e.result.code,e.result.errMsg=e.result.errMsg||e.result.message,s&&c&&(oe({token:s,tokenExpired:c}),this._callbackAuth("refreshToken",[{token:s,tokenExpired:c}]),this._callback("refreshToken",[{token:s,tokenExpired:c}]),G(K,{token:s,tokenExpired:c}));const l=[{prop:"affectedDocs",tips:"affectedDocs不再推荐使用请使用inserted/deleted/updated/data.length替代"},{prop:"code",tips:"code不再推荐使用请使用errCode替代"},{prop:"message",tips:"message不再推荐使用请使用errMsg替代"}];for(let r=0;r<l.length;r++){const{prop:t,tips:n}=l[r];if(t in e.result){const s=e.result[t];Object.defineProperty(e.result,t,{get:()=>(console.warn(n),s)})}}return h=e,M(F(i,"success"),h).then((()=>M(F(i,"complete"),h))).then((()=>{r(h,null);const e=o._parseResult(h);return G($,{type:H,content:e}),Promise.resolve(e)}));var h}),(e=>(/fc_function_not_found|FUNCTION_NOT_FOUND/g.test(e.message)&&console.warn("clientDB未初始化请在web控制台保存一次schema以开启clientDB"),a(new te({code:e.code||"SYSTEM_ERROR",message:e.message,requestId:e.requestId})))))}}const on="token无效跳转登录页面",an="token过期跳转登录页面",cn={TOKEN_INVALID_TOKEN_EXPIRED:an,TOKEN_INVALID_INVALID_CLIENTID:on,TOKEN_INVALID:on,TOKEN_INVALID_WRONG_TOKEN:on,TOKEN_INVALID_ANONYMOUS_USER:on},un={"uni-id-token-expired":an,"uni-id-check-token-failed":on,"uni-id-token-not-exist":on,"uni-id-check-device-feature-failed":on};function ln(e,t){let n="";return n=e?`${e}/${t}`:t,n.replace(/^\//,"")}function hn(e=[],t=""){const n=[],s=[];return e.forEach((e=>{!0===e.needLogin?n.push(ln(t,e.path)):!1===e.needLogin&&s.push(ln(t,e.path))})),{needLoginPage:n,notNeedLoginPage:s}}function dn(e){return e.split("?")[0].replace(/^\//,"")}function fn(){return function(e){let t=e&&e.$page&&e.$page.fullPath||"";return t?("/"!==t.charAt(0)&&(t="/"+t),t):t}(function(){const e=getCurrentPages();return e[e.length-1]}())}function pn(){return dn(fn())}function gn(e="",t={}){if(!e)return!1;if(!(t&&t.list&&t.list.length))return!1;const n=t.list,s=dn(e);return n.some((e=>e.pagePath===s))}const mn=!!l.uniIdRouter,{loginPage:yn,routerNeedLogin:_n,resToLogin:wn,needLoginPage:vn,notNeedLoginPage:In,loginPageInTabBar:An}=function({pages:e=[],subPackages:t=[],uniIdRouter:n={},tabBar:s={}}=l){const{loginPage:r,needLogin:o=[],resToLogin:i=!0}=n,{needLoginPage:a,notNeedLoginPage:c}=hn(e),{needLoginPage:u,notNeedLoginPage:h}=function(e=[]){const t=[],n=[];return e.forEach((e=>{const{root:s,pages:r=[]}=e,{needLoginPage:o,notNeedLoginPage:i}=hn(r,s);t.push(...o),n.push(...i)})),{needLoginPage:t,notNeedLoginPage:n}}(t);return{loginPage:r,routerNeedLogin:o,resToLogin:i,needLoginPage:[...a,...u],notNeedLoginPage:[...c,...h],loginPageInTabBar:gn(r,s)}}();if(vn.indexOf(yn)>-1)throw new Error(`Login page [${yn}] should not be "needLogin", please check your pages.json`);function Sn(e){const t=pn();if("/"===e.charAt(0))return e;const[n,s]=e.split("?"),r=n.replace(/^\//,"").split("/"),o=t.split("/");o.pop();for(let i=0;i<r.length;i++){const e=r[i];".."===e?o.pop():"."!==e&&o.push(e)}return""===o[0]&&o.shift(),"/"+o.join("/")+(s?"?"+s:"")}function kn({redirect:e}){const t=dn(e),n=dn(yn);return pn()!==n&&t!==n}function Pn({api:e,redirect:t}={}){if(!t||!kn({redirect:t}))return;const n=(r=t,"/"!==(s=yn).charAt(0)&&(s="/"+s),r?s.indexOf("?")>-1?s+`&uniIdRedirectUrl=${encodeURIComponent(r)}`:s+`?uniIdRedirectUrl=${encodeURIComponent(r)}`:s);var s,r;An?"navigateTo"!==e&&"redirectTo"!==e||(e="switchTab"):"switchTab"===e&&(e="navigateTo");const o={navigateTo:uni.navigateTo,redirectTo:uni.redirectTo,switchTab:uni.switchTab,reLaunch:uni.reLaunch};setTimeout((()=>{o[e]({url:n})}),0)}function Tn({url:e}={}){const t={abortLoginPageJump:!1,autoToLoginPage:!1},n=function(){const{token:e,tokenExpired:t}=re();let n;if(e){if(t<Date.now()){const e="uni-id-token-expired";n={errCode:e,errMsg:un[e]}}}else{const e="uni-id-check-token-failed";n={errCode:e,errMsg:un[e]}}return n}();if(function(e){const t=dn(Sn(e));return!(In.indexOf(t)>-1)&&(vn.indexOf(t)>-1||_n.some((t=>{return n=e,new RegExp(t).test(n);var n})))}(e)&&n){if(n.uniIdRedirectUrl=e,V(B).length>0)return setTimeout((()=>{G(B,n)}),0),t.abortLoginPageJump=!0,t;t.autoToLoginPage=!0}return t}function bn(){!function(){const e=fn(),{abortLoginPageJump:t,autoToLoginPage:n}=Tn({url:e});t||n&&Pn({api:"redirectTo",redirect:e})}();const e=["navigateTo","redirectTo","reLaunch","switchTab"];for(let t=0;t<e.length;t++){const n=e[t];uni.addInterceptor(n,{invoke(e){const{abortLoginPageJump:t,autoToLoginPage:s}=Tn({url:e.url});return t?e:s?(Pn({api:n,redirect:Sn(e.url)}),!1):e}})}}function xn(){this.onResponse((e=>{const{type:t,content:n}=e;let s=!1;switch(t){case"cloudobject":s=function(e){if("object"!=typeof e)return!1;const{errCode:t}=e||{};return t in un}(n);break;case"clientdb":s=function(e){if("object"!=typeof e)return!1;const{errCode:t}=e||{};return t in cn}(n)}s&&function(e={}){const t=V(B);Z().then((()=>{const n=fn();if(n&&kn({redirect:n}))return t.length>0?G(B,Object.assign({uniIdRedirectUrl:n},e)):void(yn&&Pn({api:"navigateTo",redirect:n}))}))}(n)}))}function On(e){var t;(t=e).onResponse=function(e){z($,e)},t.offResponse=function(e){Q($,e)},function(e){e.onNeedLogin=function(e){z(B,e)},e.offNeedLogin=function(e){Q(B,e)},mn&&(E("_globalUniCloudStatus").needLoginInit||(E("_globalUniCloudStatus").needLoginInit=!0,Z().then((()=>{bn.call(e)})),wn&&xn.call(e)))}(e),function(e){e.onRefreshToken=function(e){z(K,e)},e.offRefreshToken=function(e){Q(K,e)}}(e)}let Cn;const Ln="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",En=/^(?:[A-Za-z\d+/]{4})*?(?:[A-Za-z\d+/]{2}(?:==)?|[A-Za-z\d+/]{3}=?)?$/;function Un(){const e=re().token||"",t=e.split(".");if(!e||3!==t.length)return{uid:null,role:[],permission:[],tokenExpired:0};let n;try{n=JSON.parse((s=t[1],decodeURIComponent(Cn(s).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""))))}catch(r){throw new Error("获取当前用户信息出错,详细错误信息为:"+r.message)}var s;return n.tokenExpired=1e3*n.exp,delete n.exp,delete n.iat,n}Cn="function"!=typeof atob?function(e){if(e=String(e).replace(/[\t\n\f\r ]+/g,""),!En.test(e))throw new Error("Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.");var t;e+="==".slice(2-(3&e.length));for(var n,s,r="",o=0;o<e.length;)t=Ln.indexOf(e.charAt(o++))<<18|Ln.indexOf(e.charAt(o++))<<12|(n=Ln.indexOf(e.charAt(o++)))<<6|(s=Ln.indexOf(e.charAt(o++))),r+=64===n?String.fromCharCode(t>>16&255):64===s?String.fromCharCode(t>>16&255,t>>8&255):String.fromCharCode(t>>16&255,t>>8&255,255&t);return r}:atob;var Rn=function(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}(h((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});const n="chooseAndUploadFile:ok",s="chooseAndUploadFile:fail";function r(e,t){return e.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}function o(e,t,{onChooseFile:s,onUploadProgress:r}){return t.then((e=>{if(s){const t=s(e);if(void 0!==t)return Promise.resolve(t).then((t=>void 0===t?e:t))}return e})).then((t=>!1===t?{errMsg:n,tempFilePaths:[],tempFiles:[]}:function(e,t,s=5,r){(t=Object.assign({},t)).errMsg=n;const o=t.tempFiles,i=o.length;let a=0;return new Promise((n=>{for(;a<s;)c();function c(){const s=a++;if(s>=i)return void(!o.find((e=>!e.url&&!e.errMsg))&&n(t));const u=o[s];e.uploadFile({provider:u.provider,filePath:u.path,cloudPath:u.cloudPath,fileType:u.fileType,cloudPathAsRealPath:u.cloudPathAsRealPath,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){return function(t={type:"all"}){return"image"===t.type?o(e,function(e){const{count:t,sizeType:n,sourceType:o=["album","camera"],extension:i}=e;return new Promise(((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;return new Promise(((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;return new Promise(((e,o)=>{let i=uni.chooseFile;if("undefined"!=typeof wx&&"function"==typeof wx.chooseMessageFile&&(i=wx.chooseMessageFile),"function"!=typeof i)return o({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)}}})));function Nn(e){return{props:{localdata:{type:Array,default:()=>[]},options:{type:[Object,Array],default:()=>({})},spaceInfo:{type:Object,default:()=>({})},collection:{type:[String,Array],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:{},mixinDatacomError:null}),created(){this.mixinDatacomPage={current:this.pageCurrent,size:this.pageSize,count:0},this.$watch((()=>{var e=[];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("manual"===this.loadtime)return;let n=!1;const s=[];for(let r=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.mixinDatacomError=null,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;const o=e?s.length?s[0]:void 0:s;this.mixinDatacomResData=o,t&&t(o)})).catch((e=>{this.mixinDatacomLoading=!1,this.mixinDatacomErrorMessage=e,this.mixinDatacomError=e,n&&n(e)})))},mixinDatacomGet(t={}){let n;t=t||{},n="undefined"!=typeof __uniX&&__uniX?e.databaseForJQL(this.spaceInfo):e.database(this.spaceInfo);const s=t.action||this.action;s&&(n=n.action(s));const r=t.collection||this.collection;n=Array.isArray(r)?n.collection(...r):n.collection(r);const o=t.where||this.where;o&&Object.keys(o).length&&(n=n.where(o));const i=t.field||this.field;i&&(n=n.field(i));const a=t.foreignKey||this.foreignKey;a&&(n=n.foreignKey(a));const c=t.groupby||this.groupby;c&&(n=n.groupBy(c));const u=t.groupField||this.groupField;u&&(n=n.groupField(u)),!0===(void 0!==t.distinct?t.distinct:this.distinct)&&(n=n.distinct());const l=t.orderby||this.orderby;l&&(n=n.orderBy(l));const h=void 0!==t.pageCurrent?t.pageCurrent:this.mixinDatacomPage.current,d=void 0!==t.pageSize?t.pageSize:this.mixinDatacomPage.size,f=void 0!==t.getcount?t.getcount:this.getcount,p=void 0!==t.gettree?t.gettree:this.gettree,g=void 0!==t.gettreepath?t.gettreepath:this.gettreepath,m={getCount:f},y={limitLevel:void 0!==t.limitlevel?t.limitlevel:this.limitlevel,startWith:void 0!==t.startwith?t.startwith:this.startwith};return p&&(m.getTree=y),g&&(m.getTreePath=y),n=n.skip(d*(h-1)).limit(d).get(m),n}}}}function Dn(e){return E("_globalUniCloudSecureNetworkCache__{spaceId}".replace("{spaceId}",e.config.spaceId))}async function Mn({openid:e,callLoginByWeixin:t=!1}={}){throw Dn(this),new Error("[SecureNetwork] API `initSecureNetworkByWeixin` is not supported on platform `app`")}async function Fn(e){const t=Dn(this);return t.initPromise||(t.initPromise=Mn.call(this,e).then((e=>e)).catch((e=>{throw delete t.initPromise,e}))),t.initPromise}function qn(e){const t={getSystemInfo:uni.getSystemInfo,getPushClientId:uni.getPushClientId};return function(n){return new Promise(((s,r)=>{t[e]({...n,success(e){s(e)},fail(e){r(e)}})}))}}class jn extends class{constructor(){this._callback={}}addListener(e,t){this._callback[e]||(this._callback[e]=[]),this._callback[e].push(t)}on(e,t){return this.addListener(e,t)}removeListener(e,t){if(!t)throw new Error('The "listener" argument must be of type function. Received undefined');const n=this._callback[e];if(!n)return;const s=function(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]===t)return n;return-1}(n,t);n.splice(s,1)}off(e,t){return this.removeListener(e,t)}removeAllListener(e){delete this._callback[e]}emit(e,...t){const n=this._callback[e];if(n)for(let s=0;s<n.length;s++)n[s](...t)}}{constructor(){super(),this._uniPushMessageCallback=this._receivePushMessage.bind(this),this._currentMessageId=-1,this._payloadQueue=[]}init(){return Promise.all([qn("getSystemInfo")(),qn("getPushClientId")()]).then((([{appId:e}={},{cid:t}={}]=[])=>{if(!e)throw new Error("Invalid appId, please check the manifest.json file");if(!t)throw new Error("Invalid push client id");this._appId=e,this._pushClientId=t,this._seqId=Date.now()+"-"+Math.floor(9e5*Math.random()+1e5),this.emit("open"),this._initMessageListener()}),(e=>{throw this.emit("error",e),this.close(),e}))}async open(){return this.init()}_isUniCloudSSE(e){if("receive"!==e.type)return!1;const t=e&&e.data&&e.data.payload;return!(!t||"UNI_CLOUD_SSE"!==t.channel||t.seqId!==this._seqId)}_receivePushMessage(e){if(!this._isUniCloudSSE(e))return;const t=e&&e.data&&e.data.payload,{action:n,messageId:s,message:r}=t;this._payloadQueue.push({action:n,messageId:s,message:r}),this._consumMessage()}_consumMessage(){for(;;){const e=this._payloadQueue.find((e=>e.messageId===this._currentMessageId+1));if(!e)break;this._currentMessageId++,this._parseMessagePayload(e)}}_parseMessagePayload(e){const{action:t,messageId:n,message:s}=e;"end"===t?this._end({messageId:n,message:s}):"message"===t&&this._appendMessage({messageId:n,message:s})}_appendMessage({messageId:e,message:t}={}){this.emit("message",t)}_end({messageId:e,message:t}={}){this.emit("end",t),this.close()}_initMessageListener(){uni.onPushMessage(this._uniPushMessageCallback)}_destroy(){uni.offPushMessage(this._uniPushMessageCallback)}toJSON(){return{appId:this._appId,pushClientId:this._pushClientId,seqId:this._seqId}}close(){this._destroy(),this.emit("close")}}const $n={tcb:kt,tencent:kt,aliyun:ge,private:Tt,alipay:Ut};let Bn=new class{init(e){let t={};const n=$n[e.provider];if(!n)throw new Error("未提供正确的provider参数");var s;return t=n.init(e),function(e){e._initPromiseHub||(e._initPromiseHub=new T({createPromise:function(){let t=Promise.resolve();t=new Promise((e=>{setTimeout((()=>{e()}),1)}));const n=e.auth();return t.then((()=>n.getLoginState())).then((e=>e?Promise.resolve():n.signInAnonymously()))}}))}(t),Wt(t),function(e){const t=e.uploadFile;e.uploadFile=function(e){return t.call(this,e)}}(t),(s=t).database=function(e){if(e&&Object.keys(e).length>0)return s.init(e).database();if(this._database)return this._database;const t=sn(rn,{uniClient:s});return this._database=t,t},s.databaseForJQL=function(e){if(e&&Object.keys(e).length>0)return s.init(e).databaseForJQL();if(this._databaseForJQL)return this._databaseForJQL;const t=sn(rn,{uniClient:s,isJQL:!0});return this._databaseForJQL=t,t},function(e){e.getCurrentUserInfo=Un,e.chooseAndUploadFile=Rn.initChooseAndUploadFile(e),Object.assign(e,{get mixinDatacom(){return Nn(e)}}),e.SSEChannel=jn,e.initSecureNetworkByWeixin=function(e){return function({openid:t,callLoginByWeixin:n=!1}={}){return Fn.call(e,{openid:t,callLoginByWeixin:n})}}(e),e.importObject=function(t){return function(n,s={}){s=function(e,t={}){return e.customUI=t.customUI||e.customUI,e.parseSystemError=t.parseSystemError||e.parseSystemError,Object.assign(e.loadingOptions,t.loadingOptions),Object.assign(e.errorOptions,t.errorOptions),"object"==typeof t.secretMethods&&(e.secretMethods=t.secretMethods),e}({customUI:!1,loadingOptions:{title:"加载中...",mask:!0},errorOptions:{type:"modal",retry:!1}},s);const{customUI:r,loadingOptions:o,errorOptions:i,parseSystemError:a}=s,c=!r;return new Proxy({},{get(r,u){switch(u){case"toString":return"[object UniCloudObject]";case"toJSON":return{}}return function({fn:e,interceptorName:t,getCallbackArgs:n}={}){return async function(...s){const r=n?n({params:s}):{};let o,i;try{return await M(F(t,"invoke"),{...r}),o=await e(...s),await M(F(t,"success"),{...r,result:o}),o}catch(a){throw i=a,await M(F(t,"fail"),{...r,error:i}),i}finally{await M(F(t,"complete"),i?{...r,error:i}:{...r,result:o})}}}({fn:async function r(...l){let h;c&&uni.showLoading({title:o.title,mask:o.mask});const d={name:n,type:"OBJECT",data:{method:u,params:l}};"object"==typeof s.secretMethods&&function(e,t){const n=t.data.method,s=e.secretMethods||{},r=s[n]||s["*"];r&&(t.secretType=r)}(s,d);let f=!1;try{h=await t.callFunction(d)}catch(e){f=!0,h={result:new te(e)}}const{errSubject:p,errCode:g,errMsg:m,newToken:y}=h.result||{};if(c&&uni.hideLoading(),y&&y.token&&y.tokenExpired&&(oe(y),G(K,{...y})),g){let e=m;if(f&&a&&(e=(await a({objectName:n,methodName:u,params:l,errSubject:p,errCode:g,errMsg:m})).errMsg||m),c)if("toast"===i.type)uni.showToast({title:e,icon:"none"});else{if("modal"!==i.type)throw new Error(`Invalid errorOptions.type: ${i.type}`);{const{confirm:t}=await async function({title:e,content:t,showCancel:n,cancelText:s,confirmText:r}={}){return new Promise(((o,i)=>{uni.showModal({title:e,content:t,showCancel:n,cancelText:s,confirmText:r,success(e){o(e)},fail(){o({confirm:!1,cancel:!0})}})}))}({title:"提示",content:e,showCancel:i.retry,cancelText:"取消",confirmText:i.retry?"重试":"确定"});if(i.retry&&t)return r(...l)}}const t=new te({subject:p,code:g,message:m,requestId:h.requestId});throw t.detail=h.result,G($,{type:W,content:t}),t}return G($,{type:W,content:h.result}),h.result},interceptorName:"callObject",getCallbackArgs:function({params:e}={}){return{objectName:n,methodName:u,params:e}}})}})}}(e)}(t),["callFunction","uploadFile","deleteFile","getTempFileURL","downloadFile","chooseAndUploadFile"].forEach((e=>{if(!t[e])return;const n=t[e];t[e]=function(){return n.apply(t,Array.from(arguments))},t[e]=function(e,t){return function(n){let s=!1;if("callFunction"===t){const e=n&&n.type||y;s=e!==y}const r="callFunction"===t&&!s,o=this._initPromiseHub.exec();n=n||{};const{success:i,fail:a,complete:c}=ee(n),u=o.then((()=>s?Promise.resolve():M(F(t,"invoke"),n))).then((()=>e.call(this,n))).then((e=>s?Promise.resolve(e):M(F(t,"success"),e).then((()=>M(F(t,"complete"),e))).then((()=>(r&&G($,{type:J,content:e}),Promise.resolve(e))))),(e=>s?Promise.reject(e):M(F(t,"fail"),e).then((()=>M(F(t,"complete"),e))).then((()=>(G($,{type:J,content:e}),Promise.reject(e))))));if(!(i||a||c))return u;u.then((e=>{i&&i(e),c&&c(e),r&&G($,{type:J,content:e})}),(e=>{a&&a(e),c&&c(e),r&&G($,{type:J,content:e})}))}}(t[e],e).bind(t)})),t.init=this.init,t}};(()=>{const e=O;let t={};if(e&&1===e.length)t=e[0],Bn=Bn.init(t),Bn._isDefault=!0;else{const t=["auth","callFunction","uploadFile","deleteFile","getTempFileURL","downloadFile","database","getCurrentUSerInfo","importObject"];let n;n=e&&e.length>0?"应用有多个服务空间请通过uniCloud.init方法指定要使用的服务空间":"应用未关联服务空间请在uniCloud目录右键关联服务空间",t.forEach((e=>{Bn[e]=function(){return console.error(n),Promise.reject(new te({code:"SYS_ERR",message:n}))}}))}Object.assign(Bn,{get mixinDatacom(){return Nn(Bn)}}),On(Bn),Bn.addInterceptor=N,Bn.removeInterceptor=D,Bn.interceptObject=q})();const{app:Kn,Vuex:Hn,Pinia:Jn}={app:e.createVueApp(u)};uni.Vuex=Hn,uni.Pinia=Jn,Kn.provide("__globalStyles",__uniConfig.styles),Kn._component.mpType="app",Kn._component.render=()=>{},Kn.mount("#app")}(Vue);