uni-forms.d13e4a45.js 99.5 KB
import{z as e,l as t,u as n,o as s,c as r,w as i,b as a,v as o,J as l,W as c,d as u,f as h,t as d,q as f,i as g,I as p,aj as m,ak as y,al as _,am as v,an as b,s as T,h as w,ao as k,ap as P,aq as S,ag as x,L as A,M as I,ar as R,as as O,O as D,n as C,B as E,a2 as L,m as B,at as F,au as U,Q as M,av as N,a as q,K as j,E as $}from"./index-faed4152.js";import{_ as V}from"./uni-icons.3b49d363.js";import{r as K}from"./uni-app.es.32d1ec75.js";import{_ as W}from"./_plugin-vue_export-helper.1b428a4d.js";const z=W({name:"uniFormsItem",props:{custom:{type:Boolean,default:!1},showMessage:{type:Boolean,default:!0},name:String,required:Boolean,validateTrigger:{type:String,default:""},leftIcon:String,iconColor:{type:String,default:"#606266"},label:String,labelWidth:{type:[Number,String],default:""},labelAlign:{type:String,default:""},labelPosition:{type:String,default:""},errorMessage:{type:[String,Boolean],default:""},rules:{type:Array,default:()=>[]}},data:()=>({errorTop:!1,errorBottom:!1,labelMarginBottom:"",errorWidth:"",errMsg:"",val:"",labelPos:"",labelWid:"",labelAli:"",showMsg:"undertext",border:!1,isFirstBorder:!1,isArray:!1,arrayField:""}),computed:{msg(){return this.errorMessage||this.errMsg},fieldStyle(){let e={};return"top"==this.labelPos&&(e.padding="0 0",this.labelMarginBottom="6px"),"left"==this.labelPos&&!1!==this.msg&&""!=this.msg?(e.paddingBottom="0px",this.errorBottom=!0,this.errorTop=!1):"top"==this.labelPos&&!1!==this.msg&&""!=this.msg?(this.errorBottom=!1,this.errorTop=!0):(this.errorTop=!1,this.errorBottom=!1),e},justifyContent(){return"left"===this.labelAli?"flex-start":"center"===this.labelAli?"center":"right"===this.labelAli?"flex-end":void 0},labelLeft(){return("left"===this.labelPos?parseInt(this.labelWid):0)+"px"}},watch:{validateTrigger(e){this.formTrigger=e}},created(){this.form=this.getForm(),this.group=this.getForm("uniGroup"),this.formRules=[],this.formTrigger=this.validateTrigger,this.name&&-1!==this.name.indexOf("[")&&-1!==this.name.indexOf("]")&&(this.isArray=!0,this.arrayField=this.name,this.form.formData[this.name]=this.form._getValue(this.name,""))},mounted(){this.form&&this.form.childrens.push(this),this.init()},unmounted(){this.__isUnmounted=!0,this.unInit()},methods:{init(){if(this.form){let{formRules:e,validator:t,formData:n,value:s,labelPosition:r,labelWidth:i,labelAlign:a,errShowType:o}=this.form;this.labelPos=this.labelPosition?this.labelPosition:r,this.label?this.labelWid=this.labelWidth?this.labelWidth:i||70:this.labelWid=this.labelWidth?this.labelWidth:i||"auto",this.labelWid&&"auto"!==this.labelWid&&(this.labelWid+="px"),this.labelAli=this.labelAlign?this.labelAlign:a,this.form.isFirstBorder||(this.form.isFirstBorder=!0,this.isFirstBorder=!0),this.group&&(this.group.isFirstBorder||(this.group.isFirstBorder=!0,this.isFirstBorder=!0)),this.border=this.form.border,this.showMsg=o;let l=this.isArray?this.arrayField:this.name;if(!l)return;e&&this.rules.length>0&&(e[l]||(e[l]={rules:this.rules}),t.updateSchema(e)),this.formRules=e[l]||{},this.validator=t}else this.labelPos=this.labelPosition||"left",this.labelWid=this.labelWidth||65,this.labelAli=this.labelAlign||"left"},unInit(){this.form&&this.form.childrens.forEach(((e,t)=>{e===this&&(this.form.childrens.splice(t,1),delete this.form.formData[e.name])}))},getForm(e="uniForms"){let t=this.$parent,n=t.$options.name;for(;n!==e;){if(t=t.$parent,!t)return!1;n=t.$options.name}return t},clearValidate(){this.errMsg=""},setValue(e){let t=this.isArray?this.arrayField:this.name;if(t){if(this.errMsg&&(this.errMsg=""),this.form.formData[t]=this.form._getValue(t,e),!this.formRules||(this.formRules,"{}"===JSON.stringify(this.formRules)))return;this.triggerCheck(this.form._getValue(this.name,e))}},async triggerCheck(n,s){if(this.errMsg="",!this.validator||0===Object.keys(this.formRules).length)return;const r=this.isRequired(this.formRules.rules||[]);let i=this.isTrigger(this.formRules.validateTrigger,this.validateTrigger,this.form.validateTrigger),a=null;if(i||s){let e=this.isArray?this.arrayField:this.name;a=await this.validator.validateUpdate({[e]:n},this.form.formData)}r||void 0!==n&&""!==n||(a=null);const o=this.form.inputChildrens.find((e=>e.rename===this.name));return(i||s)&&a&&a.errorMessage?(o&&(o.errMsg=a.errorMessage),"toast"===this.form.errShowType&&e({title:a.errorMessage||"校验错误",icon:"none"}),"modal"===this.form.errShowType&&t({title:"提示",content:a.errorMessage||"校验错误"})):o&&(o.errMsg=""),this.errMsg=a?a.errorMessage:"",this.form.validateCheck(a||null),a||null},isTrigger:(e,t,n)=>!("submit"===e||!e)||void 0===e&&("bind"===t||!t&&"bind"===n),isRequired(e){let t=!1;for(let n=0;n<e.length;n++){if(e[n].required){t=!0;break}}return t}}},[["render",function(e,t,p,m,y,_){const v=f,b=K(n("uni-icons"),V),T=g;return s(),r(T,{class:o(["uni-forms-item",{"uni-forms-item--border":y.border,"is-first-border":y.border&&y.isFirstBorder,"uni-forms-item-error":_.msg}])},{default:i((()=>[a(T,{class:"uni-forms-item__box"},{default:i((()=>[a(T,{class:o(["uni-forms-item__inner",["is-direction-"+y.labelPos]])},{default:i((()=>[a(T,{class:"uni-forms-item__label",style:l({width:y.labelWid,justifyContent:_.justifyContent})},{default:i((()=>[c(e.$slots,"label",{},(()=>[p.required?(s(),r(v,{key:0,class:"is-required"},{default:i((()=>[u("*")])),_:1})):h("",!0),p.leftIcon?(s(),r(b,{key:1,class:"label-icon",size:"16",type:p.leftIcon,color:p.iconColor},null,8,["type","color"])):h("",!0),a(v,{class:"label-text"},{default:i((()=>[u(d(p.label),1)])),_:1}),p.label?(s(),r(T,{key:2,class:"label-seat"})):h("",!0)]),!0)])),_:3},8,["style"]),a(T,{class:o(["uni-forms-item__content",{"is-input-error-border":_.msg}])},{default:i((()=>[c(e.$slots,"default",{},void 0,!0)])),_:3},8,["class"])])),_:3},8,["class"]),_.msg?(s(),r(T,{key:0,class:o(["uni-error-message",{"uni-error-msg--boeder":y.border}]),style:l({paddingLeft:_.labelLeft})},{default:i((()=>[a(v,{class:"uni-error-message-text"},{default:i((()=>[u(d("undertext"===y.showMsg?_.msg:""),1)])),_:1})])),_:1},8,["class","style"])):h("",!0)])),_:3})])),_:3},8,["class"])}],["__scopeId","data-v-db121359"]]),J={pages:[{path:"pages/index/index",style:{navigationBarTitleText:"工作台",backgroundColor:"#ffffff",navigationStyle:"custom",navigationBarTextStyle:"black",navigationBarBackgroundColor:"#ffffff"}},{path:"pages/usercenter/usercenter",style:{navigationBarTitleText:"个人中心",navigationStyle:"default",navigationBarTextStyle:"black",navigationBarBackgroundColor:"#ffffff",enablePullDownRefresh:!0,backgroundColor:"#ffffff"}},{path:"pages/usercenter/address",style:{navigationBarTitleText:"收货地址",enablePullDownRefresh:!1}},{path:"pages/usercenter/bills",style:{navigationStyle:"default",navigationBarBackgroundColor:"#F7F8FA",navigationBarTextStyle:"black",navigationBarTitleText:"我的订单",enablePullDownRefresh:!1,onReachBottomDistance:100,backgroundColor:"#ffffff"}},{path:"pages/usercenter/myInfo",style:{navigationStyle:"default",navigationBarBackgroundColor:"#F7F8FA",navigationBarTextStyle:"black",navigationBarTitleText:"个人信息",enablePullDownRefresh:!1,onReachBottomDistance:100,backgroundColor:"#ffffff"}},{path:"pages/usercenter/teamList",style:{navigationStyle:"default",navigationBarBackgroundColor:"#F7F8FA",navigationBarTextStyle:"black",navigationBarTitleText:"我的团体",enablePullDownRefresh:!1,onReachBottomDistance:100,backgroundColor:"#ffffff"}},{path:"pages/usercenter/teamInfo",style:{navigationStyle:"default",navigationBarBackgroundColor:"#F7F8FA",navigationBarTextStyle:"black",navigationBarTitleText:"团体信息",enablePullDownRefresh:!1,onReachBottomDistance:100,backgroundColor:"#ffffff"}},{path:"pages/usercenter/billsDetail",style:{navigationStyle:"default",navigationBarBackgroundColor:"#F7F8FA",navigationBarTextStyle:"black",navigationBarTitleText:"订单详情",enablePullDownRefresh:!0,backgroundColor:"#ffffff"}},{path:"pages/form/index",style:{navigationStyle:"default",navigationBarBackgroundColor:"#F7F8FA",navigationBarTextStyle:"black",navigationBarTitleText:"反馈",enablePullDownRefresh:!1}},{path:"pages/index/login",style:{navigationBarTitleText:"登录",enablePullDownRefresh:!1}},{path:"pages/index/register",style:{navigationBarTitleText:"注册",enablePullDownRefresh:!1}},{path:"pages/index/msgList",style:{navigationBarTitleText:"待办列表",enablePullDownRefresh:!1}},{path:"pages/personalVip/addVip",style:{navigationBarTitleText:"添加会员",enablePullDownRefresh:!1,backgroundColor:"#ffffff",navigationBarTextStyle:"black",navigationBarBackgroundColor:"#ffffff"}},{path:"pages/personalVip/renew",style:{navigationBarTitleText:"会员缴费",enablePullDownRefresh:!1}},{path:"pages/personalVip/vipList",style:{navigationBarTitleText:"会员列表",enablePullDownRefresh:!1}},{path:"pages/group/vipList",style:{navigationBarTitleText:"会员列表",enablePullDownRefresh:!1}},{path:"pages/personalVip/list",style:{navigationBarTitleText:"会员查询",enablePullDownRefresh:!1}},{path:"pages/personalVip/detail",style:{navigationBarTitleText:"会员信息",enablePullDownRefresh:!1}},{path:"pages/personalVip/editVip",style:{navigationBarTitleText:"编辑会员",enablePullDownRefresh:!1}},{path:"pages/personalVip/audit",style:{navigationBarTitleText:"缴费审批",enablePullDownRefresh:!1}},{path:"pages/personalVip/payment",style:{navigationBarTitleText:"会员缴费",enablePullDownRefresh:!1}},{path:"pages/level/approval",style:{navigationBarTitleText:"级位考试审批",enablePullDownRefresh:!1}},{path:"pages/level/ztx/approval",style:{navigationBarTitleText:"级位考试审批",enablePullDownRefresh:!1}},{path:"pages/level/ztx/cert",style:{navigationBarTitleText:"级位证书发布",enablePullDownRefresh:!1}},{path:"pages/rank/approval",style:{navigationBarTitleText:"段位考试审批",enablePullDownRefresh:!1}},{path:"pages/rank/apply",style:{navigationBarTitleText:"段位考试申请",enablePullDownRefresh:!1}},{path:"pages/rank/applyDetail",style:{navigationBarTitleText:"段位考试详情",enablePullDownRefresh:!1}},{path:"pages/index/perfect",style:{navigationBarTitleText:"注册引导",enablePullDownRefresh:!1}},{path:"pages/personalVip/paymentDetail",style:{navigationBarTitleText:"缴费详情",enablePullDownRefresh:!1}},{path:"pages/personalVip/auditDetail",style:{navigationBarTitleText:"会员缴费详情",enablePullDownRefresh:!1}},{path:"pages/group/list",style:{navigationBarTitleText:"团体会员",enablePullDownRefresh:!1}},{path:"pages/group/detail",style:{navigationBarTitleText:"机构会员",enablePullDownRefresh:!1}},{path:"pages/personalVip/feeBill",style:{navigationBarTitleText:"会员缴费单",enablePullDownRefresh:!1}},{path:"pages/group/feeBill",style:{navigationBarTitleText:"团体会员缴费单",enablePullDownRefresh:!1}},{path:"pages/personalVip/feeBillDetail",style:{navigationBarTitleText:"缴费单详情",enablePullDownRefresh:!1}},{path:"pages/group/feeBillDetail",style:{navigationBarTitleText:"缴费单详情",enablePullDownRefresh:!1}},{path:"pages/personalVip/mobilize",style:{navigationBarTitleText:"会员调动",enablePullDownRefresh:!1}},{path:"pages/personalVip/mobilizeDetail",style:{navigationBarTitleText:"会员调动详情",enablePullDownRefresh:!1}},{path:"pages/group/apply/applyList",style:{navigationBarTitleText:"团体会员审核",enablePullDownRefresh:!1}},{path:"pages/personalVip/addMobilize",style:{navigationBarTitleText:"新建调动",enablePullDownRefresh:!1}},{path:"pages/level/apply",style:{navigationBarTitleText:"级位考试申请",enablePullDownRefresh:!1}},{path:"pages/level/applyDetail",style:{navigationBarTitleText:"级位考试详情",enablePullDownRefresh:!1}},{path:"pages/level/addApply",style:{navigationBarTitleText:"编辑级位考试",enablePullDownRefresh:!1}},{path:"pages/level/chooseExaminer",style:{navigationBarTitleText:"选择考官",enablePullDownRefresh:!1}},{path:"pages/level/merge",style:{navigationBarTitleText:"审核合并",enablePullDownRefresh:!1}},{path:"pages/group/apply/merge",style:{navigationBarTitleText:"审核合并",enablePullDownRefresh:!1}},{path:"pages/group/apply/mergeUp",style:{navigationBarTitleText:"审核合并提交",enablePullDownRefresh:!1}},{path:"pages/group/apply/applyDetail",style:{navigationBarTitleText:"团体会员审核详情",enablePullDownRefresh:!1}},{path:"pages/group/apply/record",style:{navigationBarTitleText:"审核记录",enablePullDownRefresh:!1}},{path:"pages/level/mergeUp",style:{navigationBarTitleText:"合并提交",enablePullDownRefresh:!1}},{path:"pages/level/mergeUpDetail",style:{navigationBarTitleText:"考试详情",enablePullDownRefresh:!1}},{path:"pages/group/apply/mergeUpDetail",style:{navigationBarTitleText:"缴费详情",enablePullDownRefresh:!1}},{path:"pages/group/pay",style:{navigationBarTitleText:"团队会员认证",enablePullDownRefresh:!1}},{path:"pages/group/payDetail",style:{navigationBarTitleText:"认证详情",enablePullDownRefresh:!1}},{path:"pages/rank/scoreApproval",style:{navigationBarTitleText:"段位考试成绩审核",enablePullDownRefresh:!1}},{path:"pages/rank/cert",style:{navigationBarTitleText:"考段证书发布",enablePullDownRefresh:!1}},{path:"pages/level/ztx/examList",style:{navigationBarTitleText:"级位考试详情",enablePullDownRefresh:!1}},{path:"pages/level/ztx/studentList",style:{navigationBarTitleText:"考生列表",enablePullDownRefresh:!1}},{path:"pages/level/payment",style:{navigationBarTitleText:"级位考试缴费单",enablePullDownRefresh:!1}},{path:"pages/exam/payment",style:{navigationBarTitleText:"考试缴费单",enablePullDownRefresh:!1}},{path:"pages/exam/paymentDetail",style:{navigationBarTitleText:"缴费单详情",enablePullDownRefresh:!1}},{path:"pages/exam/score",style:{navigationBarTitleText:"成绩录入",enablePullDownRefresh:!1}},{path:"pages/group/addGroupMemberPay",style:{navigationBarTitleText:"添加缴费",enablePullDownRefresh:!1}},{path:"pages/exam/scoreModify",style:{navigationBarTitleText:"成绩维护",enablePullDownRefresh:!1}},{path:"pages/index/more",style:{navigationBarTitleText:"菜单",enablePullDownRefresh:!1}}],globalStyle:{navigationStyle:"custom",navigationBarTextStyle:"white",navigationBarTitleText:"中跆协-工作台"}};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 Q=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={},i=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)}},a=r.WordArray=i.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||l).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 i=0;i<r;i++){var a=n[i>>>2]>>>24-i%4*8&255;t[s+i>>>2]|=a<<24-(s+i)%4*8}else for(i=0;i<r;i+=4)t[s+i>>>2]=n[i>>>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=i.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)}},i=0;i<t;i+=4){var o=r(4294967296*(n||e.random()));n=987654071*o(),s.push(4294967296*o()|0)}return new a.init(s,t)}}),o=s.enc={},l=o.Hex={stringify:function(e){for(var t=e.words,n=e.sigBytes,s=[],r=0;r<n;r++){var i=t[r>>>2]>>>24-r%4*8&255;s.push((i>>>4).toString(16)),s.push((15&i).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 a.init(n,t/2)}},c=o.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,s=[],r=0;r<n;r++){var i=t[r>>>2]>>>24-r%4*8&255;s.push(String.fromCharCode(i))}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 a.init(n,t)}},u=o.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},h=r.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=u.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,s=n.words,r=n.sigBytes,i=this.blockSize,o=r/(4*i),l=(o=t?e.ceil(o):e.max((0|o)-this._minBufferSize,0))*i,c=e.min(4*l,r);if(l){for(var u=0;u<l;u+=i)this._doProcessBlock(s,u);var h=s.splice(0,l);n.sigBytes-=c}return new a.init(h,c)},clone:function(){var e=i.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});r.Hasher=h.extend({cfg:i.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)})),G=Q,Y=(H((function(e,t){var n;e.exports=(n=G,function(e){var t=n,s=t.lib,r=s.WordArray,i=s.Hasher,a=t.algo,o=[];!function(){for(var t=0;t<64;t++)o[t]=4294967296*e.abs(e.sin(t+1))|0}();var l=a.MD5=i.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 i=this._hash.words,a=e[t+0],l=e[t+1],f=e[t+2],g=e[t+3],p=e[t+4],m=e[t+5],y=e[t+6],_=e[t+7],v=e[t+8],b=e[t+9],T=e[t+10],w=e[t+11],k=e[t+12],P=e[t+13],S=e[t+14],x=e[t+15],A=i[0],I=i[1],R=i[2],O=i[3];A=c(A,I,R,O,a,7,o[0]),O=c(O,A,I,R,l,12,o[1]),R=c(R,O,A,I,f,17,o[2]),I=c(I,R,O,A,g,22,o[3]),A=c(A,I,R,O,p,7,o[4]),O=c(O,A,I,R,m,12,o[5]),R=c(R,O,A,I,y,17,o[6]),I=c(I,R,O,A,_,22,o[7]),A=c(A,I,R,O,v,7,o[8]),O=c(O,A,I,R,b,12,o[9]),R=c(R,O,A,I,T,17,o[10]),I=c(I,R,O,A,w,22,o[11]),A=c(A,I,R,O,k,7,o[12]),O=c(O,A,I,R,P,12,o[13]),R=c(R,O,A,I,S,17,o[14]),A=u(A,I=c(I,R,O,A,x,22,o[15]),R,O,l,5,o[16]),O=u(O,A,I,R,y,9,o[17]),R=u(R,O,A,I,w,14,o[18]),I=u(I,R,O,A,a,20,o[19]),A=u(A,I,R,O,m,5,o[20]),O=u(O,A,I,R,T,9,o[21]),R=u(R,O,A,I,x,14,o[22]),I=u(I,R,O,A,p,20,o[23]),A=u(A,I,R,O,b,5,o[24]),O=u(O,A,I,R,S,9,o[25]),R=u(R,O,A,I,g,14,o[26]),I=u(I,R,O,A,v,20,o[27]),A=u(A,I,R,O,P,5,o[28]),O=u(O,A,I,R,f,9,o[29]),R=u(R,O,A,I,_,14,o[30]),A=h(A,I=u(I,R,O,A,k,20,o[31]),R,O,m,4,o[32]),O=h(O,A,I,R,v,11,o[33]),R=h(R,O,A,I,w,16,o[34]),I=h(I,R,O,A,S,23,o[35]),A=h(A,I,R,O,l,4,o[36]),O=h(O,A,I,R,p,11,o[37]),R=h(R,O,A,I,_,16,o[38]),I=h(I,R,O,A,T,23,o[39]),A=h(A,I,R,O,P,4,o[40]),O=h(O,A,I,R,a,11,o[41]),R=h(R,O,A,I,g,16,o[42]),I=h(I,R,O,A,y,23,o[43]),A=h(A,I,R,O,b,4,o[44]),O=h(O,A,I,R,k,11,o[45]),R=h(R,O,A,I,x,16,o[46]),A=d(A,I=h(I,R,O,A,f,23,o[47]),R,O,a,6,o[48]),O=d(O,A,I,R,_,10,o[49]),R=d(R,O,A,I,S,15,o[50]),I=d(I,R,O,A,m,21,o[51]),A=d(A,I,R,O,k,6,o[52]),O=d(O,A,I,R,g,10,o[53]),R=d(R,O,A,I,T,15,o[54]),I=d(I,R,O,A,l,21,o[55]),A=d(A,I,R,O,v,6,o[56]),O=d(O,A,I,R,x,10,o[57]),R=d(R,O,A,I,y,15,o[58]),I=d(I,R,O,A,P,21,o[59]),A=d(A,I,R,O,p,6,o[60]),O=d(O,A,I,R,w,10,o[61]),R=d(R,O,A,I,f,15,o[62]),I=d(I,R,O,A,b,21,o[63]),i[0]=i[0]+A|0,i[1]=i[1]+I|0,i[2]=i[2]+R|0,i[3]=i[3]+O|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 i=e.floor(s/4294967296),a=s;n[15+(r+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),n[14+(r+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),t.sigBytes=4*(n.length+1),this._process();for(var o=this._hash,l=o.words,c=0;c<4;c++){var u=l[c];l[c]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return o},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});function c(e,t,n,s,r,i,a){var o=e+(t&n|~t&s)+r+a;return(o<<i|o>>>32-i)+t}function u(e,t,n,s,r,i,a){var o=e+(t&s|n&~s)+r+a;return(o<<i|o>>>32-i)+t}function h(e,t,n,s,r,i,a){var o=e+(t^n^s)+r+a;return(o<<i|o>>>32-i)+t}function d(e,t,n,s,r,i,a){var o=e+(n^(t|~s))+r+a;return(o<<i|o>>>32-i)+t}t.MD5=i._createHelper(l),t.HmacMD5=i._createHmacHelper(l)}(Math),n.MD5)})),H((function(e,t){var n,s,r;e.exports=(s=(n=G).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 i=this._oKey=t.clone(),a=this._iKey=t.clone(),o=i.words,l=a.words,c=0;c<n;c++)o[c]^=1549556828,l[c]^=909522486;i.sigBytes=a.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=G.HmacMD5}))),X=H((function(e,t){e.exports=G.enc.Utf8})),Z=H((function(e,t){var n,s,r;e.exports=(r=(s=n=G).lib.WordArray,s.enc.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,s=this._map;e.clamp();for(var r=[],i=0;i<n;i+=3)for(var a=(t[i>>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,o=0;o<4&&i+.75*o<n;o++)r.push(s.charAt(a>>>6*(3-o)&63));var l=s.charAt(64);if(l)for(;r.length%4;)r.push(l);return r.join("")},parse:function(e){var t=e.length,n=this._map,s=this._reverseMap;if(!s){s=this._reverseMap=[];for(var i=0;i<n.length;i++)s[n.charCodeAt(i)]=i}var a=n.charAt(64);if(a){var o=e.indexOf(a);-1!==o&&(t=o)}return function(e,t,n){for(var s=[],i=0,a=0;a<t;a++)if(a%4){var o=n[e.charCodeAt(a-1)]<<a%4*2,l=n[e.charCodeAt(a)]>>>6-a%4*2;s[i>>>2]|=(o|l)<<24-i%4*8,i++}return r.create(s,i)}(e,t,s)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},n.enc.Base64)}));const ee="FUNCTION",te="pending",ne="rejected";function se(e){return Object.prototype.toString.call(e).slice(8,-1).toLowerCase()}function re(e){return"object"===se(e)}function ie(e){return"function"==typeof e}function ae(e){return function(){try{return e.apply(e,arguments)}catch(t){console.error(t)}}}const oe="REJECTED",le="NOT_PENDING";class ce{constructor({createPromise:e,retryRule:t=oe}={}){this.createPromise=e,this.status=null,this.promise=null,this.retryRule=t}get needRetry(){if(!this.status)return!0;switch(this.retryRule){case oe:return this.status===ne;case le:return this.status!==te}}exec(){return this.needRetry?(this.status=te,this.promise=this.createPromise().then((e=>(this.status="fullfilled",Promise.resolve(e))),(e=>(this.status=ne,Promise.reject(e)))),this.promise):this.promise}}function ue(e){return e&&"string"==typeof e?JSON.parse(e):e}const he=ue([]);ue("");const de=ue("[]")||[];let fe="";try{fe="__UNI__580BCB0"}catch(st){}let ge={};function pe(e,t={}){var n,s;return n=ge,s=e,Object.prototype.hasOwnProperty.call(n,s)||(ge[e]=t),ge[e]}const me=["invoke","success","fail","complete"],ye=pe("_globalUniCloudInterceptor");function _e(e,t){ye[e]||(ye[e]={}),re(t)&&Object.keys(t).forEach((n=>{me.indexOf(n)>-1&&function(e,t,n){let s=ye[e][t];s||(s=ye[e][t]=[]),-1===s.indexOf(n)&&ie(n)&&s.push(n)}(e,n,t[n])}))}function ve(e,t){ye[e]||(ye[e]={}),re(t)?Object.keys(t).forEach((n=>{me.indexOf(n)>-1&&function(e,t,n){const s=ye[e][t];if(!s)return;const r=s.indexOf(n);r>-1&&s.splice(r,1)}(e,n,t[n])})):delete ye[e]}function be(e,t){return e&&0!==e.length?e.reduce(((e,n)=>e.then((()=>n(t)))),Promise.resolve()):Promise.resolve()}function Te(e,t){return ye[e]&&ye[e][t]||[]}function we(e){_e("callObject",e)}const ke=pe("_globalUniCloudListener"),Pe="response",Se="needLogin",xe="refreshToken",Ae="clientdb",Ie="cloudfunction",Re="cloudobject";function Oe(e){return ke[e]||(ke[e]=[]),ke[e]}function De(e,t){const n=Oe(e);n.includes(t)||n.push(t)}function Ce(e,t){const n=Oe(e),s=n.indexOf(t);-1!==s&&n.splice(s,1)}function Ee(e,t){const n=Oe(e);for(let s=0;s<n.length;s++)(0,n[s])(t)}let Le,Be=!1;function Fe(){return Le||(Le=new Promise((e=>{Be&&e(),function t(){if("function"==typeof _){const t=_();t&&t[0]&&(Be=!0,e())}Be||setTimeout((()=>{t()}),30)}()})),Le)}function Ue(e){const t={};for(const n in e){const s=e[n];ie(s)&&(t[n]=ae(s))}return t}class Me 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=>S(e),uploadFile:e=>x(e),setStorageSync:(e,t)=>A(e,t),getStorageSync:e=>I(e),removeStorageSync:e=>R(e),clearStorageSync:()=>O()};function qe(e){return e&&qe(e.__v_raw)||e}function je(){return{token:Ne.getStorageSync("uni_id_token")||Ne.getStorageSync("uniIdToken"),tokenExpired:Ne.getStorageSync("uni_id_token_expired")}}function $e({token:e,tokenExpired:t}={}){e&&Ne.setStorageSync("uni_id_token",e),t&&Ne.setStorageSync("uni_id_token_expired",t)}let Ve,Ke;function We(){return Ve||(Ve=D()),Ve}function ze(){let e,t;try{if(N){if(N.toString().indexOf("not yet implemented")>-1)return;const{scene:n,channel:s}=N();e=s,t=n}}catch(n){}return{channel:e,scene:t}}function Je(){const e=M&&M()||"en";if(Ke)return{...Ke,locale:e,LOCALE:e};const t=We(),{deviceId:n,osName:s,uniPlatform:r,appId:i}=t,a=["pixelRatio","brand","model","system","language","version","platform","host","SDKVersion","swanNativeVersion","app","AppPlatform","fontSizeSetting"];for(let o=0;o<a.length;o++)delete t[a[o]];return Ke={PLATFORM:r,OS:s,APPID:i,DEVICEID:n,...ze(),...t},{...Ke,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),Y(n,t).toString()},Qe=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)return s(new Me({code:"SYS_ERR",message:e.errMsg||"request:fail",requestId:t}));const r=e.data;if(r.error)return s(new Me({code:r.error.code,message:r.error.message,requestId:t}));r.result=r.data,r.requestId=t,delete r.data,n(r)}}))}))},Ge=function(e){return Z.stringify(X.parse(e))},Ye={"uniCloud.init.paramRequired":"{param} required","uniCloud.uploadFile.fileError":"filePath should be instance of File"};const{t:Xe}=p({"zh-Hans":{"uniCloud.init.paramRequired":"缺少参数:{param}","uniCloud.uploadFile.fileError":"filePath应为File对象"},"zh-Hant":{"uniCloud.init.paramRequired":"缺少参数:{param}","uniCloud.uploadFile.fileError":"filePath应为File对象"},en:Ye,fr:{"uniCloud.init.paramRequired":"{param} required","uniCloud.uploadFile.fileError":"filePath should be instance of File"},es:{"uniCloud.init.paramRequired":"{param} required","uniCloud.uploadFile.fileError":"filePath should be instance of File"},ja:Ye},"zh-Hans");var Ze=class{constructor(e){["spaceId","clientSecret"].forEach((t=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw new Error(Xe("uniCloud.init.paramRequired",{param:t}))})),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 ce({createPromise:()=>this.requestAuth(this.setupRequest({method:"serverless.auth.user.anonymousAuthorize",params:"{}"},"auth")).then((e=>{if(!e.result||!e.result.accessToken)throw new Me({code:"AUTH_FAILED",message:"获取accessToken失败"});this.setAccessToken(e.result.accessToken)})),retryRule:le})}get hasAccessToken(){return!!this.accessToken}setAccessToken(e){this.accessToken=e}requestWrapped(e){return Qe(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:i}){return new Promise(((a,o)=>{const l=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?a(e):o(new Me({code:"UPLOAD_FAILED",message:"文件上传失败"}))},fail(e){o(new Me({code:e.code||"UPLOAD_FAILED",message:e.message||e.errMsg||"文件上传失败"}))}});"function"==typeof i&&l&&"function"==typeof l.onProgressUpdate&&l.onProgressUpdate((e=>{i({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:i}){if("string"!==se(t))throw new Me({code:"INVALID_PARAM",message:"cloudPath必须为字符串类型"});if(!(t=t.trim()))throw new Me({code:"INVALID_PARAM",message:"cloudPath不可为空"});if(/:\/\//.test(t))throw new Me({code:"INVALID_PARAM",message:"cloudPath不合法"});const a=i&&i.envType||this.config.envType;if(s&&("/"!==t[0]&&(t="/"+t),t.indexOf("\\")>-1))throw new Me({code:"INVALID_PARAM",message:"使用cloudPath作为路径时,cloudPath不可包含“\\”"});const o=(await this.getOSSUploadOptionsFromPath({env:a,filename:s?t.split("/").pop():t,fileId:s?t:void 0})).result,l="https://"+o.cdnDomain+"/"+o.ossPath,{securityToken:c,accessKeyId:u,signature:h,host:d,ossPath:f,id:g,policy:p,ossCallbackUrl:m}=o,y={"Cache-Control":"max-age=2592000","Content-Disposition":"attachment",OSSAccessKeyId:u,Signature:h,host:d,id:g,key:f,policy:p,success_action_status:200};if(c&&(y["x-oss-security-token"]=c),m){const e=JSON.stringify({callbackUrl:m,callbackBody:JSON.stringify({fileId:g,spaceId:this.config.spaceId}),callbackBodyType:"application/json"});y.callback=Ge(e)}const _={url:"https://"+o.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:l};if((await this.reportOSSUpload({id:g})).success)return{success:!0,filePath:e,fileID:l};throw new Me({code:"UPLOAD_FAILED",message:"文件上传失败"})}getTempFileURL({fileList:e}={}){return new Promise(((t,n)=>{Array.isArray(e)&&0!==e.length||n(new Me({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 Me({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}}},et={init(e){const t=new Ze(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 tt="undefined"!=typeof location&&"http:"===location.protocol?"http:":"https:";var nt,st;(st=nt||(nt={})).local="local",st.none="none",st.session="session";var rt=function(){};const it=()=>{let e;if(!Promise){e=()=>{},e.promise={};const t=()=>{throw new Me({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 at(e){return void 0===e}function ot(e){return"[object Null]"===Object.prototype.toString.call(e)}var lt;!function(e){e.WEB="web",e.WX_MP="wx_mp"}(lt||(lt={}));const ct={adapter:null,runtime:void 0},ut=["anonymousUuidKey"];class ht extends rt{constructor(){super(),ct.adapter.root.tcbObject||(ct.adapter.root.tcbObject={})}setItem(e,t){ct.adapter.root.tcbObject[e]=t}getItem(e){return ct.adapter.root.tcbObject[e]}removeItem(e){delete ct.adapter.root.tcbObject[e]}clear(){delete ct.adapter.root.tcbObject}}function dt(e,t){switch(e){case"local":return t.localStorage||new ht;case"none":return new ht;default:return t.sessionStorage||new ht}}class ft{constructor(e){if(!this._storage){this._persistence=ct.adapter.primaryStorage||e.persistence,this._storage=dt(this._persistence,ct.adapter);const t=`access_token_${e.env}`,n=`access_token_expire_${e.env}`,s=`refresh_token_${e.env}`,r=`anonymous_uuid_${e.env}`,i=`login_type_${e.env}`,a=`user_info_${e.env}`;this.keys={accessTokenKey:t,accessTokenExpireKey:n,refreshTokenKey:s,anonymousUuidKey:r,loginTypeKey:i,userInfoKey:a}}}updatePersistence(e){if(e===this._persistence)return;const t="local"===this._persistence;this._persistence=e;const n=dt(e,ct.adapter);for(const s in this.keys){const e=this.keys[s];if(t&&ut.includes(s))continue;const r=this._storage.getItem(e);at(r)||ot(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(i){throw i}}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 gt={},pt={};function mt(e){return gt[e]}class yt{constructor(e,t){this.data=t||null,this.name=e}}class _t extends yt{constructor(e,t){super("error",{error:e,data:t}),this.error=e}}const vt=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 _t)return console.error(e.error),this;const n="string"==typeof e?new yt(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 bt(e,t){vt.on(e,t)}function Tt(e,t={}){vt.fire(e,t)}function wt(e,t){vt.off(e,t)}const kt="loginStateChanged",Pt="loginStateExpire",St="loginTypeChanged",xt="anonymousConverted",At="refreshAccessToken";var It;!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"}(It||(It={}));const Rt=["auth.getJwt","auth.logout","auth.signInWithTicket","auth.signInAnonymously","auth.signIn","auth.fetchAccessTokenWithRefreshToken","auth.signUpWithEmailAndPassword","auth.activateEndUserMail","auth.sendPasswordResetEmail","auth.resetPasswordWithToken","auth.isUsernameRegistered"],Ot={"X-SDK-Version":"1.3.5"};function Dt(e,t,n){const s=e[t];e[t]=function(t){const r={},i={};n.forEach((n=>{const{data:s,headers:a}=n.call(e,t);Object.assign(r,s),Object.assign(i,a)}));const a=t.data;return a&&(()=>{var e;if(e=a,"[object FormData]"!==Object.prototype.toString.call(e))t.data={...a,...r};else for(const t in r)a.append(t,r[t])})(),t.headers={...t.headers||{},...i},s.call(e,t)}}function Ct(){const e=Math.random().toString(16).slice(2);return{data:{seqId:e},headers:{...Ot,"x-seqid":e}}}class Et{constructor(e={}){var t;this.config=e,this._reqClass=new ct.adapter.reqClass({timeout:this.config.timeout,timeoutMsg:`请求在${this.config.timeout/1e3}s内未完成,已中断`,restrictedMethods:["post"]}),this._cache=mt(this.config.env),this._localCache=(t=this.config.env,pt[t]),Dt(this._reqClass,"post",[Ct]),Dt(this._reqClass,"upload",[Ct]),Dt(this._reqClass,"download",[Ct])}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 i=this._cache.getStore(n);if(!i)throw new Me({message:"未登录CloudBase"});const a={refresh_token:i},o=await this.request("auth.fetchAccessTokenWithRefreshToken",a);if(o.data.code){const{code:e}=o.data;if("SIGN_PARAM_INVALID"===e||"REFRESH_TOKEN_EXPIRED"===e||"INVALID_REFRESH_TOKEN"===e){if(this._cache.getStore(s)===It.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()}Tt(Pt),this._cache.removeStore(n)}throw new Me({code:o.data.code,message:`刷新access token失败:${o.data.code}`})}if(o.data.access_token)return Tt(At),this._cache.setStore(e,o.data.access_token),this._cache.setStore(t,o.data.access_token_expire+Date.now()),{accessToken:o.data.access_token,accessTokenExpire:o.data.access_token_expire};o.data.refresh_token&&(this._cache.removeStore(n),this._cache.setStore(n,o.data.refresh_token),this._refreshAccessToken())}async getAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t,refreshTokenKey:n}=this._cache.keys;if(!this._cache.getStore(n))throw new Me({message:"refresh token不存在,登录状态异常"});let s=this._cache.getStore(e),r=this._cache.getStore(t),i=!0;return this._shouldRefreshAccessTokenHook&&!(await this._shouldRefreshAccessTokenHook(s,r))&&(i=!1),(!s||!r||r<Date.now())&&i?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 i={action:e,env:this.config.env,dataVersion:"2019-08-16",...t};if(-1===Rt.indexOf(e)){const{refreshTokenKey:e}=this._cache.keys;this._cache.getStore(e)&&(i.access_token=(await this.getAccessToken()).accessToken)}let a;if("storage.uploadFile"===e){a=new FormData;for(let e in a)a.hasOwnProperty(e)&&void 0!==a[e]&&a.append(e,i[e]);r="multipart/form-data"}else{r="application/json",a={};for(let e in i)void 0!==i[e]&&(a[e]=i[e])}let o={headers:{"content-type":r}};n&&n.onUploadProgress&&(o.onUploadProgress=n.onUploadProgress);const l=this._localCache.getStore(s);l&&(o.headers["X-TCB-Trace"]=l);const{parse:c,inQuery:u,search:h}=t;let d={env:this.config.env};c&&(d.parse=!0),u&&(d={...u,...d});let f=function(e,t,n={}){const s=/\?/.test(t);let r="";for(let i in n)""===r?!s&&(t+="?"):r+="&",r+=`${i}=${encodeURIComponent(n[i])}`;return/^http(s)?\:\/\//.test(t+=r)?t:`${e}${t}`}(tt,"//tcb-api.tencentcloudapi.com/web",d);h&&(f+=h);const g=await this.post({url:f,data:a,...o}),p=g.header&&g.header["x-tcb-trace"];if(p&&this._localCache.setStore(s,p),200!==Number(g.status)&&200!==Number(g.statusCode)||!g.data)throw new Me({code:"NETWORK_ERROR",message:"network request error"});return g}async send(e,t={}){const n=await this.request(e,t,{onUploadProgress:t.onUploadProgress});if("ACCESS_TOKEN_EXPIRED"===n.data.code&&-1===Rt.indexOf(e)){await this.refreshAccessToken();const n=await this.request(e,t,{onUploadProgress:t.onUploadProgress});if(n.data.code)throw new Me({code:n.data.code,message:n.data.message});return n.data}if(n.data.code)throw new Me({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 Lt={};function Bt(e){return Lt[e]}class Ft{constructor(e){this.config=e,this._cache=mt(e.env),this._request=Bt(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 Ut{constructor(e){if(!e)throw new Me({code:"PARAM_ERROR",message:"envId is not defined"});this._envId=e,this._cache=mt(this._envId),this._request=Bt(this._envId),this.setUserInfo()}linkWithTicket(e){if("string"!=typeof e)throw new Me({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 Me({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:i,city:a}=e,{data:o}=await this._request.send("auth.updateUserInfo",{nickName:t,gender:n,avatarUrl:s,province:r,country:i,city:a});this.setLocalUserInfo(o)}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 Mt{constructor(e){if(!e)throw new Me({code:"PARAM_ERROR",message:"envId is not defined"});this._cache=mt(e);const{refreshTokenKey:t,accessTokenKey:n,accessTokenExpireKey:s}=this._cache.keys,r=this._cache.getStore(t),i=this._cache.getStore(n),a=this._cache.getStore(s);this.credential={refreshToken:r,accessToken:i,accessTokenExpire:a},this.user=new Ut(e)}get isAnonymousAuth(){return this.loginType===It.ANONYMOUS}get isCustomAuth(){return this.loginType===It.CUSTOM}get isWeixinAuth(){return this.loginType===It.WECHAT||this.loginType===It.WECHAT_OPEN||this.loginType===It.WECHAT_PUBLIC}get loginType(){return this._cache.getStore(this._cache.keys.loginTypeKey)}}class Nt extends Ft{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(),Tt(kt),Tt(St,{env:this.config.env,loginType:It.ANONYMOUS,persistence:"local"});const e=new Mt(this.config.env);return await e.user.refresh(),e}throw new Me({message:"匿名登录失败"})}async linkAndRetrieveDataWithTicket(e){const{anonymousUuidKey:t,refreshTokenKey:n}=this._cache.keys,s=this._cache.getStore(t),r=this._cache.getStore(n),i=await this._request.send("auth.linkAndRetrieveDataWithTicket",{anonymous_uuid:s,refresh_token:r,ticket:e});if(i.refresh_token)return this._clearAnonymousUUID(),this.setRefreshToken(i.refresh_token),await this._request.refreshAccessToken(),Tt(xt,{env:this.config.env}),Tt(St,{loginType:It.CUSTOM,persistence:"local"}),{credential:{refreshToken:i.refresh_token}};throw new Me({message:"匿名转化失败"})}_setAnonymousUUID(e){const{anonymousUuidKey:t,loginTypeKey:n}=this._cache.keys;this._cache.removeStore(t),this._cache.setStore(t,e),this._cache.setStore(n,It.ANONYMOUS)}_clearAnonymousUUID(){this._cache.removeStore(this._cache.keys.anonymousUuidKey)}}class qt extends Ft{async signIn(e){if("string"!=typeof e)throw new Me({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(),Tt(kt),Tt(St,{env:this.config.env,loginType:It.CUSTOM,persistence:this.config.persistence}),await this.refreshUserInfo(),new Mt(this.config.env);throw new Me({message:"自定义登录失败"})}}class jt extends Ft{async signIn(e,t){if("string"!=typeof e)throw new Me({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:i,access_token_expire:a}=s;if(r)return this.setRefreshToken(r),i&&a?this.setAccessToken(i,a):await this._request.refreshAccessToken(),await this.refreshUserInfo(),Tt(kt),Tt(St,{env:this.config.env,loginType:It.EMAIL,persistence:this.config.persistence}),new Mt(this.config.env);throw s.code?new Me({code:s.code,message:`邮箱登录失败: ${s.message}`}):new Me({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 $t extends Ft{async signIn(e,t){if("string"!=typeof e)throw new Me({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:It.USERNAME,username:e,password:t,refresh_token:this._cache.getStore(n)||""}),{refresh_token:r,access_token_expire:i,access_token:a}=s;if(r)return this.setRefreshToken(r),a&&i?this.setAccessToken(a,i):await this._request.refreshAccessToken(),await this.refreshUserInfo(),Tt(kt),Tt(St,{env:this.config.env,loginType:It.USERNAME,persistence:this.config.persistence}),new Mt(this.config.env);throw s.code?new Me({code:s.code,message:`用户名密码登录失败: ${s.message}`}):new Me({message:"用户名密码登录失败"})}}class Vt{constructor(e){this.config=e,this._cache=mt(e.env),this._request=Bt(e.env),this._onAnonymousConverted=this._onAnonymousConverted.bind(this),this._onLoginTypeChanged=this._onLoginTypeChanged.bind(this),bt(St,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 Nt(this.config)}customAuthProvider(){return new qt(this.config)}emailAuthProvider(){return new jt(this.config)}usernameAuthProvider(){return new $t(this.config)}async signInAnonymously(){return new Nt(this.config).signIn()}async signInWithEmailAndPassword(e,t){return new jt(this.config).signIn(e,t)}signInWithUsernameAndPassword(e,t){return new $t(this.config).signIn(e,t)}async linkAndRetrieveDataWithTicket(e){return this._anonymousAuthProvider||(this._anonymousAuthProvider=new Nt(this.config)),bt(xt,this._onAnonymousConverted),await this._anonymousAuthProvider.linkAndRetrieveDataWithTicket(e)}async signOut(){if(this.loginType===It.ANONYMOUS)throw new Me({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),Tt(kt),Tt(St,{env:this.config.env,loginType:It.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){bt(kt,(()=>{const t=this.hasLoginState();e.call(this,t)}));const t=this.hasLoginState();e.call(this,t)}onLoginStateExpired(e){bt(Pt,e.bind(this))}onAccessTokenRefreshed(e){bt(At,e.bind(this))}onAnonymousConverted(e){bt(xt,e.bind(this))}onLoginTypeChanged(e){bt(St,(()=>{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 Mt(this.config.env):null}async isUsernameRegistered(e){if("string"!=typeof e)throw new Me({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 qt(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 Kt=function(e,t){t=t||it();const n=Bt(this.config.env),{cloudPath:s,filePath:r,onUploadProgress:i,fileType:a="image"}=e;return n.send("storage.getUploadMetadata",{path:s}).then((e=>{const{data:{url:o,authorization:l,token:c,fileId:u,cosFileId:h},requestId:d}=e,f={key:s,signature:l,"x-cos-meta-fileid":h,success_action_status:"201","x-cos-security-token":c};n.upload({url:o,data:f,file:r,name:s,fileType:a,onUploadProgress:i}).then((e=>{201===e.statusCode?t(null,{fileID:u,requestId:d}):t(new Me({code:"STORAGE_REQUEST_FAIL",message:`STORAGE_REQUEST_FAIL: ${e.data}`}))})).catch((e=>{t(e)}))})).catch((e=>{t(e)})),t.promise},Wt=function(e,t){t=t||it();const n=Bt(this.config.env),{cloudPath:s}=e;return n.send("storage.getUploadMetadata",{path:s}).then((e=>{t(null,e)})).catch((e=>{t(e)})),t.promise},zt=function({fileList:e},t){if(t=t||it(),!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 Bt(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},Jt=function({fileList:e},t){t=t||it(),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 Bt(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},Ht=async function({fileID:e},t){const n=(await Jt.call(this,{fileList:[{fileID:e,maxAge:600}]})).fileList[0];if("SUCCESS"!==n.code)return t?t(n):new Promise((e=>{e(n)}));const s=Bt(this.config.env);let r=n.download_url;if(r=encodeURI(r),!t)return s.download({url:r});t(await s.download({url:r}))},Qt=function({name:e,data:t,query:n,parse:s,search:r},i){const a=i||it();let o;try{o=t?JSON.stringify(t):""}catch(c){return Promise.reject(c)}if(!e)return Promise.reject(new Me({code:"PARAM_ERROR",message:"函数名不能为空"}));const l={inQuery:n,parse:s,search:r,function_name:e,request_data:o};return Bt(this.config.env).send("functions.invokeFunction",l).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 Me({message:"response data must be json"}))}}return a.promise})).catch((e=>{a(e)})),a.promise},Gt={timeout:15e3,persistence:"session"},Yt={};class Xt{constructor(e){this.config=e||this.config,this.authObj=void 0}init(e){switch(ct.adapter||(this.requestClient=new ct.adapter.reqClass({timeout:e.timeout||5e3,timeoutMsg:`请求在${(e.timeout||5e3)/1e3}s内未完成,已中断`})),this.config={...Gt,...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 Xt(this.config)}auth({persistence:e}={}){if(this.authObj)return this.authObj;const t=e||ct.adapter.primaryStorage||Gt.persistence;var n;return t!==this.config.persistence&&(this.config.persistence=t),function(e){const{env:t}=e;gt[t]=new ft(e),pt[t]=new ft({...e,persistence:"local"})}(this.config),n=this.config,Lt[n.env]=new Et(n),this.authObj=new Vt(this.config),this.authObj}on(e,t){return bt.apply(this,[e,t])}off(e,t){return wt.apply(this,[e,t])}callFunction(e,t){return Qt.apply(this,[e,t])}deleteFile(e,t){return zt.apply(this,[e,t])}getTempFileURL(e,t){return Jt.apply(this,[e,t])}downloadFile(e,t){return Ht.apply(this,[e,t])}uploadFile(e,t){return Kt.apply(this,[e,t])}getUploadMetadata(e,t){return Wt.apply(this,[e,t])}registerExtension(e){Yt[e.name]=e}async invokeExtension(e,t){const n=Yt[e];if(!n)throw new Me({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&&(ct.adapter=t),n&&(ct.runtime=n)}}var Zt=new Xt;function en(e,t,n){void 0===n&&(n={});var s=/\?/.test(t),r="";for(var i in n)""===r?!s&&(t+="?"):r+="&",r+=i+"="+encodeURIComponent(n[i]);return/^http(s)?:\/\//.test(t+=r)?t:""+e+t}class tn{post(e){const{url:t,data:n,headers:s}=e;return new Promise(((e,r)=>{Ne.request({url:en("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:i,headers:a,fileType:o}=e,l=Ne.uploadFile({url:en("https:",s),name:"file",formData:Object.assign({},i),filePath:r,fileType:o,header:a,success(e){const n={statusCode:e.statusCode,data:e.data||{}};200===e.statusCode&&i.success_action_status&&(n.statusCode=parseInt(i.success_action_status,10)),t(n)},fail(e){n(new Error(e.errMsg||"uploadFile:fail"))}});"function"==typeof e.onUploadProgress&&l&&"function"==typeof l.onProgressUpdate&&l.onProgressUpdate((t=>{e.onUploadProgress({loaded:t.totalBytesSent,total:t.totalBytesExpectedToSend})}))}))}}const nn={setItem(e,t){Ne.setStorageSync(e,t)},getItem:e=>Ne.getStorageSync(e),removeItem(e){Ne.removeStorageSync(e)},clear(){Ne.clearStorageSync()}};var sn={genAdapter:function(){return{root:{},reqClass:tn,localStorage:nn,primaryStorage:"local"}},isMatch:function(){return!0},runtime:"uni_app"};Zt.useAdapters(sn);const rn=Zt,an=rn.init;rn.init=function(e){e.env=e.spaceId;const t=an.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}=Ue(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 on=rn,ln=class extends Ze{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=Je();s["x-client-info"]=encodeURIComponent(JSON.stringify(r));const{token:i}=je();return s["x-client-token"]=i,{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:i}){return new Promise(((a,o)=>{const l=this.adapter.uploadFile({url:e,formData:t,name:n,filePath:s,fileType:r,success(e){e&&e.statusCode<400?a(e):o(new Me({code:"UPLOAD_FAILED",message:"文件上传失败"}))},fail(e){o(new Me({code:e.code||"UPLOAD_FAILED",message:e.message||e.errMsg||"文件上传失败"}))}});"function"==typeof i&&l&&"function"==typeof l.onProgressUpdate&&l.onProgressUpdate((e=>{i({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}uploadFile({filePath:e,cloudPath:t,fileType:n="image",onUploadProgress:s}){if(!t)throw new Me({code:"CLOUDPATH_REQUIRED",message:"cloudPath不可为空"});let r;return this.getOSSUploadOptionsFromPath({cloudPath:t}).then((t=>{const{url:i,formData:a,name:o}=t.result;r=t.result.fileUrl;const l={url:i,formData:a,name:o,filePath:e,fileType:n};return this.uploadFileToOSS(Object.assign({},l,{onUploadProgress:s}))})).then((()=>this.reportOSSUpload({cloudPath:t}))).then((t=>new Promise(((n,s)=>{t.success?n({success:!0,filePath:e,fileID:r}):s(new Me({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 Me({code:"DELETE_FILE_FAILED",message:"删除文件失败"})}))}getTempFileURL({fileList:e}={}){if(!Array.isArray(e)||0===e.length)throw new Me({code:"INVALID_PARAM",message:"fileList的元素必须是非空的字符串"});const t={method:"serverless.file.resource.getTempFileURL",params:JSON.stringify({fileList:e})};return this.request(this.setupRequest(t)).then((e=>{if(e.success)return{fileList:e.result.fileList.map((e=>({fileID:e.fileID,tempFileURL:e.tempFileURL})))};throw new Me({code:"GET_TEMP_FILE_URL_FAILED",message:"获取临时文件链接失败"})}))}},cn={init(e){const t=new ln(e),n={signInAnonymously:function(){return t.authorize()},getLoginState:function(){return Promise.resolve(!1)}};return t.auth=function(){return n},t.customAuth=t.auth,t}};function un({data:e}){let t;t=Je();const n=JSON.parse(JSON.stringify(e||{}));if(Object.assign(n,{clientInfo:t}),!n.uniIdToken){const{token:e}=je();e&&(n.uniIdToken=e)}return n}const hn=[{rule:/fc_function_not_found|FUNCTION_NOT_FOUND/,content:",云函数[{functionName}]在云端不存在,请检查此云函数名称是否正确以及该云函数是否已上传到服务空间",mode:"append"}];var dn=/[\\^$.*+?()[\]{}|]/g,fn=RegExp(dn.source);function gn(e,t,n){return e.replace(new RegExp((s=t)&&fn.test(s)?s.replace(dn,"\\$&"):s,"g"),n);var s}const pn=2e4,mn={code:20101,message:"Invalid client"};function yn(e){const{errSubject:t,subject:n,errCode:s,errMsg:r,code:i,message:a,cause:o}=e||{};return new Me({subject:t||n||"uni-secure-network",code:s||i||pn,message:r||a,cause:o})}let _n;function vn({secretType:e}={}){return"request"===e||"response"===e||"both"===e}function bn({functionName:e,result:t,logPvd:n}){}function Tn(e){const t=e.callFunction,n=function(n){const s=n.name;n.data=un.call(e,{data:n.data});const r={aliyun:"aliyun",tencent:"tcb",tcb:"tcb"}[this.config.provider],i=vn(n)||false;return t.call(this,n).then((e=>(e.errCode=0,!i&&bn.call(this,{functionName:s,result:e,logPvd:r}),Promise.resolve(e))),(e=>(!i&&bn.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:i,mode:a}=n[s],o=e.match(r);if(!o)continue;let l=i;for(let e=1;e<o.length;e++)l=gn(l,`{$${e}}`,o[e]);for(const e in t)l=gn(l,`{${e}}`,t[e]);return"replace"===a?l:e+l}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,i=t.name;let a,o;return t.data=t.data||{},a=n,a=a.bind(e),o=vn(t)?new _n({secretType:t.secretType,uniCloudIns:e}).wrapEncryptDataCallFunction(n.bind(e))(t):function({provider:e,spaceId:t,functionName:n}={}){const{appId:s,uniPlatform:r,osName:i}=We();let a=r;"app"===r&&(a=i);const o=function({provider:e,spaceId:t}={}){if(!he)return{};var n;e="tencent"===(n=e)?"tcb":n;const s=he.find((n=>n.provider===e&&n.spaceId===t));return s&&s.config}({provider:e,spaceId:t});if(!o||!o.accessControl||!o.accessControl.enable)return!1;const l=o.accessControl.function||{},c=Object.keys(l);if(0===c.length)return!0;const u=function(e,t){let n,s,r;for(let i=0;i<e.length;i++){const a=e[i];a!==t?"*"!==a?a.split(",").map((e=>e.trim())).indexOf(t)>-1&&(s=a):r=a:n=a}return n||s||r}(c,n);if(!u)return!1;if((l[u]||[]).find(((e={})=>e.appId===s&&(e.platform||"").toLowerCase()===a.toLowerCase())))return!0;throw console.error(`此应用[appId: ${s}, platform: ${a}]不在云端配置的允许访问的应用列表内,参考:https://uniapp.dcloud.net.cn/uniCloud/secure-network.html#verify-client`),yn(mn)}({provider:s,spaceId:r,functionName:i})?new _n({secretType:t.secretType,uniCloudIns:e}).wrapVerifyClientCallFunction(n.bind(e))(t):a(t),Object.defineProperty(o,"result",{get:()=>(console.warn("当前返回结果为Promise类型,不可直接访问其result属性,详情请参考:https://uniapp.dcloud.net.cn/uniCloud/faq?id=promise"),{})}),o}}_n=class{constructor(){throw yn({message:"Platform web is not supported by secure network"})}};const wn=Symbol("CLIENT_DB_INTERNAL");function kn(e,t){return e.then="DoNotReturnProxyWithAFunctionNamedThen",e._internalType=wn,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 Pn(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 Sn=["db.Geo","db.command","command.aggregate"];function xn(e,t){return Sn.indexOf(`${e}.${t}`)>-1}function An(e){switch(se(e=qe(e))){case"array":return e.map((e=>An(e)));case"object":return e._internalType===wn||Object.keys(e).forEach((t=>{e[t]=An(e[t])})),e;case"regexp":return{$regexp:{source:e.source,flags:e.flags}};case"date":return{$date:e.toISOString()};default:return e}}function In(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:An(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=In(e),n=In(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"===In(e))return!0;e=e.prevStage}return!1}get isAggregateCommand(){let e=this;for(;e;){const t=In(e),n=In(e.prevStage);if("aggregate"===t&&"command"===n)return!0;e=e.prevStage}return!1}getNextStageFn(e){const t=this;return function(){return On({$method:e,$param:An(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:An(t)}),this._database._callCloudFunction({action:n,command:s})}}function On(e,t,n){return kn(new Rn(e,t,n),{get(e,t){let s="db";return e&&e.content&&(s=e.content.$method),xn(s,t)?On({$method:t},e,n):function(){return On({$method:t,$param:An(Array.from(arguments))},e,n)}}})}function Dn({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 Cn(e,t={}){return kn(new e(t),{get:(e,t)=>xn("db",t)?On({$method:t},null,e):function(){return On({$method:t,$param:An(Array.from(arguments))},null,e)}})}class En extends class{constructor({uniClient:e={},isJQL:t=!1}={}){this._uniClient=e,this._authCallBacks={},this._dbCallBacks={},e._isDefault&&(this._dbCallBacks=pe("_globalUniCloudDatabaseCallback")),t||(this.auth=Pn(this._authCallBacks)),this._isJQL=t,Object.assign(this,Pn(this._dbCallBacks)),this.env=kn({},{get:(e,t)=>({$env:t})}),this.Geo=kn({},{get:(e,t)=>Dn({path:["Geo"],method:t})}),this.serverDate=Dn({path:[],method:"serverDate"}),this.RegExp=Dn({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 i=this,a=this._isJQL?"databaseForJQL":"database";function o(e){return i._callback("error",[e]),be(Te(a,"fail"),e).then((()=>be(Te(a,"complete"),e))).then((()=>(r(null,e),Ee(Pe,{type:Ae,content:e}),Promise.reject(e))))}const l=be(Te(a,"invoke")),c=this._uniClient;return l.then((()=>c.callFunction({name:"DCloud-clientDB",type:"CLIENT_DB",data:{action:e,command:t,multiCommand:n}}))).then((e=>{const{code:t,message:n,token:s,tokenExpired:l,systemInfo:c=[]}=e.result;if(c)for(let r=0;r<c.length;r++){const{level:e,message:t,detail:n}=c[r],s=console[e]||console.log;let i="[System Info]"+t;n&&(i=`${i}\n详细信息:${n}`),s(i)}if(t)return o(new Me({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&&l&&($e({token:s,tokenExpired:l}),this._callbackAuth("refreshToken",[{token:s,tokenExpired:l}]),this._callback("refreshToken",[{token:s,tokenExpired:l}]),Ee(xe,{token:s,tokenExpired:l}));const u=[{prop:"affectedDocs",tips:"affectedDocs不再推荐使用,请使用inserted/deleted/updated/data.length替代"},{prop:"code",tips:"code不再推荐使用,请使用errCode替代"},{prop:"message",tips:"message不再推荐使用,请使用errMsg替代"}];for(let r=0;r<u.length;r++){const{prop:t,tips:n}=u[r];if(t in e.result){const s=e.result[t];Object.defineProperty(e.result,t,{get:()=>(console.warn(n),s)})}}return h=e,be(Te(a,"success"),h).then((()=>be(Te(a,"complete"),h))).then((()=>{r(h,null);const e=i._parseResult(h);return Ee(Pe,{type:Ae,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"),o(new Me({code:e.code||"SYSTEM_ERROR",message:e.message,requestId:e.requestId})))))}}const Ln="token无效,跳转登录页面",Bn="token过期,跳转登录页面",Fn={TOKEN_INVALID_TOKEN_EXPIRED:Bn,TOKEN_INVALID_INVALID_CLIENTID:Ln,TOKEN_INVALID:Ln,TOKEN_INVALID_WRONG_TOKEN:Ln,TOKEN_INVALID_ANONYMOUS_USER:Ln},Un={"uni-id-token-expired":Bn,"uni-id-check-token-failed":Ln,"uni-id-token-not-exist":Ln,"uni-id-check-device-feature-failed":Ln};function Mn(e,t){let n="";return n=e?`${e}/${t}`:t,n.replace(/^\//,"")}function Nn(e=[],t=""){const n=[],s=[];return e.forEach((e=>{!0===e.needLogin?n.push(Mn(t,e.path)):!1===e.needLogin&&s.push(Mn(t,e.path))})),{needLoginPage:n,notNeedLoginPage:s}}function qn(e){return e.split("?")[0].replace(/^\//,"")}function jn(){return function(e){let t=e&&e.$page&&e.$page.fullPath||"";return t?("/"!==t.charAt(0)&&(t="/"+t),t):t}(function(){const e=_();return e[e.length-1]}())}function $n(){return qn(jn())}function Vn(e="",t={}){if(!e)return!1;if(!(t&&t.list&&t.list.length))return!1;const n=t.list,s=qn(e);return n.some((e=>e.pagePath===s))}const Kn=!!J.uniIdRouter,{loginPage:Wn,routerNeedLogin:zn,resToLogin:Jn,needLoginPage:Hn,notNeedLoginPage:Qn,loginPageInTabBar:Gn}=function({pages:e=[],subPackages:t=[],uniIdRouter:n={},tabBar:s={}}=J){const{loginPage:r,needLogin:i=[],resToLogin:a=!0}=n,{needLoginPage:o,notNeedLoginPage:l}=Nn(e),{needLoginPage:c,notNeedLoginPage:u}=function(e=[]){const t=[],n=[];return e.forEach((e=>{const{root:s,pages:r=[]}=e,{needLoginPage:i,notNeedLoginPage:a}=Nn(r,s);t.push(...i),n.push(...a)})),{needLoginPage:t,notNeedLoginPage:n}}(t);return{loginPage:r,routerNeedLogin:i,resToLogin:a,needLoginPage:[...o,...c],notNeedLoginPage:[...l,...u],loginPageInTabBar:Vn(r,s)}}();if(Hn.indexOf(Wn)>-1)throw new Error(`Login page [${Wn}] should not be "needLogin", please check your pages.json`);function Yn(e){const t=$n();if("/"===e.charAt(0))return e;const[n,s]=e.split("?"),r=n.replace(/^\//,"").split("/"),i=t.split("/");i.pop();for(let a=0;a<r.length;a++){const e=r[a];".."===e?i.pop():"."!==e&&i.push(e)}return""===i[0]&&i.shift(),"/"+i.join("/")+(s?"?"+s:"")}function Xn({redirect:e}){const t=qn(e),n=qn(Wn);return $n()!==n&&t!==n}function Zn({api:e,redirect:t}={}){if(!t||!Xn({redirect:t}))return;const n=(r=t,"/"!==(s=Wn).charAt(0)&&(s="/"+s),r?s.indexOf("?")>-1?s+`&uniIdRedirectUrl=${encodeURIComponent(r)}`:s+`?uniIdRedirectUrl=${encodeURIComponent(r)}`:s);var s,r;Gn?"navigateTo"!==e&&"redirectTo"!==e||(e="switchTab"):"switchTab"===e&&(e="navigateTo");const i={navigateTo:C,redirectTo:E,switchTab:L,reLaunch:B};setTimeout((()=>{i[e]({url:n})}))}function es({url:e}={}){const t={abortLoginPageJump:!1,autoToLoginPage:!1},n=function(){const{token:e,tokenExpired:t}=je();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=qn(Yn(e));return!(Qn.indexOf(t)>-1)&&(Hn.indexOf(t)>-1||zn.some((t=>{return n=e,new RegExp(t).test(n);var n})))}(e)&&n){if(n.uniIdRedirectUrl=e,Oe(Se).length>0)return setTimeout((()=>{Ee(Se,n)}),0),t.abortLoginPageJump=!0,t;t.autoToLoginPage=!0}return t}function ts(){!function(){const e=jn(),{abortLoginPageJump:t,autoToLoginPage:n}=es({url:e});t||n&&Zn({api:"redirectTo",redirect:e})}();const e=["navigateTo","redirectTo","reLaunch","switchTab"];for(let t=0;t<e.length;t++){const n=e[t];v(n,{invoke(e){const{abortLoginPageJump:t,autoToLoginPage:s}=es({url:e.url});return t?e:s?(Zn({api:n,redirect:Yn(e.url)}),!1):e}})}}function ns(){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 Fn}(n)}s&&function(e={}){const t=Oe(Se);Fe().then((()=>{const n=jn();if(n&&Xn({redirect:n}))return t.length>0?Ee(Se,Object.assign({uniIdRedirectUrl:n},e)):void(Wn&&Zn({api:"navigateTo",redirect:n}))}))}(n)}))}function ss(e){var t;(t=e).onResponse=function(e){De(Pe,e)},t.offResponse=function(e){Ce(Pe,e)},function(e){e.onNeedLogin=function(e){De(Se,e)},e.offNeedLogin=function(e){Ce(Se,e)},Kn&&(pe("_globalUniCloudStatus").needLoginInit||(pe("_globalUniCloudStatus").needLoginInit=!0,Fe().then((()=>{ts.call(e)})),Jn&&ns.call(e)))}(e),function(e){e.onRefreshToken=function(e){De(xe,e)},e.offRefreshToken=function(e){Ce(xe,e)}}(e)}let rs;const is="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",as=/^(?:[A-Za-z\d+/]{4})*?(?:[A-Za-z\d+/]{2}(?:==)?|[A-Za-z\d+/]{3}=?)?$/;function os(){const e=je().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(rs(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}rs="function"!=typeof atob?function(e){if(e=String(e).replace(/[\t\n\f\r ]+/g,""),!as.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="",i=0;i<e.length;)t=is.indexOf(e.charAt(i++))<<18|is.indexOf(e.charAt(i++))<<12|(n=is.indexOf(e.charAt(i++)))<<6|(s=is.indexOf(e.charAt(i++))),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 ls=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 i(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 i=t.tempFiles,a=i.length;let o=0;return new Promise((n=>{for(;o<s;)l();function l(){const s=o++;if(s>=a)return void(!i.find((e=>!e.url&&!e.errMsg))&&n(t));const c=i[s];e.uploadFile({filePath:c.path,cloudPath:c.cloudPath,fileType:c.fileType,onUploadProgress(e){e.index=s,e.tempFile=c,e.tempFilePath=c.path,r&&r(e)}}).then((e=>{c.url=e.fileID,s<a&&l()})).catch((e=>{c.errMsg=e.errMsg||e.message,s<a&&l()}))}}))}(e,t,5,r)))}t.initChooseAndUploadFile=function(e){return function(t={type:"all"}){return"image"===t.type?i(e,function(e){const{count:t,sizeType:n,sourceType:i=["album","camera"],extension:a}=e;return new Promise(((e,o)=>{m({count:t,sizeType:n,sourceType:i,extension:a,success(t){e(r(t,"image"))},fail(e){o({errMsg:e.errMsg.replace("chooseImage:fail",s)})}})}))}(t),t):"video"===t.type?i(e,function(e){const{camera:t,compressed:n,maxDuration:i,sourceType:a=["album","camera"],extension:o}=e;return new Promise(((e,l)=>{y({camera:t,compressed:n,maxDuration:i,sourceType:a,extension:o,success(t){const{tempFilePath:n,duration:s,size:i,height:a,width:o}=t;e(r({errMsg:"chooseVideo:ok",tempFilePaths:[n],tempFiles:[{name:t.tempFile&&t.tempFile.name||"",path:n,size:i,type:t.tempFile&&t.tempFile.type||"",width:o,height:a,duration:s,fileType:"video",cloudPath:""}]},"video"))},fail(e){l({errMsg:e.errMsg.replace("chooseVideo:fail",s)})}})}))}(t),t):i(e,function(e){const{count:t,extension:n}=e;return new Promise(((e,i)=>{let a=b;if("undefined"!=typeof wx&&"function"==typeof wx.chooseMessageFile&&(a=wx.chooseMessageFile),"function"!=typeof a)return i({errMsg:s+" 请指定 type 类型,该平台仅支持选择 image 或 video。"});a({type:"all",count:t,extension:n,success(t){e(r(t))},fail(e){i({errMsg:e.errMsg.replace("chooseFile:fail",s)})}})}))}(t),t)}}})));function cs(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:{}}),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.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 i=e?s.length?s[0]:void 0:s;this.mixinDatacomResData=i,t&&t(i)})).catch((e=>{this.mixinDatacomLoading=!1,this.mixinDatacomErrorMessage=e,n&&n(e)})))},mixinDatacomGet(t={}){let n=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 i=t.where||this.where;i&&Object.keys(i).length&&(n=n.where(i));const a=t.field||this.field;a&&(n=n.field(a));const o=t.foreignKey||this.foreignKey;o&&(n=n.foreignKey(o));const l=t.groupby||this.groupby;l&&(n=n.groupBy(l));const c=t.groupField||this.groupField;c&&(n=n.groupField(c)),!0===(void 0!==t.distinct?t.distinct:this.distinct)&&(n=n.distinct());const u=t.orderby||this.orderby;u&&(n=n.orderBy(u));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,g=void 0!==t.gettree?t.gettree:this.gettree,p=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 g&&(m.getTree=y),p&&(m.getTreePath=y),n=n.skip(d*(h-1)).limit(d).get(m),n}}}}function us(e){return pe("_globalUniCloudSecureNetworkCache__{spaceId}".replace("{spaceId}",e.config.spaceId))}async function hs({openid:e,callLoginByWeixin:t=!1}={}){throw us(this),new Error("[SecureNetwork] API `initSecureNetworkByWeixin` is not supported on platform `web`")}async function ds(e){const t=us(this);return t.initPromise||(t.initPromise=hs.call(this,e)),t.initPromise}function fs(e){const t={getSystemInfo:F,getPushClientId:U};return function(n){return new Promise(((s,r)=>{t[e]({...n,success(e){s(e)},fail(e){r(e)}})}))}}class gs 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([fs("getSystemInfo")(),fs("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(){k(this._uniPushMessageCallback)}_destroy(){P(this._uniPushMessageCallback)}toJSON(){return{appId:this._appId,pushClientId:this._pushClientId,seqId:this._seqId}}close(){this._destroy(),this.emit("close")}}const ps={tcb:on,tencent:on,aliyun:et,private:cn};let ms=new class{init(n){let s={};const r=ps[n.provider];if(!r)throw new Error("未提供正确的provider参数");var i;return s=r.init(n),function(e){e._initPromiseHub||(e._initPromiseHub=new ce({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()))}}))}(s),Tn(s),function(e){const t=e.uploadFile;e.uploadFile=function(e){return t.call(this,e)}}(s),(i=s).database=function(e){if(e&&Object.keys(e).length>0)return i.init(e).database();if(this._database)return this._database;const t=Cn(En,{uniClient:i});return this._database=t,t},i.databaseForJQL=function(e){if(e&&Object.keys(e).length>0)return i.init(e).databaseForJQL();if(this._databaseForJQL)return this._databaseForJQL;const t=Cn(En,{uniClient:i,isJQL:!0});return this._databaseForJQL=t,t},function(n){n.getCurrentUserInfo=os,n.chooseAndUploadFile=ls.initChooseAndUploadFile(n),Object.assign(n,{get mixinDatacom(){return cs(n)}}),n.SSEChannel=gs,n.initSecureNetworkByWeixin=function(e){return function({openid:t,callLoginByWeixin:n=!1}={}){return ds.call(e,{openid:t,callLoginByWeixin:n})}}(n),n.importObject=function(s){return function(r,i={}){i=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}},i);const{customUI:a,loadingOptions:o,errorOptions:l,parseSystemError:c}=i,u=!a;return new Proxy({},{get:(a,h)=>function({fn:e,interceptorName:t,getCallbackArgs:n}={}){return async function(...s){const r=n?n({params:s}):{};let i,a;try{return await be(Te(t,"invoke"),{...r}),i=await e(...s),await be(Te(t,"success"),{...r,result:i}),i}catch(o){throw a=o,await be(Te(t,"fail"),{...r,error:a}),a}finally{await be(Te(t,"complete"),a?{...r,error:a}:{...r,result:i})}}}({fn:async function a(...d){let f;u&&T({title:o.title,mask:o.mask});const g={name:r,type:"OBJECT",data:{method:h,params:d}};"object"==typeof i.secretMethods&&function(e,t){const n=t.data.method,s=e.secretMethods||{},r=s[n]||s["*"];r&&(t.secretType=r)}(i,g);let p=!1;try{f=await s.callFunction(g)}catch(n){p=!0,f={result:new Me(n)}}const{errSubject:m,errCode:y,errMsg:_,newToken:v}=f.result||{};if(u&&w(),v&&v.token&&v.tokenExpired&&($e(v),Ee(xe,{...v})),y){let n=_;if(p&&c&&(n=(await c({objectName:r,methodName:h,params:d,errSubject:m,errCode:y,errMsg:_})).errMsg||_),u)if("toast"===l.type)e({title:n,icon:"none"});else{if("modal"!==l.type)throw new Error(`Invalid errorOptions.type: ${l.type}`);{const{confirm:e}=await async function({title:e,content:n,showCancel:s,cancelText:r,confirmText:i}={}){return new Promise(((a,o)=>{t({title:e,content:n,showCancel:s,cancelText:r,confirmText:i,success(e){a(e)},fail(){a({confirm:!1,cancel:!0})}})}))}({title:"提示",content:n,showCancel:l.retry,cancelText:"取消",confirmText:l.retry?"重试":"确定"});if(l.retry&&e)return a(...d)}}const s=new Me({subject:m,code:y,message:_,requestId:f.requestId});throw s.detail=f.result,Ee(Pe,{type:Re,content:s}),s}return Ee(Pe,{type:Re,content:f.result}),f.result},interceptorName:"callObject",getCallbackArgs:function({params:e}={}){return{objectName:r,methodName:h,params:e}}})})}}(n)}(s),["callFunction","uploadFile","deleteFile","getTempFileURL","downloadFile","chooseAndUploadFile"].forEach((e=>{if(!s[e])return;const t=s[e];var n,r;s[e]=function(){return t.apply(s,Array.from(arguments))},s[e]=(n=s[e],r=e,function(e){let t=!1;if("callFunction"===r){const n=e&&e.type||ee;t=n!==ee}const s="callFunction"===r&&!t,i=this._initPromiseHub.exec();e=e||{};const{success:a,fail:o,complete:l}=Ue(e),c=i.then((()=>t?Promise.resolve():be(Te(r,"invoke"),e))).then((()=>n.call(this,e))).then((e=>t?Promise.resolve(e):be(Te(r,"success"),e).then((()=>be(Te(r,"complete"),e))).then((()=>(s&&Ee(Pe,{type:Ie,content:e}),Promise.resolve(e))))),(e=>t?Promise.reject(e):be(Te(r,"fail"),e).then((()=>be(Te(r,"complete"),e))).then((()=>(Ee(Pe,{type:Ie,content:e}),Promise.reject(e))))));if(!(a||o||l))return c;c.then((e=>{a&&a(e),l&&l(e),s&&Ee(Pe,{type:Ie,content:e})}),(e=>{o&&o(e),l&&l(e),s&&Ee(Pe,{type:Ie,content:e})}))}).bind(s)})),s.init=this.init,s}};(()=>{const e=de;let t={};if(e&&1===e.length)t=e[0],ms=ms.init(t),ms._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=>{ms[e]=function(){return console.error(n),Promise.reject(new Me({code:"SYS_ERR",message:n}))}}))}Object.assign(ms,{get mixinDatacom(){return cs(ms)}}),ss(ms),ms.addInterceptor=_e,ms.removeInterceptor=ve,ms.interceptObject=we})();var ys=ms,_s={email:/^\S+?@\S+?\.\S+?$/,idcard:/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,url:new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$","i")};const vs={int:"integer",bool:"boolean",double:"number",long:"number",password:"string"};function bs(e,t=""){["label"].forEach((t=>{void 0===e[t]&&(e[t]="")}));let n=t;for(let s in e){let t=new RegExp("{"+s+"}");n=n.replace(t,e[s])}return n}const Ts={integer:e=>Ts.number(e)&&parseInt(e,10)===e,string:e=>"string"==typeof e,number:e=>!isNaN(e)&&"number"==typeof e,boolean:function(e){return"boolean"==typeof e},float:function(e){return Ts.number(e)&&!Ts.integer(e)},array:e=>Array.isArray(e),object:e=>"object"==typeof e&&!Ts.array(e),date:e=>e instanceof Date,timestamp(e){return!(!this.integer(e)||Math.abs(e).toString().length>16)},file:e=>"string"==typeof e.url,email:e=>"string"==typeof e&&!!e.match(_s.email)&&e.length<255,url:e=>"string"==typeof e&&!!e.match(_s.url),pattern(e,t){try{return new RegExp(e).test(t)}catch(st){return!1}},method:e=>"function"==typeof e,idcard:e=>"string"==typeof e&&!!e.match(_s.idcard),"url-https"(e){return this.url(e)&&e.startsWith("https://")},"url-scheme":e=>e.startsWith("://"),"url-web":e=>!1};const ws={required:(e,t,n)=>e.required&&function(e,t){return null==e||"string"==typeof e&&!e||!(!Array.isArray(e)||e.length)||"object"===t&&!Object.keys(e).length}(t,e.format||typeof t)?bs(e,e.errorMessage||n.required):null,range(e,t,n){const{range:s,errorMessage:r}=e;let i=new Array(s.length);for(let o=0;o<s.length;o++){const e=s[o];Ts.object(e)&&void 0!==e.value?i[o]=e.value:i[o]=e}let a=!1;return Array.isArray(t)?a=new Set(t.concat(i)).size===i.length:i.indexOf(t)>-1&&(a=!0),a?null:bs(e,r||n.enum)},rangeNumber(e,t,n){if(!Ts.number(t))return bs(e,e.errorMessage||n.pattern.mismatch);let{minimum:s,maximum:r,exclusiveMinimum:i,exclusiveMaximum:a}=e,o=i?t<=s:t<s,l=a?t>=r:t>r;return void 0!==s&&o?bs(e,e.errorMessage||n.number[i?"exclusiveMinimum":"minimum"]):void 0!==r&&l?bs(e,e.errorMessage||n.number[a?"exclusiveMaximum":"maximum"]):void 0!==s&&void 0!==r&&(o||l)?bs(e,e.errorMessage||n.number.range):null},rangeLength(e,t,n){if(!Ts.string(t)&&!Ts.array(t))return bs(e,e.errorMessage||n.pattern.mismatch);let s=e.minLength,r=e.maxLength,i=t.length;return void 0!==s&&i<s?bs(e,e.errorMessage||n.length.minLength):void 0!==r&&i>r?bs(e,e.errorMessage||n.length.maxLength):void 0!==s&&void 0!==r&&(i<s||i>r)?bs(e,e.errorMessage||n.length.range):null},pattern:(e,t,n)=>Ts.pattern(e.pattern,t)?null:bs(e,e.errorMessage||n.pattern.mismatch),format(e,t,n){var s=Object.keys(Ts),r=vs[e.format]?vs[e.format]:e.format||e.arrayType;return s.indexOf(r)>-1&&!Ts[r](t)?bs(e,e.errorMessage||n.typeError):null},arrayTypeFormat(e,t,n){if(!Array.isArray(t))return bs(e,e.errorMessage||n.typeError);for(let s=0;s<t.length;s++){const r=t[s];let i=this.format(e,r,n);if(null!==i)return i}return null}};class ks extends class{constructor(e){this._message=e}async validateRule(e,t,n,s,r){var i=null;let a=t.rules;if(a.findIndex((e=>e.required))<0){if(null==n)return i;if("string"==typeof n&&!n.length)return i}var o=this._message;if(void 0===a)return o.default;for(var l=0;l<a.length;l++){let c=a[l],u=this._getValidateType(c);if(Object.assign(c,{label:t.label||`["${e}"]`}),ws[u]&&null!=(i=ws[u](c,n,o)))break;if(c.validateExpr){let e=Date.now();if(!1===c.validateExpr(n,r,e)){i=this._getMessage(c,c.errorMessage||this._message.default);break}}if(c.validateFunction&&null!==(i=await this.validateFunction(c,n,s,r,u)))break}return null!==i&&(i=o.TAG+i),i}async validateFunction(e,t,n,s,r){let i=null;try{let a=null;const o=await e.validateFunction(e,t,s||n,(e=>{a=e}));(a||"string"==typeof o&&o||!1===o)&&(i=this._getMessage(e,a||o,r))}catch(st){i=this._getMessage(e,st.message,r)}return i}_getMessage(e,t,n){return bs(e,t||e.errorMessage||this._message[n]||t.default)}_getValidateType(e){var t="";return e.required?t="required":e.format?t="format":e.arrayType?t="arrayTypeFormat":e.range?t="range":void 0!==e.maximum||void 0!==e.minimum?t="rangeNumber":void 0!==e.maxLength||void 0!==e.minLength?t="rangeLength":e.pattern?t="pattern":e.validateFunction&&(t="validateFunction"),t}}{constructor(e,t){super(ks.message),this._schema=e,this._options=t||null}updateSchema(e){this._schema=e}async validate(e,t){let n=this._checkFieldInSchema(e);return n||(n=await this.invokeValidate(e,!1,t)),n.length?n[0]:null}async validateAll(e,t){let n=this._checkFieldInSchema(e);return n||(n=await this.invokeValidate(e,!0,t)),n}async validateUpdate(e,t){let n=this._checkFieldInSchema(e);return n||(n=await this.invokeValidateUpdate(e,!1,t)),n.length?n[0]:null}async invokeValidate(e,t,n){let s=[],r=this._schema;for(let i in r){let a=r[i],o=await this.validateRule(i,a,e[i],e,n);if(null!=o&&(s.push({key:i,errorMessage:o}),!t))break}return s}async invokeValidateUpdate(e,t,n){let s=[];for(let r in e){let i=await this.validateRule(r,this._schema[r],e[r],e,n);if(null!=i&&(s.push({key:r,errorMessage:i}),!t))break}return s}_checkFieldInSchema(e){var t=Object.keys(e),n=Object.keys(this._schema);if(new Set(t.concat(n)).size===n.length)return"";var s=t.filter((e=>n.indexOf(e)<0));return[{key:"invalid",errorMessage:bs({field:JSON.stringify(s)},ks.message.TAG+ks.message.defaultInvalid)}]}}ks.message=new function(){return{TAG:"",default:"验证错误",defaultInvalid:"提交的字段{field}在数据库中并不存在",validateFunction:"验证无效",required:"{label}必填",enum:"{label}超出范围",timestamp:"{label}格式无效",whitespace:"{label}不能为空",typeError:"{label}类型无效",date:{format:"{label}日期{value}格式无效",parse:"{label}日期无法解析,{value}无效",invalid:"{label}日期{value}无效"},length:{minLength:"{label}长度不能少于{minLength}",maxLength:"{label}长度不能超过{maxLength}",range:"{label}必须介于{minLength}和{maxLength}之间"},number:{minimum:"{label}不能小于{minimum}",maximum:"{label}不能大于{maximum}",exclusiveMinimum:"{label}不能小于等于{minimum}",exclusiveMaximum:"{label}不能大于等于{maximum}",range:"{label}必须介于{minimum}and{maximum}之间"},pattern:{mismatch:"{label}格式不匹配"}}};const Ps=W({name:"uniForms",components:{},emits:["input","reset","validate","submit"],props:{value:{type:Object,default:()=>({})},modelValue:{type:Object,default:()=>({})},rules:{type:Object,default:()=>({})},validateTrigger:{type:String,default:""},labelPosition:{type:String,default:"left"},labelWidth:{type:[String,Number],default:""},labelAlign:{type:String,default:"left"},errShowType:{type:String,default:"undertext"},border:{type:Boolean,default:!1}},data:()=>({formData:{}}),computed:{dataValue(){return"{}"===JSON.stringify(this.modelValue)?this.value:this.modelValue}},watch:{rules(e){this.init(e)},labelPosition(){this.childrens.forEach((e=>{e.init()}))}},created(){q().$vm.$.appContext.config.globalProperties.binddata||(q().$vm.$.appContext.config.globalProperties.binddata=function(e,t,n){if(n)this.$refs[n].setValue(e,t);else{let n;for(let e in this.$refs){const t=this.$refs[e];if(t&&t.$options&&"uniForms"===t.$options.name){n=t;break}}if(!n)return console.error("当前 uni-froms 组件缺少 ref 属性");n.setValue(e,t)}}),this.unwatchs=[],this.childrens=[],this.inputChildrens=[],this.checkboxChildrens=[],this.formRules=[],this.init(this.rules)},methods:{init(e){0!==Object.keys(e).length?(this.formRules=e,this.validator=new ks(e),this.registerWatch()):this.formData=this.dataValue},registerWatch(){this.unwatchs.forEach((e=>e())),this.childrens.forEach((e=>{e.init()})),Object.keys(this.dataValue).forEach((e=>{let t=this.$watch("dataValue."+e,(t=>{if(t)if("[object Object]"===t.toString())for(let n in t){let s=`${e}[${n}]`;this.formData[s]=this._getValue(s,t[n])}else this.formData[e]=this._getValue(e,t)}),{deep:!0,immediate:!0});this.unwatchs.push(t)}))},setRules(e){this.init(e)},setValue(e,t,n){let s=this.childrens.find((t=>t.name===e));return s?(t=this._getValue(s.name,t),this.formData[e]=t,s.val=t,s.triggerCheck(t,n)):null},resetForm(e){this.childrens.forEach((e=>{e.errMsg="";const t=this.inputChildrens.find((t=>t.rename===e.name));t&&(t.errMsg="",t.is_reset=!0,t.$emit("input",t.multiple?[]:""),t.$emit("update:modelValue",t.multiple?[]:""))})),this.childrens.forEach((e=>{e.name&&(this.formData[e.name]=this._getValue(e.name,""))})),this.$emit("reset",e)},validateCheck(e){null===e&&(e=null),this.$emit("validate",e)},async validateAll(e,t,n,s){let r,i=[];for(let l in e){const e=this.childrens.find((e=>e.name===l));e&&i.push(e)}s||"function"!=typeof n||(s=n),!s&&"function"!=typeof s&&Promise&&(r=new Promise(((e,t)=>{s=function(n,s){n?t(n):e(s)}})));let a=[],o={};if(this.validator)for(let l in i){const t=i[l];let n=t.isArray?t.arrayField:t.name;if(t.isArray){if(-1!==t.name.indexOf("[")&&-1!==t.name.indexOf("]")){const s=t.name.split("["),r=s[0],i=s[1].replace("]","");o[r]||(o[r]={}),o[r][i]=this._getValue(n,e[n])}}else o[n]=this._getValue(n,e[n]);const s=await t.triggerCheck(e[n],!0);if(s&&(a.push(s),"toast"===this.errShowType||"modal"===this.errShowType))break}else o=e;return Array.isArray(a)&&0===a.length&&(a=null),Array.isArray(n)&&n.forEach((e=>{o[e]=this.dataValue[e]})),"submit"===t?this.$emit("submit",{detail:{value:o,errors:a}}):this.$emit("validate",a),s&&"function"==typeof s&&s(a,o),r&&s?r:null},submitForm(){},submit(e,t,n){for(let s in this.dataValue){this.childrens.find((e=>e.name===s))&&void 0===this.formData[s]&&(this.formData[s]=this._getValue(s,this.dataValue[s]))}return n||console.warn("submit 方法即将废弃,请使用validate方法代替!"),this.validateAll(this.formData,"submit",e,t)},validate(e,t){return this.submit(e,t,!0)},validateField(e,t){e=[].concat(e);let n={};return this.childrens.forEach((t=>{-1!==e.indexOf(t.name)&&(n=Object.assign({},n,{[t.name]:this.formData[t.name]}))})),this.validateAll(n,"submit",[],t)},resetFields(){this.resetForm()},clearValidate(e){e=[].concat(e),this.childrens.forEach((t=>{const n=this.inputChildrens.find((e=>e.rename===t.name));(0===e.length||-1!==e.indexOf(t.name))&&(t.errMsg="",n&&(n.errMsg=""))}))},_getValue(e,t){const n=this.formRules[e]&&this.formRules[e].rules||[],s=n.find((e=>e.format&&this.type_filter(e.format))),r=n.find((e=>e.format&&"boolean"===e.format||"bool"===e.format));return s&&(t=isNaN(t)?t:""===t||null===t?null:Number(t)),r&&(t=!!t),t},type_filter:e=>"int"===e||"double"===e||"number"===e||"timestamp"===e}},[["render",function(e,t,n,l,u,h){const d=$,f=g;return s(),r(f,{class:o(["uni-forms",{"uni-forms--top":!n.border}])},{default:i((()=>[a(d,{onSubmit:j(h.submitForm,["stop"]),onReset:h.resetForm},{default:i((()=>[c(e.$slots,"default",{},void 0,!0)])),_:3},8,["onSubmit","onReset"])])),_:3},8,["class"])}],["__scopeId","data-v-c8dcab61"]]);export{ys as D,z as _,Ps as a};