Files
yusheng-h5/unpackage/dist/build/web/assets/uni-cloud.es.BWcFvug7.js
2025-11-29 11:33:18 +08:00

2 lines
91 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{_ as e,a0 as t,a6 as n,a7 as s,a1 as r,B as o,C as i,d as a,W as c,a8 as u,a9 as l,aa as h,a5 as d,s as p,g as f,ab as g,ac as m,ad as y,b as _,n as w,ae as v,af as T,ag as k,ah as S,ai as I,aj as A,ak as P}from"./index-CjgLNey7.js";const b={pages:[{path:"pages/union/index",style:{navigationStyle:"custom",navigationBarTitleText:"公会中心"}},{path:"pages/union/detail",style:{navigationStyle:"custom",navigationBarTitleText:"公会详情","app-plus":{popGesture:"none"}}},{path:"pages/union/roomAndflow",style:{navigationStyle:"custom",navigationBarTitleText:"公会房间及流水","app-plus":{popGesture:"none"}}},{path:"pages/union/unionMembers",style:{navigationStyle:"custom",navigationBarTitleText:"公会成员","app-plus":{popGesture:"none"}}},{path:"pages/union/exitApplication",style:{navigationStyle:"custom",navigationBarTitleText:"退出审核","app-plus":{popGesture:"none"}}},{path:"pages/union/subsidy",style:{navigationStyle:"custom",navigationBarTitleText:"公会补贴","app-plus":{popGesture:"none"}}},{path:"pages/union/historyRecord",style:{navigationStyle:"custom",navigationBarTitleText:"公会补贴历史记录","app-plus":{popGesture:"none"}}},{path:"pages/union/setGroup",style:{navigationStyle:"custom",navigationBarTitleText:"群聊设置"}},{path:"pages/union/memberList",style:{navigationStyle:"custom",navigationBarTitleText:"群聊成员"}},{path:"pages/other/taskDesc",style:{navigationStyle:"custom",navigationBarTitleText:"规则说明","app-plus":{popGesture:"none"}}},{path:"pages/prop/propMall",style:{navigationStyle:"custom",navigationBarTitleText:"道具商城"}},{path:"pages/other/grade",style:{navigationStyle:"custom",navigationBarTitleText:"等级"}},{path:"pages/other/gradeRule",style:{navigationStyle:"custom",navigationBarTitleText:"等级规则","app-plus":{popGesture:"none"}}},{path:"pages/other/income",style:{navigationStyle:"custom",navigationBarTitleText:"邀请收益"}},{path:"pages/feedback/help",style:{navigationStyle:"custom",navigationBarTitleText:"帮助与反馈","app-plus":{popGesture:"none"}}},{path:"pages/feedback/customerService",style:{navigationStyle:"custom",navigationBarTitleText:"在线客服","app-plus":{popGesture:"none"}}},{path:"pages/feedback/feedback",style:{navigationStyle:"custom",navigationBarTitleText:"反馈问题","app-plus":{popGesture:"none"}}},{path:"pages/feedback/teenage",style:{navigationStyle:"custom",navigationBarTitleText:"青少年"}},{path:"pages/feedback/teenageDetail",style:{navigationStyle:"custom",navigationBarTitleText:"青少年详情","app-plus":{popGesture:"none"}}},{path:"pages/feedback/problemDetail",style:{navigationStyle:"custom",navigationBarTitleText:"问题详情","app-plus":{popGesture:"none"}}},{path:"pages/feedback/report",style:{navigationStyle:"custom",navigationBarTitleText:"举报"}},{path:"pages/other/aboutUs",style:{navigationStyle:"custom",navigationBarTitleText:"关于我们"}},{path:"pages/other/test",style:{navigationStyle:"custom",navigationBarTitleText:"测试页面"}}],globalStyle:{navigationBarTextStyle:"black",navigationBarTitleText:"uni-app",navigationBarBackgroundColor:"#F8F8F8",backgroundColor:"transparent"}};function x(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 O=x((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)})),C=O,E=(x((function(e,t){var n;e.exports=(n=C,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],p=e[t+2],f=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],T=e[t+10],k=e[t+11],S=e[t+12],I=e[t+13],A=e[t+14],P=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,p,17,a[2]),x=u(x,O,C,b,f,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,T,17,a[10]),x=u(x,O,C,b,k,22,a[11]),b=u(b,x,O,C,S,7,a[12]),C=u(C,b,x,O,I,12,a[13]),O=u(O,C,b,x,A,17,a[14]),b=l(b,x=u(x,O,C,b,P,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,k,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,T,9,a[21]),O=l(O,C,b,x,P,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,A,9,a[25]),O=l(O,C,b,x,f,14,a[26]),x=l(x,O,C,b,w,20,a[27]),b=l(b,x,O,C,I,5,a[28]),C=l(C,b,x,O,p,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,k,16,a[34]),x=h(x,O,C,b,A,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,T,23,a[39]),b=h(b,x,O,C,I,4,a[40]),C=h(C,b,x,O,i,11,a[41]),O=h(O,C,b,x,f,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,P,16,a[46]),b=d(b,x=h(x,O,C,b,p,23,a[47]),O,C,i,6,a[48]),C=d(C,b,x,O,_,10,a[49]),O=d(O,C,b,x,A,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,f,10,a[53]),O=d(O,C,b,x,T,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,P,10,a[57]),O=d(O,C,b,x,y,15,a[58]),x=d(x,O,C,b,I,21,a[59]),b=d(b,x,O,C,g,6,a[60]),C=d(C,b,x,O,k,10,a[61]),O=d(O,C,b,x,p,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)})),x((function(e,t){var n,s,r;e.exports=(s=(n=C).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))}})))})),x((function(e,t){e.exports=C.HmacMD5}))),L=x((function(e,t){e.exports=C.enc.Utf8})),R=x((function(e,t){var n,s,r;e.exports=(r=(s=n=C).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 U="uni_id_token",N="uni_id_token_expired",D="FUNCTION",M="OBJECT",q="CLIENT_DB",F="pending",j="rejected";function $(e){return Object.prototype.toString.call(e).slice(8,-1).toLowerCase()}function B(e){return"object"===$(e)}function K(e){return"function"==typeof e}function H(e){return function(){try{return e.apply(e,arguments)}catch(t){console.error(t)}}}const J="REJECTED",W="NOT_PENDING";class V{constructor({createPromise:e,retryRule:t=J}={}){this.createPromise=e,this.status=null,this.promise=null,this.retryRule=t}get needRetry(){if(!this.status)return!0;switch(this.retryRule){case J:return this.status===j;case W:return this.status!==F}}exec(){return this.needRetry?(this.status=F,this.promise=this.createPromise().then((e=>(this.status="fulfilled",Promise.resolve(e))),(e=>(this.status=j,Promise.reject(e)))),this.promise):this.promise}}function z(e){return e&&"string"==typeof e?JSON.parse(e):e}const G=z([]);z("");const Q=z("[]")||[];let Y="";try{Y="__UNI__A4B5AED"}catch(je){}let X,Z={};function ee(e,t={}){var n,s;return n=Z,s=e,Object.prototype.hasOwnProperty.call(n,s)||(Z[e]=t),Z[e]}const te=["invoke","success","fail","complete"],ne=ee("_globalUniCloudInterceptor");function se(e,t){ne[e]||(ne[e]={}),B(t)&&Object.keys(t).forEach((n=>{te.indexOf(n)>-1&&function(e,t,n){let s=ne[e][t];s||(s=ne[e][t]=[]),-1===s.indexOf(n)&&K(n)&&s.push(n)}(e,n,t[n])}))}function re(e,t){ne[e]||(ne[e]={}),B(t)?Object.keys(t).forEach((n=>{te.indexOf(n)>-1&&function(e,t,n){const s=ne[e][t];if(!s)return;const r=s.indexOf(n);r>-1&&s.splice(r,1)}(e,n,t[n])})):delete ne[e]}function oe(e,t){return e&&0!==e.length?e.reduce(((e,n)=>e.then((()=>n(t)))),Promise.resolve()):Promise.resolve()}function ie(e,t){return ne[e]&&ne[e][t]||[]}function ae(e){se("callObject",e)}const ce=ee("_globalUniCloudListener"),ue="response",le="needLogin",he="refreshToken",de="clientdb",pe="cloudfunction",fe="cloudobject";function ge(e){return ce[e]||(ce[e]=[]),ce[e]}function me(e,t){const n=ge(e);n.includes(t)||n.push(t)}function ye(e,t){const n=ge(e),s=n.indexOf(t);-1!==s&&n.splice(s,1)}function _e(e,t){const n=ge(e);for(let s=0;s<n.length;s++)(0,n[s])(t)}let we,ve=!1;function Te(){return we||(we=new Promise((e=>{ve&&e(),function t(){if("function"==typeof n){const t=n();t&&t[0]&&(ve=!0,e())}ve||setTimeout((()=>{t()}),30)}()})),we)}function ke(e){const t={};for(const n in e){const s=e[n];K(s)&&(t[n]=H(s))}return t}class Se extends Error{constructor(e){const t=e.message||e.errMsg||"unknown system error";super(t),this.errMsg=t,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 Ie={request:e=>h(e),uploadFile:e=>d(e),setStorageSync:(e,t)=>p(e,t),getStorageSync:e=>f(e),removeStorageSync:e=>g(e),clearStorageSync:()=>m(),connectSocket:e=>y(e)};function Ae(e){return e&&Ae(e.__v_raw)||e}function Pe(){return{token:Ie.getStorageSync(U)||Ie.getStorageSync("uniIdToken"),tokenExpired:Ie.getStorageSync(N)}}function be({token:e,tokenExpired:t}={}){e&&Ie.setStorageSync(U,e),t&&Ie.setStorageSync(N,t)}let xe,Oe;function Ce(){return xe||(xe=_()),xe}function Ee(){let e,t;try{if(P){if(P.toString().indexOf("not yet implemented")>-1)return;const{scene:n,channel:s}=P();e=s,t=n}}catch(n){}return{channel:e,scene:t}}let Le={};function Re(){const e=A&&A()||"en";if(Oe)return{...Le,...Oe,locale:e,LOCALE:e};const t=Ce(),{deviceId:n,osName:s,uniPlatform:r,appId:o}=t,i=["appId","appLanguage","appName","appVersion","appVersionCode","appWgtVersion","browserName","browserVersion","deviceBrand","deviceId","deviceModel","deviceType","osName","osVersion","romName","romVersion","ua","hostName","hostVersion","uniPlatform","uniRuntimeVersion","uniRuntimeVersionCode","uniCompilerVersion","uniCompilerVersionCode"];for(const a in t)Object.hasOwnProperty.call(t,a)&&-1===i.indexOf(a)&&delete t[a];return Oe={PLATFORM:r,OS:s,APPID:o,DEVICEID:n,...Ee(),...t},{...Le,...Oe,locale:e,LOCALE:e}}var Ue=function(e,t){let n="";return Object.keys(e).sort().forEach((function(t){e[t]&&(n=n+"&"+t+"="+e[t])})),n=n.slice(1),E(n,t).toString()},Ne=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 Se({code:n,message:r,requestId:t}))}const r=e.data;if(r.error)return s(new Se({code:r.error.code,message:r.error.message,requestId:t}));r.result=r.data,r.requestId=t,delete r.data,n(r)}}))}))},De=function(e){return R.stringify(L.parse(e))},Me={init(e){const t=new 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=Ie,this._getAccessTokenPromiseHub=new V({createPromise:()=>this.requestAuth(this.setupRequest({method:"serverless.auth.user.anonymousAuthorize",params:"{}"},"auth")).then((e=>{if(!e.result||!e.result.accessToken)throw new Se({code:"AUTH_FAILED",message:"获取accessToken失败"});this.setAccessToken(e.result.accessToken)})),retryRule:W})}get hasAccessToken(){return!!this.accessToken}setAccessToken(e){this.accessToken=e}requestWrapped(e){return Ne(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"]=Ue(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"]=Ue(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),timeout:e.timeout})}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 Se({code:"UPLOAD_FAILED",message:"文件上传失败"}))},fail(e){a(new Se({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"!==$(t))throw new Se({code:"INVALID_PARAM",message:"cloudPath必须为字符串类型"});if(!(t=t.trim()))throw new Se({code:"INVALID_PARAM",message:"cloudPath不可为空"});if(/:\/\//.test(t))throw new Se({code:"INVALID_PARAM",message:"cloudPath不合法"});const i=o&&o.envType||this.config.envType;if(s&&("/"!==t[0]&&(t="/"+t),t.indexOf("\\")>-1))throw new Se({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:p,id:f,policy:g,ossCallbackUrl:m}=a,y={"Cache-Control":"max-age=2592000","Content-Disposition":"attachment",OSSAccessKeyId:l,Signature:h,host:d,id:f,key:p,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:f,spaceId:this.config.spaceId}),callbackBodyType:"application/json"});y.callback=De(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:f})).success)return{success:!0,filePath:e,fileID:c};throw new Se({code:"UPLOAD_FAILED",message:"文件上传失败"})}getTempFileURL({fileList:e}={}){return new Promise(((t,n)=>{Array.isArray(e)&&0!==e.length||n(new Se({code:"INVALID_PARAM",message:"fileList的元素必须是非空的字符串"})),this.getFileInfo({fileList:e}).then((n=>{t({fileList:e.map(((e,t)=>{const s=n.fileList[t];return{fileID:e,tempFileURL:s&&s.url||e}}))})}))}))}async getFileInfo({fileList:e}={}){if(!Array.isArray(e)||0===e.length)throw new Se({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}}}(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 qe="undefined"!=typeof location&&"http:"===location.protocol?"http:":"https:";var Fe,je;(je=Fe||(Fe={})).local="local",je.none="none",je.session="session";var $e=function(){},Be=x((function(e,t){var n;e.exports=(n=C,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],p=0;p<64;p++){if(p<16)u[p]=0|e[t+p];else{var f=u[p-15],g=(f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3,m=u[p-2],y=(m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10;u[p]=g+u[p-7]+y+u[p-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[p]+u[p];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)})),Ke=Be,He=x((function(e,t){e.exports=C.HmacSHA256}));const Je=()=>{let e;if(!Promise){e=()=>{},e.promise={};const t=()=>{throw new Se({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 We(e){return void 0===e}function Ve(e){return"[object Null]"===Object.prototype.toString.call(e)}function ze(e=""){return e.replace(/([\s\S]+)\s+(请前往云开发AI小助手查看问题.*)/,"$1")}function Ge(e=32){let t="";for(let n=0;n<e;n++)t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random()));return t}var Qe;!function(e){e.WEB="web",e.WX_MP="wx_mp"}(Qe||(Qe={}));const Ye={adapter:null,runtime:void 0},Xe=["anonymousUuidKey"];class Ze extends $e{constructor(){super(),Ye.adapter.root.tcbObject||(Ye.adapter.root.tcbObject={})}setItem(e,t){Ye.adapter.root.tcbObject[e]=t}getItem(e){return Ye.adapter.root.tcbObject[e]}removeItem(e){delete Ye.adapter.root.tcbObject[e]}clear(){delete Ye.adapter.root.tcbObject}}function et(e,t){switch(e){case"local":return t.localStorage||new Ze;case"none":return new Ze;default:return t.sessionStorage||new Ze}}class tt{constructor(e){if(!this._storage){this._persistence=Ye.adapter.primaryStorage||e.persistence,this._storage=et(this._persistence,Ye.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="device_id",a=`token_type_${e.env}`,c=`user_info_${e.env}`;this.keys={accessTokenKey:t,accessTokenExpireKey:n,refreshTokenKey:s,anonymousUuidKey:r,loginTypeKey:o,userInfoKey:c,deviceIdKey:i,tokenTypeKey:a}}}updatePersistence(e){if(e===this._persistence)return;const t="local"===this._persistence;this._persistence=e;const n=et(e,Ye.adapter);for(const s in this.keys){const e=this.keys[s];if(t&&Xe.includes(s))continue;const r=this._storage.getItem(e);We(r)||Ve(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 nt={},st={};function rt(e){return nt[e]}class ot{constructor(e,t){this.data=t||null,this.name=e}}class it extends ot{constructor(e,t){super("error",{error:e,data:t}),this.error=e}}const at=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 it)return console.error(e.error),this;const n="string"==typeof e?new ot(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 ct(e,t){at.on(e,t)}function ut(e,t={}){at.fire(e,t)}function lt(e,t){at.off(e,t)}const ht="loginStateChanged",dt="loginStateExpire",pt="loginTypeChanged",ft="anonymousConverted",gt="refreshAccessToken";var mt;!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"}(mt||(mt={}));class yt{constructor(){this._fnPromiseMap=new Map}async run(e,t){let n=this._fnPromiseMap.get(e);return n||(n=new Promise((async(n,s)=>{try{await this._runIdlePromise();const s=t();n(await s)}catch(r){s(r)}finally{this._fnPromiseMap.delete(e)}})),this._fnPromiseMap.set(e,n)),n}_runIdlePromise(){return Promise.resolve()}}class _t{constructor(e){this._singlePromise=new yt,this._cache=rt(e.env),this._baseURL=`https://${e.env}.ap-shanghai.tcb-api.tencentcloudapi.com`,this._reqClass=new Ye.adapter.reqClass({timeout:e.timeout,timeoutMsg:`请求在${e.timeout/1e3}s内未完成已中断`,restrictedMethods:["post"]})}_getDeviceId(){if(this._deviceID)return this._deviceID;const{deviceIdKey:e}=this._cache.keys;let t=this._cache.getStore(e);return"string"==typeof t&&t.length>=16&&t.length<=48||(t=Ge(),this._cache.setStore(e,t)),this._deviceID=t,t}async _request(e,t,n={}){const s={"x-request-id":Ge(),"x-device-id":this._getDeviceId()};if(n.withAccessToken){const{tokenTypeKey:e}=this._cache.keys,t=await this.getAccessToken(),n=this._cache.getStore(e);s.authorization=`${n} ${t}`}return this._reqClass["get"===n.method?"get":"post"]({url:`${this._baseURL}${e}`,data:t,headers:s})}async _fetchAccessToken(){const{loginTypeKey:e,accessTokenKey:t,accessTokenExpireKey:n,tokenTypeKey:s}=this._cache.keys,r=this._cache.getStore(e);if(r&&r!==mt.ANONYMOUS)throw new Se({code:"INVALID_OPERATION",message:"非匿名登录不支持刷新 access token"});const o=await this._singlePromise.run("fetchAccessToken",(async()=>(await this._request("/auth/v1/signin/anonymously",{},{method:"post"})).data)),{access_token:i,expires_in:a,token_type:c}=o;return this._cache.setStore(s,c),this._cache.setStore(t,i),this._cache.setStore(n,Date.now()+1e3*a),i}isAccessTokenExpired(e,t){let n=!0;return e&&t&&(n=t<Date.now()),n}async getAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t}=this._cache.keys,n=this._cache.getStore(e),s=this._cache.getStore(t);return this.isAccessTokenExpired(n,s)?this._fetchAccessToken():n}async refreshAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t,loginTypeKey:n}=this._cache.keys;return this._cache.removeStore(e),this._cache.removeStore(t),this._cache.setStore(n,mt.ANONYMOUS),this.getAccessToken()}async getUserInfo(){return this._singlePromise.run("getUserInfo",(async()=>(await this._request("/auth/v1/user/me",{},{withAccessToken:!0,method:"get"})).data))}}const wt=["auth.getJwt","auth.logout","auth.signInWithTicket","auth.signInAnonymously","auth.signIn","auth.fetchAccessTokenWithRefreshToken","auth.signUpWithEmailAndPassword","auth.activateEndUserMail","auth.sendPasswordResetEmail","auth.resetPasswordWithToken","auth.isUsernameRegistered"],vt={"X-SDK-Version":"1.3.5"};function Tt(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 kt(){const e=Math.random().toString(16).slice(2);return{data:{seqId:e},headers:{...vt,"x-seqid":e}}}class St{constructor(e={}){var t;this.config=e,this._reqClass=new Ye.adapter.reqClass({timeout:this.config.timeout,timeoutMsg:`请求在${this.config.timeout/1e3}s内未完成已中断`,restrictedMethods:["post"]}),this._cache=rt(this.config.env),this._localCache=(t=this.config.env,st[t]),this.oauth=new _t(this.config),Tt(this._reqClass,"post",[kt]),Tt(this._reqClass,"upload",[kt]),Tt(this._reqClass,"download",[kt])}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 Se({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)===mt.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()}ut(dt),this._cache.removeStore(n)}throw new Se({code:a.data.code,message:`刷新access token失败${a.data.code}`})}if(a.data.access_token)return ut(gt),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 Se({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};let i;if(-1===wt.indexOf(e)&&(this._cache.keys,o.access_token=await this.oauth.getAccessToken()),"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.timeout&&(a.timeout=n.timeout),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 p=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}`}(qe,"//tcb-api.tencentcloudapi.com/web",d);h&&(p+=h);const f=await this.post({url:p,data:i,...a}),g=f.header&&f.header["x-tcb-trace"];if(g&&this._localCache.setStore(s,g),200!==Number(f.status)&&200!==Number(f.statusCode)||!f.data)throw new Se({code:"NETWORK_ERROR",message:"network request error"});return f}async send(e,t={},n={}){const s=await this.request(e,t,{...n,onUploadProgress:t.onUploadProgress});if(("ACCESS_TOKEN_DISABLED"===s.data.code||"ACCESS_TOKEN_EXPIRED"===s.data.code)&&-1===wt.indexOf(e)){await this.oauth.refreshAccessToken();const s=await this.request(e,t,{...n,onUploadProgress:t.onUploadProgress});if(s.data.code)throw new Se({code:s.data.code,message:ze(s.data.message)});return s.data}if(s.data.code)throw new Se({code:s.data.code,message:ze(s.data.message)});return s.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 It={};function At(e){return It[e]}class Pt{constructor(e){this.config=e,this._cache=rt(e.env),this._request=At(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 bt{constructor(e){if(!e)throw new Se({code:"PARAM_ERROR",message:"envId is not defined"});this._envId=e,this._cache=rt(this._envId),this._request=At(this._envId),this.setUserInfo()}linkWithTicket(e){if("string"!=typeof e)throw new Se({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 Se({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 e=await this._request.oauth.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 xt{constructor(e){if(!e)throw new Se({code:"PARAM_ERROR",message:"envId is not defined"});this._cache=rt(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 bt(e)}get isAnonymousAuth(){return this.loginType===mt.ANONYMOUS}get isCustomAuth(){return this.loginType===mt.CUSTOM}get isWeixinAuth(){return this.loginType===mt.WECHAT||this.loginType===mt.WECHAT_OPEN||this.loginType===mt.WECHAT_PUBLIC}get loginType(){return this._cache.getStore(this._cache.keys.loginTypeKey)}}class Ot extends Pt{async signIn(){this._cache.updatePersistence("local"),await this._request.oauth.getAccessToken(),ut(ht),ut(pt,{env:this.config.env,loginType:mt.ANONYMOUS,persistence:"local"});const e=new xt(this.config.env);return await e.user.refresh(),e}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(),ut(ft,{env:this.config.env}),ut(pt,{loginType:mt.CUSTOM,persistence:"local"}),{credential:{refreshToken:o.refresh_token}};throw new Se({message:"匿名转化失败"})}_setAnonymousUUID(e){const{anonymousUuidKey:t,loginTypeKey:n}=this._cache.keys;this._cache.removeStore(t),this._cache.setStore(t,e),this._cache.setStore(n,mt.ANONYMOUS)}_clearAnonymousUUID(){this._cache.removeStore(this._cache.keys.anonymousUuidKey)}}class Ct extends Pt{async signIn(e){if("string"!=typeof e)throw new Se({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(),ut(ht),ut(pt,{env:this.config.env,loginType:mt.CUSTOM,persistence:this.config.persistence}),await this.refreshUserInfo(),new xt(this.config.env);throw new Se({message:"自定义登录失败"})}}class Et extends Pt{async signIn(e,t){if("string"!=typeof e)throw new Se({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(),ut(ht),ut(pt,{env:this.config.env,loginType:mt.EMAIL,persistence:this.config.persistence}),new xt(this.config.env);throw s.code?new Se({code:s.code,message:`邮箱登录失败: ${s.message}`}):new Se({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 Lt extends Pt{async signIn(e,t){if("string"!=typeof e)throw new Se({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:mt.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(),ut(ht),ut(pt,{env:this.config.env,loginType:mt.USERNAME,persistence:this.config.persistence}),new xt(this.config.env);throw s.code?new Se({code:s.code,message:`用户名密码登录失败: ${s.message}`}):new Se({message:"用户名密码登录失败"})}}class Rt{constructor(e){this.config=e,this._cache=rt(e.env),this._request=At(e.env),this._onAnonymousConverted=this._onAnonymousConverted.bind(this),this._onLoginTypeChanged=this._onLoginTypeChanged.bind(this),ct(pt,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 Ot(this.config)}customAuthProvider(){return new Ct(this.config)}emailAuthProvider(){return new Et(this.config)}usernameAuthProvider(){return new Lt(this.config)}async signInAnonymously(){return new Ot(this.config).signIn()}async signInWithEmailAndPassword(e,t){return new Et(this.config).signIn(e,t)}signInWithUsernameAndPassword(e,t){return new Lt(this.config).signIn(e,t)}async linkAndRetrieveDataWithTicket(e){return this._anonymousAuthProvider||(this._anonymousAuthProvider=new Ot(this.config)),ct(ft,this._onAnonymousConverted),await this._anonymousAuthProvider.linkAndRetrieveDataWithTicket(e)}async signOut(){if(this.loginType===mt.ANONYMOUS)throw new Se({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),ut(ht),ut(pt,{env:this.config.env,loginType:mt.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){ct(ht,(()=>{const t=this.hasLoginState();e.call(this,t)}));const t=this.hasLoginState();e.call(this,t)}onLoginStateExpired(e){ct(dt,e.bind(this))}onAccessTokenRefreshed(e){ct(gt,e.bind(this))}onAnonymousConverted(e){ct(ft,e.bind(this))}onLoginTypeChanged(e){ct(pt,(()=>{const t=this.hasLoginState();e.call(this,t)}))}async getAccessToken(){return{accessToken:(await this._request.getAccessToken()).accessToken,env:this.config.env}}hasLoginState(){const{accessTokenKey:e,accessTokenExpireKey:t}=this._cache.keys,n=this._cache.getStore(e),s=this._cache.getStore(t);return this._request.oauth.isAccessTokenExpired(n,s)?null:new xt(this.config.env)}async isUsernameRegistered(e){if("string"!=typeof e)throw new Se({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 Ct(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 Ut=function(e,t){t=t||Je();const n=At(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,p={key:s,signature:c,"x-cos-meta-fileid":h,success_action_status:"201","x-cos-security-token":u};n.upload({url:a,data:p,file:r,name:s,fileType:i,onUploadProgress:o}).then((e=>{201===e.statusCode?t(null,{fileID:l,requestId:d}):t(new Se({code:"STORAGE_REQUEST_FAIL",message:`STORAGE_REQUEST_FAIL: ${e.data}`}))})).catch((e=>{t(e)}))})).catch((e=>{t(e)})),t.promise},Nt=function(e,t){t=t||Je();const n=At(this.config.env),{cloudPath:s}=e;return n.send("storage.getUploadMetadata",{path:s}).then((e=>{t(null,e)})).catch((e=>{t(e)})),t.promise},Dt=function({fileList:e},t){if(t=t||Je(),!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 At(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},Mt=function({fileList:e},t){t=t||Je(),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 At(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},qt=async function({fileID:e},t){const n=(await Mt.call(this,{fileList:[{fileID:e,maxAge:600}]})).fileList[0];if("SUCCESS"!==n.code)return t?t(n):new Promise((e=>{e(n)}));const s=At(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,timeout:o},i){const a=i||Je();let c;try{c=t?JSON.stringify(t):""}catch(l){return Promise.reject(l)}if(!e)return Promise.reject(new Se({code:"PARAM_ERROR",message:"函数名不能为空"}));const u={inQuery:n,parse:s,search:r,function_name:e,request_data:c};return At(this.config.env).send("functions.invokeFunction",u,{timeout:o}).then((e=>{if(e.code)a(null,e);else{let n=e.data.response_data;if(s)a(null,{result:n,requestId:e.requestId});else try{n=JSON.parse(e.data.response_data),a(null,{result:n,requestId:e.requestId})}catch(t){a(new Se({message:"response data must be json"}))}}return a.promise})).catch((e=>{a(e)})),a.promise},jt={timeout:15e3,persistence:"session"},$t={};class Bt{constructor(e){this.config=e||this.config,this.authObj=void 0}init(e){switch(Ye.adapter||(this.requestClient=new Ye.adapter.reqClass({timeout:e.timeout||5e3,timeoutMsg:`请求在${(e.timeout||5e3)/1e3}s内未完成已中断`})),this.config={...jt,...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 Bt(this.config)}auth({persistence:e}={}){if(this.authObj)return this.authObj;const t=e||Ye.adapter.primaryStorage||jt.persistence;var n;return t!==this.config.persistence&&(this.config.persistence=t),function(e){const{env:t}=e;nt[t]=new tt(e),st[t]=new tt({...e,persistence:"local"})}(this.config),n=this.config,It[n.env]=new St(n),this.authObj=new Rt(this.config),this.authObj}on(e,t){return ct.apply(this,[e,t])}off(e,t){return lt.apply(this,[e,t])}callFunction(e,t){return Ft.apply(this,[e,t])}deleteFile(e,t){return Dt.apply(this,[e,t])}getTempFileURL(e,t){return Mt.apply(this,[e,t])}downloadFile(e,t){return qt.apply(this,[e,t])}uploadFile(e,t){return Ut.apply(this,[e,t])}getUploadMetadata(e,t){return Nt.apply(this,[e,t])}registerExtension(e){$t[e.name]=e}async invokeExtension(e,t){const n=$t[e];if(!n)throw new Se({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&&(Ye.adapter=t),n&&(Ye.runtime=n)}}var Kt=new Bt;function Ht(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 Jt{get(e){const{url:t,data:n,headers:s,timeout:r}=e;return new Promise(((e,o)=>{Ie.request({url:Ht("https:",t),data:n,method:"GET",header:s,timeout:r,success(t){e(t)},fail(e){o(e)}})}))}post(e){const{url:t,data:n,headers:s,timeout:r}=e;return new Promise(((e,o)=>{Ie.request({url:Ht("https:",t),data:n,method:"POST",header:s,timeout:r,success(t){e(t)},fail(e){o(e)}})}))}upload(e){return new Promise(((t,n)=>{const{url:s,file:r,data:o,headers:i,fileType:a}=e,c=Ie.uploadFile({url:Ht("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 Wt={setItem(e,t){Ie.setStorageSync(e,t)},getItem:e=>Ie.getStorageSync(e),removeItem(e){Ie.removeStorageSync(e)},clear(){Ie.clearStorageSync()}};var Vt={genAdapter:function(){return{root:{},reqClass:Jt,localStorage:Wt,primaryStorage:"local"}},isMatch:function(){return!0},runtime:"uni_app"};Kt.useAdapters(Vt);const zt=Kt,Gt=zt.init;zt.init=function(e){e.env=e.spaceId;const t=Gt.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}=ke(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 Qt=zt;async function Yt(e,t){const n=`http://${e}:${t}/system/ping`;try{const e=await(s={url:n,timeout:500},new Promise(((e,t)=>{Ie.request({...s,success(t){e(t)},fail(e){t(e)}})})));return!(!e.data||0!==e.data.code)}catch(r){return!1}var s}const Xt={"serverless.file.resource.generateProximalSign":"storage/generate-proximal-sign","serverless.file.resource.report":"storage/report","serverless.file.resource.delete":"storage/delete","serverless.file.resource.getTempFileURL":"storage/get-temp-file-url"};var Zt={init(e){const t=new class{constructor(e){if(["spaceId","clientSecret"].forEach((t=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw new Error(`${t} required`)})),!e.endpoint)throw new Error("集群空间未配置ApiEndpoint配置后需要重新关联服务空间后生效");this.config=Object.assign({},e),this.config.provider="dcloud",this.config.requestUrl=this.config.endpoint+"/client",this.config.envType=this.config.envType||"public",this.adapter=Ie}async request(e,t=!0){return e=this.setupRequest(e),Promise.resolve().then((()=>Ne(e,this.adapter.request)))}requestLocal(e){return new Promise(((t,n)=>{this.adapter.request(Object.assign(e,{complete(e){if(e||(e={}),!e.statusCode||e.statusCode>=400){const t=e.data&&e.data.code||"SYS_ERR",s=e.data&&e.data.message||"request:fail";return n(new Se({code:t,message:s}))}t({success:!0,result:e.data})}}))}))}setupRequest(e){const t=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),n={"Content-Type":"application/json"};n["x-serverless-sign"]=Ue(t,this.config.clientSecret);const s=Re();n["x-client-info"]=encodeURIComponent(JSON.stringify(s));const{token:r}=Pe();return n["x-client-token"]=r,{url:this.config.requestUrl,method:"POST",data:t,dataType:"json",header:JSON.parse(JSON.stringify(n))}}async setupLocalRequest(e){const t=Re(),{token:n}=Pe(),s=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now(),clientInfo:t,token:n}),{address:r,servePort:o}=this.__dev__&&this.__dev__.debugInfo||{},{address:i}=await async function(e,t){let n;for(let s=0;s<e.length;s++){const r=e[s];if(await Yt(r,t)){n=r;break}}return{address:n,port:t}}(r,o);return{url:`http://${i}:${o}/${Xt[e.method]}`,method:"POST",data:s,dataType:"json",header:JSON.parse(JSON.stringify({"Content-Type":"application/json"}))}}callFunction(e){const t={method:"serverless.function.runtime.invoke",params:JSON.stringify({functionTarget:e.name,functionArgs:e.data||{}})};return this.request(t,!1)}getUploadFileOptions(e){const t={method:"serverless.file.resource.generateProximalSign",params:JSON.stringify(e)};return this.request(t)}reportUploadFile(e){const t={method:"serverless.file.resource.report",params:JSON.stringify(e)};return this.request(t)}uploadFile({filePath:e,cloudPath:t,fileType:n="image",onUploadProgress:s}){if(!t)throw new Se({code:"CLOUDPATH_REQUIRED",message:"cloudPath不可为空"});let r;return this.getUploadFileOptions({cloudPath:t}).then((t=>{const{url:o,formData:i,name:a}=t.result;return r=t.result.fileUrl,new Promise(((t,r)=>{const c=this.adapter.uploadFile({url:o,formData:i,name:a,filePath:e,fileType:n,success(e){e&&e.statusCode<400?t(e):r(new Se({code:"UPLOAD_FAILED",message:"文件上传失败"}))},fail(e){r(new Se({code:e.code||"UPLOAD_FAILED",message:e.message||e.errMsg||"文件上传失败"}))}});"function"==typeof s&&c&&"function"==typeof c.onProgressUpdate&&c.onProgressUpdate((e=>{s({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))})).then((()=>this.reportUploadFile({cloudPath:t}))).then((t=>new Promise(((n,s)=>{t.success?n({success:!0,filePath:e,fileID:r}):s(new Se({code:"UPLOAD_FAILED",message:"文件上传失败"}))}))))}deleteFile({fileList:e}){const t={method:"serverless.file.resource.delete",params:JSON.stringify({fileList:e})};return this.request(t).then((e=>{if(e.success)return e.result;throw new Se({code:"DELETE_FILE_FAILED",message:"删除文件失败"})}))}getTempFileURL({fileList:e,maxAge:t}={}){if(!Array.isArray(e)||0===e.length)throw new Se({code:"INVALID_PARAM",message:"fileList的元素必须是非空的字符串"});const n={method:"serverless.file.resource.getTempFileURL",params:JSON.stringify({fileList:e,maxAge:t})};return this.request(n).then((e=>{if(e.success)return{fileList:e.result.fileList.map((e=>({fileID:e.fileID,tempFileURL:e.tempFileURL})))};throw new Se({code:"GET_TEMP_FILE_URL_FAILED",message:"获取临时文件链接失败"})}))}}(e),n={signInAnonymously:function(){return Promise.resolve()},getLoginState:function(){return Promise.resolve(!1)}};return t.auth=function(){return n},t.customAuth=t.auth,t}},en=x((function(e,t){e.exports=C.enc.Hex}));function tn(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))}function nn(e="",t={}){const{data:n,functionName:s,method:r,headers:o,signHeaderKeys:i=[],config:a}=t,c=String(Date.now()),u=tn(),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="",p=""]=e.split("?")||[],f=function(e){const t="HMAC-SHA256",n=e.signedHeaders.join(";"),s=e.signedHeaders.map((t=>`${t.toLowerCase()}:${e.headers[t]}\n`)).join(""),r=Ke(e.body).toString(en),o=`${e.method.toUpperCase()}\n${e.path}\n${e.query}\n${s}\n${n}\n${r}\n`,i=Ke(o).toString(en),a=`${t}\n${e.timestamp}\n${i}\n`,c=He(a,e.secretKey).toString(en);return`${t} Credential=${e.secretId}, SignedHeaders=${n}, Signature=${c}`}({path:d,query:p,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:f})}}function sn({url:e,data:t,method:n="POST",headers:s={},timeout:r}){return new Promise(((o,i)=>{Ie.request({url:e,method:n,data:"object"==typeof t?JSON.stringify(t):t,header:s,dataType:"json",timeout:r,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 i(new Se({code:"SYS_ERR",message:n||s||"request:fail",requestId:r||t}))}o({status:e.statusCode,data:e.data,headers:e.header,requestId:t})}})}))}function rn(e,t){const{path:n,data:s,method:r="GET"}=e,{url:o,headers:i}=nn(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 sn({url:o,data:s,method:r,headers:i}).then((e=>{const t=e.data||{};if(!t.success)throw new Se({code:e.errCode,message:e.errMsg,requestId:e.requestId});return t.data||{}})).catch((e=>{throw new Se({code:e.errCode,message:e.errMsg,requestId:e.requestId})}))}function on(e=""){const t=e.trim().replace(/^cloud:\/\//,""),n=t.indexOf("/");if(n<=0)throw new Se({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 an(e=""){return"cloud://".concat(this.config.spaceId,"/").concat(e.replace(/^\/+/,""))}class cn{constructor(e){this.config=e}signedURL(e,t={}){const n=`/ws/function/${e}`,s=this.config.wsEndpoint.replace(/^ws(s)?:\/\//,""),r=Object.assign({},t,{accessKeyId:this.config.accessKey,signatureNonce:tn(),timestamp:""+Date.now()}),o=[n,["accessKeyId","authorization","signatureNonce","timestamp"].sort().map((function(e){return r[e]?"".concat(e,"=").concat(r[e]):null})).filter(Boolean).join("&"),`host:${s}`].join("\n"),i=["HMAC-SHA256",Ke(o).toString(en)].join("\n"),a=He(i,this.config.secretKey).toString(en),c=Object.keys(r).map((e=>`${e}=${encodeURIComponent(r[e])}`)).join("&");return`${this.config.wsEndpoint}${n}?${c}&signature=${a}`}}var un={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`,wsEndpoint:e.wsEndpoint||`wss://${e.spaceId}.api-hz.cloudbasefunction.cn`}),this._websocket=new cn(this.config)}callFunction(e){return function(e,t){const{name:n,data:s,async:r=!1,timeout:o}=e,i="POST",a={"x-to-function-name":n};r&&(a["x-function-invoke-type"]="async");const{url:c,headers:u}=nn("/functions/invokeFunction",{functionName:n,data:s,method:i,headers:a,signHeaderKeys:["x-to-function-name"],config:t});return sn({url:c,data:s,method:i,headers:u,timeout:o}).then((e=>{let t=0;if(r){const n=e.data||{};t="200"===n.errCode?0:n.errCode,e.data=n.data||{},e.errMsg=n.errMsg}if(0!==t)throw new Se({code:t,message:e.errMsg,requestId:e.requestId});return{errCode:t,success:0===t,requestId:e.requestId,result:e.data}})).catch((e=>{throw new Se({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=Ie.uploadFile({url:e,filePath:t,fileType:n,formData:s,name:"file",success(e){e&&e.statusCode<400?o(e):i(new Se({code:"UPLOAD_FAILED",message:"文件上传失败"}))},fail(e){i(new Se({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"!==$(t))throw new Se({code:"INVALID_PARAM",message:"cloudPath必须为字符串类型"});if(!(t=t.trim()))throw new Se({code:"INVALID_PARAM",message:"cloudPath不可为空"});if(/:\/\//.test(t))throw new Se({code:"INVALID_PARAM",message:"cloudPath不合法"});const r=await rn({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)&&t({code:"INVALID_PARAM",message:"fileList不能为空数组"}),e.length>50&&t({code:"INVALID_PARAM",message:"fileList数组长度不能超过50"});const s=[];for(const o of e){let e;"string"!==$(o)&&t({code:"INVALID_PARAM",message:"fileList的元素必须是非空的字符串"});try{e=on.call(this,o)}catch(r){console.warn(r.errCode,r.errMsg),e=o}s.push({file_id:e,expire:600})}rn({path:"/?download_url",data:{file_list:s},method:"POST"},this.config).then((e=>{const{file_list:n=[]}=e;t({fileList:n.map((e=>({fileID:an.call(this,e.file_id),tempFileURL:e.download_url})))})})).catch((e=>n(e)))}))}async connectWebSocket(e){const{name:t,query:n}=e;return Ie.connectSocket({url:this._websocket.signedURL(t,n),complete:()=>{}})}}(e);return t.auth=function(){return{signInAnonymously:function(){return Promise.resolve()},getLoginState:function(){return Promise.resolve(!0)}}},t}};function ln({data:e}){let t;t=Re();const n=JSON.parse(JSON.stringify(e||{}));if(Object.assign(n,{clientInfo:t}),!n.uniIdToken){const{token:e}=Pe();e&&(n.uniIdToken=e)}return n}const hn=[{rule:/fc_function_not_found|FUNCTION_NOT_FOUND/,content:",云函数[{functionName}]在云端不存在,请检查此云函数名称是否正确以及该云函数是否已上传到服务空间",mode:"append"}];var dn=/[\\^$.*+?()[\]{}|]/g,pn=RegExp(dn.source);function fn(e,t,n){return e.replace(new RegExp((s=t)&&pn.test(s)?s.replace(dn,"\\$&"):s,"g"),n);var s}const gn="request",mn="response",yn="both",_n="_globalUniCloudStatus",wn={code:2e4,message:"System error"},vn={code:20101,message:"Invalid client"};function Tn(e){const{errSubject:t,subject:n,errCode:s,errMsg:r,code:o,message:i,cause:a}=e||{};return new Se({subject:t||n||"uni-secure-network",code:s||o||wn.code,message:r||i,cause:a})}let kn;function Sn({secretType:e}={}){return e===gn||e===mn||e===yn}function In({functionName:e,result:t,logPvd:n}){}function An(e){const t=e.callFunction,n=function(n){const s=n.name;n.data=ln.call(e,{data:n.data});const r={aliyun:"aliyun",tencent:"tcb",tcb:"tcb",alipay:"alipay",dcloud:"dcloud"}[this.config.provider],o=Sn(n)||false;return t.call(this,n).then((e=>(e.errCode=0,!o&&In.call(this,{functionName:s,result:e,logPvd:r}),Promise.resolve(e))),(e=>(!o&&In.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=fn(c,`{$${e}}`,a[e]);for(const e in t)c=fn(c,`{${e}}`,t[e]);return"replace"===i?c:e+c}return e}({message:`[${n.name}]: ${e.message}`,formatter:hn,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=Sn(t)?new kn({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=G;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`),Tn(vn)}({provider:s,spaceId:r,functionName:o})?new kn({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=>e))}}kn=class{constructor(){throw Tn({message:"Platform web is not supported by secure network"})}};const Pn=Symbol("CLIENT_DB_INTERNAL");function bn(e,t){return e.then="DoNotReturnProxyWithAFunctionNamedThen",e._internalType=Pn,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 xn(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 On=["db.Geo","db.command","command.aggregate"];function Cn(e,t){return On.indexOf(`${e}.${t}`)>-1}function En(e){switch($(e=Ae(e))){case"array":return e.map((e=>En(e)));case"object":return e._internalType===Pn||Object.keys(e).forEach((t=>{e[t]=En(e[t])})),e;case"regexp":return{$regexp:{source:e.source,flags:e.flags}};case"date":return{$date:e.toISOString()};default:return e}}function Ln(e){return e&&e.content&&e.content.$method}class Rn{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:En(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=Ln(e),n=Ln(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"===Ln(e))return!0;e=e.prevStage}return!1}get isAggregateCommand(){let e=this;for(;e;){const t=Ln(e),n=Ln(e.prevStage);if("aggregate"===t&&"command"===n)return!0;e=e.prevStage}return!1}getNextStageFn(e){const t=this;return function(){return Un({$method:e,$param:En(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:En(t)}),this._database._callCloudFunction({action:n,command:s})}}function Un(e,t,n){return bn(new Rn(e,t,n),{get(e,t){let s="db";return e&&e.content&&(s=e.content.$method),Cn(s,t)?Un({$method:t},e,n):function(){return Un({$method:t,$param:En(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 Dn(e,t={}){return bn(new e(t),{get:(e,t)=>Cn("db",t)?Un({$method:t},null,e):function(){return Un({$method:t,$param:En(Array.from(arguments))},null,e)}})}class Mn extends class{constructor({uniClient:e={},isJQL:t=!1}={}){this._uniClient=e,this._authCallBacks={},this._dbCallBacks={},e._isDefault&&(this._dbCallBacks=ee("_globalUniCloudDatabaseCallback")),t||(this.auth=xn(this._authCallBacks)),this._isJQL=t,Object.assign(this,xn(this._dbCallBacks)),this.env=bn({},{get:(e,t)=>({$env:t})}),this.Geo=bn({},{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]),oe(ie(i,"fail"),e).then((()=>oe(ie(i,"complete"),e))).then((()=>(r(null,e),_e(ue,{type:de,content:e}),Promise.reject(e))))}const c=oe(ie(i,"invoke")),u=this._uniClient;return c.then((()=>u.callFunction({name:"DCloud-clientDB",type:q,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];let s="[System Info]"+t;n&&(s=`${s}\n详细信息:${n}`),(console[e]||console.log)(s)}if(t)return a(new Se({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&&(be({token:s,tokenExpired:c}),this._callbackAuth("refreshToken",[{token:s,tokenExpired:c}]),this._callback("refreshToken",[{token:s,tokenExpired:c}]),_e(he,{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,oe(ie(i,"success"),h).then((()=>oe(ie(i,"complete"),h))).then((()=>{r(h,null);const e=o._parseResult(h);return _e(ue,{type:de,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 Se({code:e.code||"SYSTEM_ERROR",message:e.message,requestId:e.requestId})))))}}const qn="token无效跳转登录页面",Fn="token过期跳转登录页面",jn={TOKEN_INVALID_TOKEN_EXPIRED:Fn,TOKEN_INVALID_INVALID_CLIENTID:qn,TOKEN_INVALID:qn,TOKEN_INVALID_WRONG_TOKEN:qn,TOKEN_INVALID_ANONYMOUS_USER:qn},$n={"uni-id-token-expired":Fn,"uni-id-check-token-failed":qn,"uni-id-token-not-exist":qn,"uni-id-check-device-feature-failed":qn},Bn={...jn,...$n,default:"用户未登录或登录状态过期,自动跳转登录页面"};function Kn(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(Kn(t,e.path)):!1===e.needLogin&&s.push(Kn(t,e.path))})),{needLoginPage:n,notNeedLoginPage:s}}function Jn(e){return e.split("?")[0].replace(/^\//,"")}function Wn(){return function(e){let t=e&&e.$page&&e.$page.fullPath;return t?("/"!==t.charAt(0)&&(t="/"+t),t):""}(function(){const e=n();return e[e.length-1]}())}function Vn(){return Jn(Wn())}function zn(e="",t={}){if(!e)return!1;if(!(t&&t.list&&t.list.length))return!1;const n=t.list,s=Jn(e);return n.some((e=>e.pagePath===s))}const Gn=!!b.uniIdRouter,{loginPage:Qn,routerNeedLogin:Yn,resToLogin:Xn,needLoginPage:Zn,notNeedLoginPage:es,loginPageInTabBar:ts}=function({pages:e=[],subPackages:t=[],uniIdRouter:n={},tabBar:s={}}=b){const{loginPage:r,needLogin:o=[],resToLogin:i=!0}=n,{needLoginPage:a,notNeedLoginPage:c}=Hn(e),{needLoginPage:u,notNeedLoginPage:l}=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,...l],loginPageInTabBar:zn(r,s)}}();if(Zn.indexOf(Qn)>-1)throw new Error(`Login page [${Qn}] should not be "needLogin", please check your pages.json`);function ns(e){const t=Vn();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 ss({redirect:e}){const t=Jn(e),n=Jn(Qn);return Vn()!==n&&t!==n}function rs({api:e,redirect:t}={}){if(!t||!ss({redirect:t}))return;const n=(r=t,"/"!==(s=Qn).charAt(0)&&(s="/"+s),r?s.indexOf("?")>-1?s+`&uniIdRedirectUrl=${encodeURIComponent(r)}`:s+`?uniIdRedirectUrl=${encodeURIComponent(r)}`:s);var s,r;ts?"navigateTo"!==e&&"redirectTo"!==e||(e="switchTab"):"switchTab"===e&&(e="navigateTo");const o={navigateTo:w,redirectTo:v,switchTab:T,reLaunch:k};setTimeout((()=>{o[e]({url:n})}),0)}function os({url:e}={}){const t={abortLoginPageJump:!1,autoToLoginPage:!1},n=function(){const{token:e,tokenExpired:t}=Pe();let n;if(e){if(t<Date.now()){const e="uni-id-token-expired";n={errCode:e,errMsg:Bn[e]}}}else{const e="uni-id-check-token-failed";n={errCode:e,errMsg:Bn[e]}}return n}();if(function(e){const t=Jn(ns(e));return!(es.indexOf(t)>-1)&&(Zn.indexOf(t)>-1||Yn.some((t=>{return n=e,new RegExp(t).test(n);var n})))}(e)&&n){if(n.uniIdRedirectUrl=e,ge(le).length>0)return setTimeout((()=>{_e(le,n)}),0),t.abortLoginPageJump=!0,t;t.autoToLoginPage=!0}return t}function is(){!function(){const e=Wn(),{abortLoginPageJump:t,autoToLoginPage:n}=os({url:e});t||n&&rs({api:"redirectTo",redirect:e})}();const e=["navigateTo","redirectTo","reLaunch","switchTab"];for(let t=0;t<e.length;t++){const n=e[t];s(n,{invoke(e){const{abortLoginPageJump:t,autoToLoginPage:s}=os({url:e.url});return t?e:s?(rs({api:n,redirect:ns(e.url)}),!1):e}})}}function as(){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 Bn}(n);break;case"clientdb":s=function(e){if("object"!=typeof e)return!1;const{errCode:t}=e||{};return t in jn}(n)}s&&function(e={}){const t=ge(le);Te().then((()=>{const n=Wn();if(n&&ss({redirect:n}))return t.length>0?_e(le,Object.assign({uniIdRedirectUrl:n},e)):void(Qn&&rs({api:"navigateTo",redirect:n}))}))}(n)}))}function cs(e){var t;(t=e).onResponse=function(e){me(ue,e)},t.offResponse=function(e){ye(ue,e)},function(e){e.onNeedLogin=function(e){me(le,e)},e.offNeedLogin=function(e){ye(le,e)},Gn&&(ee(_n).needLoginInit||(ee(_n).needLoginInit=!0,Te().then((()=>{is.call(e)})),Xn&&as.call(e)))}(e),function(e){e.onRefreshToken=function(e){me(he,e)},e.offRefreshToken=function(e){ye(he,e)}}(e)}let us;const ls="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",hs=/^(?:[A-Za-z\d+/]{4})*?(?:[A-Za-z\d+/]{2}(?:==)?|[A-Za-z\d+/]{3}=?)?$/;function ds(){const e=Pe().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(us(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}us="function"!=typeof atob?function(e){if(e=String(e).replace(/[\t\n\f\r ]+/g,""),!hs.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=ls.indexOf(e.charAt(o++))<<18|ls.indexOf(e.charAt(o++))<<12|(n=ls.indexOf(e.charAt(o++)))<<6|(s=ls.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 ps=function(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}(x((function(n,s){Object.defineProperty(s,"__esModule",{value:!0});const o="chooseAndUploadFile:ok",i="chooseAndUploadFile:fail";function a(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 c(e,t,{onChooseFile:n,onUploadProgress:s}){return t.then((e=>{if(n){const t=n(e);if(void 0!==t)return Promise.resolve(t).then((t=>void 0===t?e:t))}return e})).then((t=>!1===t?{errMsg:o,tempFilePaths:[],tempFiles:[]}:function(e,t,n=5,s){(t=Object.assign({},t)).errMsg=o;const r=t.tempFiles,i=r.length;let a=0;return new Promise((o=>{for(;a<n;)c();function c(){const n=a++;if(n>=i)return void(!r.find((e=>!e.url&&!e.errMsg))&&o(t));const u=r[n];e.uploadFile({provider:u.provider,filePath:u.path,cloudPath:u.cloudPath,fileType:u.fileType,cloudPathAsRealPath:u.cloudPathAsRealPath,onUploadProgress(e){e.index=n,e.tempFile=u,e.tempFilePath=u.path,s&&s(e)}}).then((e=>{u.url=e.fileID,n<i&&c()})).catch((e=>{u.errMsg=e.errMsg||e.message,n<i&&c()}))}}))}(e,t,5,s)))}s.initChooseAndUploadFile=function(n){return function(s={type:"all"}){return"image"===s.type?c(n,function(t){const{count:n,sizeType:s,sourceType:r=["album","camera"],extension:o}=t;return new Promise(((t,c)=>{e({count:n,sizeType:s,sourceType:r,extension:o,success(e){t(a(e,"image"))},fail(e){c({errMsg:e.errMsg.replace("chooseImage:fail",i)})}})}))}(s),s):"video"===s.type?c(n,function(e){const{camera:n,compressed:s,maxDuration:r,sourceType:o=["album","camera"],extension:c}=e;return new Promise(((e,u)=>{t({camera:n,compressed:s,maxDuration:r,sourceType:o,extension:c,success(t){const{tempFilePath:n,duration:s,size:r,height:o,width:i}=t;e(a({errMsg:"chooseVideo:ok",tempFilePaths:[n],tempFiles:[{name:t.tempFile&&t.tempFile.name||"",path:n,size:r,type:t.tempFile&&t.tempFile.type||"",width:i,height:o,duration:s,fileType:"video",cloudPath:""}]},"video"))},fail(e){u({errMsg:e.errMsg.replace("chooseVideo:fail",i)})}})}))}(s),s):c(n,function(e){const{count:t,extension:n}=e;return new Promise(((e,s)=>{let o=r;if("undefined"!=typeof wx&&"function"==typeof wx.chooseMessageFile&&(o=wx.chooseMessageFile),"function"!=typeof o)return s({errMsg:i+" 请指定 type 类型,该平台仅支持选择 image 或 video。"});o({type:"all",count:t,extension:n,success(t){e(a(t))},fail(e){s({errMsg:e.errMsg.replace("chooseFile:fail",i)})}})}))}(s),s)}}})));const fs="manual";function gs(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(this.loadtime===fs)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,p=void 0!==t.getcount?t.getcount:this.getcount,f=void 0!==t.gettree?t.gettree:this.gettree,g=void 0!==t.gettreepath?t.gettreepath:this.gettreepath,m={getCount:p},y={limitLevel:void 0!==t.limitlevel?t.limitlevel:this.limitlevel,startWith:void 0!==t.startwith?t.startwith:this.startwith};return f&&(m.getTree=y),g&&(m.getTreePath=y),n=n.skip(d*(h-1)).limit(d).get(m),n}}}}function ms(e){return ee("_globalUniCloudSecureNetworkCache__{spaceId}".replace("{spaceId}",e.config.spaceId))}async function ys({openid:e,callLoginByWeixin:t=!1}={}){throw ms(this),new Error("[SecureNetwork] API `initSecureNetworkByWeixin` is not supported on platform `web`")}async function _s(e){const t=ms(this);return t.initPromise||(t.initPromise=ys.call(this,e).then((e=>e)).catch((e=>{throw delete t.initPromise,e}))),t.initPromise}function ws(e){Le=e}function vs(e){const t={getAppBaseInfo:S,getPushClientId:I};return function(n){return new Promise(((s,r)=>{t[e]({...n,success(e){s(e)},fail(e){r(e)}})}))}}class Ts 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([vs("getAppBaseInfo")(),vs("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(){u(this._uniPushMessageCallback)}_destroy(){l(this._uniPushMessageCallback)}toJSON(){return{appId:this._appId,pushClientId:this._pushClientId,seqId:this._seqId}}close(){this._destroy(),this.emit("close")}}const ks={tcb:Qt,tencent:Qt,aliyun:Me,private:Zt,dcloud:Zt,alipay:un};let Ss=new class{init(e){let t={};const n=ks[e.provider];if(!n)throw new Error("未提供正确的provider参数");var s;return t=n.init(e),function(e){e._initPromiseHub||(e._initPromiseHub=new V({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),An(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=Dn(Mn,{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=Dn(Mn,{uniClient:s,isJQL:!0});return this._databaseForJQL=t,t},function(e){e.getCurrentUserInfo=ds,e.chooseAndUploadFile=ps.initChooseAndUploadFile(e),Object.assign(e,{get mixinDatacom(){return gs(e)}}),e.SSEChannel=Ts,e.initSecureNetworkByWeixin=function(e){return function({openid:t,callLoginByWeixin:n=!1}={}){return _s.call(e,{openid:t,callLoginByWeixin:n})}}(e),e.setCustomClientInfo=ws,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:u,errorOptions:l,parseSystemError:h}=s,d=!r;return new Proxy({},{get(r,p){switch(p){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 oe(ie(t,"invoke"),{...r}),o=await e(...s),await oe(ie(t,"success"),{...r,result:o}),o}catch(a){throw i=a,await oe(ie(t,"fail"),{...r,error:i}),i}finally{await oe(ie(t,"complete"),i?{...r,error:i}:{...r,result:o})}}}({fn:async function r(...f){let g;d&&o({title:u.title,mask:u.mask});const m={name:n,type:M,data:{method:p,params:f}};"object"==typeof s.secretMethods&&function(e,t){const n=t.data.method,s=e.secretMethods||{},r=s[n]||s["*"];r&&(t.secretType=r)}(s,m);let y=!1;try{g=await t.callFunction(m)}catch(e){y=!0,g={result:new Se(e)}}const{errSubject:_,errCode:w,errMsg:v,newToken:T}=g.result||{};if(d&&i(),T&&T.token&&T.tokenExpired&&(be(T),_e(he,{...T})),w){let e=v;if(y&&h&&(e=(await h({objectName:n,methodName:p,params:f,errSubject:_,errCode:w,errMsg:v})).errMsg||v),d)if("toast"===l.type)a({title:e,icon:"none"});else{if("modal"!==l.type)throw new Error(`Invalid errorOptions.type: ${l.type}`);{const{confirm:t}=await async function({title:e,content:t,showCancel:n,cancelText:s,confirmText:r}={}){return new Promise(((o,i)=>{c({title:e,content:t,showCancel:n,cancelText:s,confirmText:r,success(e){o(e)},fail(){o({confirm:!1,cancel:!0})}})}))}({title:"提示",content:e,showCancel:l.retry,cancelText:"取消",confirmText:l.retry?"重试":"确定"});if(l.retry&&t)return r(...f)}}const t=new Se({subject:_,code:w,message:v,requestId:g.requestId});throw t.detail=g.result,_e(ue,{type:fe,content:t}),t}return _e(ue,{type:fe,content:g.result}),g.result},interceptorName:"callObject",getCallbackArgs:function({params:e}={}){return{objectName:n,methodName:p,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||D;s=e!==D}const r="callFunction"===t&&!s,o=this._initPromiseHub.exec();n=n||{};const{success:i,fail:a,complete:c}=ke(n),u=o.then((()=>s?Promise.resolve():oe(ie(t,"invoke"),n))).then((()=>e.call(this,n))).then((e=>s?Promise.resolve(e):oe(ie(t,"success"),e).then((()=>oe(ie(t,"complete"),e))).then((()=>(r&&_e(ue,{type:pe,content:e}),Promise.resolve(e))))),(e=>s?Promise.reject(e):oe(ie(t,"fail"),e).then((()=>oe(ie(t,"complete"),e))).then((()=>(_e(ue,{type:pe,content:e}),Promise.reject(e))))));if(!(i||a||c))return u;u.then((e=>{i&&i(e),c&&c(e),r&&_e(ue,{type:pe,content:e})}),(e=>{a&&a(e),c&&c(e),r&&_e(ue,{type:pe,content:e})}))}}(t[e],e).bind(t)})),t.init=this.init,t}};(()=>{const e=Q;let t={};if(e&&1===e.length)t=e[0],Ss=Ss.init(t),Ss._isDefault=!0;else{const t=["auth","callFunction","uploadFile","deleteFile","getTempFileURL","downloadFile"],n=["database","getCurrentUserInfo","importObject"];let s;s=e&&e.length>0?"应用有多个服务空间请通过uniCloud.init方法指定要使用的服务空间":"应用未关联服务空间请在uniCloud目录右键关联服务空间",[...t,...n].forEach((e=>{Ss[e]=function(){if(console.error(s),-1===n.indexOf(e))return Promise.reject(new Se({code:"SYS_ERR",message:s}));console.error(s)}}))}Object.assign(Ss,{get mixinDatacom(){return gs(Ss)}}),cs(Ss),Ss.addInterceptor=se,Ss.removeInterceptor=re,Ss.interceptObject=ae;{const e=X||(X=function(){if("undefined"!=typeof globalThis)return globalThis;if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;function e(){return this}return void 0!==e()?e():new Function("return this")()}(),X);e.uniCloud=Ss,e.UniCloudError=Se}})();var Is=Ss;export{Is as t};