Comparing version 0.7.11 to 0.7.12
@@ -14,2 +14,2 @@ var Mu=Object.defineProperty,Ru=Object.defineProperties;var Du=Object.getOwnPropertyDescriptors;var Tr=Object.getOwnPropertySymbols;var Uu=Object.prototype.hasOwnProperty,Gu=Object.prototype.propertyIsEnumerable;var $r=(S,F,j)=>F in S?Mu(S,F,{enumerable:!0,configurable:!0,writable:!0,value:j}):S[F]=j,H=(S,F)=>{for(var j in F||(F={}))Uu.call(F,j)&&$r(S,j,F[j]);if(Tr)for(var j of Tr(F))Gu.call(F,j)&&$r(S,j,F[j]);return S},rt=(S,F)=>Ru(S,Du(F));(function(S,F){typeof exports=="object"&&typeof module!="undefined"?module.exports=F(require("vue-demi"),require("axios")):typeof define=="function"&&define.amd?define(["vue-demi","axios"],F):(S=typeof globalThis!="undefined"?globalThis:S||self,S.admate=F(S.VueDemi,S.axios))})(this,function(S,F){"use strict";var j=typeof global=="object"&&global&&global.Object===Object&&global,nt=j,_r=typeof self=="object"&&self&&self.Object===Object&&self,wr=nt||_r||Function("return this")(),L=wr,Or=L.Symbol,C=Or,at=Object.prototype,Sr=at.hasOwnProperty,Pr=at.toString,re=C?C.toStringTag:void 0;function Er(e){var t=Sr.call(e,re),r=e[re];try{e[re]=void 0;var n=!0}catch{}var a=Pr.call(e);return n&&(t?e[re]=r:delete e[re]),a}var Nr=Object.prototype,Fr=Nr.toString;function Ir(e){return Fr.call(e)}var xr="[object Null]",jr="[object Undefined]",it=C?C.toStringTag:void 0;function W(e){return e==null?e===void 0?jr:xr:it&&it in Object(e)?Er(e):Ir(e)}function D(e){return e!=null&&typeof e=="object"}var Cr="[object Symbol]";function de(e){return typeof e=="symbol"||D(e)&&W(e)==Cr}function Lr(e,t){for(var r=-1,n=e==null?0:e.length,a=Array(n);++r<n;)a[r]=t(e[r],r,e);return a}var Mr=Array.isArray,I=Mr,Rr=1/0,ot=C?C.prototype:void 0,ft=ot?ot.toString:void 0;function ut(e){if(typeof e=="string")return e;if(I(e))return Lr(e,ut)+"";if(de(e))return ft?ft.call(e):"";var t=e+"";return t=="0"&&1/e==-Rr?"-0":t}var Dr=/\s/;function Ur(e){for(var t=e.length;t--&&Dr.test(e.charAt(t)););return t}var Gr=/^\s+/;function Br(e){return e&&e.slice(0,Ur(e)+1).replace(Gr,"")}function x(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var st=0/0,Hr=/^[-+]0x[0-9a-f]+$/i,Wr=/^0b[01]+$/i,Kr=/^0o[0-7]+$/i,zr=parseInt;function lt(e){if(typeof e=="number")return e;if(de(e))return st;if(x(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=x(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=Br(e);var r=Wr.test(e);return r||Kr.test(e)?zr(e.slice(2),r?2:8):Hr.test(e)?st:+e}function Pe(e){return e}var Zr="[object AsyncFunction]",qr="[object Function]",Xr="[object GeneratorFunction]",Yr="[object Proxy]";function Ee(e){if(!x(e))return!1;var t=W(e);return t==qr||t==Xr||t==Zr||t==Yr}var Jr=L["__core-js_shared__"],Ne=Jr,ct=function(){var e=/[^.]+$/.exec(Ne&&Ne.keys&&Ne.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Qr(e){return!!ct&&ct in e}var Vr=Function.prototype,kr=Vr.toString;function K(e){if(e!=null){try{return kr.call(e)}catch{}try{return e+""}catch{}}return""}var en=/[\\^$.*+?()[\]{}|]/g,tn=/^\[object .+?Constructor\]$/,rn=Function.prototype,nn=Object.prototype,an=rn.toString,on=nn.hasOwnProperty,fn=RegExp("^"+an.call(on).replace(en,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function un(e){if(!x(e)||Qr(e))return!1;var t=Ee(e)?fn:tn;return t.test(K(e))}function sn(e,t){return e==null?void 0:e[t]}function z(e,t){var r=sn(e,t);return un(r)?r:void 0}var ln=z(L,"WeakMap"),Fe=ln,dt=Object.create,cn=function(){function e(){}return function(t){if(!x(t))return{};if(dt)return dt(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}(),dn=cn;function gn(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}function gt(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}var pn=800,hn=16,bn=Date.now;function yn(e){var t=0,r=0;return function(){var n=bn(),a=hn-(n-r);if(r=n,a>0){if(++t>=pn)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function vn(e){return function(){return e}}var mn=function(){try{var e=z(Object,"defineProperty");return e({},"",{}),e}catch{}}(),ge=mn,An=ge?function(e,t){return ge(e,"toString",{configurable:!0,enumerable:!1,value:vn(t),writable:!0})}:Pe,Tn=An,$n=yn(Tn),pt=$n;function _n(e,t){for(var r=-1,n=e==null?0:e.length;++r<n&&t(e[r],r,e)!==!1;);return e}var wn=9007199254740991,On=/^(?:0|[1-9]\d*)$/;function Ie(e,t){var r=typeof e;return t=t==null?wn:t,!!t&&(r=="number"||r!="symbol"&&On.test(e))&&e>-1&&e%1==0&&e<t}function pe(e,t,r){t=="__proto__"&&ge?ge(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}function ne(e,t){return e===t||e!==e&&t!==t}var Sn=Object.prototype,Pn=Sn.hasOwnProperty;function ht(e,t,r){var n=e[t];(!(Pn.call(e,t)&&ne(n,r))||r===void 0&&!(t in e))&&pe(e,t,r)}function Z(e,t,r,n){var a=!r;r||(r={});for(var i=-1,f=t.length;++i<f;){var o=t[i],u=n?n(r[o],e[o],o,r,e):void 0;u===void 0&&(u=e[o]),a?pe(r,o,u):ht(r,o,u)}return r}var bt=Math.max;function yt(e,t,r){return t=bt(t===void 0?e.length-1:t,0),function(){for(var n=arguments,a=-1,i=bt(n.length-t,0),f=Array(i);++a<i;)f[a]=n[t+a];a=-1;for(var o=Array(t+1);++a<t;)o[a]=n[a];return o[t]=r(f),gn(e,this,o)}}function En(e,t){return pt(yt(e,t,Pe),e+"")}var Nn=9007199254740991;function xe(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Nn}function he(e){return e!=null&&xe(e.length)&&!Ee(e)}function Fn(e,t,r){if(!x(r))return!1;var n=typeof t;return(n=="number"?he(r)&&Ie(t,r.length):n=="string"&&t in r)?ne(r[t],e):!1}function be(e){return En(function(t,r){var n=-1,a=r.length,i=a>1?r[a-1]:void 0,f=a>2?r[2]:void 0;for(i=e.length>3&&typeof i=="function"?(a--,i):void 0,f&&Fn(r[0],r[1],f)&&(i=a<3?void 0:i,a=1),t=Object(t);++n<a;){var o=r[n];o&&e(t,o,n,i)}return t})}var In=Object.prototype;function je(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||In;return e===r}function xn(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}var jn="[object Arguments]";function vt(e){return D(e)&&W(e)==jn}var mt=Object.prototype,Cn=mt.hasOwnProperty,Ln=mt.propertyIsEnumerable,Mn=vt(function(){return arguments}())?vt:function(e){return D(e)&&Cn.call(e,"callee")&&!Ln.call(e,"callee")},ae=Mn;function Rn(){return!1}var At=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Tt=At&&typeof module=="object"&&module&&!module.nodeType&&module,Dn=Tt&&Tt.exports===At,$t=Dn?L.Buffer:void 0,Un=$t?$t.isBuffer:void 0,Gn=Un||Rn,ie=Gn,Bn="[object Arguments]",Hn="[object Array]",Wn="[object Boolean]",Kn="[object Date]",zn="[object Error]",Zn="[object Function]",qn="[object Map]",Xn="[object Number]",Yn="[object Object]",Jn="[object RegExp]",Qn="[object Set]",Vn="[object String]",kn="[object WeakMap]",ea="[object ArrayBuffer]",ta="[object DataView]",ra="[object Float32Array]",na="[object Float64Array]",aa="[object Int8Array]",ia="[object Int16Array]",oa="[object Int32Array]",fa="[object Uint8Array]",ua="[object Uint8ClampedArray]",sa="[object Uint16Array]",la="[object Uint32Array]",w={};w[ra]=w[na]=w[aa]=w[ia]=w[oa]=w[fa]=w[ua]=w[sa]=w[la]=!0,w[Bn]=w[Hn]=w[ea]=w[Wn]=w[ta]=w[Kn]=w[zn]=w[Zn]=w[qn]=w[Xn]=w[Yn]=w[Jn]=w[Qn]=w[Vn]=w[kn]=!1;function ca(e){return D(e)&&xe(e.length)&&!!w[W(e)]}function Ce(e){return function(t){return e(t)}}var _t=typeof exports=="object"&&exports&&!exports.nodeType&&exports,oe=_t&&typeof module=="object"&&module&&!module.nodeType&&module,da=oe&&oe.exports===_t,Le=da&&nt.process,ga=function(){try{var e=oe&&oe.require&&oe.require("util").types;return e||Le&&Le.binding&&Le.binding("util")}catch{}}(),Q=ga,wt=Q&&Q.isTypedArray,pa=wt?Ce(wt):ca,Me=pa,ha=Object.prototype,ba=ha.hasOwnProperty;function Ot(e,t){var r=I(e),n=!r&&ae(e),a=!r&&!n&&ie(e),i=!r&&!n&&!a&&Me(e),f=r||n||a||i,o=f?xn(e.length,String):[],u=o.length;for(var l in e)(t||ba.call(e,l))&&!(f&&(l=="length"||a&&(l=="offset"||l=="parent")||i&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||Ie(l,u)))&&o.push(l);return o}function St(e,t){return function(r){return e(t(r))}}var ya=St(Object.keys,Object),va=ya,ma=Object.prototype,Aa=ma.hasOwnProperty;function Ta(e){if(!je(e))return va(e);var t=[];for(var r in Object(e))Aa.call(e,r)&&r!="constructor"&&t.push(r);return t}function fe(e){return he(e)?Ot(e):Ta(e)}function $a(e){var t=[];if(e!=null)for(var r in Object(e))t.push(r);return t}var _a=Object.prototype,wa=_a.hasOwnProperty;function Oa(e){if(!x(e))return $a(e);var t=je(e),r=[];for(var n in e)n=="constructor"&&(t||!wa.call(e,n))||r.push(n);return r}function q(e){return he(e)?Ot(e,!0):Oa(e)}var Sa=be(function(e,t){Z(t,q(t),e)}),Pt=Sa,Pa=be(function(e,t,r,n){Z(t,q(t),e,n)}),Ea=Pa,Na=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Fa=/^\w*$/;function Re(e,t){if(I(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||de(e)?!0:Fa.test(e)||!Na.test(e)||t!=null&&e in Object(t)}var Ia=z(Object,"create"),ue=Ia;function xa(){this.__data__=ue?ue(null):{},this.size=0}function ja(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Ca="__lodash_hash_undefined__",La=Object.prototype,Ma=La.hasOwnProperty;function Ra(e){var t=this.__data__;if(ue){var r=t[e];return r===Ca?void 0:r}return Ma.call(t,e)?t[e]:void 0}var Da=Object.prototype,Ua=Da.hasOwnProperty;function Ga(e){var t=this.__data__;return ue?t[e]!==void 0:Ua.call(t,e)}var Ba="__lodash_hash_undefined__";function Ha(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=ue&&t===void 0?Ba:t,this}function X(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}X.prototype.clear=xa,X.prototype.delete=ja,X.prototype.get=Ra,X.prototype.has=Ga,X.prototype.set=Ha;function Wa(){this.__data__=[],this.size=0}function ye(e,t){for(var r=e.length;r--;)if(ne(e[r][0],t))return r;return-1}var Ka=Array.prototype,za=Ka.splice;function Za(e){var t=this.__data__,r=ye(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():za.call(t,r,1),--this.size,!0}function qa(e){var t=this.__data__,r=ye(t,e);return r<0?void 0:t[r][1]}function Xa(e){return ye(this.__data__,e)>-1}function Ya(e,t){var r=this.__data__,n=ye(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function G(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}G.prototype.clear=Wa,G.prototype.delete=Za,G.prototype.get=qa,G.prototype.has=Xa,G.prototype.set=Ya;var Ja=z(L,"Map"),se=Ja;function Qa(){this.size=0,this.__data__={hash:new X,map:new(se||G),string:new X}}function Va(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function ve(e,t){var r=e.__data__;return Va(t)?r[typeof t=="string"?"string":"hash"]:r.map}function ka(e){var t=ve(this,e).delete(e);return this.size-=t?1:0,t}function ei(e){return ve(this,e).get(e)}function ti(e){return ve(this,e).has(e)}function ri(e,t){var r=ve(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}function B(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}B.prototype.clear=Qa,B.prototype.delete=ka,B.prototype.get=ei,B.prototype.has=ti,B.prototype.set=ri;var ni="Expected a function";function De(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(ni);var r=function(){var n=arguments,a=t?t.apply(this,n):n[0],i=r.cache;if(i.has(a))return i.get(a);var f=e.apply(this,n);return r.cache=i.set(a,f)||i,f};return r.cache=new(De.Cache||B),r}De.Cache=B;var ai=500;function ii(e){var t=De(e,function(n){return r.size===ai&&r.clear(),n}),r=t.cache;return t}var oi=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,fi=/\\(\\)?/g,ui=ii(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(oi,function(r,n,a,i){t.push(a?i.replace(fi,"$1"):n||r)}),t}),si=ui;function li(e){return e==null?"":ut(e)}function Et(e,t){return I(e)?e:Re(e,t)?[e]:si(li(e))}var ci=1/0;function me(e){if(typeof e=="string"||de(e))return e;var t=e+"";return t=="0"&&1/e==-ci?"-0":t}function Nt(e,t){t=Et(t,e);for(var r=0,n=t.length;e!=null&&r<n;)e=e[me(t[r++])];return r&&r==n?e:void 0}function Ft(e,t,r){var n=e==null?void 0:Nt(e,t);return n===void 0?r:n}function di(e,t){for(var r=-1,n=t.length,a=Array(n),i=e==null;++r<n;)a[r]=i?void 0:Ft(e,t[r]);return a}function Ue(e,t){for(var r=-1,n=t.length,a=e.length;++r<n;)e[a+r]=t[r];return e}var It=C?C.isConcatSpreadable:void 0;function gi(e){return I(e)||ae(e)||!!(It&&e&&e[It])}function xt(e,t,r,n,a){var i=-1,f=e.length;for(r||(r=gi),a||(a=[]);++i<f;){var o=e[i];t>0&&r(o)?t>1?xt(o,t-1,r,n,a):Ue(a,o):n||(a[a.length]=o)}return a}function pi(e){var t=e==null?0:e.length;return t?xt(e,1):[]}function hi(e){return pt(yt(e,void 0,pi),e+"")}var bi=hi(di),yi=bi,vi=St(Object.getPrototypeOf,Object),Ge=vi,mi="[object Object]",Ai=Function.prototype,Ti=Object.prototype,jt=Ai.toString,$i=Ti.hasOwnProperty,_i=jt.call(Object);function V(e){if(!D(e)||W(e)!=mi)return!1;var t=Ge(e);if(t===null)return!0;var r=$i.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&jt.call(r)==_i}function wi(){this.__data__=new G,this.size=0}function Oi(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}function Si(e){return this.__data__.get(e)}function Pi(e){return this.__data__.has(e)}var Ei=200;function Ni(e,t){var r=this.__data__;if(r instanceof G){var n=r.__data__;if(!se||n.length<Ei-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new B(n)}return r.set(e,t),this.size=r.size,this}function M(e){var t=this.__data__=new G(e);this.size=t.size}M.prototype.clear=wi,M.prototype.delete=Oi,M.prototype.get=Si,M.prototype.has=Pi,M.prototype.set=Ni;function Fi(e,t){return e&&Z(t,fe(t),e)}function Ii(e,t){return e&&Z(t,q(t),e)}var Ct=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Lt=Ct&&typeof module=="object"&&module&&!module.nodeType&&module,xi=Lt&&Lt.exports===Ct,Mt=xi?L.Buffer:void 0,Rt=Mt?Mt.allocUnsafe:void 0;function Dt(e,t){if(t)return e.slice();var r=e.length,n=Rt?Rt(r):new e.constructor(r);return e.copy(n),n}function ji(e,t){for(var r=-1,n=e==null?0:e.length,a=0,i=[];++r<n;){var f=e[r];t(f,r,e)&&(i[a++]=f)}return i}function Ut(){return[]}var Ci=Object.prototype,Li=Ci.propertyIsEnumerable,Gt=Object.getOwnPropertySymbols,Mi=Gt?function(e){return e==null?[]:(e=Object(e),ji(Gt(e),function(t){return Li.call(e,t)}))}:Ut,Be=Mi;function Ri(e,t){return Z(e,Be(e),t)}var Di=Object.getOwnPropertySymbols,Ui=Di?function(e){for(var t=[];e;)Ue(t,Be(e)),e=Ge(e);return t}:Ut,Bt=Ui;function Gi(e,t){return Z(e,Bt(e),t)}function Ht(e,t,r){var n=t(e);return I(e)?n:Ue(n,r(e))}function He(e){return Ht(e,fe,Be)}function Bi(e){return Ht(e,q,Bt)}var Hi=z(L,"DataView"),We=Hi,Wi=z(L,"Promise"),Ke=Wi,Ki=z(L,"Set"),ze=Ki,Wt="[object Map]",zi="[object Object]",Kt="[object Promise]",zt="[object Set]",Zt="[object WeakMap]",qt="[object DataView]",Zi=K(We),qi=K(se),Xi=K(Ke),Yi=K(ze),Ji=K(Fe),Y=W;(We&&Y(new We(new ArrayBuffer(1)))!=qt||se&&Y(new se)!=Wt||Ke&&Y(Ke.resolve())!=Kt||ze&&Y(new ze)!=zt||Fe&&Y(new Fe)!=Zt)&&(Y=function(e){var t=W(e),r=t==zi?e.constructor:void 0,n=r?K(r):"";if(n)switch(n){case Zi:return qt;case qi:return Wt;case Xi:return Kt;case Yi:return zt;case Ji:return Zt}return t});var le=Y,Qi=Object.prototype,Vi=Qi.hasOwnProperty;function ki(e){var t=e.length,r=new e.constructor(t);return t&&typeof e[0]=="string"&&Vi.call(e,"index")&&(r.index=e.index,r.input=e.input),r}var eo=L.Uint8Array,Ae=eo;function Ze(e){var t=new e.constructor(e.byteLength);return new Ae(t).set(new Ae(e)),t}function to(e,t){var r=t?Ze(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}var ro=/\w*$/;function no(e){var t=new e.constructor(e.source,ro.exec(e));return t.lastIndex=e.lastIndex,t}var Xt=C?C.prototype:void 0,Yt=Xt?Xt.valueOf:void 0;function ao(e){return Yt?Object(Yt.call(e)):{}}function Jt(e,t){var r=t?Ze(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}var io="[object Boolean]",oo="[object Date]",fo="[object Map]",uo="[object Number]",so="[object RegExp]",lo="[object Set]",co="[object String]",go="[object Symbol]",po="[object ArrayBuffer]",ho="[object DataView]",bo="[object Float32Array]",yo="[object Float64Array]",vo="[object Int8Array]",mo="[object Int16Array]",Ao="[object Int32Array]",To="[object Uint8Array]",$o="[object Uint8ClampedArray]",_o="[object Uint16Array]",wo="[object Uint32Array]";function Oo(e,t,r){var n=e.constructor;switch(t){case po:return Ze(e);case io:case oo:return new n(+e);case ho:return to(e,r);case bo:case yo:case vo:case mo:case Ao:case To:case $o:case _o:case wo:return Jt(e,r);case fo:return new n;case uo:case co:return new n(e);case so:return no(e);case lo:return new n;case go:return ao(e)}}function Qt(e){return typeof e.constructor=="function"&&!je(e)?dn(Ge(e)):{}}var So="[object Map]";function Po(e){return D(e)&&le(e)==So}var Vt=Q&&Q.isMap,Eo=Vt?Ce(Vt):Po,No=Eo,Fo="[object Set]";function Io(e){return D(e)&&le(e)==Fo}var kt=Q&&Q.isSet,xo=kt?Ce(kt):Io,jo=xo,Co=1,Lo=2,Mo=4,er="[object Arguments]",Ro="[object Array]",Do="[object Boolean]",Uo="[object Date]",Go="[object Error]",tr="[object Function]",Bo="[object GeneratorFunction]",Ho="[object Map]",Wo="[object Number]",rr="[object Object]",Ko="[object RegExp]",zo="[object Set]",Zo="[object String]",qo="[object Symbol]",Xo="[object WeakMap]",Yo="[object ArrayBuffer]",Jo="[object DataView]",Qo="[object Float32Array]",Vo="[object Float64Array]",ko="[object Int8Array]",ef="[object Int16Array]",tf="[object Int32Array]",rf="[object Uint8Array]",nf="[object Uint8ClampedArray]",af="[object Uint16Array]",of="[object Uint32Array]",_={};_[er]=_[Ro]=_[Yo]=_[Jo]=_[Do]=_[Uo]=_[Qo]=_[Vo]=_[ko]=_[ef]=_[tf]=_[Ho]=_[Wo]=_[rr]=_[Ko]=_[zo]=_[Zo]=_[qo]=_[rf]=_[nf]=_[af]=_[of]=!0,_[Go]=_[tr]=_[Xo]=!1;function Te(e,t,r,n,a,i){var f,o=t&Co,u=t&Lo,l=t&Mo;if(r&&(f=a?r(e,n,a,i):r(e)),f!==void 0)return f;if(!x(e))return e;var c=I(e);if(c){if(f=ki(e),!o)return gt(e,f)}else{var g=le(e),d=g==tr||g==Bo;if(ie(e))return Dt(e,o);if(g==rr||g==er||d&&!a){if(f=u||d?{}:Qt(e),!o)return u?Gi(e,Ii(f,e)):Ri(e,Fi(f,e))}else{if(!_[g])return a?e:{};f=Oo(e,g,o)}}i||(i=new M);var s=i.get(e);if(s)return s;i.set(e,f),jo(e)?e.forEach(function(b){f.add(Te(b,t,r,b,e,i))}):No(e)&&e.forEach(function(b,v){f.set(v,Te(b,t,r,v,e,i))});var h=l?u?Bi:He:u?q:fe,p=c?void 0:h(e);return _n(p||e,function(b,v){p&&(v=b,b=e[v]),ht(f,v,Te(b,t,r,v,e,i))}),f}var ff=1,uf=4;function $e(e){return Te(e,ff|uf)}var sf="__lodash_hash_undefined__";function lf(e){return this.__data__.set(e,sf),this}function cf(e){return this.__data__.has(e)}function _e(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new B;++t<r;)this.add(e[t])}_e.prototype.add=_e.prototype.push=lf,_e.prototype.has=cf;function df(e,t){for(var r=-1,n=e==null?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}function gf(e,t){return e.has(t)}var pf=1,hf=2;function nr(e,t,r,n,a,i){var f=r&pf,o=e.length,u=t.length;if(o!=u&&!(f&&u>o))return!1;var l=i.get(e),c=i.get(t);if(l&&c)return l==t&&c==e;var g=-1,d=!0,s=r&hf?new _e:void 0;for(i.set(e,t),i.set(t,e);++g<o;){var h=e[g],p=t[g];if(n)var b=f?n(p,h,g,t,e,i):n(h,p,g,e,t,i);if(b!==void 0){if(b)continue;d=!1;break}if(s){if(!df(t,function(v,m){if(!gf(s,m)&&(h===v||a(h,v,r,n,i)))return s.push(m)})){d=!1;break}}else if(!(h===p||a(h,p,r,n,i))){d=!1;break}}return i.delete(e),i.delete(t),d}function bf(e){var t=-1,r=Array(e.size);return e.forEach(function(n,a){r[++t]=[a,n]}),r}function yf(e){var t=-1,r=Array(e.size);return e.forEach(function(n){r[++t]=n}),r}var vf=1,mf=2,Af="[object Boolean]",Tf="[object Date]",$f="[object Error]",_f="[object Map]",wf="[object Number]",Of="[object RegExp]",Sf="[object Set]",Pf="[object String]",Ef="[object Symbol]",Nf="[object ArrayBuffer]",Ff="[object DataView]",ar=C?C.prototype:void 0,qe=ar?ar.valueOf:void 0;function If(e,t,r,n,a,i,f){switch(r){case Ff:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Nf:return!(e.byteLength!=t.byteLength||!i(new Ae(e),new Ae(t)));case Af:case Tf:case wf:return ne(+e,+t);case $f:return e.name==t.name&&e.message==t.message;case Of:case Pf:return e==t+"";case _f:var o=bf;case Sf:var u=n&vf;if(o||(o=yf),e.size!=t.size&&!u)return!1;var l=f.get(e);if(l)return l==t;n|=mf,f.set(e,t);var c=nr(o(e),o(t),n,a,i,f);return f.delete(e),c;case Ef:if(qe)return qe.call(e)==qe.call(t)}return!1}var xf=1,jf=Object.prototype,Cf=jf.hasOwnProperty;function Lf(e,t,r,n,a,i){var f=r&xf,o=He(e),u=o.length,l=He(t),c=l.length;if(u!=c&&!f)return!1;for(var g=u;g--;){var d=o[g];if(!(f?d in t:Cf.call(t,d)))return!1}var s=i.get(e),h=i.get(t);if(s&&h)return s==t&&h==e;var p=!0;i.set(e,t),i.set(t,e);for(var b=f;++g<u;){d=o[g];var v=e[d],m=t[d];if(n)var N=f?n(m,v,d,t,e,i):n(v,m,d,e,t,i);if(!(N===void 0?v===m||a(v,m,r,n,i):N)){p=!1;break}b||(b=d=="constructor")}if(p&&!b){var A=e.constructor,O=t.constructor;A!=O&&"constructor"in e&&"constructor"in t&&!(typeof A=="function"&&A instanceof A&&typeof O=="function"&&O instanceof O)&&(p=!1)}return i.delete(e),i.delete(t),p}var Mf=1,ir="[object Arguments]",or="[object Array]",we="[object Object]",Rf=Object.prototype,fr=Rf.hasOwnProperty;function Df(e,t,r,n,a,i){var f=I(e),o=I(t),u=f?or:le(e),l=o?or:le(t);u=u==ir?we:u,l=l==ir?we:l;var c=u==we,g=l==we,d=u==l;if(d&&ie(e)){if(!ie(t))return!1;f=!0,c=!1}if(d&&!c)return i||(i=new M),f||Me(e)?nr(e,t,r,n,a,i):If(e,t,u,r,n,a,i);if(!(r&Mf)){var s=c&&fr.call(e,"__wrapped__"),h=g&&fr.call(t,"__wrapped__");if(s||h){var p=s?e.value():e,b=h?t.value():t;return i||(i=new M),a(p,b,r,n,i)}}return d?(i||(i=new M),Lf(e,t,r,n,a,i)):!1}function Xe(e,t,r,n,a){return e===t?!0:e==null||t==null||!D(e)&&!D(t)?e!==e&&t!==t:Df(e,t,r,n,Xe,a)}var Uf=1,Gf=2;function Bf(e,t,r,n){var a=r.length,i=a,f=!n;if(e==null)return!i;for(e=Object(e);a--;){var o=r[a];if(f&&o[2]?o[1]!==e[o[0]]:!(o[0]in e))return!1}for(;++a<i;){o=r[a];var u=o[0],l=e[u],c=o[1];if(f&&o[2]){if(l===void 0&&!(u in e))return!1}else{var g=new M;if(n)var d=n(l,c,u,e,t,g);if(!(d===void 0?Xe(c,l,Uf|Gf,n,g):d))return!1}}return!0}function ur(e){return e===e&&!x(e)}function Hf(e){for(var t=fe(e),r=t.length;r--;){var n=t[r],a=e[n];t[r]=[n,a,ur(a)]}return t}function sr(e,t){return function(r){return r==null?!1:r[e]===t&&(t!==void 0||e in Object(r))}}function Wf(e){var t=Hf(e);return t.length==1&&t[0][2]?sr(t[0][0],t[0][1]):function(r){return r===e||Bf(r,e,t)}}function Kf(e,t){return e!=null&&t in Object(e)}function zf(e,t,r){t=Et(t,e);for(var n=-1,a=t.length,i=!1;++n<a;){var f=me(t[n]);if(!(i=e!=null&&r(e,f)))break;e=e[f]}return i||++n!=a?i:(a=e==null?0:e.length,!!a&&xe(a)&&Ie(f,a)&&(I(e)||ae(e)))}function Zf(e,t){return e!=null&&zf(e,t,Kf)}var qf=1,Xf=2;function Yf(e,t){return Re(e)&&ur(t)?sr(me(e),t):function(r){var n=Ft(r,e);return n===void 0&&n===t?Zf(r,e):Xe(t,n,qf|Xf)}}function Jf(e){return function(t){return t==null?void 0:t[e]}}function Qf(e){return function(t){return Nt(t,e)}}function Vf(e){return Re(e)?Jf(me(e)):Qf(e)}function kf(e){return typeof e=="function"?e:e==null?Pe:typeof e=="object"?I(e)?Yf(e[0],e[1]):Wf(e):Vf(e)}function eu(e){return function(t,r,n){for(var a=-1,i=Object(t),f=n(t),o=f.length;o--;){var u=f[e?o:++a];if(r(i[u],u,i)===!1)break}return t}}var tu=eu(),lr=tu;function ru(e,t){return e&&lr(e,t,fe)}var nu=function(){return L.Date.now()},Ye=nu,au="Expected a function",iu=Math.max,ou=Math.min;function fu(e,t,r){var n,a,i,f,o,u,l=0,c=!1,g=!1,d=!0;if(typeof e!="function")throw new TypeError(au);t=lt(t)||0,x(r)&&(c=!!r.leading,g="maxWait"in r,i=g?iu(lt(r.maxWait)||0,t):i,d="trailing"in r?!!r.trailing:d);function s(P){var U=n,J=a;return n=a=void 0,l=P,f=e.apply(J,U),f}function h(P){return l=P,o=setTimeout(v,t),c?s(P):f}function p(P){var U=P-u,J=P-l,te=t-U;return g?ou(te,i-J):te}function b(P){var U=P-u,J=P-l;return u===void 0||U>=t||U<0||g&&J>=i}function v(){var P=Ye();if(b(P))return m(P);o=setTimeout(v,p(P))}function m(P){return o=void 0,d&&n?s(P):(n=a=void 0,f)}function N(){o!==void 0&&clearTimeout(o),l=0,n=u=a=o=void 0}function A(){return o===void 0?f:m(Ye())}function O(){var P=Ye(),U=b(P);if(n=arguments,a=this,u=P,U){if(o===void 0)return h(u);if(g)return clearTimeout(o),o=setTimeout(v,t),s(u)}return o===void 0&&(o=setTimeout(v,t)),f}return O.cancel=N,O.flush=A,O}function Je(e,t,r){(r!==void 0&&!ne(e[t],r)||r===void 0&&!(t in e))&&pe(e,t,r)}function uu(e){return D(e)&&he(e)}function Qe(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}function su(e){return Z(e,q(e))}function lu(e,t,r,n,a,i,f){var o=Qe(e,r),u=Qe(t,r),l=f.get(u);if(l){Je(e,r,l);return}var c=i?i(o,u,r+"",e,t,f):void 0,g=c===void 0;if(g){var d=I(u),s=!d&&ie(u),h=!d&&!s&&Me(u);c=u,d||s||h?I(o)?c=o:uu(o)?c=gt(o):s?(g=!1,c=Dt(u,!0)):h?(g=!1,c=Jt(u,!0)):c=[]:V(u)||ae(u)?(c=o,ae(o)?c=su(o):(!x(o)||Ee(o))&&(c=Qt(u))):g=!1}g&&(f.set(u,c),a(c,u,n,i,f),f.delete(u)),Je(e,r,c)}function Ve(e,t,r,n,a){e!==t&&lr(t,function(i,f){if(a||(a=new M),x(i))lu(e,t,f,r,Ve,n,a);else{var o=n?n(Qe(e,f),i,f+"",e,t,a):void 0;o===void 0&&(o=i),Je(e,f,o)}},q)}var cu=be(function(e,t,r,n){Ve(e,t,r,n)}),du=cu;function gu(e,t){var r={};return t=kf(t),ru(e,function(n,a,i){pe(r,t(n,a,i),n)}),r}var pu=be(function(e,t,r){Ve(e,t,r)}),Oe=pu,hu="Expected a function";function bu(e,t,r){var n=!0,a=!0;if(typeof e!="function")throw new TypeError(hu);return x(r)&&(n="leading"in r?!!r.leading:n,a="trailing"in r?!!r.trailing:a),fu(e,t,{leading:n,maxWait:t,trailing:a})}var yu=Object.defineProperty,vu=Object.defineProperties,mu=Object.getOwnPropertyDescriptors,cr=Object.getOwnPropertySymbols,Au=Object.prototype.hasOwnProperty,Tu=Object.prototype.propertyIsEnumerable,dr=(e,t,r)=>t in e?yu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;typeof require!="undefined"&&require;var k=e=>({object:()=>e===null||Array.isArray(e)&&e.length===0||V(e)&&Object.getOwnPropertyNames(e).length===0,number:()=>Number.isNaN(e),string:()=>e==="",undefined:()=>!0,boolean:()=>e===!1,symbol:()=>!1,bigint:()=>!1})[typeof e](),E=e=>!k(e);function ee(e){return{}.toString.call(e).slice(8,-1).toLowerCase()}var gr,pr;(function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e})(),(pr=gr||(gr={})).history="history",pr.hash="hash";const $u=e=>{let t="";return E(e)&&(/^(((ht|f)tps?):\/\/)?[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?$/.test(e)||(t="\u683C\u5F0F\u4E0D\u6B63\u786E")),t};Object.freeze({__proto__:null,[Symbol.toStringTag]:"Module",lng:e=>{let t="";return typeof e=="number"&&Number.isNaN(e)?t="\u683C\u5F0F\u4E0D\u6B63\u786E":E(e)&&(e=e.toString(),/^-?(\d+|\d+\.\d+)$/.test(e)?((e=Number(e))>180||e<-180)&&(t="\u7ECF\u5EA6\u7684\u8303\u56F4\u4E3A[-180, 180]"):t="\u683C\u5F0F\u4E0D\u6B63\u786E"),t},lat:e=>{let t="";return typeof e=="number"&&Number.isNaN(e)?t="\u683C\u5F0F\u4E0D\u6B63\u786E":E(e)&&(e=e.toString(),/^-?(\d+|\d+\.\d+)$/.test(e)?((e=Number(e))>90||e<-90)&&(t="\u7EAC\u5EA6\u7684\u8303\u56F4\u4E3A[-90, 90]"):t="\u683C\u5F0F\u4E0D\u6B63\u786E"),t},int:(e,t)=>{let r="";if(typeof e=="number"&&Number.isNaN(e))r="\u683C\u5F0F\u4E0D\u6B63\u786E";else if(E(e)){let n,a,i,f,o,u;if(typeof t=="object"?(o=t.range,u=t.positiveSign):o=t,u||typeof e!="number"||console.warn("[kayran] positiveSign\u4EC5\u5BF9\u5B57\u7B26\u4E32\u751F\u6548"),o){if(!/^[\[(](-?\d*|-∞),(-?\d*|\+∞)[\])]$/.test(o))throw Error("[kayran] range\u53C2\u6570\u683C\u5F0F\u4E0D\u6B63\u786E");const[g,d]=o.substr(1,o.length-2).split(",");["","-\u221E"].includes(g)||(o.startsWith("(")?i=g:n=g),["","+\u221E"].includes(d)||(o.endsWith(")")?f=d:a=d)}const l=Number(e),c=e.toString();switch(!0){case!(u?/^[+\-]?\d+$/:/^\-?\d+$/).test(c):r="\u9700\u4E3A\u6574\u6570";break;case(E(n)&&l<n):r="\u4E0D\u80FD\u5C0F\u4E8E"+n;break;case(E(a)&&l>a):r="\u4E0D\u80FD\u5927\u4E8E"+a;break;case(E(i)&&l<=i):r="\u9700\u5927\u4E8E"+i;break;case(E(f)&&l>=f):r="\u9700\u5C0F\u4E8E"+f}}return r},decimal:(e,t)=>{var r,n,a,i,f;let o="";if(typeof e=="number"&&Number.isNaN(e))o="\u683C\u5F0F\u4E0D\u6B63\u786E";else if(E(e)){let u,l,c,g,d,s;if(typeof t=="object"?(u=t.range,l=t.decimalPlaces):u=t,u){if(!/^[\[(](-?\d*\.?\d*|-∞),(-?\d*\.?\d*|\+∞)[\])]$/.test(u))throw Error("[kayran] range\u53C2\u6570\u683C\u5F0F\u4E0D\u6B63\u786E");const[b,v]=u.substr(1,u.length-2).split(",");["","-\u221E"].includes(b)||(u.startsWith("(")?d=b:c=b),["","+\u221E"].includes(v)||(u.endsWith(")")?s=v:g=v)}const h=Number(e),p=e.toString();switch(!0){case!/^-?(\d+|\d+\.\d+)$/.test(p):o="\u9700\u4E3A\u6570\u5B57";break;case(E(c)&&h<c):o="\u4E0D\u80FD\u5C0F\u4E8E"+c;break;case(E(g)&&h>g):o="\u4E0D\u80FD\u5927\u4E8E"+g;break;case(E(d)&&h<=d):o="\u9700\u5927\u4E8E"+d;break;case(E(s)&&h>=s):o="\u9700\u5C0F\u4E8E"+s;break;default:const b=p.split(".");if(typeof l=="number")switch(!0){case l<0:throw Error("decimalPlaces\u4E0D\u80FD\u5C0F\u4E8E0");case l===0:E(b[1])&&(o="\u9700\u4E3A\u6574\u6570");break;default:((r=b[1])==null?void 0:r.length)!==l&&(o="\u5C0F\u6570\u4F4D\u6570\u9700\u4E3A"+l+"\u4F4D")}else if(Array.isArray(l)){const[v,m]=l;if(m<v)throw Error("[kayran] decimalPlaces\u7684\u4E0A\u9650\u4E0D\u80FD\u5C0F\u4E8E\u4E0B\u9650");if(Number.isNaN(m))throw Error("[kayran] decimalPlaces[1]\u4E0D\u80FD\u4E3ANaN");if(m<0)throw Error("[kayran] decimalPlaces\u7684\u4E0A\u9650\u4E0D\u80FD\u4E3A\u8D1F");if(((a=(n=b[1])==null?void 0:n.length)!=null?a:0)>m&&(o="\u6700\u591A"+m+"\u4F4D\u5C0F\u6570"),Number.isNaN(v))throw Error("[kayran] decimalPlaces[0]\u4E0D\u80FD\u4E3ANaN");if(v<0)throw Error("[kayran] decimalPlaces[0]\u4E0D\u80FD\u4E3A\u8D1F");((f=(i=b[1])==null?void 0:i.length)!=null?f:0)<v&&(o="\u6700\u5C11"+v+"\u4F4D\u5C0F\u6570")}}}return o},len:(e,t)=>{let r,n,a,i="";if(typeof t=="number"){if(Number.isNaN(t))throw Error("[kayran] options\u4E0D\u80FD\u4E3ANaN");r=t}else Array.isArray(t)?(n=t[0],a=t[1]):t&&typeof t=="object"&&(n=t.min,a=t.max);if(Number.isNaN(n))throw Error("[kayran] min\u4E0D\u80FD\u4E3ANaN");if(Number.isNaN(a))throw Error("[kayran] max\u4E0D\u80FD\u4E3ANaN");if(a<0)throw Error("[kayran] max\u4E0D\u80FD\u4E3A\u8D1F");if(n<0)throw Error("[kayran] min\u4E0D\u80FD\u4E3A\u8D1F");if(a<n)throw Error("[kayran] max\u4E0D\u80FD\u5C0F\u4E8Emin");if(k(r)&&k(n)&&k(a))throw Error("[kayran] \u672A\u6307\u5B9A\u4EFB\u4F55\u6821\u9A8C\u6761\u4EF6");return(e===""||E(e))&&(e.length>a?i="\u4E0D\u80FD\u8D85\u8FC7"+a+"\u4E2A\u5B57\u7B26":n&&e.length<n?i="\u4E0D\u80FD\u4F4E\u4E8E"+n+"\u4E2A\u5B57\u7B26":E(r)&&e.length!==r&&(i="\u5B57\u7B26\u6570\u9700\u4E3A"+n)),i},phone:e=>{let t="";return typeof e=="number"&&Number.isNaN(e)?t="\u683C\u5F0F\u4E0D\u6B63\u786E":E(e)&&(e=e.toString(),/^(?:(?:\+|00)86)?1[3-9]\d{9}$/.test(e)||(t="\u683C\u5F0F\u4E0D\u6B63\u786E")),t},tel:(e,{multiple:t=!0}={})=>{const r=t?/^((?:\d{3}-)?\d{8};?)+$|^((?:\d{4}-)?\d{7,8};?)+$/:/^(?:\d{3}-)?\d{8}$|^(?:\d{4}-)?\d{7,8}$/;let n="";return typeof e=="number"&&Number.isNaN(e)?n="\u683C\u5F0F\u4E0D\u6B63\u786E":E(e)&&((e=e.toString()).length>50?n="\u4E0D\u80FD\u8D85\u8FC750\u4E2A\u5B57\u7B26":r.test(e)||(n="\u683C\u5F0F\u4E0D\u6B63\u786E"+(t?"\uFF0C\u5982\u6709\u591A\u4E2A\u8BF7\u7528\u82F1\u6587\u5206\u53F7\u9694\u5F00":""))),n},email:e=>{let t="";return/^[\u4e00-\u9fa5\dA-Za-z_-]+@[\dA-Za-z_-]+(\.[\dA-Za-z_-]+)+$/.test(e)||(t="\u683C\u5F0F\u4E0D\u6B63\u786E"),t},idCard:e=>{let t="";return typeof e=="number"&&Number.isNaN(e)?t="\u683C\u5F0F\u4E0D\u6B63\u786E":E(e)&&(e=e.toString(),/^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/.test(e)||(t="\u683C\u5F0F\u4E0D\u6B63\u786E")),t},ipv4:e=>{let t="";return/^((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(?::(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$/.test(e)||(t="\u683C\u5F0F\u4E0D\u6B63\u786E"),t},ipv6:e=>{let t="";return/^(?:(?:(?:[0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))|\[(?:(?:(?:[0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))\](?::(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$/i.test(e)||(t="\u683C\u5F0F\u4E0D\u6B63\u786E"),t},url:$u,postcode:e=>{let t="";return typeof e=="number"&&Number.isNaN(e)?t="\u683C\u5F0F\u4E0D\u6B63\u786E":E(e)&&(e=e.toString(),/^(0[1-7]|1[0-356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[0-5]|8[013-6])\d{4}$/.test(e)||(t="\u683C\u5F0F\u4E0D\u6B63\u786E")),t},base64:(e,{mediaType:t="",scheme:r=!0}={})=>{let n="";if(E(e))if(r&&!e.startsWith(`data:${t}`))n="\u7F3A\u5931scheme";else{const a=r?e.split(",")[1]:e;a&&/^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?$/.test(a)||(n="\u683C\u5F0F\u4E0D\u6B63\u786E")}return n}});var ke=function(){return(ke=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var a in t=arguments[r])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)};/*! ***************************************************************************** | ||
PERFORMANCE OF THIS SOFTWARE. | ||
***************************************************************************** */function _u(e){return e.toLowerCase()}var Se,hr,wu=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],Ou=/[^A-Z0-9]+/gi;function br(e,t,r){return t instanceof RegExp?e.replace(t,r):t.reduce(function(n,a){return n.replace(a,r)},e)}function yr(e,t){var r=e.charAt(0),n=e.substr(1).toLowerCase();return t>0&&r>="0"&&r<="9"?"_"+r+n:""+r.toUpperCase()+n}function Su(e,t){return t===void 0&&(t={}),function(r,n){n===void 0&&(n={});for(var a=n.splitRegexp,i=a===void 0?wu:a,f=n.stripRegexp,o=f===void 0?Ou:f,u=n.transform,l=u===void 0?_u:u,c=n.delimiter,g=c===void 0?" ":c,d=br(br(r,i,"$1\0$2"),o,"\0"),s=0,h=d.length;d.charAt(s)==="\0";)s++;for(;d.charAt(h-1)==="\0";)h--;return d.slice(s,h).split("\0").map(l).join(g)}(e,ke({delimiter:"",transform:yr},t))}function Pu(e,t){return t===0?e.toLowerCase():yr(e,t)}function Eu({type:e,name:t,prop:r,validator:n}){if(e){ee(e)==="string"&&(e=[e]);const a=ee(r);if(!e.includes(a))throw Error(`${t}\u9700\u4E3A${e.toString()}\u7C7B\u578B\uFF08\u5F97\u5230${a}\uFF09`)}if(n&&!n(r))throw Error(`${t}\u4E0D\u5408\u6CD5`)}function Nu(e,{mergeObject:t,mergeFunction:r}){const n=r?(a,i)=>ee(a)==="function"||ee(i)==="function"?r(i,a):void 0:void 0;return t===Se.deep?du(...e,n):Ea(...e,n)}function Fu(e,{mergeFunction:t}){return e.reduce(t,()=>{})}function et(e,t={}){let r,{name:n="",type:a,default:i,defaultIsDynamic:f=!1,required:o=!1,validator:u,camelCase:l=!0,mergeObject:c=Se.deep,mergeObjectApplyOnlyToDefault:g=!1,mergeFunction:d=!1,mergeFunctionApplyOnlyToDefault:s=!0}=t;if(f){if(ee(i)!=="function")throw Error(`${n}\u52A8\u6001\u751F\u6210\u9ED8\u8BA4\u503C\u65F6\uFF0C\u9ED8\u8BA4\u503C\u9700\u4E3A\u51FD\u6570\u7C7B\u578B`);r=[...e]}else r=[...e,i];let h,p=!1,b=!1;for(let N=0;N<r.length;N++){const A=r[N];if(A!==void 0){Eu({type:a,name:n,prop:A,validator:u});const O=V(A),P=ee(A)==="function";if(p=O,b=P,!O&&!P)break}}p?r=$e(r):(c=!1,b||(d=!1));for(let N=0;N<r.length;N++){const A=r[N];if(A!==void 0){h=N===r.length-1?A:c?Nu(g?[i,A]:[...r].reverse(),{mergeObject:c,mergeFunction:d}):d?Fu(s?[A,i]:r,{mergeFunction:d}):A;break}}if(o&&h===void 0)throw Error(`${n}\u53C2\u6570\u4E0D\u80FD\u4E3A\u7A7A`);return f?et(e,(v=((N,A)=>{for(var O in A||(A={}))Au.call(A,O)&&dr(N,O,A[O]);if(cr)for(var O of cr(A))Tu.call(A,O)&&dr(N,O,A[O]);return N})({},t),m={default:i(h),defaultIsDynamic:!1},vu(v,mu(m)))):l&&V(h)?gu(h,(N,A)=>{return O===void 0&&(O={}),Su(A,ke({transform:Pu},O));var O}):h;var v,m}(hr=Se||(Se={})).deep="deep",hr.shallow="shallow";const Iu=["PUT","POST","DELETE","PATCH"];let ce;function xu(e,t={}){const r={c:{method:"POST"},r:{method:"GET"},u:{method:"PUT"},d:{method:"DELETE"},getList:{method:"GET"},updateStatus:{method:"PUT"},enable:{method:"PUT"},disable:{method:"PUT"}};Object.freeze(r);const n=(a,i)=>i.startsWith("/")?i:(a.endsWith("/")?a:a+"/")+i;return(a="",i={})=>{ju(),ce=F.CancelToken.source();let f={};for(let o in r)f[o]=(u,l)=>{var h;const c=r[o],g=typeof t[o]=="function"?t[o](u):t[o],d=H({cancelToken:ce.token},typeof i[o]=="function"?i[o](u):i[o]),s=Oe(c,g,d);return l!=null||(l=Iu.includes((h=s.method)==null?void 0:h.toUpperCase())?"data":"params"),e(rt(H(H(H({},l==="data"&&{data:u}),l==="params"&&{params:u}),s),{url:n(a,s.url)}))};return f}}const ju=()=>{ce&&(ce.cancel(),ce=void 0)},vr="admate ",tt=(e,t)=>k(t)?e:typeof t=="function"?t(e):yi(e,t)[0],mr=(e,t)=>{e.mergeData&&V(e.data)&&V(t)?S.isVue3?e.mergeData==="deep"?Oe(e.data,t):e.mergeData==="shallow"?Pt(e.data,t):typeof e.mergeData=="function"&&e.mergeData(t):e.mergeData==="deep"?e.data=Oe($e(e.data),t):e.mergeData==="shallow"?e.data=H(H({},e.data),t):typeof e.mergeData=="function"&&e.mergeData(t):e.data=t};function Cu({axios:e,axiosConfig:t,urlPrefix:r,form:n,list:a,getListProxy:i,openFormProxy:f,submitFormProxy:o}){const l=xu(e)(r,t),c=S.ref(),g=S.ref(null),d=()=>et([a],{default:T=>({data:[],loading:!1,total:0,filter:{[T.pageNumberKey]:1},watchFilter:!0,throttleInterval:500}),defaultIsDynamic:!0}),s=S.reactive(d()),h=()=>$e(H({loading:!1,submitting:!1,show:!1,data:{},mergeData:"deep",status:""},n));let p=S.reactive(h());const b=({state:T,defaultState:$,mergeState:y="shallow"})=>{const R=et([T,$]);y==="deep"?Oe(p,R):Pt(p,R)},v=(T=s.filter,$)=>(s.loading=!0,l.getList(T,$).then(y=>{var R,Ar;return s.data=(R=tt(y,s.dataAt))!=null?R:[],s.total=k(s.data)?0:(Ar=tt(y,s.totalAt))!=null?Ar:0,y}).catch(y=>{s.data=[],console.error(y)}).finally(()=>{s.loading=!1})),m=(...T)=>{const $=s.filter[s.pageNumberKey];if(c.value==="filterChange"&&$!==1){s.filter[s.pageNumberKey]=1,c.value=void 0;return}s.oldPageNumber=$;const y=i?i((...R)=>v(...R.length?R:T),c.value):v(...T);return c.value=void 0,y};function N(T,$){if(["r","u"].includes(p.status))if($==="cache")mr(p,$e(T)),p.show=!0;else return p.loading=!0,p.show=!0,l.r(T,$).then(y=>(mr(p,tt(y,p.dataAt)),y));else arguments.length&&console.warn(`${vr}openForm\u4EC5\u5728\u8868\u5355\u72B6\u6001\u4E3A 'r' \u6216 'u' \u65F6\u9700\u8981\u4F20\u53C2`),p.show=!0}const A=(T,$)=>(s.loading=!0,l.d(T,$).then(y=>{var R;return((R=s.data)==null?void 0:R.length)===1?s.filter[s.pageNumberKey]===1?(c.value="d",m()):s.filter[s.pageNumberKey]--:(c.value="d",m()),y}).finally(()=>{s.loading=!1})),O=(T,$)=>(s.loading=!0,l.updateStatus(T,$).then(y=>(c.value="updateStatus",m(),y)).finally(()=>{s.loading=!1})),P=(T,$)=>(s.loading=!0,l.enable(T,$).then(y=>(c.value="enable",m(),y)).finally(()=>{s.loading=!1})),U=(T,$)=>(s.loading=!0,l.disable(T,$).then(y=>(c.value="disable",m(),y)).finally(()=>{s.loading=!1})),J=(...T)=>{const $=f?f((...y)=>N(...y.length?y:T)):N(...T);return $ instanceof Promise?$.then(y=>{b({target:p,state:y,defaultState:{loading:!1}})}).catch(y=>{b({target:p,state:y,defaultState:{show:!1}}),console.error(y)}):b({target:p,state:$,defaultState:{loading:!1}}),$},te=(T=p.data,$)=>{if(!["c","u"].includes(p.status))throw Error(`${vr}submitForm \u4EC5\u80FD\u5728\u8868\u5355\u72B6\u6001\u4E3A 'c' \u6216 'u' \u65F6\u88AB\u8C03\u7528`);return p.submitting=!0,l[p.status](T,$).then(y=>(c.value=p.status,m(),y))},Lu=T=>{const $=o?o((...y)=>y.length?te(...y):te(T)):te(T);return $ instanceof Promise?$.then(y=>{b({target:p,state:y,defaultState:{show:!1}})}).catch(y=>{b({target:p,state:y,defaultState:{submitting:!1}}),console.error(y)}):b({target:p,state:$,defaultState:{show:!1}}),$};return S.watch(()=>p.show,T=>{T||setTimeout(()=>{Object.assign(p,rt(H({},h()),{show:p.show}))},150)}),c.value="init",m(),S.onMounted(()=>{s.watchFilter&&S.watch(()=>s.filter,()=>{s.filter[s.pageNumberKey]===s.oldPageNumber?(s.loading=!0,g.value||(g.value=bu(()=>{c.value="filterChange",s.loading=!1,m()},s.throttleInterval,{leading:!1,trailing:!0})),g.value()):(c.value="pageNumberChange",m())},{deep:!0})}),{list:s,getList:m,form:p,openForm:J,submitForm:Lu,d:A,enable:P,disable:U,updateStatus:O}}return Cu}); | ||
***************************************************************************** */function _u(e){return e.toLowerCase()}var Se,hr,wu=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],Ou=/[^A-Z0-9]+/gi;function br(e,t,r){return t instanceof RegExp?e.replace(t,r):t.reduce(function(n,a){return n.replace(a,r)},e)}function yr(e,t){var r=e.charAt(0),n=e.substr(1).toLowerCase();return t>0&&r>="0"&&r<="9"?"_"+r+n:""+r.toUpperCase()+n}function Su(e,t){return t===void 0&&(t={}),function(r,n){n===void 0&&(n={});for(var a=n.splitRegexp,i=a===void 0?wu:a,f=n.stripRegexp,o=f===void 0?Ou:f,u=n.transform,l=u===void 0?_u:u,c=n.delimiter,g=c===void 0?" ":c,d=br(br(r,i,"$1\0$2"),o,"\0"),s=0,h=d.length;d.charAt(s)==="\0";)s++;for(;d.charAt(h-1)==="\0";)h--;return d.slice(s,h).split("\0").map(l).join(g)}(e,ke({delimiter:"",transform:yr},t))}function Pu(e,t){return t===0?e.toLowerCase():yr(e,t)}function Eu({type:e,name:t,prop:r,validator:n}){if(e){ee(e)==="string"&&(e=[e]);const a=ee(r);if(!e.includes(a))throw Error(`${t}\u9700\u4E3A${e.toString()}\u7C7B\u578B\uFF08\u5F97\u5230${a}\uFF09`)}if(n&&!n(r))throw Error(`${t}\u4E0D\u5408\u6CD5`)}function Nu(e,{mergeObject:t,mergeFunction:r}){const n=r?(a,i)=>ee(a)==="function"||ee(i)==="function"?r(i,a):void 0:void 0;return t===Se.deep?du(...e,n):Ea(...e,n)}function Fu(e,{mergeFunction:t}){return e.reduce(t,()=>{})}function et(e,t={}){let r,{name:n="",type:a,default:i,defaultIsDynamic:f=!1,required:o=!1,validator:u,camelCase:l=!0,mergeObject:c=Se.deep,mergeObjectApplyOnlyToDefault:g=!1,mergeFunction:d=!1,mergeFunctionApplyOnlyToDefault:s=!0}=t;if(f){if(ee(i)!=="function")throw Error(`${n}\u52A8\u6001\u751F\u6210\u9ED8\u8BA4\u503C\u65F6\uFF0C\u9ED8\u8BA4\u503C\u9700\u4E3A\u51FD\u6570\u7C7B\u578B`);r=[...e]}else r=[...e,i];let h,p=!1,b=!1;for(let N=0;N<r.length;N++){const A=r[N];if(A!==void 0){Eu({type:a,name:n,prop:A,validator:u});const O=V(A),P=ee(A)==="function";if(p=O,b=P,!O&&!P)break}}p?r=$e(r):(c=!1,b||(d=!1));for(let N=0;N<r.length;N++){const A=r[N];if(A!==void 0){h=N===r.length-1?A:c?Nu(g?[i,A]:[...r].reverse(),{mergeObject:c,mergeFunction:d}):d?Fu(s?[A,i]:r,{mergeFunction:d}):A;break}}if(o&&h===void 0)throw Error(`${n}\u53C2\u6570\u4E0D\u80FD\u4E3A\u7A7A`);return f?et(e,(v=((N,A)=>{for(var O in A||(A={}))Au.call(A,O)&&dr(N,O,A[O]);if(cr)for(var O of cr(A))Tu.call(A,O)&&dr(N,O,A[O]);return N})({},t),m={default:i(h),defaultIsDynamic:!1},vu(v,mu(m)))):l&&V(h)?gu(h,(N,A)=>{return O===void 0&&(O={}),Su(A,ke({transform:Pu},O));var O}):h;var v,m}(hr=Se||(Se={})).deep="deep",hr.shallow="shallow";const Iu=["PUT","POST","DELETE","PATCH"];let ce;function xu(e,t={}){const r={c:{method:"POST"},r:{method:"GET"},u:{method:"PUT"},d:{method:"DELETE"},getList:{method:"GET"},updateStatus:{method:"PUT"},enable:{method:"PUT"},disable:{method:"PUT"}};Object.freeze(r);const n=(a,i)=>i.startsWith("/")?i:(a.endsWith("/")?a:a+"/")+i;return(a="",i={})=>{ju(),ce=F.CancelToken.source();let f={};for(let o in r)f[o]=(u,l)=>{var h;const c=r[o],g=typeof t[o]=="function"?t[o](u):t[o],d=H({cancelToken:ce.token},typeof i[o]=="function"?i[o](u):i[o]),s=Oe(c,g,d);return l!=null||(l=Iu.includes((h=s.method)==null?void 0:h.toUpperCase())?"data":"params"),e(rt(H(H(H({},l==="data"&&{data:u}),l==="params"&&{params:u}),s),{url:n(a,s.url)}))};return f}}const ju=()=>{ce&&(ce.cancel(),ce=void 0)},vr="admate ",tt=(e,t)=>k(t)?e:typeof t=="function"?t(e):yi(e,t)[0],mr=(e,t)=>{e.mergeData&&V(e.data)&&V(t)?S.isVue3?e.mergeData==="deep"?Oe(e.data,t):e.mergeData==="shallow"?Pt(e.data,t):typeof e.mergeData=="function"&&e.mergeData(t):e.mergeData==="deep"?e.data=Oe($e(e.data),t):e.mergeData==="shallow"?e.data=H(H({},e.data),t):typeof e.mergeData=="function"&&e.mergeData(t):e.data=t};function Cu({axios:e,axiosConfig:t,urlPrefix:r,form:n,list:a,getListProxy:i,openFormProxy:f,submitFormProxy:o}){const l=xu(e)(r,t),c=S.ref(),g=S.ref(null),d=()=>et([a],{default:T=>({data:[],loading:!1,total:0,filter:{[T.pageNumberKey]:1},watchFilter:!0,throttleInterval:500}),defaultIsDynamic:!0}),s=S.reactive(d()),h=()=>$e(H({loading:!1,submitting:!1,show:!1,data:{},mergeData:"deep",status:""},n));let p=S.reactive(h());const b=({state:T,defaultState:$,mergeState:y="shallow"})=>{const R=et([T,$]);y==="deep"?Oe(p,R):Pt(p,R)},v=(T=s.filter,$)=>(s.loading=!0,l.getList(T,$).then(y=>{var R,Ar;return s.data=(R=tt(y,s.dataAt))!=null?R:[],s.total=k(s.data)?0:(Ar=tt(y,s.totalAt))!=null?Ar:0,y}).catch(y=>{s.data=[],console.error(y)}).finally(()=>{s.loading=!1})),m=(...T)=>{const $=s.filter[s.pageNumberKey];if(c.value==="filterChange"&&$!==1){s.filter[s.pageNumberKey]=1,c.value=void 0;return}s.oldPageNumber=$;const y=i?i((...R)=>v(...R.length?R:T),c.value):v(...T);return c.value=void 0,y};function N(T,$){if(["r","u"].includes(p.status))if($==="cache")mr(p,$e(T)),p.show=!0;else return p.loading=!0,p.show=!0,l.r(T,$).then(y=>(mr(p,tt(y,p.dataAt)),y));else arguments.length&&console.warn(`${vr}openForm \u4EC5\u5728\u8868\u5355\u72B6\u6001\u4E3A 'r' \u6216 'u' \u65F6\u9700\u8981\u4F20\u53C2`),p.show=!0}const A=(T,$)=>(s.loading=!0,l.d(T,$).then(y=>{var R;return((R=s.data)==null?void 0:R.length)===1?s.filter[s.pageNumberKey]===1?(c.value="d",m()):s.filter[s.pageNumberKey]--:(c.value="d",m()),y}).finally(()=>{s.loading=!1})),O=(T,$)=>(s.loading=!0,l.updateStatus(T,$).then(y=>(c.value="updateStatus",m(),y)).finally(()=>{s.loading=!1})),P=(T,$)=>(s.loading=!0,l.enable(T,$).then(y=>(c.value="enable",m(),y)).finally(()=>{s.loading=!1})),U=(T,$)=>(s.loading=!0,l.disable(T,$).then(y=>(c.value="disable",m(),y)).finally(()=>{s.loading=!1})),J=(...T)=>{const $=f?f((...y)=>N(...y.length?y:T)):N(...T);return $ instanceof Promise?$.then(y=>{b({target:p,state:y,defaultState:{loading:!1}})}).catch(y=>{b({target:p,state:y,defaultState:{show:!1}}),console.error(y)}):b({target:p,state:$,defaultState:{loading:!1}}),$},te=(T=p.data,$)=>{if(!["c","u"].includes(p.status))throw Error(`${vr}submitForm \u4EC5\u80FD\u5728\u8868\u5355\u72B6\u6001\u4E3A 'c' \u6216 'u' \u65F6\u88AB\u8C03\u7528`);return p.submitting=!0,l[p.status](T,$).then(y=>(c.value=p.status,m(),y))},Lu=T=>{const $=o?o((...y)=>y.length?te(...y):te(T)):te(T);return $ instanceof Promise?$.then(y=>{b({target:p,state:y,defaultState:{show:!1}})}).catch(y=>{b({target:p,state:y,defaultState:{submitting:!1}}),console.error(y)}):b({target:p,state:$,defaultState:{show:!1}}),$};return S.watch(()=>p.show,T=>{T||setTimeout(()=>{Object.assign(p,rt(H({},h()),{show:p.show}))},150)}),c.value="init",m(),S.onMounted(()=>{s.watchFilter&&S.watch(()=>s.filter,()=>{s.filter[s.pageNumberKey]===s.oldPageNumber?(s.loading=!0,g.value||(g.value=bu(()=>{c.value="filterChange",s.loading=!1,m()},s.throttleInterval,{leading:!1,trailing:!0})),g.value()):(c.value="pageNumberChange",m())},{deep:!0})}),{list:s,getList:m,form:p,openForm:J,submitForm:Lu,d:A,enable:P,disable:U,updateStatus:O}}return Cu}); |
@@ -5,3 +5,3 @@ { | ||
"author": "cloydlau", | ||
"version": "0.7.11", | ||
"version": "0.7.12", | ||
"private": false, | ||
@@ -32,5 +32,3 @@ "license": "MIT", | ||
"test:3": "vue-demi-switch 3 vue3 && jest", | ||
"release": "npm version patch && npm publish && git push", | ||
"release:minor": "npm version minor && npm publish && git push", | ||
"release:major": "npm version major && npm publish && git push" | ||
"release": "node scripts/release.js" | ||
}, | ||
@@ -61,4 +59,8 @@ "dependencies": { | ||
"axios": "latest", | ||
"chalk": "^4.1.2", | ||
"element-plus": "latest", | ||
"enquirer": "latest", | ||
"execa": "^4.1.0", | ||
"jest": "latest", | ||
"minimist": "latest", | ||
"mitt": "latest", | ||
@@ -70,2 +72,3 @@ "mockjs": "latest", | ||
"sass": "latest", | ||
"semver": "latest", | ||
"ts-jest": "latest", | ||
@@ -72,0 +75,0 @@ "tslib": "latest", |
213
README.md
@@ -7,14 +7,23 @@ # Admate / 管理后台伴侣 | ||
| 案例对比 | 技术栈 | 表单部分代码量<br><span style="color:rgba(28,31,35,.6);font-size:.8rem">* 换行风格接近</span> | 表单部分Bug数量 | | ||
| --- | --- | --- | --- | | ||
| 对接[支付宝进件](https://opendocs.alipay.com/pre-apis/00a8e3) | Vue2 + ElementUI | 2946行 | 19个| | ||
| 对接[微信进件](https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_1_1.shtml) | Vue2 + ElementUI + **Admate** | 1144行 | 10个 | | ||
| 案例对比 | 技术栈 | 代码量<span style="color:rgba(28,31,35,.6);font-size:12px;">(表单部分)</span> | Bug 数量<span style="color:rgba(28,31,35,.6);font-size:12px;">(表单部分)</span> | | ||
| --- | --- | :---: | :---: | | ||
| 对接[支付宝进件](https://opendocs.alipay.com/pre-apis/00a8e3) | Vue 2 + ElementUI | 89293 字符 | 19 个| | ||
| 对接[微信进件](https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter7_1_1.shtml) | Vue 2 + ElementUI + **Admate** | 38718 字符 | 10 个 | | ||
| 案例对比 | 技术栈 | 代码量<span style="color:rgba(28,31,35,.6);font-size:12px;">(整个页面)</span> | | ||
| --- | --- | :---: | | ||
| [常规增删查改页面](https://github.com/PanJiaChen/vue-element-admin/blob/master/src/views/table/complex-table.vue) | Vue 2 + ElementUI | 13330 字符 | | ||
| 常规增删查改页面 | Vue 2 + ElementUI + **Admate** | <span style="font-size:12px;">不是特别复杂的不会过万,简单点的三千字符可以搞定</span> | | ||
<br> | ||
 | ||
## 特性 | ||
- 🕶 Vue2 和 Vue3 通用:比如你在 Vue2 中使用了 Admate,升级 Vue3 时,你需要做的事情只是切换依赖源 | ||
- 🕶 **Vue 2 和 Vue 3 通用** - 比如你在 Vue 2 中使用了 Admate,升级 Vue 3 时,你需要做的事情只是切换依赖源 | ||
- 🤝 不限制 UI 框架,只要技术栈是 Vue 和 axios 便可使用,并提供四大 UI 框架示例代码(Vuetify,Element,AntDesignVue,Quasar) | ||
- 🎨 使用组合式 API,无侵入性 | ||
- 🪝 使用高阶函数实现钩子函数,生命周期的行为可高度定制化 | ||
- 🌐 提供全局的请求配置:同一系统内,CRUD 的请求配置通常是相似的,同一模块内,接口前缀通常是一致的 | ||
- 🎨 **无侵入性** - 使用组合式 API | ||
- 🪝 **控制反转** - 钩子函数使用高阶函数实现,可量身打造生命周期的行为 | ||
- 🌐 提供**全局请求配置** - 同一系统内,CRUD 的请求配置通常是相似的,同一模块内,接口前缀通常是一致的 | ||
- 🍪 提供列表、表单 CRUD 的贴心封装,你不再操心列表的读取状态、表单的读取和提交状态 | ||
@@ -66,23 +75,21 @@ - 🔍 支持监听筛选参数自动刷新列表(节流控制接口调用频率),也支持手动点击查询按钮筛选列表 | ||
::: warning | ||
目前仅支持 `element-ui` | ||
::: | ||
> 目前仅支持 element-ui | ||
#### Installation | ||
安装 Chrome / Edge 插件 `YApi2Code`,或使用离线版: | ||
安装 Chrome / Edge 插件 **YApi2Code**,或使用离线版: | ||
:one: <a href="https://github.com/cloydlau/yapi2code-crx/blob/master/yapi2code-crx.zip?raw=true" download>下载离线包</a>后解压 | ||
:two: 打开浏览器 `扩展程序`,并开启 `开发者模式` | ||
:two: 打开浏览器**扩展程序**,并开启**开发者模式** | ||
:three: 点击 `加载已解压的扩展程序`,选择解压后的文件夹 | ||
:three: 点击**加载已解压的扩展程序**,选择解压后的文件夹 | ||
#### Usage | ||
:one: 访问 YApi,选中相应模块的 `查询列表` 接口 | ||
:one: 访问 YApi,选中相应模块的**查询列表**接口 | ||
:two: 点击浏览器右上角运行插件 | ||
:three: 点击 `生成代码`,代码将被复制至剪贴板 | ||
:three: 点击**生成代码**,代码将被复制至剪贴板 | ||
@@ -135,3 +142,3 @@ :four: 创建页面文件 `xxx.vue`,粘贴代码 | ||
Quasar@1(应该)不支持Vite,无示例 | ||
Quasar@1(应该)不支持 Vite,无示例 | ||
@@ -146,3 +153,3 @@ <br> | ||
useAdmate({ | ||
// axios或axios实例 | ||
// axios 或 axios 实例 | ||
// 用于调用接口 | ||
@@ -164,11 +171,11 @@ axios, | ||
}, | ||
// 新增一条记录(submitForm在新增时调用) | ||
// 新增一条记录(submitForm 在新增时调用) | ||
c: { | ||
method: 'POST', | ||
}, | ||
// 查询一条记录(openForm在查看、编辑时调用) | ||
// 查询一条记录(openForm 在查看、编辑时调用) | ||
r: { | ||
method: 'GET', | ||
}, | ||
// 编辑一条记录(submitForm在编辑时调用) | ||
// 编辑一条记录(submitForm 在编辑时调用) | ||
u: { | ||
@@ -198,4 +205,4 @@ method: 'PUT', | ||
```ts | ||
// 示例:根据传参动态生成配置,常用于RESTful中 | ||
// 动态生成配置时,payloadAs将会失效 | ||
// 示例:根据传参动态生成配置,常用于 RESTful 中 | ||
// 动态生成配置时,payloadAs 将会失效 | ||
@@ -208,11 +215,11 @@ useAdmate({ | ||
}), | ||
// 新增一条记录(submitForm在新增时调用) | ||
// 新增一条记录(submitForm 在新增时调用) | ||
c: payload => ({ | ||
method: 'POST', | ||
}), | ||
// 查询一条记录(openForm在查看、编辑时调用) | ||
// 查询一条记录(openForm 在查看、编辑时调用) | ||
r: payload => ({ | ||
method: 'GET', | ||
}), | ||
// 编辑一条记录(submitForm在编辑时调用) | ||
// 编辑一条记录(submitForm 在编辑时调用) | ||
u: payload => ({ | ||
@@ -247,3 +254,3 @@ method: 'PUT', | ||
useAdmate({ | ||
// axiosConfig中各个接口的url前缀 | ||
// axiosConfig 中各个接口的 URL 前缀 | ||
urlPrefix: '', | ||
@@ -254,3 +261,3 @@ }) | ||
```ts | ||
// 示例:URL前缀不统一 | ||
// 示例:URL 前缀不统一 | ||
@@ -261,3 +268,3 @@ useAdmate({ | ||
r: { | ||
// 如果某个接口的前缀不是'somepage',可以在URL前面加斜线,即可忽略该前缀 | ||
// 如果某个接口的前缀不是 'somepage',可以在 URL 前面加斜线,即可忽略该前缀 | ||
url: '/anotherpage/selectOne', | ||
@@ -298,11 +305,11 @@ }, | ||
axios的data默认以 `application/json` 作为MIME type,如果你需要使用 `multipart/form-data`: | ||
axios 的 data 默认以 `application/json` 作为 MIME type,如果你需要使用 `multipart/form-data`: | ||
- 全局配置 | ||
给你的axios配置 `transformRequest`、`headers['Content-Type']` | ||
给你的 axios 配置 `transformRequest`、`headers['Content-Type']` | ||
- 局部配置 | ||
`getList`、`r`、`u`、`d`、`updateStatus`、`enable`、`disable`、`submitForm` 的参数1均支持FormData类型 | ||
`getList`、`r`、`u`、`d`、`updateStatus`、`enable`、`disable`、`submitForm` 的参数 1 均支持 FormData 类型 | ||
@@ -338,7 +345,7 @@ ```vue | ||
setup: () => { | ||
// 过滤参数并转换为FormData | ||
// 此处示例为将过滤方法绑定到window.FormData,方便其他地方使用 | ||
// 过滤参数并转换为 FormData | ||
// 此处示例为将过滤方法绑定到 window.FormData,方便其他地方使用 | ||
FormData.from = data => jsonToFormData(pickDeepBy(data, (v, k) => ![NaN, null, undefined].includes(v))) | ||
// 直接转换为FormData | ||
// 直接转换为 FormData | ||
//FormData.from = jsonToFormData | ||
@@ -440,3 +447,3 @@ | ||
- :heavy_check_mark: 列表数据与筛选条件即时绑定。 | ||
- :heavy_check_mark: ~~想要同时设置多个筛选条件时,接口会被多次调用,造成资源浪费~~(Admate已优化)。 | ||
- :heavy_check_mark: ~~想要同时设置多个筛选条件时,接口会被多次调用,造成资源浪费~~(Admate 已优化)。 | ||
@@ -449,3 +456,3 @@ ```ts | ||
// 节流间隔,单位毫秒 | ||
// 如果筛选参数不含input类型,可以设置为0,即不节流 | ||
// 如果筛选参数不含 input 类型,可以设置为 0,即不节流 | ||
// 翻页不会触发节流 | ||
@@ -471,7 +478,9 @@ // watchFilter开启时有效 | ||
// 指定接口返回值中列表数据所在的位置 | ||
// 支持属性名如'data',属性路径如'data.records' | ||
// 还支持function,如response => response.data | ||
// 支持属性名如 'data',属性路径如 'data.records' | ||
// 还支持 function,如 response => response.data | ||
dataAt: undefined, | ||
// 指定接口返回值中记录总数所在的位置 | ||
// 支持属性名如 'total',属性路径如 'data.total' | ||
// 还支持 function,如 response => response.total + 1 | ||
totalAt: undefined, | ||
@@ -526,6 +535,6 @@ } | ||
/** | ||
* PS:以下为原始getList的函数签名,如果你配置了getListProxy,则以getListProxy为准 | ||
* PS:以下为原始 getList 的函数签名,如果你配置了 getListProxy,则以 getListProxy 为准 | ||
* | ||
* @param {any} [payload = list.filter] | ||
* @param {'data'|'params'|'config'} [payloadAs] 指定payload的用途 | ||
* @param {'data'|'params'|'config'} [payloadAs] 指定 payload 的用途 | ||
* @returns {Promise<any>} 接口返回值 | ||
@@ -539,3 +548,3 @@ */ | ||
`getListProxy`:你可以使用 `getListProxy` 来代理 `getList`,以便在getList前后做一些操作,或改变getList的行为 | ||
`getListProxy`:你可以使用 `getListProxy` 来代理 `getList`,以便在 getList 前后做一些操作,或改变 getList 的行为 | ||
@@ -545,3 +554,3 @@ ```ts | ||
/** | ||
* @param {Function} getList 被代理的原始getList | ||
* @param {Function} getList 被代理的原始 getList | ||
* @param {string} trigger 调用动机 可能的值:'init' 'pageNumberChange' 'filterChange' 'c' 'r' 'u' 'd' 'updateStatus' 'enable' 'disable' | ||
@@ -588,3 +597,3 @@ */ | ||
getList().then(response => { | ||
// response为axiosConfig.getList的接口返回值 | ||
// response 为 axiosConfig.getList 的接口返回值 | ||
list.data = response.data?.filter(v => !v.disabled) | ||
@@ -626,7 +635,7 @@ }) | ||
/** | ||
* PS:以下为原始openForm的函数签名,如果你配置了openFormProxy,则以openFormProxy为准 | ||
* PS:以下为原始 openForm 的函数签名,如果你配置了 openFormProxy ,则以 openFormProxy 为准 | ||
* | ||
* @param {any} [payload] | ||
* @param {'data'|'params'|'config'|'cache'} [payloadAs] 指定payload的用途 | ||
* @returns {Promise<any>} axiosConfig.r的返回值 | ||
* @param {'data'|'params'|'config'|'cache'} [payloadAs] 指定 payload 的用途 | ||
* @returns {Promise<any>} axiosConfig.r 的返回值 | ||
*/ | ||
@@ -638,6 +647,6 @@ openForm() | ||
- `'data'`:将payload用作请求配置的 `data` 参数(请求方式为POST/PATCH/PUT/DELETE时默认) | ||
- `'params'`:将payload用作请求配置的 `params` 参数(请求方式为GET/HEAD时默认) | ||
- `'config'`:将payload仅用于构建请求配置(详见[RESTful](#RESTful)) | ||
- `'cache'`:将payload直接用作表单数据(不调用查询单条记录的接口) | ||
- `'data'`:将 payload 用作请求配置的 `data` 参数(请求方式为 POST / PATCH / PUT / DELETE 时默认) | ||
- `'params'`:将 payload 用作请求配置的 `params` 参数(请求方式为 GET / HEAD 时默认) | ||
- `'config'`:将 payload 仅用于构建请求配置(详见[RESTful](#RESTful)) | ||
- `'cache'`:将 payload 直接用作表单数据(不调用查询单条记录的接口) | ||
@@ -656,7 +665,7 @@ <a name="openForm-u"><br></a> | ||
/** | ||
* PS:以下为原始openForm的函数签名,如果你配置了openFormProxy,则以openFormProxy为准 | ||
* PS:以下为原始 openForm 的函数签名,如果你配置了 openFormProxy,则以 openFormProxy 为准 | ||
* | ||
* @param {any} [payload] | ||
* @param {'data'|'params'|'config'|'cache'} [payloadAs] 指定payload的用途 | ||
* @returns {Promise<any>} axiosConfig.r的返回值 | ||
* @param {'data'|'params'|'config'|'cache'} [payloadAs] 指定 payload 的用途 | ||
* @returns {Promise<any>} axiosConfig.r 的返回值 | ||
*/ | ||
@@ -668,6 +677,6 @@ openForm() | ||
- `'data'`:将payload用作请求配置的 `data` 参数(请求方式为POST/PATCH/PUT/DELETE时默认) | ||
- `'params'`:将payload用作请求配置的 `params` 参数(请求方式为GET/HEAD时默认) | ||
- `'config'`:将payload仅用于构建请求配置(详见[RESTful](#RESTful)) | ||
- `'cache'`:将payload直接用作表单数据(不调用查询单条记录的接口) | ||
- `'data'`:将 payload 用作请求配置的 `data` 参数(请求方式为 POST / PATCH / PUT / DELETE 时默认) | ||
- `'params'`:将 payload 用作请求配置的 `params` 参数(请求方式为 GET / HEAD 时默认) | ||
- `'config'`:将 payload 仅用于构建请求配置(详见[RESTful](#RESTful)) | ||
- `'cache'`:将 payload 直接用作表单数据(不调用查询单条记录的接口) | ||
@@ -689,7 +698,7 @@ <br> | ||
**参数2的可选值:** | ||
**参数 2 的可选值:** | ||
- `'data'`:将payload用作请求配置的 `data` 参数(请求方式为POST/PATCH/PUT/DELETE时默认) | ||
- `'params'`:将payload用作请求配置的 `params` 参数(请求方式为GET/HEAD时默认) | ||
- `'config'`:将payload仅用于构建请求配置(详见[RESTful](#RESTful)) | ||
- `'data'`:将 payload 用作请求配置的 `data` 参数(请求方式为 POST / PATCH / PUT / DELETE 时默认) | ||
- `'params'`:将 payload 用作请求配置的 `params` 参数(请求方式为 GET / HEAD 时默认) | ||
- `'config'`:将 payload 仅用于构建请求配置(详见[RESTful](#RESTful)) | ||
@@ -711,7 +720,7 @@ <br> | ||
**参数2的可选值:** | ||
**参数 2 的可选值:** | ||
- `'data'`:将payload用作请求配置的 `data` 参数(请求方式为POST/PATCH/PUT/DELETE时默认) | ||
- `'params'`:将payload用作请求配置的 `params` 参数(请求方式为GET/HEAD时默认) | ||
- `'config'`:将payload仅用于构建请求配置(详见[RESTful](#RESTful)) | ||
- `'data'`:将 payload 用作请求配置的 `data` 参数(请求方式为 POST / PATCH / PUT / DELETE 时默认) | ||
- `'params'`:将 payload 用作请求配置的 `params` 参数(请求方式为 GET / HEAD 时默认) | ||
- `'config'`:将 payload 仅用于构建请求配置(详见[RESTful](#RESTful)) | ||
@@ -733,7 +742,7 @@ <br> | ||
**参数2的可选值:** | ||
**参数 2 的可选值:** | ||
- `'data'`:将payload用作请求配置的 `data` 参数(请求方式为POST/PATCH/PUT/DELETE时默认) | ||
- `'params'`:将payload用作请求配置的 `params` 参数(请求方式为GET/HEAD时默认) | ||
- `'config'`:将payload仅用于构建请求配置(详见[RESTful](#RESTful)) | ||
- `'data'`:将 payload 用作请求配置的 `data` 参数(请求方式为 POST / PATCH / PUT / DELETE 时默认) | ||
- `'params'`:将 payload 用作请求配置的 `params` 参数(请求方式为 GET / HEAD 时默认) | ||
- `'config'`:将 payload 仅用于构建请求配置(详见[RESTful](#RESTful)) | ||
@@ -748,4 +757,4 @@ <br> | ||
* @param {any} [payload] | ||
* @param {'data'|'params'|'config'} [payloadAs] 指定payload的用途 | ||
* @returns {Promise<any>} axiosConfig.updateStatus的返回值 | ||
* @param {'data'|'params'|'config'} [payloadAs] 指定 payload 的用途 | ||
* @returns {Promise<any>} axiosConfig.updateStatus 的返回值 | ||
*/ | ||
@@ -756,7 +765,7 @@ updateStatus | ||
**参数2的可选值:** | ||
**参数 2 的可选值:** | ||
- `'data'`:将payload用作请求配置的 `data` 参数(请求方式为POST/PATCH/PUT/DELETE时默认) | ||
- `'params'`:将payload用作请求配置的 `params` 参数(请求方式为GET/HEAD时默认) | ||
- `'config'`:将payload仅用于构建请求配置(详见[RESTful](#RESTful)) | ||
- `'data'`:将 payload 用作请求配置的 `data` 参数(请求方式为 POST / PATCH / PUT / DELETE 时默认) | ||
- `'params'`:将 payload 用作请求配置的 `params` 参数(请求方式为 GET / HEAD 时默认) | ||
- `'config'`:将 payload 仅用于构建请求配置(详见[RESTful](#RESTful)) | ||
@@ -800,12 +809,12 @@ **状态变更的两种方式:** | ||
form: { | ||
// 可以在这里提供表单数据的默认值,新增时会有用 | ||
// 可以在这里提供表单数据的默认值 | ||
data: {}, | ||
// 在查看、编辑表单时,可能需要调用接口(axiosConfig.r)回显表单的数据 | ||
// dataAt用于指定接口返回值中表单数据所在的位置 | ||
// 支持属性名如'data',属性路径如'data.records' | ||
// 还支持function,如response => response.data | ||
// dataAt 用于指定接口返回值中表单数据所在的位置 | ||
// 支持属性名如 'data',属性路径如 'data.detail' | ||
// 还支持 function,如 response => response.data | ||
dataAt: undefined, | ||
// 接口(axiosConfig.r)返回值与form.data合并的方式 | ||
// 接口(axiosConfig.r)返回值与 form.data 合并的方式 | ||
mergeData: 'deep', | ||
@@ -825,5 +834,5 @@ }, | ||
在vue2中,template不支持 `?.` 语法,要在template中判空,代码写起来会非常冗余,通常的做法是在data中声明空对象 | ||
在 Vue 2 中,template 不支持 `?.` 语法,要在 template 中判空,代码写起来会非常冗余,通常的做法是在 data 中声明空对象 | ||
比如给form.data提供默认值: | ||
比如给 form.data 提供默认值: | ||
@@ -881,3 +890,3 @@ ```vue | ||
data: defaultFormData(), | ||
// 接口返回值中嵌套的对象可能为null,会覆盖默认值中的空对象 | ||
// 接口返回值中嵌套的对象可能为 null,会覆盖默认值中的空对象 | ||
mergeData ( | ||
@@ -887,3 +896,3 @@ // 接口返回值在通过 form.dataAt 计算过后的值 | ||
) { | ||
// vue3中不需要赋值,mergeWith的改动是响应式的 | ||
// Vue 3 中不需要赋值,mergeWith 的改动是响应式的 | ||
form.data = mergeWith( | ||
@@ -919,3 +928,3 @@ defaultFormData(), | ||
form.show为false时,form.status为'' | ||
form.show 为 false 时,form.status 为 '' | ||
@@ -937,5 +946,3 @@ 表单默认是对话框的形式,但也支持[表单是独立页面](#FormDecoupled) 的情况 | ||
::: warning | ||
不能将该值当作表单回显结束的标志,因为复用列表数据时不会调用axiosConfig.r | ||
::: | ||
> 不能将该值当作表单回显结束的标志,因为复用列表数据时不会调用 axiosConfig.r | ||
@@ -1006,3 +1013,3 @@ ```vue | ||
`openFormProxy`:你可以使用 `openFormProxy` 来代理 `openForm`,以便在openForm前后做一些操作,或改变openForm的行为 | ||
`openFormProxy`:你可以使用 `openFormProxy` 来代理 `openForm`,以便在 openForm 前后做一些操作,或改变 openForm 的行为 | ||
@@ -1012,4 +1019,4 @@ ```ts | ||
/** | ||
* @param {Function} openForm 被代理的原始openForm | ||
* @returns {Promise<object> | object | void} object为打开表单后form的终态 | ||
* @param {Function} openForm 被代理的原始 openForm | ||
* @returns {Promise<object> | object | void} object 为打开表单后 form 的终态 | ||
*/ | ||
@@ -1027,6 +1034,6 @@ openFormProxy (openForm) {}, | ||
openFormProxy (openForm) { | ||
// 新增时openForm没有返回值 | ||
// 新增时 openForm 没有返回值 | ||
return new Promise((resolve, reject) => { | ||
openForm()?.then(response => { | ||
// response为axiosConfig.r的接口返回值 | ||
// response 为 axiosConfig.r 的接口返回值 | ||
// 修改表单数据 | ||
@@ -1066,3 +1073,3 @@ form.data.status = 1 | ||
return new Promise((resolve, reject) => { | ||
// 可以在finally中resolve | ||
// 可以在 finally 中 resolve | ||
openForm().then(() => { | ||
@@ -1103,6 +1110,6 @@ // 回显成功后,默认停止加载 | ||
/** | ||
* PS:以下为原始submitForm的函数签名,如果你配置了submitFormProxy,则以submitFormProxy为准 | ||
* PS:以下为原始 submitForm 的函数签名,如果你配置了 submitFormProxy ,则以 submitFormProxy 为准 | ||
* | ||
* @param {any} [payload = form.data] | ||
* @param {'data'|'params'|'config'} [payloadAs] 指定payload的用途 | ||
* @param {'data'|'params'|'config'} [payloadAs] 指定 payload 的用途 | ||
* @returns {Promise<any>} 接口返回值 | ||
@@ -1114,3 +1121,3 @@ */ | ||
`submitFormProxy`:你可以使用 `submitFormProxy` 来代理 `submitForm`,以便在submitForm前后做一些操作,或改变submitForm的行为 | ||
`submitFormProxy`:你可以使用 `submitFormProxy` 来代理 `submitForm`,以便在 submitForm 前后做一些操作,或改变submitForm的行为 | ||
@@ -1120,4 +1127,4 @@ ```ts | ||
/** | ||
* @param {Function} submitForm 被代理的原始submitForm | ||
* @returns {Promise<object> | object | void} object为提交表单后form的终态 | ||
* @param {Function} submitForm 被代理的原始 submitForm | ||
* @returns {Promise<object> | object | void} object 为提交表单后 form 的终态 | ||
*/ | ||
@@ -1138,3 +1145,3 @@ submitFormProxy (submitForm) {} | ||
// submitForm被代理时 | ||
// submitForm 被代理时 | ||
useAdmate({ | ||
@@ -1177,3 +1184,3 @@ submitFormProxy (submitForm) { | ||
// 返回一个promise | ||
// 返回一个 promise | ||
useAdmate({ | ||
@@ -1240,3 +1247,3 @@ submitFormProxy (submitForm) { | ||
嵌套其它也使用Admate的页面 | ||
嵌套其它也使用 Admate 的页面 | ||
@@ -1243,0 +1250,0 @@ [示例](https://github.com/cloydlau/admate/blob/master/demo/vue3/examples/Nested.vue) |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
159952
1209
30