diff --git a/404.html b/404.html index 9d74a02..e748d11 100644 --- a/404.html +++ b/404.html @@ -6,15 +6,15 @@ 404 | Vue-H5-Template - + -
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.

Released under the MIT License.

- - +
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.

Released under the MIT License.

+ + \ No newline at end of file diff --git a/assets/app.1a98d107.js b/assets/app.1a98d107.js new file mode 100644 index 0000000..79b2b47 --- /dev/null +++ b/assets/app.1a98d107.js @@ -0,0 +1 @@ +function Rs(e,t){const n=Object.create(null),s=e.split(",");for(let o=0;o!!n[o.toLowerCase()]:o=>!!n[o]}const Oi="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Fi=Rs(Oi);function vr(e){return!!e||e===""}function Ds(e){if(W(e)){const t={};for(let n=0;n{if(n){const s=n.split(Hi);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function pe(e){let t="";if(we(e))t=e;else if(W(e))for(let n=0;nwe(e)?e:e==null?"":W(e)||ye(e)&&(e.toString===yr||!Q(e.toString))?JSON.stringify(e,mr,2):String(e),mr=(e,t)=>t&&t.__v_isRef?mr(e,t.value):Nt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,o])=>(n[`${s} =>`]=o,n),{})}:gr(t)?{[`Set(${t.size})`]:[...t.values()]}:ye(t)&&!W(t)&&!xr(t)?String(t):t,_e={},At=[],je=()=>{},Di=()=>!1,zi=/^on[^a-z]/,mn=e=>zi.test(e),zs=e=>e.startsWith("onUpdate:"),$e=Object.assign,Us=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ui=Object.prototype.hasOwnProperty,ne=(e,t)=>Ui.call(e,t),W=Array.isArray,Nt=e=>Wn(e)==="[object Map]",gr=e=>Wn(e)==="[object Set]",Q=e=>typeof e=="function",we=e=>typeof e=="string",js=e=>typeof e=="symbol",ye=e=>e!==null&&typeof e=="object",br=e=>ye(e)&&Q(e.then)&&Q(e.catch),yr=Object.prototype.toString,Wn=e=>yr.call(e),ji=e=>Wn(e).slice(8,-1),xr=e=>Wn(e)==="[object Object]",Ks=e=>we(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,tn=Rs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),qn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Ki=/-(\w)/g,Qe=qn(e=>e.replace(Ki,(t,n)=>n?n.toUpperCase():"")),Wi=/\B([A-Z])/g,Ut=qn(e=>e.replace(Wi,"-$1").toLowerCase()),Yn=qn(e=>e.charAt(0).toUpperCase()+e.slice(1)),ds=qn(e=>e?`on${Yn(e)}`:""),an=(e,t)=>!Object.is(e,t),hs=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},wr=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let yo;const qi=()=>yo||(yo=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let Me;class Yi{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&Me&&(this.parent=Me,this.index=(Me.scopes||(Me.scopes=[])).push(this)-1)}run(t){if(this.active){const n=Me;try{return Me=this,t()}finally{Me=n}}}on(){Me=this}off(){Me=this.parent}stop(t){if(this.active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},$r=e=>(e.w&_t)>0,kr=e=>(e.n&_t)>0,Xi=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(f==="length"||f>=s)&&l.push(c)});else switch(n!==void 0&&l.push(i.get(n)),t){case"add":W(e)?Ks(n)&&l.push(i.get("length")):(l.push(i.get(Ct)),Nt(e)&&l.push(i.get(ks)));break;case"delete":W(e)||(l.push(i.get(Ct)),Nt(e)&&l.push(i.get(ks)));break;case"set":Nt(e)&&l.push(i.get(Ct));break}if(l.length===1)l[0]&&Ps(l[0]);else{const c=[];for(const f of l)f&&c.push(...f);Ps(Ws(c))}}function Ps(e,t){const n=W(e)?e:[...e];for(const s of n)s.computed&&wo(s);for(const s of n)s.computed||wo(s)}function wo(e,t){(e!==ze||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const el=Rs("__proto__,__v_isRef,__isVue"),Sr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(js)),tl=Ys(),nl=Ys(!1,!0),sl=Ys(!0),$o=ol();function ol(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=ce(this);for(let r=0,i=this.length;r{e[t]=function(...n){jt();const s=ce(this)[t].apply(this,n);return Kt(),s}}),e}function Ys(e=!1,t=!1){return function(s,o,r){if(o==="__v_isReactive")return!e;if(o==="__v_isReadonly")return e;if(o==="__v_isShallow")return t;if(o==="__v_raw"&&r===(e?t?yl:Mr:t?Lr:Tr).get(s))return s;const i=W(s);if(!e&&i&&ne($o,o))return Reflect.get($o,o,r);const l=Reflect.get(s,o,r);return(js(o)?Sr.has(o):el(o))||(e||Ne(s,"get",o),t)?l:Pe(l)?i&&Ks(o)?l:l.value:ye(l)?e?Qs(l):Jn(l):l}}const rl=Vr(),il=Vr(!0);function Vr(e=!1){return function(n,s,o,r){let i=n[s];if(un(i)&&Pe(i)&&!Pe(o))return!1;if(!e&&!un(o)&&(Cs(o)||(o=ce(o),i=ce(i)),!W(n)&&Pe(i)&&!Pe(o)))return i.value=o,!0;const l=W(n)&&Ks(s)?Number(s)e,Gn=e=>Reflect.getPrototypeOf(e);function $n(e,t,n=!1,s=!1){e=e.__v_raw;const o=ce(e),r=ce(t);n||(t!==r&&Ne(o,"get",t),Ne(o,"get",r));const{has:i}=Gn(o),l=s?Gs:n?Zs:fn;if(i.call(o,t))return l(e.get(t));if(i.call(o,r))return l(e.get(r));e!==o&&e.get(t)}function kn(e,t=!1){const n=this.__v_raw,s=ce(n),o=ce(e);return t||(e!==o&&Ne(s,"has",e),Ne(s,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function Pn(e,t=!1){return e=e.__v_raw,!t&&Ne(ce(e),"iterate",Ct),Reflect.get(e,"size",e)}function ko(e){e=ce(e);const t=ce(this);return Gn(t).has.call(t,e)||(t.add(e),nt(t,"add",e,e)),this}function Po(e,t){t=ce(t);const n=ce(this),{has:s,get:o}=Gn(n);let r=s.call(n,e);r||(e=ce(e),r=s.call(n,e));const i=o.call(n,e);return n.set(e,t),r?an(t,i)&&nt(n,"set",e,t):nt(n,"add",e,t),this}function Co(e){const t=ce(this),{has:n,get:s}=Gn(t);let o=n.call(t,e);o||(e=ce(e),o=n.call(t,e)),s&&s.call(t,e);const r=t.delete(e);return o&&nt(t,"delete",e,void 0),r}function So(){const e=ce(this),t=e.size!==0,n=e.clear();return t&&nt(e,"clear",void 0,void 0),n}function Cn(e,t){return function(s,o){const r=this,i=r.__v_raw,l=ce(i),c=t?Gs:e?Zs:fn;return!e&&Ne(l,"iterate",Ct),i.forEach((f,h)=>s.call(o,c(f),c(h),r))}}function Sn(e,t,n){return function(...s){const o=this.__v_raw,r=ce(o),i=Nt(r),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,f=o[e](...s),h=n?Gs:t?Zs:fn;return!t&&Ne(r,"iterate",c?ks:Ct),{next(){const{value:v,done:y}=f.next();return y?{value:v,done:y}:{value:l?[h(v[0]),h(v[1])]:h(v),done:y}},[Symbol.iterator](){return this}}}}function rt(e){return function(...t){return e==="delete"?!1:this}}function dl(){const e={get(r){return $n(this,r)},get size(){return Pn(this)},has:kn,add:ko,set:Po,delete:Co,clear:So,forEach:Cn(!1,!1)},t={get(r){return $n(this,r,!1,!0)},get size(){return Pn(this)},has:kn,add:ko,set:Po,delete:Co,clear:So,forEach:Cn(!1,!0)},n={get(r){return $n(this,r,!0)},get size(){return Pn(this,!0)},has(r){return kn.call(this,r,!0)},add:rt("add"),set:rt("set"),delete:rt("delete"),clear:rt("clear"),forEach:Cn(!0,!1)},s={get(r){return $n(this,r,!0,!0)},get size(){return Pn(this,!0)},has(r){return kn.call(this,r,!0)},add:rt("add"),set:rt("set"),delete:rt("delete"),clear:rt("clear"),forEach:Cn(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(r=>{e[r]=Sn(r,!1,!1),n[r]=Sn(r,!0,!1),t[r]=Sn(r,!1,!0),s[r]=Sn(r,!0,!0)}),[e,n,t,s]}const[hl,_l,pl,vl]=dl();function Js(e,t){const n=t?e?vl:pl:e?_l:hl;return(s,o,r)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?s:Reflect.get(ne(n,o)&&o in s?n:s,o,r)}const ml={get:Js(!1,!1)},gl={get:Js(!1,!0)},bl={get:Js(!0,!1)},Tr=new WeakMap,Lr=new WeakMap,Mr=new WeakMap,yl=new WeakMap;function xl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function wl(e){return e.__v_skip||!Object.isExtensible(e)?0:xl(ji(e))}function Jn(e){return un(e)?e:Xs(e,!1,Er,ml,Tr)}function $l(e){return Xs(e,!1,fl,gl,Lr)}function Qs(e){return Xs(e,!0,ul,bl,Mr)}function Xs(e,t,n,s,o){if(!ye(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const r=o.get(e);if(r)return r;const i=wl(e);if(i===0)return e;const l=new Proxy(e,i===2?s:n);return o.set(e,l),l}function Ot(e){return un(e)?Ot(e.__v_raw):!!(e&&e.__v_isReactive)}function un(e){return!!(e&&e.__v_isReadonly)}function Cs(e){return!!(e&&e.__v_isShallow)}function Ir(e){return Ot(e)||un(e)}function ce(e){const t=e&&e.__v_raw;return t?ce(t):e}function nn(e){return In(e,"__v_skip",!0),e}const fn=e=>ye(e)?Jn(e):e,Zs=e=>ye(e)?Qs(e):e;function Ar(e){ft&&ze&&(e=ce(e),Cr(e.dep||(e.dep=Ws())))}function Nr(e,t){e=ce(e),e.dep&&Ps(e.dep)}function Pe(e){return!!(e&&e.__v_isRef===!0)}function ge(e){return Or(e,!1)}function kl(e){return Or(e,!0)}function Or(e,t){return Pe(e)?e:new Pl(e,t)}class Pl{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:ce(t),this._value=n?t:fn(t)}get value(){return Ar(this),this._value}set value(t){t=this.__v_isShallow?t:ce(t),an(t,this._rawValue)&&(this._rawValue=t,this._value=this.__v_isShallow?t:fn(t),Nr(this))}}function _(e){return Pe(e)?e.value:e}const Cl={get:(e,t,n)=>_(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const o=e[t];return Pe(o)&&!Pe(n)?(o.value=n,!0):Reflect.set(e,t,n,s)}};function Fr(e){return Ot(e)?e:new Proxy(e,Cl)}class Sl{constructor(t,n,s,o){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new qs(t,()=>{this._dirty||(this._dirty=!0,Nr(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=s}get value(){const t=ce(this);return Ar(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function Vl(e,t,n=!1){let s,o;const r=Q(e);return r?(s=e,o=je):(s=e.get,o=e.set),new Sl(s,o,r||!o,n)}function dt(e,t,n,s){let o;try{o=s?e(...s):e()}catch(r){gn(r,t,n)}return o}function He(e,t,n,s){if(Q(e)){const r=dt(e,t,n,s);return r&&br(r)&&r.catch(i=>{gn(i,t,n)}),r}const o=[];for(let r=0;r>>1;dn(Ie[s])tt&&Ie.splice(t,1)}function Rr(e,t,n,s){W(e)?n.push(...e):(!t||!t.includes(e,e.allowRecurse?s+1:s))&&n.push(e),Hr()}function Ml(e){Rr(e,en,sn,Mt)}function Il(e){Rr(e,at,on,It)}function Qn(e,t=null){if(sn.length){for(Vs=t,en=[...new Set(sn)],sn.length=0,Mt=0;Mtdn(n)-dn(s)),It=0;Ite.id==null?1/0:e.id;function Dr(e){Ss=!1,An=!0,Qn(e),Ie.sort((n,s)=>dn(n)-dn(s));const t=je;try{for(tt=0;ttP.trim())),v&&(o=n.map(wr))}let l,c=s[l=ds(t)]||s[l=ds(Qe(t))];!c&&r&&(c=s[l=ds(Ut(t))]),c&&He(c,e,6,o);const f=s[l+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,He(f,e,6,o)}}function zr(e,t,n=!1){const s=t.emitsCache,o=s.get(e);if(o!==void 0)return o;const r=e.emits;let i={},l=!1;if(!Q(e)){const c=f=>{const h=zr(f,t,!0);h&&(l=!0,$e(i,h))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!r&&!l?(s.set(e,null),null):(W(r)?r.forEach(c=>i[c]=null):$e(i,r),s.set(e,i),i)}function Xn(e,t){return!e||!mn(t)?!1:(t=t.slice(2).replace(/Once$/,""),ne(e,t[0].toLowerCase()+t.slice(1))||ne(e,Ut(t))||ne(e,t))}let Ce=null,Zn=null;function On(e){const t=Ce;return Ce=e,Zn=e&&e.type.__scopeId||null,t}function Ke(e){Zn=e}function We(){Zn=null}function N(e,t=Ce,n){if(!t||e._n)return e;const s=(...o)=>{s._d&&Ho(-1);const r=On(t),i=e(...o);return On(r),s._d&&Ho(1),i};return s._n=!0,s._c=!0,s._d=!0,s}function _s(e){const{type:t,vnode:n,proxy:s,withProxy:o,props:r,propsOptions:[i],slots:l,attrs:c,emit:f,render:h,renderCache:v,data:y,setupState:P,ctx:T,inheritAttrs:U}=e;let H,b;const k=On(e);try{if(n.shapeFlag&4){const J=o||s;H=De(h.call(J,J,v,r,P,y,T)),b=c}else{const J=t;H=De(J.length>1?J(r,{attrs:c,slots:l,emit:f}):J(r,null)),b=t.props?c:Nl(c)}}catch(J){rn.length=0,gn(J,e,1),H=E(Ae)}let K=H;if(b&&U!==!1){const J=Object.keys(b),{shapeFlag:te}=K;J.length&&te&7&&(i&&J.some(zs)&&(b=Ol(b,i)),K=pt(K,b))}return n.dirs&&(K=pt(K),K.dirs=K.dirs?K.dirs.concat(n.dirs):n.dirs),n.transition&&(K.transition=n.transition),H=K,On(k),H}const Nl=e=>{let t;for(const n in e)(n==="class"||n==="style"||mn(n))&&((t||(t={}))[n]=e[n]);return t},Ol=(e,t)=>{const n={};for(const s in e)(!zs(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Fl(e,t,n){const{props:s,children:o,component:r}=e,{props:i,children:l,patchFlag:c}=t,f=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Vo(s,i,f):!!i;if(c&8){const h=t.dynamicProps;for(let v=0;ve.__isSuspense;function Ur(e,t){t&&t.pendingBranch?W(e)?t.effects.push(...e):t.effects.push(e):Il(e)}function no(e,t){if(xe){let n=xe.provides;const s=xe.parent&&xe.parent.provides;s===n&&(n=xe.provides=Object.create(s)),n[e]=t}}function ht(e,t,n=!1){const s=xe||Ce;if(s){const o=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(o&&e in o)return o[e];if(arguments.length>1)return n&&Q(t)?t.call(s.proxy):t}}function hn(e,t){return es(e,null,t)}function jr(e,t){return es(e,null,{flush:"post"})}const Eo={};function Je(e,t,n){return es(e,t,n)}function es(e,t,{immediate:n,deep:s,flush:o,onTrack:r,onTrigger:i}=_e){const l=xe;let c,f=!1,h=!1;if(Pe(e)?(c=()=>e.value,f=Cs(e)):Ot(e)?(c=()=>e,s=!0):W(e)?(h=!0,f=e.some(b=>Ot(b)||Cs(b)),c=()=>e.map(b=>{if(Pe(b))return b.value;if(Ot(b))return Pt(b);if(Q(b))return dt(b,l,2)})):Q(e)?t?c=()=>dt(e,l,2):c=()=>{if(!(l&&l.isUnmounted))return v&&v(),He(e,l,3,[y])}:c=je,t&&s){const b=c;c=()=>Pt(b())}let v,y=b=>{v=H.onStop=()=>{dt(b,l,4)}};if(Dt)return y=je,t?n&&He(t,l,3,[c(),h?[]:void 0,y]):c(),je;let P=h?[]:Eo;const T=()=>{if(!!H.active)if(t){const b=H.run();(s||f||(h?b.some((k,K)=>an(k,P[K])):an(b,P)))&&(v&&v(),He(t,l,3,[b,P===Eo?void 0:P,y]),P=b)}else H.run()};T.allowRecurse=!!t;let U;o==="sync"?U=T:o==="post"?U=()=>Ee(T,l&&l.suspense):U=()=>Ml(T);const H=new qs(c,U);return t?n?T():P=H.run():o==="post"?Ee(H.run.bind(H),l&&l.suspense):H.run(),()=>{H.stop(),l&&l.scope&&Us(l.scope.effects,H)}}function Rl(e,t,n){const s=this.proxy,o=we(e)?e.includes(".")?Kr(s,e):()=>s[e]:e.bind(s,s);let r;Q(t)?r=t:(r=t.handler,n=t);const i=xe;Rt(this);const l=es(o,r.bind(s),n);return i?Rt(i):St(),l}function Kr(e,t){const n=t.split(".");return()=>{let s=e;for(let o=0;o{Pt(n,t)});else if(xr(e))for(const n in e)Pt(e[n],t);return e}function Dl(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return qe(()=>{e.isMounted=!0}),Zr(()=>{e.isUnmounting=!0}),e}const Fe=[Function,Array],zl={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Fe,onEnter:Fe,onAfterEnter:Fe,onEnterCancelled:Fe,onBeforeLeave:Fe,onLeave:Fe,onAfterLeave:Fe,onLeaveCancelled:Fe,onBeforeAppear:Fe,onAppear:Fe,onAfterAppear:Fe,onAppearCancelled:Fe},setup(e,{slots:t}){const n=ss(),s=Dl();let o;return()=>{const r=t.default&&Yr(t.default(),!0);if(!r||!r.length)return;let i=r[0];if(r.length>1){for(const U of r)if(U.type!==Ae){i=U;break}}const l=ce(e),{mode:c}=l;if(s.isLeaving)return ps(i);const f=To(i);if(!f)return ps(i);const h=Es(f,l,s,n);Ts(f,h);const v=n.subTree,y=v&&To(v);let P=!1;const{getTransitionKey:T}=f.type;if(T){const U=T();o===void 0?o=U:U!==o&&(o=U,P=!0)}if(y&&y.type!==Ae&&(!wt(f,y)||P)){const U=Es(y,l,s,n);if(Ts(y,U),c==="out-in")return s.isLeaving=!0,U.afterLeave=()=>{s.isLeaving=!1,n.update()},ps(i);c==="in-out"&&f.type!==Ae&&(U.delayLeave=(H,b,k)=>{const K=qr(s,y);K[String(y.key)]=y,H._leaveCb=()=>{b(),H._leaveCb=void 0,delete h.delayedLeave},h.delayedLeave=k})}return i}}},Wr=zl;function qr(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Es(e,t,n,s){const{appear:o,mode:r,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:f,onEnterCancelled:h,onBeforeLeave:v,onLeave:y,onAfterLeave:P,onLeaveCancelled:T,onBeforeAppear:U,onAppear:H,onAfterAppear:b,onAppearCancelled:k}=t,K=String(e.key),J=qr(n,e),te=(I,Y)=>{I&&He(I,s,9,Y)},ue=(I,Y)=>{const Z=Y[1];te(I,Y),W(I)?I.every(oe=>oe.length<=1)&&Z():I.length<=1&&Z()},ae={mode:r,persisted:i,beforeEnter(I){let Y=l;if(!n.isMounted)if(o)Y=U||l;else return;I._leaveCb&&I._leaveCb(!0);const Z=J[K];Z&&wt(e,Z)&&Z.el._leaveCb&&Z.el._leaveCb(),te(Y,[I])},enter(I){let Y=c,Z=f,oe=h;if(!n.isMounted)if(o)Y=H||c,Z=b||f,oe=k||h;else return;let A=!1;const ee=I._enterCb=R=>{A||(A=!0,R?te(oe,[I]):te(Z,[I]),ae.delayedLeave&&ae.delayedLeave(),I._enterCb=void 0)};Y?ue(Y,[I,ee]):ee()},leave(I,Y){const Z=String(e.key);if(I._enterCb&&I._enterCb(!0),n.isUnmounting)return Y();te(v,[I]);let oe=!1;const A=I._leaveCb=ee=>{oe||(oe=!0,Y(),ee?te(T,[I]):te(P,[I]),I._leaveCb=void 0,J[Z]===e&&delete J[Z])};J[Z]=e,y?ue(y,[I,A]):A()},clone(I){return Es(I,t,n,s)}};return ae}function ps(e){if(bn(e))return e=pt(e),e.children=null,e}function To(e){return bn(e)?e.children?e.children[0]:void 0:e}function Ts(e,t){e.shapeFlag&6&&e.component?Ts(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Yr(e,t=!1,n){let s=[],o=0;for(let r=0;r1)for(let r=0;r!!e.type.__asyncLoader;function Gr(e){Q(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:o=200,timeout:r,suspensible:i=!0,onError:l}=e;let c=null,f,h=0;const v=()=>(h++,c=null,y()),y=()=>{let P;return c||(P=c=t().catch(T=>{if(T=T instanceof Error?T:new Error(String(T)),l)return new Promise((U,H)=>{l(T,()=>U(v()),()=>H(T),h+1)});throw T}).then(T=>P!==c&&c?c:(T&&(T.__esModule||T[Symbol.toStringTag]==="Module")&&(T=T.default),f=T,T)))};return B({name:"AsyncComponentWrapper",__asyncLoader:y,get __asyncResolved(){return f},setup(){const P=xe;if(f)return()=>vs(f,P);const T=k=>{c=null,gn(k,P,13,!s)};if(i&&P.suspense||Dt)return y().then(k=>()=>vs(k,P)).catch(k=>(T(k),()=>s?E(s,{error:k}):null));const U=ge(!1),H=ge(),b=ge(!!o);return o&&setTimeout(()=>{b.value=!1},o),r!=null&&setTimeout(()=>{if(!U.value&&!H.value){const k=new Error(`Async component timed out after ${r}ms.`);T(k),H.value=k}},r),y().then(()=>{U.value=!0,P.parent&&bn(P.parent.vnode)&&to(P.parent.update)}).catch(k=>{T(k),H.value=k}),()=>{if(U.value&&f)return vs(f,P);if(H.value&&s)return E(s,{error:H.value});if(n&&!b.value)return E(n)}}})}function vs(e,{vnode:{ref:t,props:n,children:s,shapeFlag:o},parent:r}){const i=E(e,n,s);return i.ref=t,i}const bn=e=>e.type.__isKeepAlive;function Ul(e,t){Jr(e,"a",t)}function jl(e,t){Jr(e,"da",t)}function Jr(e,t,n=xe){const s=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(ts(t,s,n),n){let o=n.parent;for(;o&&o.parent;)bn(o.parent.vnode)&&Kl(s,t,n,o),o=o.parent}}function Kl(e,t,n,s){const o=ts(t,e,s,!0);vt(()=>{Us(s[t],o)},n)}function ts(e,t,n=xe,s=!1){if(n){const o=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;jt(),Rt(n);const l=He(t,n,e,i);return St(),Kt(),l});return s?o.unshift(r):o.push(r),r}}const st=e=>(t,n=xe)=>(!Dt||e==="sp")&&ts(e,t,n),Qr=st("bm"),qe=st("m"),Wl=st("bu"),Xr=st("u"),Zr=st("bum"),vt=st("um"),ql=st("sp"),Yl=st("rtg"),Gl=st("rtc");function Jl(e,t=xe){ts("ec",e,t)}function Lo(e,t){const n=Ce;if(n===null)return e;const s=os(n)||n.proxy,o=e.dirs||(e.dirs=[]);for(let r=0;rt(i,l,void 0,r&&r[l]));else{const i=Object.keys(e);o=new Array(i.length);for(let l=0,c=i.length;lRn(t)?!(t.type===Ae||t.type===G&&!ni(t.children)):!0)?e:null}const Ls=e=>e?_i(e)?os(e)||e.proxy:Ls(e.parent):null,Fn=$e(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ls(e.parent),$root:e=>Ls(e.root),$emit:e=>e.emit,$options:e=>oi(e),$forceUpdate:e=>e.f||(e.f=()=>to(e.update)),$nextTick:e=>e.n||(e.n=Wt.bind(e.proxy)),$watch:e=>Rl.bind(e)}),Ql={get({_:e},t){const{ctx:n,setupState:s,data:o,props:r,accessCache:i,type:l,appContext:c}=e;let f;if(t[0]!=="$"){const P=i[t];if(P!==void 0)switch(P){case 1:return s[t];case 2:return o[t];case 4:return n[t];case 3:return r[t]}else{if(s!==_e&&ne(s,t))return i[t]=1,s[t];if(o!==_e&&ne(o,t))return i[t]=2,o[t];if((f=e.propsOptions[0])&&ne(f,t))return i[t]=3,r[t];if(n!==_e&&ne(n,t))return i[t]=4,n[t];Ms&&(i[t]=0)}}const h=Fn[t];let v,y;if(h)return t==="$attrs"&&Ne(e,"get",t),h(e);if((v=l.__cssModules)&&(v=v[t]))return v;if(n!==_e&&ne(n,t))return i[t]=4,n[t];if(y=c.config.globalProperties,ne(y,t))return y[t]},set({_:e},t,n){const{data:s,setupState:o,ctx:r}=e;return o!==_e&&ne(o,t)?(o[t]=n,!0):s!==_e&&ne(s,t)?(s[t]=n,!0):ne(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:o,propsOptions:r}},i){let l;return!!n[i]||e!==_e&&ne(e,i)||t!==_e&&ne(t,i)||(l=r[0])&&ne(l,i)||ne(s,i)||ne(Fn,i)||ne(o.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ne(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let Ms=!0;function Xl(e){const t=oi(e),n=e.proxy,s=e.ctx;Ms=!1,t.beforeCreate&&Io(t.beforeCreate,e,"bc");const{data:o,computed:r,methods:i,watch:l,provide:c,inject:f,created:h,beforeMount:v,mounted:y,beforeUpdate:P,updated:T,activated:U,deactivated:H,beforeDestroy:b,beforeUnmount:k,destroyed:K,unmounted:J,render:te,renderTracked:ue,renderTriggered:ae,errorCaptured:I,serverPrefetch:Y,expose:Z,inheritAttrs:oe,components:A,directives:ee,filters:R}=t;if(f&&Zl(f,s,null,e.appContext.config.unwrapInjectedRef),i)for(const be in i){const ve=i[be];Q(ve)&&(s[be]=ve.bind(n))}if(o){const be=o.call(n,n);ye(be)&&(e.data=Jn(be))}if(Ms=!0,r)for(const be in r){const ve=r[be],Ze=Q(ve)?ve.bind(n,n):Q(ve.get)?ve.get.bind(n,n):je,as=!Q(ve)&&Q(ve.set)?ve.set.bind(n):je,Gt=le({get:Ze,set:as});Object.defineProperty(s,be,{enumerable:!0,configurable:!0,get:()=>Gt.value,set:Et=>Gt.value=Et})}if(l)for(const be in l)si(l[be],s,n,be);if(c){const be=Q(c)?c.call(n):c;Reflect.ownKeys(be).forEach(ve=>{no(ve,be[ve])})}h&&Io(h,e,"c");function fe(be,ve){W(ve)?ve.forEach(Ze=>be(Ze.bind(n))):ve&&be(ve.bind(n))}if(fe(Qr,v),fe(qe,y),fe(Wl,P),fe(Xr,T),fe(Ul,U),fe(jl,H),fe(Jl,I),fe(Gl,ue),fe(Yl,ae),fe(Zr,k),fe(vt,J),fe(ql,Y),W(Z))if(Z.length){const be=e.exposed||(e.exposed={});Z.forEach(ve=>{Object.defineProperty(be,ve,{get:()=>n[ve],set:Ze=>n[ve]=Ze})})}else e.exposed||(e.exposed={});te&&e.render===je&&(e.render=te),oe!=null&&(e.inheritAttrs=oe),A&&(e.components=A),ee&&(e.directives=ee)}function Zl(e,t,n=je,s=!1){W(e)&&(e=Is(e));for(const o in e){const r=e[o];let i;ye(r)?"default"in r?i=ht(r.from||o,r.default,!0):i=ht(r.from||o):i=ht(r),Pe(i)&&s?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>i.value,set:l=>i.value=l}):t[o]=i}}function Io(e,t,n){He(W(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function si(e,t,n,s){const o=s.includes(".")?Kr(n,s):()=>n[s];if(we(e)){const r=t[e];Q(r)&&Je(o,r)}else if(Q(e))Je(o,e.bind(n));else if(ye(e))if(W(e))e.forEach(r=>si(r,t,n,s));else{const r=Q(e.handler)?e.handler.bind(n):t[e.handler];Q(r)&&Je(o,r,e)}}function oi(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:o,optionsCache:r,config:{optionMergeStrategies:i}}=e.appContext,l=r.get(t);let c;return l?c=l:!o.length&&!n&&!s?c=t:(c={},o.length&&o.forEach(f=>Bn(c,f,i,!0)),Bn(c,t,i)),r.set(t,c),c}function Bn(e,t,n,s=!1){const{mixins:o,extends:r}=t;r&&Bn(e,r,n,!0),o&&o.forEach(i=>Bn(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=ec[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const ec={data:Ao,props:xt,emits:xt,methods:xt,computed:xt,beforeCreate:Se,created:Se,beforeMount:Se,mounted:Se,beforeUpdate:Se,updated:Se,beforeDestroy:Se,beforeUnmount:Se,destroyed:Se,unmounted:Se,activated:Se,deactivated:Se,errorCaptured:Se,serverPrefetch:Se,components:xt,directives:xt,watch:nc,provide:Ao,inject:tc};function Ao(e,t){return t?e?function(){return $e(Q(e)?e.call(this,this):e,Q(t)?t.call(this,this):t)}:t:e}function tc(e,t){return xt(Is(e),Is(t))}function Is(e){if(W(e)){const t={};for(let n=0;n0)&&!(i&16)){if(i&8){const h=e.vnode.dynamicProps;for(let v=0;v{c=!0;const[y,P]=ii(v,t,!0);$e(i,y),P&&l.push(...P)};!n&&t.mixins.length&&t.mixins.forEach(h),e.extends&&h(e.extends),e.mixins&&e.mixins.forEach(h)}if(!r&&!c)return s.set(e,At),At;if(W(r))for(let h=0;h-1,P[1]=U<0||T-1||ne(P,"default"))&&l.push(v)}}}const f=[i,l];return s.set(e,f),f}function No(e){return e[0]!=="$"}function Oo(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:e===null?"null":""}function Fo(e,t){return Oo(e)===Oo(t)}function Bo(e,t){return W(t)?t.findIndex(n=>Fo(n,e)):Q(t)&&Fo(t,e)?0:-1}const li=e=>e[0]==="_"||e==="$stable",ro=e=>W(e)?e.map(De):[De(e)],rc=(e,t,n)=>{if(t._n)return t;const s=N((...o)=>ro(t(...o)),n);return s._c=!1,s},ci=(e,t,n)=>{const s=e._ctx;for(const o in e){if(li(o))continue;const r=e[o];if(Q(r))t[o]=rc(o,r,s);else if(r!=null){const i=ro(r);t[o]=()=>i}}},ai=(e,t)=>{const n=ro(t);e.slots.default=()=>n},ic=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=ce(t),In(t,"_",n)):ci(t,e.slots={})}else e.slots={},t&&ai(e,t);In(e.slots,ns,1)},lc=(e,t,n)=>{const{vnode:s,slots:o}=e;let r=!0,i=_e;if(s.shapeFlag&32){const l=t._;l?n&&l===1?r=!1:($e(o,t),!n&&l===1&&delete o._):(r=!t.$stable,ci(t,o)),i=t}else t&&(ai(e,t),i={default:1});if(r)for(const l in o)!li(l)&&!(l in i)&&delete o[l]};function ui(){return{app:null,config:{isNativeTag:Di,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let cc=0;function ac(e,t){return function(s,o=null){Q(s)||(s=Object.assign({},s)),o!=null&&!ye(o)&&(o=null);const r=ui(),i=new Set;let l=!1;const c=r.app={_uid:cc++,_component:s,_props:o,_container:null,_context:r,_instance:null,version:Vc,get config(){return r.config},set config(f){},use(f,...h){return i.has(f)||(f&&Q(f.install)?(i.add(f),f.install(c,...h)):Q(f)&&(i.add(f),f(c,...h))),c},mixin(f){return r.mixins.includes(f)||r.mixins.push(f),c},component(f,h){return h?(r.components[f]=h,c):r.components[f]},directive(f,h){return h?(r.directives[f]=h,c):r.directives[f]},mount(f,h,v){if(!l){const y=E(s,o);return y.appContext=r,h&&t?t(y,f):e(y,f,v),l=!0,c._container=f,f.__vue_app__=c,os(y.component)||y.component.proxy}},unmount(){l&&(e(null,c._container),delete c._container.__vue_app__)},provide(f,h){return r.provides[f]=h,c}};return c}}function Hn(e,t,n,s,o=!1){if(W(e)){e.forEach((y,P)=>Hn(y,t&&(W(t)?t[P]:t),n,s,o));return}if(Ft(s)&&!o)return;const r=s.shapeFlag&4?os(s.component)||s.component.proxy:s.el,i=o?null:r,{i:l,r:c}=e,f=t&&t.r,h=l.refs===_e?l.refs={}:l.refs,v=l.setupState;if(f!=null&&f!==c&&(we(f)?(h[f]=null,ne(v,f)&&(v[f]=null)):Pe(f)&&(f.value=null)),Q(c))dt(c,l,12,[i,h]);else{const y=we(c),P=Pe(c);if(y||P){const T=()=>{if(e.f){const U=y?h[c]:c.value;o?W(U)&&Us(U,r):W(U)?U.includes(r)||U.push(r):y?(h[c]=[r],ne(v,c)&&(v[c]=h[c])):(c.value=[r],e.k&&(h[e.k]=c.value))}else y?(h[c]=i,ne(v,c)&&(v[c]=i)):P&&(c.value=i,e.k&&(h[e.k]=i))};i?(T.id=-1,Ee(T,n)):T()}}}let it=!1;const Vn=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",En=e=>e.nodeType===8;function uc(e){const{mt:t,p:n,o:{patchProp:s,createText:o,nextSibling:r,parentNode:i,remove:l,insert:c,createComment:f}}=e,h=(b,k)=>{if(!k.hasChildNodes()){n(null,b,k),Nn(),k._vnode=b;return}it=!1,v(k.firstChild,b,null,null,null),Nn(),k._vnode=b,it&&console.error("Hydration completed but contains mismatches.")},v=(b,k,K,J,te,ue=!1)=>{const ae=En(b)&&b.data==="[",I=()=>U(b,k,K,J,te,ae),{type:Y,ref:Z,shapeFlag:oe,patchFlag:A}=k,ee=b.nodeType;k.el=b,A===-2&&(ue=!1,k.dynamicChildren=null);let R=null;switch(Y){case _n:ee!==3?k.children===""?(c(k.el=o(""),i(b),b),R=b):R=I():(b.data!==k.children&&(it=!0,b.data=k.children),R=r(b));break;case Ae:ee!==8||ae?R=I():R=r(b);break;case Bt:if(ee!==1&&ee!==3)R=I();else{R=b;const Ve=!k.children.length;for(let fe=0;fe{ue=ue||!!k.dynamicChildren;const{type:ae,props:I,patchFlag:Y,shapeFlag:Z,dirs:oe}=k,A=ae==="input"&&oe||ae==="option";if(A||Y!==-1){if(oe&&Ge(k,null,K,"created"),I)if(A||!ue||Y&48)for(const R in I)(A&&R.endsWith("value")||mn(R)&&!tn(R))&&s(b,R,null,I[R],!1,void 0,K);else I.onClick&&s(b,"onClick",null,I.onClick,!1,void 0,K);let ee;if((ee=I&&I.onVnodeBeforeMount)&&Be(ee,K,k),oe&&Ge(k,null,K,"beforeMount"),((ee=I&&I.onVnodeMounted)||oe)&&Ur(()=>{ee&&Be(ee,K,k),oe&&Ge(k,null,K,"mounted")},J),Z&16&&!(I&&(I.innerHTML||I.textContent))){let R=P(b.firstChild,k,b,K,J,te,ue);for(;R;){it=!0;const Ve=R;R=R.nextSibling,l(Ve)}}else Z&8&&b.textContent!==k.children&&(it=!0,b.textContent=k.children)}return b.nextSibling},P=(b,k,K,J,te,ue,ae)=>{ae=ae||!!k.dynamicChildren;const I=k.children,Y=I.length;for(let Z=0;Z{const{slotScopeIds:ae}=k;ae&&(te=te?te.concat(ae):ae);const I=i(b),Y=P(r(b),k,I,K,J,te,ue);return Y&&En(Y)&&Y.data==="]"?r(k.anchor=Y):(it=!0,c(k.anchor=f("]"),I,Y),Y)},U=(b,k,K,J,te,ue)=>{if(it=!0,k.el=null,ue){const Y=H(b);for(;;){const Z=r(b);if(Z&&Z!==Y)l(Z);else break}}const ae=r(b),I=i(b);return l(b),n(null,k,I,ae,K,J,Vn(I),te),ae},H=b=>{let k=0;for(;b;)if(b=r(b),b&&En(b)&&(b.data==="["&&k++,b.data==="]")){if(k===0)return r(b);k--}return b};return[h,v]}const Ee=Ur;function fc(e){return dc(e,uc)}function dc(e,t){const n=qi();n.__VUE__=!0;const{insert:s,remove:o,patchProp:r,createElement:i,createText:l,createComment:c,setText:f,setElementText:h,parentNode:v,nextSibling:y,setScopeId:P=je,cloneNode:T,insertStaticContent:U}=e,H=(a,u,p,w=null,x=null,S=null,M=!1,C=null,V=!!u.dynamicChildren)=>{if(a===u)return;a&&!wt(a,u)&&(w=wn(a),ot(a,x,S,!0),a=null),u.patchFlag===-2&&(V=!1,u.dynamicChildren=null);const{type:$,ref:D,shapeFlag:O}=u;switch($){case _n:b(a,u,p,w);break;case Ae:k(a,u,p,w);break;case Bt:a==null&&K(u,p,w,M);break;case G:ee(a,u,p,w,x,S,M,C,V);break;default:O&1?ue(a,u,p,w,x,S,M,C,V):O&6?R(a,u,p,w,x,S,M,C,V):(O&64||O&128)&&$.process(a,u,p,w,x,S,M,C,V,Tt)}D!=null&&x&&Hn(D,a&&a.ref,S,u||a,!u)},b=(a,u,p,w)=>{if(a==null)s(u.el=l(u.children),p,w);else{const x=u.el=a.el;u.children!==a.children&&f(x,u.children)}},k=(a,u,p,w)=>{a==null?s(u.el=c(u.children||""),p,w):u.el=a.el},K=(a,u,p,w)=>{[a.el,a.anchor]=U(a.children,u,p,w,a.el,a.anchor)},J=({el:a,anchor:u},p,w)=>{let x;for(;a&&a!==u;)x=y(a),s(a,p,w),a=x;s(u,p,w)},te=({el:a,anchor:u})=>{let p;for(;a&&a!==u;)p=y(a),o(a),a=p;o(u)},ue=(a,u,p,w,x,S,M,C,V)=>{M=M||u.type==="svg",a==null?ae(u,p,w,x,S,M,C,V):Z(a,u,x,S,M,C,V)},ae=(a,u,p,w,x,S,M,C)=>{let V,$;const{type:D,props:O,shapeFlag:z,transition:q,patchFlag:re,dirs:de}=a;if(a.el&&T!==void 0&&re===-1)V=a.el=T(a.el);else{if(V=a.el=i(a.type,S,O&&O.is,O),z&8?h(V,a.children):z&16&&Y(a.children,V,null,w,x,S&&D!=="foreignObject",M,C),de&&Ge(a,null,w,"created"),O){for(const me in O)me!=="value"&&!tn(me)&&r(V,me,null,O[me],S,a.children,w,x,et);"value"in O&&r(V,"value",null,O.value),($=O.onVnodeBeforeMount)&&Be($,w,a)}I(V,a,a.scopeId,M,w)}de&&Ge(a,null,w,"beforeMount");const he=(!x||x&&!x.pendingBranch)&&q&&!q.persisted;he&&q.beforeEnter(V),s(V,u,p),(($=O&&O.onVnodeMounted)||he||de)&&Ee(()=>{$&&Be($,w,a),he&&q.enter(V),de&&Ge(a,null,w,"mounted")},x)},I=(a,u,p,w,x)=>{if(p&&P(a,p),w)for(let S=0;S{for(let $=V;${const C=u.el=a.el;let{patchFlag:V,dynamicChildren:$,dirs:D}=u;V|=a.patchFlag&16;const O=a.props||_e,z=u.props||_e;let q;p&>(p,!1),(q=z.onVnodeBeforeUpdate)&&Be(q,p,u,a),D&&Ge(u,a,p,"beforeUpdate"),p&>(p,!0);const re=x&&u.type!=="foreignObject";if($?oe(a.dynamicChildren,$,C,p,w,re,S):M||Ze(a,u,C,null,p,w,re,S,!1),V>0){if(V&16)A(C,u,O,z,p,w,x);else if(V&2&&O.class!==z.class&&r(C,"class",null,z.class,x),V&4&&r(C,"style",O.style,z.style,x),V&8){const de=u.dynamicProps;for(let he=0;he{q&&Be(q,p,u,a),D&&Ge(u,a,p,"updated")},w)},oe=(a,u,p,w,x,S,M)=>{for(let C=0;C{if(p!==w){for(const C in w){if(tn(C))continue;const V=w[C],$=p[C];V!==$&&C!=="value"&&r(a,C,$,V,M,u.children,x,S,et)}if(p!==_e)for(const C in p)!tn(C)&&!(C in w)&&r(a,C,p[C],null,M,u.children,x,S,et);"value"in w&&r(a,"value",p.value,w.value)}},ee=(a,u,p,w,x,S,M,C,V)=>{const $=u.el=a?a.el:l(""),D=u.anchor=a?a.anchor:l("");let{patchFlag:O,dynamicChildren:z,slotScopeIds:q}=u;q&&(C=C?C.concat(q):q),a==null?(s($,p,w),s(D,p,w),Y(u.children,p,D,x,S,M,C,V)):O>0&&O&64&&z&&a.dynamicChildren?(oe(a.dynamicChildren,z,p,x,S,M,C),(u.key!=null||x&&u===x.subTree)&&fi(a,u,!0)):Ze(a,u,p,D,x,S,M,C,V)},R=(a,u,p,w,x,S,M,C,V)=>{u.slotScopeIds=C,a==null?u.shapeFlag&512?x.ctx.activate(u,p,w,M,V):Ve(u,p,w,x,S,M,V):fe(a,u,V)},Ve=(a,u,p,w,x,S,M)=>{const C=a.component=xc(a,w,x);if(bn(a)&&(C.ctx.renderer=Tt),wc(C),C.asyncDep){if(x&&x.registerDep(C,be),!a.el){const V=C.subTree=E(Ae);k(null,V,u,p)}return}be(C,a,u,p,x,S,M)},fe=(a,u,p)=>{const w=u.component=a.component;if(Fl(a,u,p))if(w.asyncDep&&!w.asyncResolved){ve(w,u,p);return}else w.next=u,Ll(w.update),w.update();else u.el=a.el,w.vnode=u},be=(a,u,p,w,x,S,M)=>{const C=()=>{if(a.isMounted){let{next:D,bu:O,u:z,parent:q,vnode:re}=a,de=D,he;gt(a,!1),D?(D.el=re.el,ve(a,D,M)):D=re,O&&hs(O),(he=D.props&&D.props.onVnodeBeforeUpdate)&&Be(he,q,D,re),gt(a,!0);const me=_s(a),Re=a.subTree;a.subTree=me,H(Re,me,v(Re.el),wn(Re),a,x,S),D.el=me.el,de===null&&Bl(a,me.el),z&&Ee(z,x),(he=D.props&&D.props.onVnodeUpdated)&&Ee(()=>Be(he,q,D,re),x)}else{let D;const{el:O,props:z}=u,{bm:q,m:re,parent:de}=a,he=Ft(u);if(gt(a,!1),q&&hs(q),!he&&(D=z&&z.onVnodeBeforeMount)&&Be(D,de,u),gt(a,!0),O&&fs){const me=()=>{a.subTree=_s(a),fs(O,a.subTree,a,x,null)};he?u.type.__asyncLoader().then(()=>!a.isUnmounted&&me()):me()}else{const me=a.subTree=_s(a);H(null,me,p,w,a,x,S),u.el=me.el}if(re&&Ee(re,x),!he&&(D=z&&z.onVnodeMounted)){const me=u;Ee(()=>Be(D,de,me),x)}(u.shapeFlag&256||de&&Ft(de.vnode)&&de.vnode.shapeFlag&256)&&a.a&&Ee(a.a,x),a.isMounted=!0,u=p=w=null}},V=a.effect=new qs(C,()=>to($),a.scope),$=a.update=()=>V.run();$.id=a.uid,gt(a,!0),$()},ve=(a,u,p)=>{u.component=a;const w=a.vnode.props;a.vnode=u,a.next=null,oc(a,u.props,w,p),lc(a,u.children,p),jt(),Qn(void 0,a.update),Kt()},Ze=(a,u,p,w,x,S,M,C,V=!1)=>{const $=a&&a.children,D=a?a.shapeFlag:0,O=u.children,{patchFlag:z,shapeFlag:q}=u;if(z>0){if(z&128){Gt($,O,p,w,x,S,M,C,V);return}else if(z&256){as($,O,p,w,x,S,M,C,V);return}}q&8?(D&16&&et($,x,S),O!==$&&h(p,O)):D&16?q&16?Gt($,O,p,w,x,S,M,C,V):et($,x,S,!0):(D&8&&h(p,""),q&16&&Y(O,p,w,x,S,M,C,V))},as=(a,u,p,w,x,S,M,C,V)=>{a=a||At,u=u||At;const $=a.length,D=u.length,O=Math.min($,D);let z;for(z=0;zD?et(a,x,S,!0,!1,O):Y(u,p,w,x,S,M,C,V,O)},Gt=(a,u,p,w,x,S,M,C,V)=>{let $=0;const D=u.length;let O=a.length-1,z=D-1;for(;$<=O&&$<=z;){const q=a[$],re=u[$]=V?ut(u[$]):De(u[$]);if(wt(q,re))H(q,re,p,null,x,S,M,C,V);else break;$++}for(;$<=O&&$<=z;){const q=a[O],re=u[z]=V?ut(u[z]):De(u[z]);if(wt(q,re))H(q,re,p,null,x,S,M,C,V);else break;O--,z--}if($>O){if($<=z){const q=z+1,re=qz)for(;$<=O;)ot(a[$],x,S,!0),$++;else{const q=$,re=$,de=new Map;for($=re;$<=z;$++){const Le=u[$]=V?ut(u[$]):De(u[$]);Le.key!=null&&de.set(Le.key,$)}let he,me=0;const Re=z-re+1;let Lt=!1,mo=0;const Jt=new Array(Re);for($=0;$=Re){ot(Le,x,S,!0);continue}let Ye;if(Le.key!=null)Ye=de.get(Le.key);else for(he=re;he<=z;he++)if(Jt[he-re]===0&&wt(Le,u[he])){Ye=he;break}Ye===void 0?ot(Le,x,S,!0):(Jt[Ye-re]=$+1,Ye>=mo?mo=Ye:Lt=!0,H(Le,u[Ye],p,null,x,S,M,C,V),me++)}const go=Lt?hc(Jt):At;for(he=go.length-1,$=Re-1;$>=0;$--){const Le=re+$,Ye=u[Le],bo=Le+1{const{el:S,type:M,transition:C,children:V,shapeFlag:$}=a;if($&6){Et(a.component.subTree,u,p,w);return}if($&128){a.suspense.move(u,p,w);return}if($&64){M.move(a,u,p,Tt);return}if(M===G){s(S,u,p);for(let O=0;OC.enter(S),x);else{const{leave:O,delayLeave:z,afterLeave:q}=C,re=()=>s(S,u,p),de=()=>{O(S,()=>{re(),q&&q()})};z?z(S,re,de):de()}else s(S,u,p)},ot=(a,u,p,w=!1,x=!1)=>{const{type:S,props:M,ref:C,children:V,dynamicChildren:$,shapeFlag:D,patchFlag:O,dirs:z}=a;if(C!=null&&Hn(C,null,p,a,!0),D&256){u.ctx.deactivate(a);return}const q=D&1&&z,re=!Ft(a);let de;if(re&&(de=M&&M.onVnodeBeforeUnmount)&&Be(de,u,a),D&6)Ni(a.component,p,w);else{if(D&128){a.suspense.unmount(p,w);return}q&&Ge(a,null,u,"beforeUnmount"),D&64?a.type.remove(a,u,p,x,Tt,w):$&&(S!==G||O>0&&O&64)?et($,u,p,!1,!0):(S===G&&O&384||!x&&D&16)&&et(V,u,p),w&&po(a)}(re&&(de=M&&M.onVnodeUnmounted)||q)&&Ee(()=>{de&&Be(de,u,a),q&&Ge(a,null,u,"unmounted")},p)},po=a=>{const{type:u,el:p,anchor:w,transition:x}=a;if(u===G){Ai(p,w);return}if(u===Bt){te(a);return}const S=()=>{o(p),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(a.shapeFlag&1&&x&&!x.persisted){const{leave:M,delayLeave:C}=x,V=()=>M(p,S);C?C(a.el,S,V):V()}else S()},Ai=(a,u)=>{let p;for(;a!==u;)p=y(a),o(a),a=p;o(u)},Ni=(a,u,p)=>{const{bum:w,scope:x,update:S,subTree:M,um:C}=a;w&&hs(w),x.stop(),S&&(S.active=!1,ot(M,a,u,p)),C&&Ee(C,u),Ee(()=>{a.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&a.asyncDep&&!a.asyncResolved&&a.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},et=(a,u,p,w=!1,x=!1,S=0)=>{for(let M=S;Ma.shapeFlag&6?wn(a.component.subTree):a.shapeFlag&128?a.suspense.next():y(a.anchor||a.el),vo=(a,u,p)=>{a==null?u._vnode&&ot(u._vnode,null,null,!0):H(u._vnode||null,a,u,null,null,null,p),Nn(),u._vnode=a},Tt={p:H,um:ot,m:Et,r:po,mt:Ve,mc:Y,pc:Ze,pbc:oe,n:wn,o:e};let us,fs;return t&&([us,fs]=t(Tt)),{render:vo,hydrate:us,createApp:ac(vo,us)}}function gt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function fi(e,t,n=!1){const s=e.children,o=t.children;if(W(s)&&W(o))for(let r=0;r>1,e[n[l]]0&&(t[s]=n[r-1]),n[r]=s)}}for(r=n.length,i=n[r-1];r-- >0;)n[r]=i,i=t[i];return n}const _c=e=>e.__isTeleport,G=Symbol(void 0),_n=Symbol(void 0),Ae=Symbol(void 0),Bt=Symbol(void 0),rn=[];let Ue=null;function d(e=!1){rn.push(Ue=e?null:[])}function pc(){rn.pop(),Ue=rn[rn.length-1]||null}let pn=1;function Ho(e){pn+=e}function di(e){return e.dynamicChildren=pn>0?Ue||At:null,pc(),pn>0&&Ue&&Ue.push(e),e}function m(e,t,n,s,o,r){return di(g(e,t,n,s,o,r,!0))}function X(e,t,n,s,o){return di(E(e,t,n,s,o,!0))}function Rn(e){return e?e.__v_isVNode===!0:!1}function wt(e,t){return e.type===t.type&&e.key===t.key}const ns="__vInternal",hi=({key:e})=>e!=null?e:null,Ln=({ref:e,ref_key:t,ref_for:n})=>e!=null?we(e)||Pe(e)||Q(e)?{i:Ce,r:e,k:t,f:!!n}:e:null;function g(e,t=null,n=null,s=0,o=null,r=e===G?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&hi(t),ref:t&&Ln(t),scopeId:Zn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null};return l?(io(c,n),r&128&&e.normalize(c)):n&&(c.shapeFlag|=we(n)?8:16),pn>0&&!i&&Ue&&(c.patchFlag>0||r&6)&&c.patchFlag!==32&&Ue.push(c),c}const E=vc;function vc(e,t=null,n=null,s=0,o=null,r=!1){if((!e||e===ei)&&(e=Ae),Rn(e)){const l=pt(e,t,!0);return n&&io(l,n),pn>0&&!r&&Ue&&(l.shapeFlag&6?Ue[Ue.indexOf(e)]=l:Ue.push(l)),l.patchFlag|=-2,l}if(Sc(e)&&(e=e.__vccOpts),t){t=mc(t);let{class:l,style:c}=t;l&&!we(l)&&(t.class=pe(l)),ye(c)&&(Ir(c)&&!W(c)&&(c=$e({},c)),t.style=Ds(c))}const i=we(e)?1:Hl(e)?128:_c(e)?64:ye(e)?4:Q(e)?2:0;return g(e,t,n,s,o,i,r,!0)}function mc(e){return e?Ir(e)||ns in e?$e({},e):e:null}function pt(e,t,n=!1){const{props:s,ref:o,patchFlag:r,children:i}=e,l=t?Mn(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&hi(l),ref:t&&t.ref?n&&o?W(o)?o.concat(Ln(t)):[o,Ln(t)]:Ln(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==G?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&pt(e.ssContent),ssFallback:e.ssFallback&&pt(e.ssFallback),el:e.el,anchor:e.anchor}}function Oe(e=" ",t=0){return E(_n,null,e,t)}function gc(e,t){const n=E(Bt,null,e);return n.staticCount=t,n}function j(e="",t=!1){return t?(d(),X(Ae,null,e)):E(Ae,null,e)}function De(e){return e==null||typeof e=="boolean"?E(Ae):W(e)?E(G,null,e.slice()):typeof e=="object"?ut(e):E(_n,null,String(e))}function ut(e){return e.el===null||e.memo?e:pt(e)}function io(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(W(t))n=16;else if(typeof t=="object")if(s&65){const o=t.default;o&&(o._c&&(o._d=!1),io(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!(ns in t)?t._ctx=Ce:o===3&&Ce&&(Ce.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Q(t)?(t={default:t,_ctx:Ce},n=32):(t=String(t),s&64?(n=16,t=[Oe(t)]):n=8);e.children=t,e.shapeFlag|=n}function Mn(...e){const t={};for(let n=0;nxe||Ce,Rt=e=>{xe=e,e.scope.on()},St=()=>{xe&&xe.scope.off(),xe=null};function _i(e){return e.vnode.shapeFlag&4}let Dt=!1;function wc(e,t=!1){Dt=t;const{props:n,children:s}=e.vnode,o=_i(e);sc(e,n,o,t),ic(e,s);const r=o?$c(e,t):void 0;return Dt=!1,r}function $c(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=nn(new Proxy(e.ctx,Ql));const{setup:s}=n;if(s){const o=e.setupContext=s.length>1?Pc(e):null;Rt(e),jt();const r=dt(s,e,0,[e.props,o]);if(Kt(),St(),br(r)){if(r.then(St,St),t)return r.then(i=>{Ro(e,i,t)}).catch(i=>{gn(i,e,0)});e.asyncDep=r}else Ro(e,r,t)}else pi(e,t)}function Ro(e,t,n){Q(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ye(t)&&(e.setupState=Fr(t)),pi(e,n)}let Do;function pi(e,t,n){const s=e.type;if(!e.render){if(!t&&Do&&!s.render){const o=s.template;if(o){const{isCustomElement:r,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,f=$e($e({isCustomElement:r,delimiters:l},i),c);s.render=Do(o,f)}}e.render=s.render||je}Rt(e),jt(),Xl(e),Kt(),St()}function kc(e){return new Proxy(e.attrs,{get(t,n){return Ne(e,"get","$attrs"),t[n]}})}function Pc(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=kc(e))},slots:e.slots,emit:e.emit,expose:t}}function os(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Fr(nn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Fn)return Fn[n](e)}}))}function Cc(e,t=!0){return Q(e)?e.displayName||e.name:e.name||t&&e.__name}function Sc(e){return Q(e)&&"__vccOpts"in e}const le=(e,t)=>Vl(e,t,Dt);function Dn(e,t,n){const s=arguments.length;return s===2?ye(t)&&!W(t)?Rn(t)?E(e,null,[t]):E(e,t):E(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Rn(n)&&(n=[n]),E(e,t,n))}const Vc="3.2.37",Ec="http://www.w3.org/2000/svg",$t=typeof document<"u"?document:null,zo=$t&&$t.createElement("template"),Tc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const o=t?$t.createElementNS(Ec,e):$t.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:e=>$t.createTextNode(e),createComment:e=>$t.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>$t.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},cloneNode(e){const t=e.cloneNode(!0);return"_value"in e&&(t._value=e._value),t},insertStaticContent(e,t,n,s,o,r){const i=n?n.previousSibling:t.lastChild;if(o&&(o===r||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===r||!(o=o.nextSibling)););else{zo.innerHTML=s?`${e}`:e;const l=zo.content;if(s){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function Lc(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function Mc(e,t,n){const s=e.style,o=we(n);if(n&&!o){for(const r in n)Ns(s,r,n[r]);if(t&&!we(t))for(const r in t)n[r]==null&&Ns(s,r,"")}else{const r=s.display;o?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=r)}}const Uo=/\s*!important$/;function Ns(e,t,n){if(W(n))n.forEach(s=>Ns(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Ic(e,t);Uo.test(n)?e.setProperty(Ut(s),n.replace(Uo,""),"important"):e[s]=n}}const jo=["Webkit","Moz","ms"],ms={};function Ic(e,t){const n=ms[t];if(n)return n;let s=Qe(t);if(s!=="filter"&&s in e)return ms[t]=s;s=Yn(s);for(let o=0;o{let e=Date.now,t=!1;if(typeof window<"u"){Date.now()>document.createEvent("Event").timeStamp&&(e=performance.now.bind(performance));const n=navigator.userAgent.match(/firefox\/(\d+)/i);t=!!(n&&Number(n[1])<=53)}return[e,t]})();let Os=0;const Fc=Promise.resolve(),Bc=()=>{Os=0},Hc=()=>Os||(Fc.then(Bc),Os=vi());function Rc(e,t,n,s){e.addEventListener(t,n,s)}function Dc(e,t,n,s){e.removeEventListener(t,n,s)}function zc(e,t,n,s,o=null){const r=e._vei||(e._vei={}),i=r[t];if(s&&i)i.value=s;else{const[l,c]=Uc(t);if(s){const f=r[t]=jc(s,o);Rc(e,l,f,c)}else i&&(Dc(e,l,i,c),r[t]=void 0)}}const Wo=/(?:Once|Passive|Capture)$/;function Uc(e){let t;if(Wo.test(e)){t={};let n;for(;n=e.match(Wo);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[Ut(e.slice(2)),t]}function jc(e,t){const n=s=>{const o=s.timeStamp||vi();(Oc||o>=n.attached-1)&&He(Kc(s,n.value),t,5,[s])};return n.value=e,n.attached=Hc(),n}function Kc(e,t){if(W(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>o=>!o._stopped&&s&&s(o))}else return t}const qo=/^on[a-z]/,Wc=(e,t,n,s,o=!1,r,i,l,c)=>{t==="class"?Lc(e,s,o):t==="style"?Mc(e,n,s):mn(t)?zs(t)||zc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):qc(e,t,s,o))?Nc(e,t,s,r,i,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Ac(e,t,s,o))};function qc(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&qo.test(t)&&Q(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||qo.test(t)&&we(n)?!1:t in e}function Yc(e){const t=ss();if(!t)return;const n=()=>Fs(t.subTree,e(t.proxy));jr(n),qe(()=>{const s=new MutationObserver(n);s.observe(t.subTree.el.parentNode,{childList:!0}),vt(()=>s.disconnect())})}function Fs(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{Fs(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Yo(e.el,t);else if(e.type===G)e.children.forEach(n=>Fs(n,t));else if(e.type===Bt){let{el:n,anchor:s}=e;for(;n&&(Yo(n,t),n!==s);)n=n.nextSibling}}function Yo(e,t){if(e.nodeType===1){const n=e.style;for(const s in t)n.setProperty(`--${s}`,t[s])}}const lt="transition",Qt="animation",rs=(e,{slots:t})=>Dn(Wr,Gc(e),t);rs.displayName="Transition";const mi={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};rs.props=$e({},Wr.props,mi);const bt=(e,t=[])=>{W(e)?e.forEach(n=>n(...t)):e&&e(...t)},Go=e=>e?W(e)?e.some(t=>t.length>1):e.length>1:!1;function Gc(e){const t={};for(const A in e)A in mi||(t[A]=e[A]);if(e.css===!1)return t;const{name:n="v",type:s,duration:o,enterFromClass:r=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=r,appearActiveClass:f=i,appearToClass:h=l,leaveFromClass:v=`${n}-leave-from`,leaveActiveClass:y=`${n}-leave-active`,leaveToClass:P=`${n}-leave-to`}=e,T=Jc(o),U=T&&T[0],H=T&&T[1],{onBeforeEnter:b,onEnter:k,onEnterCancelled:K,onLeave:J,onLeaveCancelled:te,onBeforeAppear:ue=b,onAppear:ae=k,onAppearCancelled:I=K}=t,Y=(A,ee,R)=>{yt(A,ee?h:l),yt(A,ee?f:i),R&&R()},Z=(A,ee)=>{A._isLeaving=!1,yt(A,v),yt(A,P),yt(A,y),ee&&ee()},oe=A=>(ee,R)=>{const Ve=A?ae:k,fe=()=>Y(ee,A,R);bt(Ve,[ee,fe]),Jo(()=>{yt(ee,A?c:r),ct(ee,A?h:l),Go(Ve)||Qo(ee,s,U,fe)})};return $e(t,{onBeforeEnter(A){bt(b,[A]),ct(A,r),ct(A,i)},onBeforeAppear(A){bt(ue,[A]),ct(A,c),ct(A,f)},onEnter:oe(!1),onAppear:oe(!0),onLeave(A,ee){A._isLeaving=!0;const R=()=>Z(A,ee);ct(A,v),Zc(),ct(A,y),Jo(()=>{!A._isLeaving||(yt(A,v),ct(A,P),Go(J)||Qo(A,s,H,R))}),bt(J,[A,R])},onEnterCancelled(A){Y(A,!1),bt(K,[A])},onAppearCancelled(A){Y(A,!0),bt(I,[A])},onLeaveCancelled(A){Z(A),bt(te,[A])}})}function Jc(e){if(e==null)return null;if(ye(e))return[gs(e.enter),gs(e.leave)];{const t=gs(e);return[t,t]}}function gs(e){return wr(e)}function ct(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function yt(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function Jo(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Qc=0;function Qo(e,t,n,s){const o=e._endId=++Qc,r=()=>{o===e._endId&&s()};if(n)return setTimeout(r,n);const{type:i,timeout:l,propCount:c}=Xc(e,t);if(!i)return s();const f=i+"end";let h=0;const v=()=>{e.removeEventListener(f,y),r()},y=P=>{P.target===e&&++h>=c&&v()};setTimeout(()=>{h(n[T]||"").split(", "),o=s(lt+"Delay"),r=s(lt+"Duration"),i=Xo(o,r),l=s(Qt+"Delay"),c=s(Qt+"Duration"),f=Xo(l,c);let h=null,v=0,y=0;t===lt?i>0&&(h=lt,v=i,y=r.length):t===Qt?f>0&&(h=Qt,v=f,y=c.length):(v=Math.max(i,f),h=v>0?i>f?lt:Qt:null,y=h?h===lt?r.length:c.length:0);const P=h===lt&&/\b(transform|all)(,|$)/.test(n[lt+"Property"]);return{type:h,timeout:v,propCount:y,hasTransform:P}}function Xo(e,t){for(;e.lengthZo(n)+Zo(e[s])))}function Zo(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function Zc(){return document.body.offsetHeight}const ea=["ctrl","shift","alt","meta"],ta={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>ea.some(n=>e[`${n}Key`]&&!t.includes(n))},na=(e,t)=>(n,...s)=>{for(let o=0;o{Xt(e,!1)}):Xt(e,t))},beforeUnmount(e,{value:t}){Xt(e,t)}};function Xt(e,t){e.style.display=t?e._vod:"none"}const sa=$e({patchProp:Wc},Tc);let bs,tr=!1;function oa(){return bs=tr?bs:fc(sa),tr=!0,bs}const ra=(...e)=>{const t=oa().createApp(...e),{mount:n}=t;return t.mount=s=>{const o=ia(s);if(o)return n(o,!0,o instanceof SVGElement)},t};function ia(e){return we(e)?document.querySelector(e):e}const F=(e,t)=>{const n=e.__vccOpts||e;for(const[s,o]of t)n[s]=o;return n},la="modulepreload",ca=function(e){return"/vue-h5-template/"+e},nr={},lo=function(t,n,s){return!n||n.length===0?t():Promise.all(n.map(o=>{if(o=ca(o),o in nr)return;nr[o]=!0;const r=o.endsWith(".css"),i=r?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${o}"]${i}`))return;const l=document.createElement("link");if(l.rel=r?"stylesheet":la,r||(l.as="script",l.crossOrigin=""),l.href=o,document.head.appendChild(l),r)return new Promise((c,f)=>{l.addEventListener("load",c),l.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t())};const aa=JSON.parse('{"lang":"zh-CN","title":"Vue-H5-Template","description":"\u4E00\u4E2A\u5F00\u7BB1\u5373\u7528\u7684vue h5\u811A\u624B\u67B6","base":"/vue-h5-template/","head":[],"appearance":true,"themeConfig":{"nav":[{"text":"\u4ECB\u7ECD","link":"/guide/"},{"text":"\u52A0\u5165\u6211\u4EEC","link":"https://github.com/sunniejs/vue-h5-template"}],"sidebar":{"/guide/":[{"text":"\u4ECB\u7ECD","collapsible":true,"items":[{"text":"\u4ECB\u7ECD","link":"/guide/"},{"text":"\u5FEB\u901F\u4E0A\u624B","link":"/guide/start"},{"text":"\u53C2\u4E0E\u7F16\u8F91","link":"/guide/edit"}]},{"text":"vue3-template","collapsible":true,"items":[{"text":"\u542F\u52A8\u9879\u76EE","link":"/guide/vue3/start"},{"text":"vite.config.ts \u57FA\u7840\u914D\u7F6E","link":"/guide/vue3/base"},{"text":"vite\u63D2\u4EF6\u96C6\u6210","link":"/guide/vue3/vite"},{"text":"\u591A\u73AF\u5883\u53D8\u91CF","link":"/guide/vue3/env"},{"text":"viewport \u9002\u914D\u65B9\u6848","link":"/guide/vue3/viewport"},{"text":"UI\u7EC4\u4EF6\u5E93","link":"/guide/vue3/ui"},{"text":"Pinia \u72B6\u6001\u7BA1\u7406","link":"/guide/vue3/pinia"},{"text":"vue-router","link":"/guide/vue3/router"},{"text":"axios \u5C01\u88C5\u53CA\u63A5\u53E3\u7BA1\u7406","link":"/guide/vue3/axios"},{"text":"alias","link":"/guide/vue3/alias"},{"text":"proxy \u8DE8\u57DF","link":"/guide/vue3/proxy"},{"text":"\u591A\u8BED\u8A00\u89E3\u51B3\u65B9\u6848","link":"/guide/vue3/i18n"},{"text":"\u7EDF\u4E00\u5F00\u53D1\u89C4\u8303","link":"/guide/vue3/lint"}]},{"text":"vue2-template","collapsible":true,"collapsed":true,"items":[{"text":"\u542F\u52A8\u9879\u76EE","link":"/guide/vue2/start"},{"text":"\u591A\u73AF\u5883\u53D8\u91CF","link":"/guide/vue2/env"},{"text":"rem \u9002\u914D\u65B9\u6848","link":"/guide/vue2/rem"},{"text":"vw \u9002\u914D\u65B9\u6848","link":"/guide/vue2/vw"},{"text":"VantUI \u7EC4\u4EF6\u6309\u9700\u52A0\u8F7D","link":"/guide/vue2/vant"},{"text":"Sass \u5168\u5C40\u6837\u5F0F","link":"/guide/vue2/sass"},{"text":"Vuex \u72B6\u6001\u7BA1\u7406","link":"/guide/vue2/vuex"},{"text":"Vue-router","link":"/guide/vue2/router"},{"text":"Axios \u5C01\u88C5\u53CA\u63A5\u53E3\u7BA1\u7406","link":"/guide/vue2/axios"},{"text":"vue.config.js \u57FA\u7840\u914D\u7F6E","link":"/guide/vue2/base"},{"text":"\u914D\u7F6E alias \u522B\u540D","link":"/guide/vue2/alias"},{"text":"\u914D\u7F6E proxy \u8DE8\u57DF","link":"/guide/vue2/proxy"},{"text":"\u914D\u7F6E \u6253\u5305\u5206\u6790","link":"/guide/vue2/bundle"},{"text":"\u914D\u7F6E externals \u5F15\u5165 cdn \u8D44\u6E90","link":"/guide/vue2/externals"},{"text":"\u53BB\u6389 console.log","link":"/guide/vue2/console"},{"text":"splitChunks \u6253\u5305\u7B2C\u4E09\u65B9\u6A21\u5757","link":"/guide/vue2/chunks"},{"text":"\u6DFB\u52A0 IE \u517C\u5BB9","link":"/guide/vue2/ie"},{"text":"\u7EDF\u4E00\u5F00\u53D1\u89C4\u8303","link":"/guide/vue2/lint"}]}]},"socialLinks":[{"icon":"github","link":"https://github.com/sunniejs/vue-h5-template"}],"editLink":{"pattern":"https://github.com/sunniejs/vue-h5-template/blob/docs/docs/:path","text":"\u5728GitHub\u7F16\u8F91\u6B64\u9875"},"footer":{"message":"Released under the MIT License.","copyright":"Copyright \xA9 2022-present Fonghehe"},"algolia":{"appId":"5ZHOMUV2DI","apiKey":"d1de686f0fd4404abc0897093c246ffb","indexName":"vue-h5-template"}},"locales":{},"langs":{},"scrollOffset":90,"cleanUrls":"disabled"}'),is=/^[a-z]+:/i,sr="vitepress-theme-appearance",Te=typeof window<"u",gi={relativePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0};function ua(e,t){t.sort((n,s)=>{const o=s.split("/").length-n.split("/").length;return o!==0?o:s.length-n.length});for(const n of t)if(e.startsWith(n))return n}function or(e,t){const n=ua(t,Object.keys(e));return n?e[n]:void 0}function fa(e){const{locales:t}=e.themeConfig||{},n=e.locales;return t&&n?Object.keys(t).reduce((s,o)=>(s[o]={label:t[o].label,lang:n[o].lang},s),{}):{}}function da(e,t){t=_a(e,t);const n=or(e.locales||{},t),s=or(e.themeConfig.locales||{},t);return Object.assign({},e,n,{themeConfig:Object.assign({},e.themeConfig,s,{locales:{}}),lang:(n||e).lang,locales:{},langs:fa(e)})}function bi(e,t){var r;const n=t.title||e.title,s=(r=t.titleTemplate)!=null?r:e.titleTemplate,o=ha(e.title,s);return`${n}${o}`}function ha(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function _a(e,t){if(!Te)return t;const n=e.base,s=n.endsWith("/")?n.slice(0,-1):n;return t.slice(s.length)}function pa(e,t){const[n,s]=t;if(n!=="meta")return!1;const o=Object.entries(s)[0];return o==null?!1:e.some(([r,i])=>r===n&&i[o[0]]===o[1])}function va(e,t){return[...e.filter(n=>!pa(t,n)),...t]}function ma(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function vn(e){return is.test(e)?e:ma(zt.value.base,e)}function yi(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t.endsWith("/")&&(t+="index"),Te){const n="/vue-h5-template/";t=(t.slice(n.length).replace(/\//g,"_")||"index")+".md";const s=__VP_HASH_MAP__[t.toLowerCase()];t=`${n}assets/${t}.${s}.js`}else t=`./${t.slice(1).replace(/\//g,"_")}.md.js`;return t}const xi=Symbol(),zt=kl(aa);function ga(e){const t=le(()=>da(zt.value,e.path));return{site:t,theme:le(()=>t.value.themeConfig),page:le(()=>e.data),frontmatter:le(()=>e.data.frontmatter),lang:le(()=>t.value.lang),localePath:le(()=>{const{langs:n,lang:s}=t.value,o=Object.keys(n).find(r=>n[r].lang===s);return vn(o||"/")}),title:le(()=>bi(t.value,e.data)),description:le(()=>e.data.description||t.value.description)}}function ie(){const e=ht(xi);if(!e)throw new Error("vitepress data not properly injected in app");return e}const wi=Symbol(),rr="http://a.com",ba=()=>({path:"/",component:null,data:gi});function ya(e,t){const n=Jn(ba());function s(i=Te?location.href:"/"){const l=new URL(i,rr);return zt.value.cleanUrls==="disabled"&&!l.pathname.endsWith("/")&&!l.pathname.endsWith(".html")&&(l.pathname+=".html",i=l.pathname+l.search+l.hash),Te&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",i)),r(i)}let o=null;async function r(i,l=0,c=!1){const f=new URL(i,rr),h=o=f.pathname;try{let v=await e(h);if(o===h){o=null;const{default:y,__pageData:P}=v;if(!y)throw new Error(`Invalid route component: ${y}`);n.path=Te?h:vn(h),n.component=nn(y),n.data=nn(P),Te&&Wt(()=>{if(f.hash&&!l){let T=null;try{T=document.querySelector(decodeURIComponent(f.hash))}catch(U){console.warn(U)}if(T){ir(T,f.hash);return}}window.scrollTo(0,l)})}}catch(v){if(!/fetch/.test(v.message)&&!/^\/404(\.html|\/)?$/.test(i)&&console.error(v),!c)try{const y=await fetch(zt.value.base+"hashmap.json");window.__VP_HASH_MAP__=await y.json(),await r(i,l,!0);return}catch{}o===h&&(o=null,n.path=Te?h:vn(h),n.component=t?nn(t):null,n.data=gi)}}return Te&&(window.addEventListener("click",i=>{const l=i.target.closest("a");if(l){const{href:c,origin:f,pathname:h,hash:v,search:y,target:P}=l,T=window.location,U=h.match(/\.\w+$/);!i.ctrlKey&&!i.shiftKey&&!i.altKey&&!i.metaKey&&P!=="_blank"&&f===T.origin&&!(U&&U[0]!==".html")&&(i.preventDefault(),h===T.pathname&&y===T.search?v&&v!==T.hash&&(history.pushState(null,"",v),window.dispatchEvent(new Event("hashchange")),ir(l,v,l.classList.contains("header-anchor"))):s(c))}},{capture:!0}),window.addEventListener("popstate",i=>{r(location.href,i.state&&i.state.scrollPosition||0)}),window.addEventListener("hashchange",i=>{i.preventDefault()})),{route:n,go:s}}function xa(){const e=ht(wi);if(!e)throw new Error("useRouter() is called without provider.");return e}function mt(){return xa().route}function ir(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.querySelector(decodeURIComponent(t))}catch(o){console.warn(o)}if(s){let o=zt.value.scrollOffset;typeof o=="string"&&(o=document.querySelector(o).getBoundingClientRect().bottom+24);const r=parseInt(window.getComputedStyle(s).paddingTop,10),i=window.scrollY+s.getBoundingClientRect().top-o+r;!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})}}const wa=B({name:"VitePressContent",setup(){const e=mt();return()=>Dn("div",{style:{position:"relative"}},[e.component?Dn(e.component):null])}}),$i=/#.*$/,$a=/(index)?\.(md|html)$/,ka=typeof window<"u",Pa=ge(ka?location.hash:"");function Ca(e){return is.test(e)}function Sa(e,t){let n,s=!1;return()=>{n&&clearTimeout(n),s?n=setTimeout(e,t):(e(),s=!0,setTimeout(()=>{s=!1},t))}}function qt(e,t,n=!1){if(t===void 0)return!1;if(e=cr(`/${e}`),n)return new RegExp(t).test(e);if(cr(t)!==e)return!1;const s=t.match($i);return s?Pa.value===s[0]:!0}function lr(e){return/^\//.test(e)?e:`/${e}`}function cr(e){return decodeURI(e).replace($i,"").replace($a,"")}function zn(e){if(Ca(e))return e;const{site:t}=ie(),{pathname:n,search:s,hash:o}=new URL(e,"http://example.com"),r=n.endsWith("/")||n.endsWith(".html")?e:`${n.replace(/(\.md)?$/,t.value.cleanUrls==="disabled"?".html":"")}${s}${o}`;return vn(r)}function ki(e,t){if(Array.isArray(e))return e;t=lr(t);for(const n in e)if(t.startsWith(lr(n)))return e[n];return[]}function Va(e){const t=[];function n(s){for(const o of s)o.link&&t.push({...o,link:o.link}),"items"in o&&n(o.items)}for(const s of e)n(s.items);return t}function Xe(){const e=mt(),{theme:t,frontmatter:n}=ie(),s=ge(!1),o=le(()=>{const h=t.value.sidebar,v=e.data.relativePath;return h?ki(h,v):[]}),r=le(()=>n.value.sidebar!==!1&&o.value.length>0&&n.value.layout!=="home"),i=le(()=>n.value.layout!=="home"&&n.value.aside===!1?!1:r.value);function l(){s.value=!0}function c(){s.value=!1}function f(){s.value?c():l()}return{isOpen:s,sidebar:o,hasSidebar:r,hasAside:i,open:l,close:c,toggle:f}}function Ea(e,t){let n;hn(()=>{n=e.value?document.activeElement:void 0}),qe(()=>{window.addEventListener("keyup",s)}),vt(()=>{window.removeEventListener("keyup",s)});function s(o){o.key==="Escape"&&e.value&&(t(),n==null||n.focus())}}const Ta=B({__name:"VPSkipLink",setup(e){const t=mt(),n=ge();Je(()=>t.path,()=>n.value.focus());function s({target:o}){const r=document.querySelector(o.hash);if(r){const i=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",i)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",i),r.focus(),window.scrollTo(0,0)}}return(o,r)=>(d(),m(G,null,[g("span",{ref_key:"backToTop",ref:n,tabindex:"-1"},null,512),g("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}});const La=F(Ta,[["__scopeId","data-v-151f2593"]]),Ma={key:0,class:"VPBackdrop"},Ia=B({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(d(),X(rs,{name:"fade"},{default:N(()=>[e.show?(d(),m("div",Ma)):j("",!0)]),_:1}))}});const Aa=F(Ia,[["__scopeId","data-v-0164f098"]]);function Na(){const e=ge(!1);function t(){e.value=!0,window.addEventListener("resize",o)}function n(){e.value=!1,window.removeEventListener("resize",o)}function s(){e.value?n():t()}function o(){window.outerWidth>=768&&n()}const r=mt();return Je(()=>r.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:s}}const Oa=["src"],Fa={inheritAttrs:!1},Ba=B({...Fa,__name:"VPImage",props:{image:null},setup(e){return(t,n)=>{const s=yn("VPImage",!0);return e.image?(d(),m(G,{key:0},[typeof e.image=="string"||"src"in e.image?(d(),m("img",Mn({key:0,class:"VPImage"},typeof e.image=="string"?t.$attrs:{...e.image,...t.$attrs},{src:_(vn)(typeof e.image=="string"?e.image:e.image.src)}),null,16,Oa)):(d(),m(G,{key:1},[E(s,Mn({class:"dark",image:e.image.dark},t.$attrs),null,16,["image"]),E(s,Mn({class:"light",image:e.image.light},t.$attrs),null,16,["image"])],64))],64)):j("",!0)}}});const Pi=F(Ba,[["__scopeId","data-v-e13a1912"]]),Ha=["href"],Ra=B({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=ie(),{hasSidebar:s}=Xe();return(o,r)=>(d(),m("div",{class:pe(["VPNavBarTitle",{"has-sidebar":_(s)}])},[g("a",{class:"title",href:_(t).base},[L(o.$slots,"nav-bar-title-before",{},void 0,!0),E(Pi,{class:"logo",image:_(n).logo},null,8,["image"]),_(n).siteTitle?(d(),m(G,{key:0},[Oe(se(_(n).siteTitle),1)],64)):_(n).siteTitle===void 0?(d(),m(G,{key:1},[Oe(se(_(t).title),1)],64)):j("",!0),L(o.$slots,"nav-bar-title-after",{},void 0,!0)],8,Ha)],2))}});const Da=F(Ra,[["__scopeId","data-v-d5925166"]]);const za={key:0,class:"VPNavBarSearch"},Ua={type:"button",class:"DocSearch DocSearch-Button","aria-label":"Search"},ja={class:"DocSearch-Button-Container"},Ka=g("svg",{class:"DocSearch-Search-Icon",width:"20",height:"20",viewBox:"0 0 20 20"},[g("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none","fill-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"})],-1),Wa={class:"DocSearch-Button-Placeholder"},qa=g("span",{class:"DocSearch-Button-Keys"},[g("kbd",{class:"DocSearch-Button-Key"}),g("kbd",{class:"DocSearch-Button-Key"},"K")],-1),Ya=B({__name:"VPNavBarSearch",setup(e){Yc(i=>({"38a1667b":o.value}));const t=Gr(()=>lo(()=>import("./chunks/VPAlgoliaSearchBox.880a969d.js"),[])),{theme:n}=ie(),s=ge(!1),o=ge("'Meta'");qe(()=>{if(!n.value.algolia)return;o.value=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?"'\u2318'":"'Ctrl'";const i=c=>{c.key==="k"&&(c.ctrlKey||c.metaKey)&&(c.preventDefault(),r(),l())},l=()=>{window.removeEventListener("keydown",i)};window.addEventListener("keydown",i),vt(l)});function r(){s.value||(s.value=!0)}return(i,l)=>{var c;return _(n).algolia?(d(),m("div",za,[s.value?(d(),X(_(t),{key:0})):(d(),m("div",{key:1,id:"docsearch",onClick:r},[g("button",Ua,[g("span",ja,[Ka,g("span",Wa,se(((c=_(n).algolia)==null?void 0:c.buttonText)||"Search"),1)]),qa])]))])):j("",!0)}}});const Ga={},Ja={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",height:"24px",viewBox:"0 0 24 24",width:"24px"},Qa=g("path",{d:"M0 0h24v24H0V0z",fill:"none"},null,-1),Xa=g("path",{d:"M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"},null,-1),Za=[Qa,Xa];function eu(e,t){return d(),m("svg",Ja,Za)}const tu=F(Ga,[["render",eu]]),nu=B({__name:"VPLink",props:{href:null,noIcon:{type:Boolean}},setup(e){const t=e,n=le(()=>t.href&&is.test(t.href));return(s,o)=>(d(),X(oo(e.href?"a":"span"),{class:pe(["VPLink",{link:e.href}]),href:e.href?_(zn)(e.href):void 0,target:_(n)?"_blank":void 0,rel:_(n)?"noreferrer":void 0},{default:N(()=>[L(s.$slots,"default",{},void 0,!0),_(n)&&!e.noIcon?(d(),X(tu,{key:0,class:"icon"})):j("",!0)]),_:3},8,["class","href","target","rel"]))}});const Yt=F(nu,[["__scopeId","data-v-3c355974"]]),su=B({__name:"VPNavBarMenuLink",props:{item:null},setup(e){const{page:t}=ie();return(n,s)=>(d(),X(Yt,{class:pe({VPNavBarMenuLink:!0,active:_(qt)(_(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,noIcon:!0},{default:N(()=>[Oe(se(e.item.text),1)]),_:1},8,["class","href"]))}});const ou=F(su,[["__scopeId","data-v-47a2263e"]]),co=ge();let Ci=!1,ys=0;function ru(e){const t=ge(!1);if(typeof window<"u"){!Ci&&iu(),ys++;const n=Je(co,s=>{var o,r,i;s===e.el.value||((o=e.el.value)==null?void 0:o.contains(s))?(t.value=!0,(r=e.onFocus)==null||r.call(e)):(t.value=!1,(i=e.onBlur)==null||i.call(e))});vt(()=>{n(),ys--,ys||lu()})}return Qs(t)}function iu(){document.addEventListener("focusin",Si),Ci=!0,co.value=document.activeElement}function lu(){document.removeEventListener("focusin",Si)}function Si(){co.value=document.activeElement}const cu={},au={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},uu=g("path",{d:"M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"},null,-1),fu=[uu];function du(e,t){return d(),m("svg",au,fu)}const Vi=F(cu,[["render",du]]),hu={},_u={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},pu=g("circle",{cx:"12",cy:"12",r:"2"},null,-1),vu=g("circle",{cx:"19",cy:"12",r:"2"},null,-1),mu=g("circle",{cx:"5",cy:"12",r:"2"},null,-1),gu=[pu,vu,mu];function bu(e,t){return d(),m("svg",_u,gu)}const yu=F(hu,[["render",bu]]),xu={class:"VPMenuLink"},wu=B({__name:"VPMenuLink",props:{item:null},setup(e){const{page:t}=ie();return(n,s)=>(d(),m("div",xu,[E(Yt,{class:pe({active:_(qt)(_(t).relativePath,e.item.activeMatch||e.item.link)}),href:e.item.link},{default:N(()=>[Oe(se(e.item.text),1)]),_:1},8,["class","href"])]))}});const ls=F(wu,[["__scopeId","data-v-e8e0fb1d"]]),$u={class:"VPMenuGroup"},ku={key:0,class:"title"},Pu=B({__name:"VPMenuGroup",props:{text:null,items:null},setup(e){return(t,n)=>(d(),m("div",$u,[e.text?(d(),m("p",ku,se(e.text),1)):j("",!0),(d(!0),m(G,null,ke(e.items,s=>(d(),m(G,null,["link"in s?(d(),X(ls,{key:0,item:s},null,8,["item"])):j("",!0)],64))),256))]))}});const Cu=F(Pu,[["__scopeId","data-v-9ca52130"]]),Su={class:"VPMenu"},Vu={key:0,class:"items"},Eu=B({__name:"VPMenu",props:{items:null},setup(e){return(t,n)=>(d(),m("div",Su,[e.items?(d(),m("div",Vu,[(d(!0),m(G,null,ke(e.items,s=>(d(),m(G,{key:s.text},["link"in s?(d(),X(ls,{key:0,item:s},null,8,["item"])):(d(),X(Cu,{key:1,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):j("",!0),L(t.$slots,"default",{},void 0,!0)]))}});const Tu=F(Eu,[["__scopeId","data-v-1c5d0cfc"]]),Lu=["aria-expanded","aria-label"],Mu={key:0,class:"text"},Iu={class:"menu"},Au=B({__name:"VPFlyout",props:{icon:null,button:null,label:null,items:null},setup(e){const t=ge(!1),n=ge();ru({el:n,onBlur:s});function s(){t.value=!1}return(o,r)=>(d(),m("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:r[1]||(r[1]=i=>t.value=!0),onMouseleave:r[2]||(r[2]=i=>t.value=!1)},[g("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":e.label,onClick:r[0]||(r[0]=i=>t.value=!t.value)},[e.button||e.icon?(d(),m("span",Mu,[e.icon?(d(),X(oo(e.icon),{key:0,class:"option-icon"})):j("",!0),Oe(" "+se(e.button)+" ",1),E(Vi,{class:"text-icon"})])):(d(),X(yu,{key:1,class:"icon"}))],8,Lu),g("div",Iu,[E(Tu,{items:e.items},{default:N(()=>[L(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}});const ao=F(Au,[["__scopeId","data-v-6ffb57d3"]]),Nu=B({__name:"VPNavBarMenuGroup",props:{item:null},setup(e){const{page:t}=ie();return(n,s)=>(d(),X(ao,{class:pe({VPNavBarMenuGroup:!0,active:_(qt)(_(t).relativePath,e.item.activeMatch,!!e.item.activeMatch)}),button:e.item.text,items:e.item.items},null,8,["class","button","items"]))}}),Ou=e=>(Ke("data-v-f83db6ba"),e=e(),We(),e),Fu={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Bu=Ou(()=>g("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),Hu=B({__name:"VPNavBarMenu",setup(e){const{theme:t}=ie();return(n,s)=>_(t).nav?(d(),m("nav",Fu,[Bu,(d(!0),m(G,null,ke(_(t).nav,o=>(d(),m(G,{key:o.text},["link"in o?(d(),X(ou,{key:0,item:o},null,8,["item"])):(d(),X(Nu,{key:1,item:o},null,8,["item"]))],64))),128))])):j("",!0)}});const Ru=F(Hu,[["__scopeId","data-v-f83db6ba"]]),Du={},zu={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Uu=g("path",{d:"M0 0h24v24H0z",fill:"none"},null,-1),ju=g("path",{d:" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",class:"css-c4d79v"},null,-1),Ku=[Uu,ju];function Wu(e,t){return d(),m("svg",zu,Ku)}const Ei=F(Du,[["render",Wu]]),qu={class:"items"},Yu={class:"title"},Gu=B({__name:"VPNavBarTranslations",setup(e){const{theme:t}=ie();return(n,s)=>_(t).localeLinks?(d(),X(ao,{key:0,class:"VPNavBarTranslations",icon:Ei},{default:N(()=>[g("div",qu,[g("p",Yu,se(_(t).localeLinks.text),1),(d(!0),m(G,null,ke(_(t).localeLinks.items,o=>(d(),X(ls,{key:o.link,item:o},null,8,["item"]))),128))])]),_:1})):j("",!0)}});const Ju=F(Gu,[["__scopeId","data-v-db824e91"]]);const Qu={},Xu={class:"VPSwitch",type:"button",role:"switch"},Zu={class:"check"},ef={key:0,class:"icon"};function tf(e,t){return d(),m("button",Xu,[g("span",Zu,[e.$slots.default?(d(),m("span",ef,[L(e.$slots,"default",{},void 0,!0)])):j("",!0)])])}const nf=F(Qu,[["render",tf],["__scopeId","data-v-086e8519"]]),sf={},of={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},rf=gc('',9),lf=[rf];function cf(e,t){return d(),m("svg",of,lf)}const af=F(sf,[["render",cf]]),uf={},ff={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},df=g("path",{d:"M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"},null,-1),hf=[df];function _f(e,t){return d(),m("svg",ff,hf)}const pf=F(uf,[["render",_f]]),vf=B({__name:"VPSwitchAppearance",setup(e){const t=typeof localStorage<"u"?n():()=>{};function n(){const s=window.matchMedia("(prefers-color-scheme: dark)"),o=document.documentElement.classList;let r=localStorage.getItem(sr)||"auto",i=r==="auto"?s.matches:r==="dark";s.onchange=f=>{r==="auto"&&c(i=f.matches)};function l(){c(i=!i),r=i?s.matches?"auto":"dark":s.matches?"light":"auto",localStorage.setItem(sr,r)}function c(f){o[f?"add":"remove"]("dark")}return l}return(s,o)=>(d(),X(nf,{class:"VPSwitchAppearance","aria-label":"toggle dark mode",onClick:_(t)},{default:N(()=>[E(af,{class:"sun"}),E(pf,{class:"moon"})]),_:1},8,["onClick"]))}});const uo=F(vf,[["__scopeId","data-v-968780f1"]]),mf={key:0,class:"VPNavBarAppearance"},gf=B({__name:"VPNavBarAppearance",setup(e){const{site:t}=ie();return(n,s)=>_(t).appearance?(d(),m("div",mf,[E(uo)])):j("",!0)}});const bf=F(gf,[["__scopeId","data-v-a3e7452b"]]),yf={discord:'Discord',facebook:'Facebook',github:'GitHub',instagram:'Instagram',linkedin:'LinkedIn',slack:'Slack',twitter:'Twitter',youtube:'YouTube'},xf=["href","innerHTML"],wf=B({__name:"VPSocialLink",props:{icon:null,link:null},setup(e){const t=e,n=le(()=>typeof t.icon=="object"?t.icon.svg:yf[t.icon]);return(s,o)=>(d(),m("a",{class:"VPSocialLink",href:e.link,target:"_blank",rel:"noopener",innerHTML:_(n)},null,8,xf))}});const $f=F(wf,[["__scopeId","data-v-e57698f6"]]),kf={class:"VPSocialLinks"},Pf=B({__name:"VPSocialLinks",props:{links:null},setup(e){return(t,n)=>(d(),m("div",kf,[(d(!0),m(G,null,ke(e.links,({link:s,icon:o})=>(d(),X($f,{key:s,icon:o,link:s},null,8,["icon","link"]))),128))]))}});const fo=F(Pf,[["__scopeId","data-v-f6988cfb"]]),Cf=B({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=ie();return(n,s)=>_(t).socialLinks?(d(),X(fo,{key:0,class:"VPNavBarSocialLinks",links:_(t).socialLinks},null,8,["links"])):j("",!0)}});const Sf=F(Cf,[["__scopeId","data-v-738bef5a"]]),Vf=e=>(Ke("data-v-e89b88d7"),e=e(),We(),e),Ef={key:0,class:"group"},Tf={class:"trans-title"},Lf={key:1,class:"group"},Mf={class:"item appearance"},If=Vf(()=>g("p",{class:"label"},"Appearance",-1)),Af={class:"appearance-action"},Nf={key:2,class:"group"},Of={class:"item social-links"},Ff=B({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=ie();return(s,o)=>(d(),X(ao,{class:"VPNavBarExtra",label:"extra navigation"},{default:N(()=>[_(n).localeLinks?(d(),m("div",Ef,[g("p",Tf,se(_(n).localeLinks.text),1),(d(!0),m(G,null,ke(_(n).localeLinks.items,r=>(d(),X(ls,{key:r.link,item:r},null,8,["item"]))),128))])):j("",!0),_(t).appearance?(d(),m("div",Lf,[g("div",Mf,[If,g("div",Af,[E(uo)])])])):j("",!0),_(n).socialLinks?(d(),m("div",Nf,[g("div",Of,[E(fo,{class:"social-links-list",links:_(n).socialLinks},null,8,["links"])])])):j("",!0)]),_:1}))}});const Bf=F(Ff,[["__scopeId","data-v-e89b88d7"]]),Hf=e=>(Ke("data-v-e5dd9c1c"),e=e(),We(),e),Rf=["aria-expanded"],Df=Hf(()=>g("span",{class:"container"},[g("span",{class:"top"}),g("span",{class:"middle"}),g("span",{class:"bottom"})],-1)),zf=[Df],Uf=B({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(d(),m("button",{type:"button",class:pe(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=s=>t.$emit("click"))},zf,10,Rf))}});const jf=F(Uf,[["__scopeId","data-v-e5dd9c1c"]]),Kf={class:"container"},Wf={class:"content"},qf=B({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const{hasSidebar:t}=Xe();return(n,s)=>(d(),m("div",{class:pe(["VPNavBar",{"has-sidebar":_(t)}])},[g("div",Kf,[E(Da,null,{"nav-bar-title-before":N(()=>[L(n.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":N(()=>[L(n.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3}),g("div",Wf,[L(n.$slots,"nav-bar-content-before",{},void 0,!0),E(Ya,{class:"search"}),E(Ru,{class:"menu"}),E(Ju,{class:"translations"}),E(bf,{class:"appearance"}),E(Sf,{class:"social-links"}),E(Bf,{class:"extra"}),L(n.$slots,"nav-bar-content-after",{},void 0,!0),E(jf,{class:"hamburger",active:e.isScreenOpen,onClick:s[0]||(s[0]=o=>n.$emit("toggle-screen"))},null,8,["active"])])])],2))}});const Yf=F(qf,[["__scopeId","data-v-a35e6f52"]]);function Gf(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t1),Ht=[],jn=!1,_o=-1,ln=void 0,kt=void 0,cn=void 0,Ti=function(t){return Ht.some(function(n){return!!(n.options.allowTouchMove&&n.options.allowTouchMove(t))})},Kn=function(t){var n=t||window.event;return Ti(n.target)||n.touches.length>1?!0:(n.preventDefault&&n.preventDefault(),!1)},Jf=function(t){if(cn===void 0){var n=!!t&&t.reserveScrollBarGap===!0,s=window.innerWidth-document.documentElement.clientWidth;if(n&&s>0){var o=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10);cn=document.body.style.paddingRight,document.body.style.paddingRight=o+s+"px"}}ln===void 0&&(ln=document.body.style.overflow,document.body.style.overflow="hidden")},Qf=function(){cn!==void 0&&(document.body.style.paddingRight=cn,cn=void 0),ln!==void 0&&(document.body.style.overflow=ln,ln=void 0)},Xf=function(){return window.requestAnimationFrame(function(){if(kt===void 0){kt={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};var t=window,n=t.scrollY,s=t.scrollX,o=t.innerHeight;document.body.style.position="fixed",document.body.style.top=-n,document.body.style.left=-s,setTimeout(function(){return window.requestAnimationFrame(function(){var r=o-window.innerHeight;r&&n>=o&&(document.body.style.top=-(n+r))})},300)}})},Zf=function(){if(kt!==void 0){var t=-parseInt(document.body.style.top,10),n=-parseInt(document.body.style.left,10);document.body.style.position=kt.position,document.body.style.top=kt.top,document.body.style.left=kt.left,window.scrollTo(n,t),kt=void 0}},ed=function(t){return t?t.scrollHeight-t.scrollTop<=t.clientHeight:!1},td=function(t,n){var s=t.targetTouches[0].clientY-_o;return Ti(t.target)?!1:n&&n.scrollTop===0&&s>0||ed(n)&&s<0?Kn(t):(t.stopPropagation(),!0)},nd=function(t,n){if(!t){console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");return}if(!Ht.some(function(o){return o.targetElement===t})){var s={targetElement:t,options:n||{}};Ht=[].concat(Gf(Ht),[s]),Un?Xf():Jf(n),Un&&(t.ontouchstart=function(o){o.targetTouches.length===1&&(_o=o.targetTouches[0].clientY)},t.ontouchmove=function(o){o.targetTouches.length===1&&td(o,t)},jn||(document.addEventListener("touchmove",Kn,ho?{passive:!1}:void 0),jn=!0))}},sd=function(){Un&&(Ht.forEach(function(t){t.targetElement.ontouchstart=null,t.targetElement.ontouchmove=null}),jn&&(document.removeEventListener("touchmove",Kn,ho?{passive:!1}:void 0),jn=!1),_o=-1),Un?Zf():Qf(),Ht=[]};const od=B({__name:"VPNavScreenMenuLink",props:{text:null,link:null},setup(e){const t=ht("close-screen");return(n,s)=>(d(),X(Yt,{class:"VPNavScreenMenuLink",href:e.link,onClick:_(t)},{default:N(()=>[Oe(se(e.text),1)]),_:1},8,["href","onClick"]))}});const rd=F(od,[["__scopeId","data-v-b7098508"]]),id={},ld={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},cd=g("path",{d:"M18.9,10.9h-6v-6c0-0.6-0.4-1-1-1s-1,0.4-1,1v6h-6c-0.6,0-1,0.4-1,1s0.4,1,1,1h6v6c0,0.6,0.4,1,1,1s1-0.4,1-1v-6h6c0.6,0,1-0.4,1-1S19.5,10.9,18.9,10.9z"},null,-1),ad=[cd];function ud(e,t){return d(),m("svg",ld,ad)}const fd=F(id,[["render",ud]]),dd=B({__name:"VPNavScreenMenuGroupLink",props:{text:null,link:null},setup(e){const t=ht("close-screen");return(n,s)=>(d(),X(Yt,{class:"VPNavScreenMenuGroupLink",href:e.link,onClick:_(t)},{default:N(()=>[Oe(se(e.text),1)]),_:1},8,["href","onClick"]))}});const Li=F(dd,[["__scopeId","data-v-7f173864"]]),hd={class:"VPNavScreenMenuGroupSection"},_d={key:0,class:"title"},pd=B({__name:"VPNavScreenMenuGroupSection",props:{text:null,items:null},setup(e){return(t,n)=>(d(),m("div",hd,[e.text?(d(),m("p",_d,se(e.text),1)):j("",!0),(d(!0),m(G,null,ke(e.items,s=>(d(),X(Li,{key:s.text,text:s.text,link:s.link},null,8,["text","link"]))),128))]))}});const vd=F(pd,[["__scopeId","data-v-7478538b"]]),md=["aria-controls","aria-expanded"],gd={class:"button-text"},bd=["id"],yd={key:1,class:"group"},xd=B({__name:"VPNavScreenMenuGroup",props:{text:null,items:null},setup(e){const t=e,n=ge(!1),s=le(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function o(){n.value=!n.value}return(r,i)=>(d(),m("div",{class:pe(["VPNavScreenMenuGroup",{open:n.value}])},[g("button",{class:"button","aria-controls":_(s),"aria-expanded":n.value,onClick:o},[g("span",gd,se(e.text),1),E(fd,{class:"button-icon"})],8,md),g("div",{id:_(s),class:"items"},[(d(!0),m(G,null,ke(e.items,l=>(d(),m(G,{key:l.text},["link"in l?(d(),m("div",{key:l.text,class:"item"},[E(Li,{text:l.text,link:l.link},null,8,["text","link"])])):(d(),m("div",yd,[E(vd,{text:l.text,items:l.items},null,8,["text","items"])]))],64))),128))],8,bd)],2))}});const wd=F(xd,[["__scopeId","data-v-5bc84358"]]),$d={key:0,class:"VPNavScreenMenu"},kd=B({__name:"VPNavScreenMenu",setup(e){const{theme:t}=ie();return(n,s)=>_(t).nav?(d(),m("nav",$d,[(d(!0),m(G,null,ke(_(t).nav,o=>(d(),m(G,{key:o.text},["link"in o?(d(),X(rd,{key:0,text:o.text,link:o.link},null,8,["text","link"])):(d(),X(wd,{key:1,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):j("",!0)}}),Pd=e=>(Ke("data-v-7bc19822"),e=e(),We(),e),Cd={key:0,class:"VPNavScreenAppearance"},Sd=Pd(()=>g("p",{class:"text"},"Appearance",-1)),Vd=B({__name:"VPNavScreenAppearance",setup(e){const{site:t}=ie();return(n,s)=>_(t).appearance?(d(),m("div",Cd,[Sd,E(uo)])):j("",!0)}});const Ed=F(Vd,[["__scopeId","data-v-7bc19822"]]),Td={class:"list"},Ld=["href"],Md=B({__name:"VPNavScreenTranslations",setup(e){const{theme:t}=ie(),n=ge(!1);function s(){n.value=!n.value}return(o,r)=>_(t).localeLinks?(d(),m("div",{key:0,class:pe(["VPNavScreenTranslations",{open:n.value}])},[g("button",{class:"title",onClick:s},[E(Ei,{class:"icon lang"}),Oe(" "+se(_(t).localeLinks.text)+" ",1),E(Vi,{class:"icon chevron"})]),g("ul",Td,[(d(!0),m(G,null,ke(_(t).localeLinks.items,i=>(d(),m("li",{key:i.link,class:"item"},[g("a",{class:"link",href:i.link},se(i.text),9,Ld)]))),128))])],2)):j("",!0)}});const Id=F(Md,[["__scopeId","data-v-6bfcad30"]]),Ad=B({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=ie();return(n,s)=>_(t).socialLinks?(d(),X(fo,{key:0,class:"VPNavScreenSocialLinks",links:_(t).socialLinks},null,8,["links"])):j("",!0)}}),Nd={class:"container"},Od=B({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=ge(null);function n(){nd(t.value,{reserveScrollBarGap:!0})}function s(){sd()}return(o,r)=>(d(),X(rs,{name:"fade",onEnter:n,onAfterLeave:s},{default:N(()=>[e.open?(d(),m("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t},[g("div",Nd,[L(o.$slots,"nav-screen-content-before",{},void 0,!0),E(kd,{class:"menu"}),E(Id,{class:"translations"}),E(Ed,{class:"appearance"}),E(Ad,{class:"social-links"}),L(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):j("",!0)]),_:3}))}});const Fd=F(Od,[["__scopeId","data-v-5486b9d0"]]),Bd=B({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:s}=Na(),{hasSidebar:o}=Xe();return no("close-screen",n),(r,i)=>(d(),m("header",{class:pe(["VPNav",{"no-sidebar":!_(o)}])},[E(Yf,{"is-screen-open":_(t),onToggleScreen:_(s)},{"nav-bar-title-before":N(()=>[L(r.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":N(()=>[L(r.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":N(()=>[L(r.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":N(()=>[L(r.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),E(Fd,{open:_(t)},{"nav-screen-content-before":N(()=>[L(r.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":N(()=>[L(r.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])],2))}});const Hd=F(Bd,[["__scopeId","data-v-a71a30f1"]]),Rd={},Dd={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},zd=g("path",{d:"M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"},null,-1),Ud=g("path",{d:"M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"},null,-1),jd=g("path",{d:"M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"},null,-1),Kd=g("path",{d:"M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"},null,-1),Wd=[zd,Ud,jd,Kd];function qd(e,t){return d(),m("svg",Dd,Wd)}const Yd=F(Rd,[["render",qd]]),Gd=e=>(Ke("data-v-aac27d5e"),e=e(),We(),e),Jd={key:0,class:"VPLocalNav"},Qd=["aria-expanded"],Xd=Gd(()=>g("span",{class:"menu-text"},"Menu",-1)),Zd=B({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{hasSidebar:t}=Xe();function n(){window.scrollTo({top:0,left:0,behavior:"smooth"})}return(s,o)=>_(t)?(d(),m("div",Jd,[g("button",{class:"menu","aria-expanded":e.open,"aria-controls":"VPSidebarNav",onClick:o[0]||(o[0]=r=>s.$emit("open-menu"))},[E(Yd,{class:"menu-icon"}),Xd],8,Qd),g("a",{class:"top-link",href:"#",onClick:n}," Return to top ")])):j("",!0)}});const eh=F(Zd,[["__scopeId","data-v-aac27d5e"]]),th={},nh={version:"1.1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},sh=g("path",{d:"M19,2H5C3.3,2,2,3.3,2,5v14c0,1.7,1.3,3,3,3h14c1.7,0,3-1.3,3-3V5C22,3.3,20.7,2,19,2z M20,19c0,0.6-0.4,1-1,1H5c-0.6,0-1-0.4-1-1V5c0-0.6,0.4-1,1-1h14c0.6,0,1,0.4,1,1V19z"},null,-1),oh=g("path",{d:"M16,11h-3V8c0-0.6-0.4-1-1-1s-1,0.4-1,1v3H8c-0.6,0-1,0.4-1,1s0.4,1,1,1h3v3c0,0.6,0.4,1,1,1s1-0.4,1-1v-3h3c0.6,0,1-0.4,1-1S16.6,11,16,11z"},null,-1),rh=[sh,oh];function ih(e,t){return d(),m("svg",nh,rh)}const lh=F(th,[["render",ih]]),ch={},ah={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},uh=g("path",{d:"M19,2H5C3.3,2,2,3.3,2,5v14c0,1.7,1.3,3,3,3h14c1.7,0,3-1.3,3-3V5C22,3.3,20.7,2,19,2zM20,19c0,0.6-0.4,1-1,1H5c-0.6,0-1-0.4-1-1V5c0-0.6,0.4-1,1-1h14c0.6,0,1,0.4,1,1V19z"},null,-1),fh=g("path",{d:"M16,11H8c-0.6,0-1,0.4-1,1s0.4,1,1,1h8c0.6,0,1-0.4,1-1S16.6,11,16,11z"},null,-1),dh=[uh,fh];function hh(e,t){return d(),m("svg",ah,dh)}const _h=F(ch,[["render",hh]]),ph=B({__name:"VPSidebarLink",props:{item:null,depth:{default:1}},setup(e){const{page:t,frontmatter:n}=ie(),s=le(()=>n.value.sidebarDepth||1/0),o=ht("close-sidebar");return(r,i)=>{const l=yn("VPSidebarLink",!0);return d(),X(Yt,{class:pe(["link",{active:_(qt)(_(t).relativePath,e.item.link),offset:e.depth>1}]),href:e.item.link,onClick:_(o)},{default:N(()=>[g("span",{class:pe(["link-text",{light:e.depth>1}])},se(e.item.text),3),"items"in e.item&&e.depth<_(s)?(d(!0),m(G,{key:0},ke(e.item.items,c=>(d(),X(l,{key:c.link,item:c,depth:e.depth+1},null,8,["item","depth"]))),128)):j("",!0)]),_:1},8,["class","href","onClick"])}}});const vh=F(ph,[["__scopeId","data-v-f7e544fc"]]),mh=["role"],gh={class:"title-text"},bh={class:"action"},yh={class:"items"},xh=B({__name:"VPSidebarGroup",props:{text:null,items:null,collapsible:{type:Boolean},collapsed:{type:Boolean}},setup(e){const t=e,n=ge(!1);hn(()=>{n.value=!!(t.collapsible&&t.collapsed)});const{page:s}=ie();hn(()=>{t.items.some(r=>qt(s.value.relativePath,r.link))&&(n.value=!1)});function o(){t.collapsible&&(n.value=!n.value)}return(r,i)=>(d(),m("section",{class:pe(["VPSidebarGroup",{collapsible:e.collapsible,collapsed:n.value}])},[e.text?(d(),m("div",{key:0,class:"title",role:e.collapsible?"button":void 0,onClick:o},[g("h2",gh,se(e.text),1),g("div",bh,[E(_h,{class:"icon minus"}),E(lh,{class:"icon plus"})])],8,mh)):j("",!0),g("div",yh,[(d(!0),m(G,null,ke(e.items,l=>(d(),X(vh,{key:l.link,item:l},null,8,["item"]))),128))])],2))}});const wh=F(xh,[["__scopeId","data-v-2976c796"]]),$h=e=>(Ke("data-v-f332cb62"),e=e(),We(),e),kh={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Ph=$h(()=>g("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Ch=B({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const t=e,{sidebar:n,hasSidebar:s}=Xe();let o=ge(null);return jr(async()=>{var r;t.open&&(await Wt(),(r=o.value)==null||r.focus())}),(r,i)=>_(s)?(d(),m("aside",{key:0,class:pe(["VPSidebar",{open:e.open}]),ref_key:"navEl",ref:o,onClick:i[0]||(i[0]=na(()=>{},["stop"]))},[g("nav",kh,[Ph,(d(!0),m(G,null,ke(_(n),l=>(d(),m("div",{key:l.text,class:"group"},[E(wh,{text:l.text,items:l.items,collapsible:l.collapsible,collapsed:l.collapsed},null,8,["text","items","collapsible","collapsed"])]))),128))])],2)):j("",!0)}});const Sh=F(Ch,[["__scopeId","data-v-f332cb62"]]);function Vh(){const{page:e}=ie();Te&&Je(()=>e.value.relativePath,()=>{Wt(()=>{document.querySelectorAll('.vp-doc div[class*="language-"] > button.copy').forEach(Th)})},{immediate:!0,flush:"post"})}async function Eh(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),o=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),o&&(s.removeAllRanges(),s.addRange(o)),n&&n.focus()}}function Th(e){e.onclick=()=>{var r;const t=e.parentElement,n=(r=e.nextElementSibling)==null?void 0:r.nextElementSibling;if(!t||!n)return;const s=/language-(shellscript|shell|bash|sh|zsh)/.test(t.classList.toString());let{innerText:o=""}=n;s&&(o=o.replace(/^ *(\$|>) /gm,"")),Eh(o).then(()=>{e.classList.add("copied"),setTimeout(()=>{e.classList.remove("copied"),e.blur()},2e3)})}}const Lh={},Mh={class:"VPPage"};function Ih(e,t){const n=yn("Content");return d(),m("div",Mh,[E(n)])}const Ah=F(Lh,[["render",Ih]]),Nh=B({__name:"VPButton",props:{tag:null,size:null,theme:null,text:null,href:null},setup(e){const t=e,n=le(()=>{var r,i;return[(r=t.size)!=null?r:"medium",(i=t.theme)!=null?i:"brand"]}),s=le(()=>t.href&&is.test(t.href)),o=le(()=>t.tag?t.tag:t.href?"a":"button");return(r,i)=>(d(),X(oo(_(o)),{class:pe(["VPButton",_(n)]),href:e.href?_(zn)(e.href):void 0,target:_(s)?"_blank":void 0,rel:_(s)?"noreferrer":void 0},{default:N(()=>[Oe(se(e.text),1)]),_:1},8,["class","href","target","rel"]))}});const Oh=F(Nh,[["__scopeId","data-v-53dbb8eb"]]),Fh=e=>(Ke("data-v-923ba72e"),e=e(),We(),e),Bh={class:"container"},Hh={class:"main"},Rh={key:0,class:"name"},Dh={class:"clip"},zh={key:1,class:"text"},Uh={key:2,class:"tagline"},jh={key:3,class:"actions"},Kh={key:0,class:"image"},Wh={class:"image-container"},qh=Fh(()=>g("div",{class:"image-bg"},null,-1)),Yh=B({__name:"VPHero",props:{name:null,text:null,tagline:null,image:null,actions:null},setup(e){return(t,n)=>(d(),m("div",{class:pe(["VPHero",{"has-image":e.image}])},[g("div",Bh,[g("div",Hh,[e.name?(d(),m("h1",Rh,[g("span",Dh,se(e.name),1)])):j("",!0),e.text?(d(),m("p",zh,se(e.text),1)):j("",!0),e.tagline?(d(),m("p",Uh,se(e.tagline),1)):j("",!0),e.actions?(d(),m("div",jh,[(d(!0),m(G,null,ke(e.actions,s=>(d(),m("div",{key:s.link,class:"action"},[E(Oh,{tag:"a",size:"medium",theme:s.theme,text:s.text,href:s.link},null,8,["theme","text","href"])]))),128))])):j("",!0)]),e.image?(d(),m("div",Kh,[g("div",Wh,[qh,E(Pi,{class:"image-src",image:e.image},null,8,["image"])])])):j("",!0)])],2))}});const Gh=F(Yh,[["__scopeId","data-v-923ba72e"]]),Jh=B({__name:"VPHomeHero",setup(e){const{frontmatter:t}=ie();return(n,s)=>_(t).hero?(d(),X(Gh,{key:0,class:"VPHomeHero",name:_(t).hero.name,text:_(t).hero.text,tagline:_(t).hero.tagline,image:_(t).hero.image,actions:_(t).hero.actions},null,8,["name","text","tagline","image","actions"])):j("",!0)}}),Qh={class:"VPFeature"},Xh={key:0,class:"icon"},Zh={class:"title"},e_={class:"details"},t_=B({__name:"VPFeature",props:{icon:null,title:null,details:null},setup(e){return(t,n)=>(d(),m("article",Qh,[e.icon?(d(),m("div",Xh,se(e.icon),1)):j("",!0),g("h2",Zh,se(e.title),1),g("p",e_,se(e.details),1)]))}});const n_=F(t_,[["__scopeId","data-v-d99b2f77"]]),s_={key:0,class:"VPFeatures"},o_={class:"container"},r_={class:"items"},i_=B({__name:"VPFeatures",props:{features:null},setup(e){const t=e,n=le(()=>{const s=t.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s%2===0)return"grid-4"}else return});return(s,o)=>e.features?(d(),m("div",s_,[g("div",o_,[g("div",r_,[(d(!0),m(G,null,ke(e.features,r=>(d(),m("div",{key:r.title,class:pe(["item",[_(n)]])},[E(n_,{icon:r.icon,title:r.title,details:r.details},null,8,["icon","title","details"])],2))),128))])])])):j("",!0)}});const l_=F(i_,[["__scopeId","data-v-6a6451ec"]]),c_=B({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=ie();return(n,s)=>_(t).features?(d(),X(l_,{key:0,class:"VPHomeFeatures",features:_(t).features},null,8,["features"])):j("",!0)}}),a_={class:"VPHome"},u_=B({__name:"VPHome",setup(e){return(t,n)=>{const s=yn("Content");return d(),m("div",a_,[L(t.$slots,"home-hero-before",{},void 0,!0),E(Jh),L(t.$slots,"home-hero-after",{},void 0,!0),L(t.$slots,"home-features-before",{},void 0,!0),E(c_),L(t.$slots,"home-features-after",{},void 0,!0),E(s)])}}});const f_=F(u_,[["__scopeId","data-v-1db23833"]]);var ur;const xn=typeof window<"u";xn&&((ur=window==null?void 0:window.navigator)==null?void 0:ur.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function d_(e){return e}function h_(e){return Ji()?(Qi(e),!0):!1}function __(e,t=!0){ss()?Qr(e):t?e():Wt(e)}function p_(e,t=!0){ss()?qe(e):t?e():Wt(e)}const v_=xn?window:void 0;xn&&window.document;xn&&window.navigator;xn&&window.location;function m_(e,t=!1){const n=ge(),s=()=>n.value=Boolean(e());return s(),p_(s,t),n}function fr(e,t={}){const{window:n=v_}=t,s=m_(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const r=ge(!1),i=()=>{!s.value||(o||(o=n.matchMedia(e)),r.value=o.matches)};return __(()=>{i(),o&&("addEventListener"in o?o.addEventListener("change",i):o.addListener(i),h_(()=>{"removeEventListener"in o?o.removeEventListener("change",i):o.removeListener(i)}))}),r}const Bs=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Hs="__vueuse_ssr_handlers__";Bs[Hs]=Bs[Hs]||{};Bs[Hs];var dr;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(dr||(dr={}));var g_=Object.defineProperty,hr=Object.getOwnPropertySymbols,b_=Object.prototype.hasOwnProperty,y_=Object.prototype.propertyIsEnumerable,_r=(e,t,n)=>t in e?g_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,x_=(e,t)=>{for(var n in t||(t={}))b_.call(t,n)&&_r(e,n,t[n]);if(hr)for(var n of hr(t))y_.call(t,n)&&_r(e,n,t[n]);return e};const w_={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};x_({linear:d_},w_);function $_(){const{hasSidebar:e}=Xe(),t=fr("(min-width: 960px)"),n=fr("(min-width: 1280px)");return{isAsideEnabled:le(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const k_=56;function P_(){const{page:e}=ie();return{hasOutline:le(()=>e.value.headers.length>0)}}function C_(e){return Mi(S_(e))}function S_(e){e=e.map(n=>Object.assign({},n));let t;for(const n of e)n.level===2?t=n:t&&n.level<=3&&(t.children||(t.children=[])).push(n);return e.filter(n=>n.level===2)}function Mi(e){return e.map(t=>({text:t.title,link:`#${t.slug}`,children:t.children?Mi(t.children):void 0,hidden:t.hidden}))}function V_(e,t){const{isAsideEnabled:n}=$_(),s=Sa(r,100);let o=null;qe(()=>{requestAnimationFrame(r),window.addEventListener("scroll",s)}),Xr(()=>{i(location.hash)}),vt(()=>{window.removeEventListener("scroll",s)});function r(){if(!n.value)return;const l=[].slice.call(e.value.querySelectorAll(".outline-link")),c=[].slice.call(document.querySelectorAll(".content .header-anchor")).filter(P=>l.some(T=>T.hash===P.hash&&P.offsetParent!==null)),f=window.scrollY,h=window.innerHeight,v=document.body.offsetHeight,y=Math.abs(f+h-v)<1;if(c.length&&y){i(c[c.length-1].hash);return}for(let P=0;P(Ke("data-v-e03d48a8"),e=e(),We(),e),L_={class:"content"},M_={class:"outline-title"},I_={"aria-labelledby":"doc-outline-aria-label"},A_=T_(()=>g("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),N_={class:"root"},O_=["href"],F_={key:0},B_=["href"],H_=B({__name:"VPDocAsideOutline",setup(e){const{page:t,frontmatter:n,theme:s}=ie(),{hasOutline:o}=P_(),r=ge(),i=ge();V_(r,i);const l=le(()=>C_(t.value.headers));function c({target:f}){const h="#"+f.href.split("#")[1],v=document.querySelector(decodeURIComponent(h));v==null||v.focus()}return(f,h)=>(d(),m("div",{class:pe(["VPDocAsideOutline",{"has-outline":_(o)}]),ref_key:"container",ref:r},[g("div",L_,[g("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),g("div",M_,se(_(s).outlineTitle||"On this page"),1),g("nav",I_,[A_,g("ul",N_,[(d(!0),m(G,null,ke(_(l),({text:v,link:y,children:P,hidden:T})=>Lo((d(),m("li",null,[g("a",{class:"outline-link",href:y,onClick:c},se(v),9,O_),P&&_(n).outline==="deep"?(d(),m("ul",F_,[(d(!0),m(G,null,ke(P,({text:U,link:H,hidden:b})=>Lo((d(),m("li",null,[g("a",{class:"outline-link nested",href:H,onClick:c},se(U),9,B_)],512)),[[er,!b]])),256))])):j("",!0)],512)),[[er,!T]])),256))])])])],2))}});const R_=F(H_,[["__scopeId","data-v-e03d48a8"]]),D_={class:"VPDocAsideCarbonAds"},z_=B({__name:"VPDocAsideCarbonAds",setup(e){const t=Gr(()=>lo(()=>import("./chunks/ui-custom.20c26870.js"),[]));return(n,s)=>(d(),m("div",D_,[E(_(t))]))}}),U_=e=>(Ke("data-v-aea49c31"),e=e(),We(),e),j_={class:"VPDocAside"},K_=U_(()=>g("div",{class:"spacer"},null,-1)),W_=B({__name:"VPDocAside",setup(e){const{page:t,theme:n}=ie();return(s,o)=>(d(),m("div",j_,[L(s.$slots,"aside-top",{},void 0,!0),L(s.$slots,"aside-outline-before",{},void 0,!0),_(t).headers.length?(d(),X(R_,{key:0})):j("",!0),L(s.$slots,"aside-outline-after",{},void 0,!0),K_,L(s.$slots,"aside-ads-before",{},void 0,!0),_(n).carbonAds?(d(),X(z_,{key:1})):j("",!0),L(s.$slots,"aside-ads-after",{},void 0,!0),L(s.$slots,"aside-bottom",{},void 0,!0)]))}});const q_=F(W_,[["__scopeId","data-v-aea49c31"]]);function Y_(){const{theme:e,page:t}=ie();return le(()=>{const{text:n="Edit this page",pattern:s}=e.value.editLink||{},{relativePath:o}=t.value;return{url:s.replace(/:path/g,o),text:n}})}function G_(){const{page:e,theme:t,frontmatter:n}=ie();return le(()=>{const s=ki(t.value.sidebar,e.value.relativePath),o=Va(s),r=o.findIndex(i=>qt(e.value.relativePath,i.link));return{prev:n.value.prev?{...o[r-1],text:n.value.prev}:o[r-1],next:n.value.next?{...o[r+1],text:n.value.next}:o[r+1]}})}const J_={},Q_={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},X_=g("path",{d:"M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"},null,-1),Z_=g("path",{d:"M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"},null,-1),e0=[X_,Z_];function t0(e,t){return d(),m("svg",Q_,e0)}const n0=F(J_,[["render",t0]]),s0={class:"VPLastUpdated"},o0=["datatime"],r0=B({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n}=ie(),s=le(()=>new Date(n.value.lastUpdated)),o=le(()=>s.value.toISOString()),r=ge("");return qe(()=>{hn(()=>{r.value=s.value.toLocaleString(window.navigator.language)})}),(i,l)=>{var c;return d(),m("p",s0,[Oe(se((c=_(t).lastUpdatedText)!=null?c:"Last updated")+": ",1),g("time",{datatime:_(o)},se(r.value),9,o0)])}}});const i0=F(r0,[["__scopeId","data-v-f7d51a9c"]]),l0={key:0,class:"VPDocFooter"},c0={key:0,class:"edit-info"},a0={key:0,class:"edit-link"},u0={key:1,class:"last-updated"},f0={key:1,class:"prev-next"},d0={class:"pager"},h0=["href"],_0={class:"desc"},p0={class:"title"},v0=["href"],m0={class:"desc"},g0={class:"title"},b0=B({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:s}=ie(),o=Y_(),r=G_(),i=le(()=>t.value.editLink&&s.value.editLink!==!1),l=le(()=>n.value.lastUpdated&&s.value.lastUpdated!==!1),c=le(()=>i.value||l.value||r.value.prev||r.value.next);return(f,h)=>{var v,y,P,T;return _(c)?(d(),m("footer",l0,[_(i)||_(l)?(d(),m("div",c0,[_(i)?(d(),m("div",a0,[E(Yt,{class:"edit-link-button",href:_(o).url,"no-icon":!0},{default:N(()=>[E(n0,{class:"edit-link-icon"}),Oe(" "+se(_(o).text),1)]),_:1},8,["href"])])):j("",!0),_(l)?(d(),m("div",u0,[E(i0)])):j("",!0)])):j("",!0),_(r).prev||_(r).next?(d(),m("div",f0,[g("div",d0,[_(r).prev?(d(),m("a",{key:0,class:"pager-link prev",href:_(zn)(_(r).prev.link)},[g("span",_0,se((y=(v=_(t).docFooter)==null?void 0:v.prev)!=null?y:"Previous page"),1),g("span",p0,se(_(r).prev.text),1)],8,h0)):j("",!0)]),g("div",{class:pe(["pager",{"has-prev":_(r).prev}])},[_(r).next?(d(),m("a",{key:0,class:"pager-link next",href:_(zn)(_(r).next.link)},[g("span",m0,se((T=(P=_(t).docFooter)==null?void 0:P.next)!=null?T:"Next page"),1),g("span",g0,se(_(r).next.text),1)],8,v0)):j("",!0)],2)])):j("",!0)])):j("",!0)}}});const y0=F(b0,[["__scopeId","data-v-a54a85bd"]]),x0=e=>(Ke("data-v-1e748e60"),e=e(),We(),e),w0={class:"container"},$0={key:0,class:"aside"},k0=x0(()=>g("div",{class:"aside-curtain"},null,-1)),P0={class:"aside-container"},C0={class:"aside-content"},S0={class:"content"},V0={class:"content-container"},E0={class:"main"},T0=B({__name:"VPDoc",setup(e){const t=mt(),{hasSidebar:n,hasAside:s}=Xe(),o=le(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(r,i)=>{const l=yn("Content");return d(),m("div",{class:pe(["VPDoc",{"has-sidebar":_(n),"has-aside":_(s)}])},[g("div",w0,[_(s)?(d(),m("div",$0,[k0,g("div",P0,[g("div",C0,[E(q_,null,{"aside-top":N(()=>[L(r.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":N(()=>[L(r.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":N(()=>[L(r.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":N(()=>[L(r.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":N(()=>[L(r.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":N(()=>[L(r.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])])):j("",!0),g("div",S0,[g("div",V0,[L(r.$slots,"doc-before",{},void 0,!0),g("main",E0,[E(l,{class:pe(["vp-doc",_(o)])},null,8,["class"])]),L(r.$slots,"doc-footer-before",{},void 0,!0),E(y0),L(r.$slots,"doc-after",{},void 0,!0)])])])],2)}}});const L0=F(T0,[["__scopeId","data-v-1e748e60"]]),M0=B({__name:"VPContent",setup(e){const t=mt(),{frontmatter:n}=ie(),{hasSidebar:s}=Xe(),o=Vt.NotFound||(()=>"404 Not Found");return Vh(),(r,i)=>(d(),m("div",{class:pe(["VPContent",{"has-sidebar":_(s),"is-home":_(n).layout==="home"}]),id:"VPContent"},[_(t).component===_(o)?(d(),X(_(o),{key:0})):_(n).layout==="page"?(d(),X(Ah,{key:1})):_(n).layout==="home"?(d(),X(f_,{key:2},{"home-hero-before":N(()=>[L(r.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-after":N(()=>[L(r.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":N(()=>[L(r.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":N(()=>[L(r.$slots,"home-features-after",{},void 0,!0)]),_:3})):(d(),X(L0,{key:3},{"doc-footer-before":N(()=>[L(r.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":N(()=>[L(r.$slots,"doc-before",{},void 0,!0)]),"doc-after":N(()=>[L(r.$slots,"doc-after",{},void 0,!0)]),"aside-top":N(()=>[L(r.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":N(()=>[L(r.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":N(()=>[L(r.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":N(()=>[L(r.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":N(()=>[L(r.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":N(()=>[L(r.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}});const I0=F(M0,[["__scopeId","data-v-8af69dc9"]]),A0={class:"container"},N0=["innerHTML"],O0=["innerHTML"],F0=B({__name:"VPFooter",setup(e){const{theme:t}=ie(),{hasSidebar:n}=Xe();return(s,o)=>_(t).footer?(d(),m("footer",{key:0,class:pe(["VPFooter",{"has-sidebar":_(n)}])},[g("div",A0,[g("p",{class:"message",innerHTML:_(t).footer.message},null,8,N0),g("p",{class:"copyright",innerHTML:_(t).footer.copyright},null,8,O0)])],2)):j("",!0)}});const B0=F(F0,[["__scopeId","data-v-1d436145"]]),H0={class:"Layout"},R0=B({__name:"Layout",setup(e){const{isOpen:t,open:n,close:s}=Xe(),o=mt();return Je(()=>o.path,s),Ea(t,s),no("close-sidebar",s),(r,i)=>(d(),m("div",H0,[L(r.$slots,"layout-top",{},void 0,!0),E(La),E(Aa,{class:"backdrop",show:_(t),onClick:_(s)},null,8,["show","onClick"]),E(Hd,null,{"nav-bar-title-before":N(()=>[L(r.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":N(()=>[L(r.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":N(()=>[L(r.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":N(()=>[L(r.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":N(()=>[L(r.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":N(()=>[L(r.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),E(eh,{open:_(t),onOpenMenu:_(n)},null,8,["open","onOpenMenu"]),E(Sh,{open:_(t)},null,8,["open"]),E(I0,null,{"home-hero-before":N(()=>[L(r.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-after":N(()=>[L(r.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":N(()=>[L(r.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":N(()=>[L(r.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":N(()=>[L(r.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":N(()=>[L(r.$slots,"doc-before",{},void 0,!0)]),"doc-after":N(()=>[L(r.$slots,"doc-after",{},void 0,!0)]),"aside-top":N(()=>[L(r.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":N(()=>[L(r.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":N(()=>[L(r.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":N(()=>[L(r.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":N(()=>[L(r.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":N(()=>[L(r.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),E(B0),L(r.$slots,"layout-bottom",{},void 0,!0)]))}});const D0=F(R0,[["__scopeId","data-v-ca9ccb7e"]]),cs=e=>(Ke("data-v-95656537"),e=e(),We(),e),z0={class:"NotFound"},U0=cs(()=>g("p",{class:"code"},"404",-1)),j0=cs(()=>g("h1",{class:"title"},"PAGE NOT FOUND",-1)),K0=cs(()=>g("div",{class:"divider"},null,-1)),W0=cs(()=>g("blockquote",{class:"quote"}," But if you don't change your direction, and if you keep looking, you may end up where you are heading. ",-1)),q0={class:"action"},Y0=["href"],G0=B({__name:"NotFound",setup(e){const{site:t}=ie();return(n,s)=>(d(),m("div",z0,[U0,j0,K0,W0,g("div",q0,[g("a",{class:"link",href:_(t).base,"aria-label":"go to home"}," Take me home ",8,Y0)])]))}});const J0=F(G0,[["__scopeId","data-v-95656537"]]);const Vt={Layout:D0,NotFound:J0};function Q0(e,t){let n=[],s=!0;const o=r=>{if(s){s=!1;return}n.forEach(i=>document.head.removeChild(i)),n=[],r.forEach(i=>{const l=X0(i);document.head.appendChild(l),n.push(l)})};hn(()=>{const r=e.data,i=t.value,l=r&&r.description,c=r&&r.frontmatter.head||[];document.title=bi(i,r),document.querySelector("meta[name=description]").setAttribute("content",l||i.description),o(va(i.head,e1(c)))})}function X0([e,t,n]){const s=document.createElement(e);for(const o in t)s.setAttribute(o,t[o]);return n&&(s.innerHTML=n),s}function Z0(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function e1(e){return e.filter(t=>!Z0(t))}const xs=new Set,Ii=()=>document.createElement("link"),t1=e=>{const t=Ii();t.rel="prefetch",t.href=e,document.head.appendChild(t)},n1=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let Tn;const s1=Te&&(Tn=Ii())&&Tn.relList&&Tn.relList.supports&&Tn.relList.supports("prefetch")?t1:n1;function o1(){if(!Te||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(r=>{r.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!xs.has(c)){xs.add(c);const f=yi(c);s1(f)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(r=>{const{target:i,hostname:l,pathname:c}=r,f=c.match(/\.\w+$/);f&&f[0]!==".html"||i!=="_blank"&&l===location.hostname&&(c!==location.pathname?n.observe(r):xs.add(c))})})};qe(s);const o=mt();Je(()=>o.path,s),vt(()=>{n&&n.disconnect()})}const r1=B({setup(e,{slots:t}){const n=ge(!1);return qe(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}}),i1=Vt.NotFound||(()=>"404 Not Found"),l1=B({name:"VitePressApp",setup(){const{site:e}=ie();return qe(()=>{Je(()=>e.value.lang,t=>{document.documentElement.lang=t},{immediate:!0})}),o1(),Vt.setup&&Vt.setup(),()=>Dn(Vt.Layout)}});function c1(){const e=u1(),t=a1();t.provide(wi,e);const n=ga(e.route);return t.provide(xi,n),t.component("Content",wa),t.component("ClientOnly",r1),Object.defineProperty(t.config.globalProperties,"$frontmatter",{get(){return n.frontmatter.value}}),Vt.enhanceApp&&Vt.enhanceApp({app:t,router:e,siteData:zt}),{app:t,router:e,data:n}}function a1(){return ra(l1)}function u1(){let e=Te,t;return ya(n=>{let s=yi(n);return e&&(t=s),(e||t===s)&&(s=s.replace(/\.js$/,".lean.js")),Te&&(e=!1),lo(()=>import(s),[])},i1)}if(Te){const{app:e,router:t,data:n}=c1();t.go().then(()=>{Q0(t.route,n.site),e.mount("#app")})}export{F as _,gc as a,g as b,m as c,c1 as createApp,Oe as d,B as e,mt as f,ie as g,qe as h,$_ as i,d as o,ge as r,xa as u,Je as w}; diff --git a/assets/app.2b769fcb.js b/assets/app.2b769fcb.js deleted file mode 100644 index 005d328..0000000 --- a/assets/app.2b769fcb.js +++ /dev/null @@ -1 +0,0 @@ -function Rs(e,t){const n=Object.create(null),s=e.split(",");for(let o=0;o!!n[o.toLowerCase()]:o=>!!n[o]}const Oi="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Fi=Rs(Oi);function vr(e){return!!e||e===""}function Ds(e){if(W(e)){const t={};for(let n=0;n{if(n){const s=n.split(Hi);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function pe(e){let t="";if(we(e))t=e;else if(W(e))for(let n=0;nwe(e)?e:e==null?"":W(e)||ye(e)&&(e.toString===yr||!Q(e.toString))?JSON.stringify(e,mr,2):String(e),mr=(e,t)=>t&&t.__v_isRef?mr(e,t.value):Nt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,o])=>(n[`${s} =>`]=o,n),{})}:gr(t)?{[`Set(${t.size})`]:[...t.values()]}:ye(t)&&!W(t)&&!xr(t)?String(t):t,_e={},At=[],je=()=>{},Di=()=>!1,zi=/^on[^a-z]/,mn=e=>zi.test(e),zs=e=>e.startsWith("onUpdate:"),$e=Object.assign,Us=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ui=Object.prototype.hasOwnProperty,ne=(e,t)=>Ui.call(e,t),W=Array.isArray,Nt=e=>Wn(e)==="[object Map]",gr=e=>Wn(e)==="[object Set]",Q=e=>typeof e=="function",we=e=>typeof e=="string",js=e=>typeof e=="symbol",ye=e=>e!==null&&typeof e=="object",br=e=>ye(e)&&Q(e.then)&&Q(e.catch),yr=Object.prototype.toString,Wn=e=>yr.call(e),ji=e=>Wn(e).slice(8,-1),xr=e=>Wn(e)==="[object Object]",Ks=e=>we(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,tn=Rs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),qn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Ki=/-(\w)/g,Qe=qn(e=>e.replace(Ki,(t,n)=>n?n.toUpperCase():"")),Wi=/\B([A-Z])/g,Ut=qn(e=>e.replace(Wi,"-$1").toLowerCase()),Yn=qn(e=>e.charAt(0).toUpperCase()+e.slice(1)),ds=qn(e=>e?`on${Yn(e)}`:""),an=(e,t)=>!Object.is(e,t),hs=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},wr=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let yo;const qi=()=>yo||(yo=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let Me;class Yi{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&Me&&(this.parent=Me,this.index=(Me.scopes||(Me.scopes=[])).push(this)-1)}run(t){if(this.active){const n=Me;try{return Me=this,t()}finally{Me=n}}}on(){Me=this}off(){Me=this.parent}stop(t){if(this.active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},$r=e=>(e.w&_t)>0,kr=e=>(e.n&_t)>0,Xi=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(f==="length"||f>=s)&&l.push(c)});else switch(n!==void 0&&l.push(i.get(n)),t){case"add":W(e)?Ks(n)&&l.push(i.get("length")):(l.push(i.get(Ct)),Nt(e)&&l.push(i.get(ks)));break;case"delete":W(e)||(l.push(i.get(Ct)),Nt(e)&&l.push(i.get(ks)));break;case"set":Nt(e)&&l.push(i.get(Ct));break}if(l.length===1)l[0]&&Ps(l[0]);else{const c=[];for(const f of l)f&&c.push(...f);Ps(Ws(c))}}function Ps(e,t){const n=W(e)?e:[...e];for(const s of n)s.computed&&wo(s);for(const s of n)s.computed||wo(s)}function wo(e,t){(e!==ze||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const el=Rs("__proto__,__v_isRef,__isVue"),Sr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(js)),tl=Ys(),nl=Ys(!1,!0),sl=Ys(!0),$o=ol();function ol(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=ce(this);for(let r=0,i=this.length;r{e[t]=function(...n){jt();const s=ce(this)[t].apply(this,n);return Kt(),s}}),e}function Ys(e=!1,t=!1){return function(s,o,r){if(o==="__v_isReactive")return!e;if(o==="__v_isReadonly")return e;if(o==="__v_isShallow")return t;if(o==="__v_raw"&&r===(e?t?yl:Mr:t?Lr:Tr).get(s))return s;const i=W(s);if(!e&&i&&ne($o,o))return Reflect.get($o,o,r);const l=Reflect.get(s,o,r);return(js(o)?Sr.has(o):el(o))||(e||Ne(s,"get",o),t)?l:Pe(l)?i&&Ks(o)?l:l.value:ye(l)?e?Qs(l):Jn(l):l}}const rl=Vr(),il=Vr(!0);function Vr(e=!1){return function(n,s,o,r){let i=n[s];if(un(i)&&Pe(i)&&!Pe(o))return!1;if(!e&&!un(o)&&(Cs(o)||(o=ce(o),i=ce(i)),!W(n)&&Pe(i)&&!Pe(o)))return i.value=o,!0;const l=W(n)&&Ks(s)?Number(s)e,Gn=e=>Reflect.getPrototypeOf(e);function $n(e,t,n=!1,s=!1){e=e.__v_raw;const o=ce(e),r=ce(t);n||(t!==r&&Ne(o,"get",t),Ne(o,"get",r));const{has:i}=Gn(o),l=s?Gs:n?Zs:fn;if(i.call(o,t))return l(e.get(t));if(i.call(o,r))return l(e.get(r));e!==o&&e.get(t)}function kn(e,t=!1){const n=this.__v_raw,s=ce(n),o=ce(e);return t||(e!==o&&Ne(s,"has",e),Ne(s,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function Pn(e,t=!1){return e=e.__v_raw,!t&&Ne(ce(e),"iterate",Ct),Reflect.get(e,"size",e)}function ko(e){e=ce(e);const t=ce(this);return Gn(t).has.call(t,e)||(t.add(e),nt(t,"add",e,e)),this}function Po(e,t){t=ce(t);const n=ce(this),{has:s,get:o}=Gn(n);let r=s.call(n,e);r||(e=ce(e),r=s.call(n,e));const i=o.call(n,e);return n.set(e,t),r?an(t,i)&&nt(n,"set",e,t):nt(n,"add",e,t),this}function Co(e){const t=ce(this),{has:n,get:s}=Gn(t);let o=n.call(t,e);o||(e=ce(e),o=n.call(t,e)),s&&s.call(t,e);const r=t.delete(e);return o&&nt(t,"delete",e,void 0),r}function So(){const e=ce(this),t=e.size!==0,n=e.clear();return t&&nt(e,"clear",void 0,void 0),n}function Cn(e,t){return function(s,o){const r=this,i=r.__v_raw,l=ce(i),c=t?Gs:e?Zs:fn;return!e&&Ne(l,"iterate",Ct),i.forEach((f,h)=>s.call(o,c(f),c(h),r))}}function Sn(e,t,n){return function(...s){const o=this.__v_raw,r=ce(o),i=Nt(r),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,f=o[e](...s),h=n?Gs:t?Zs:fn;return!t&&Ne(r,"iterate",c?ks:Ct),{next(){const{value:v,done:y}=f.next();return y?{value:v,done:y}:{value:l?[h(v[0]),h(v[1])]:h(v),done:y}},[Symbol.iterator](){return this}}}}function rt(e){return function(...t){return e==="delete"?!1:this}}function dl(){const e={get(r){return $n(this,r)},get size(){return Pn(this)},has:kn,add:ko,set:Po,delete:Co,clear:So,forEach:Cn(!1,!1)},t={get(r){return $n(this,r,!1,!0)},get size(){return Pn(this)},has:kn,add:ko,set:Po,delete:Co,clear:So,forEach:Cn(!1,!0)},n={get(r){return $n(this,r,!0)},get size(){return Pn(this,!0)},has(r){return kn.call(this,r,!0)},add:rt("add"),set:rt("set"),delete:rt("delete"),clear:rt("clear"),forEach:Cn(!0,!1)},s={get(r){return $n(this,r,!0,!0)},get size(){return Pn(this,!0)},has(r){return kn.call(this,r,!0)},add:rt("add"),set:rt("set"),delete:rt("delete"),clear:rt("clear"),forEach:Cn(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(r=>{e[r]=Sn(r,!1,!1),n[r]=Sn(r,!0,!1),t[r]=Sn(r,!1,!0),s[r]=Sn(r,!0,!0)}),[e,n,t,s]}const[hl,_l,pl,vl]=dl();function Js(e,t){const n=t?e?vl:pl:e?_l:hl;return(s,o,r)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?s:Reflect.get(ne(n,o)&&o in s?n:s,o,r)}const ml={get:Js(!1,!1)},gl={get:Js(!1,!0)},bl={get:Js(!0,!1)},Tr=new WeakMap,Lr=new WeakMap,Mr=new WeakMap,yl=new WeakMap;function xl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function wl(e){return e.__v_skip||!Object.isExtensible(e)?0:xl(ji(e))}function Jn(e){return un(e)?e:Xs(e,!1,Er,ml,Tr)}function $l(e){return Xs(e,!1,fl,gl,Lr)}function Qs(e){return Xs(e,!0,ul,bl,Mr)}function Xs(e,t,n,s,o){if(!ye(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const r=o.get(e);if(r)return r;const i=wl(e);if(i===0)return e;const l=new Proxy(e,i===2?s:n);return o.set(e,l),l}function Ot(e){return un(e)?Ot(e.__v_raw):!!(e&&e.__v_isReactive)}function un(e){return!!(e&&e.__v_isReadonly)}function Cs(e){return!!(e&&e.__v_isShallow)}function Ir(e){return Ot(e)||un(e)}function ce(e){const t=e&&e.__v_raw;return t?ce(t):e}function nn(e){return In(e,"__v_skip",!0),e}const fn=e=>ye(e)?Jn(e):e,Zs=e=>ye(e)?Qs(e):e;function Ar(e){ft&&ze&&(e=ce(e),Cr(e.dep||(e.dep=Ws())))}function Nr(e,t){e=ce(e),e.dep&&Ps(e.dep)}function Pe(e){return!!(e&&e.__v_isRef===!0)}function ge(e){return Or(e,!1)}function kl(e){return Or(e,!0)}function Or(e,t){return Pe(e)?e:new Pl(e,t)}class Pl{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:ce(t),this._value=n?t:fn(t)}get value(){return Ar(this),this._value}set value(t){t=this.__v_isShallow?t:ce(t),an(t,this._rawValue)&&(this._rawValue=t,this._value=this.__v_isShallow?t:fn(t),Nr(this))}}function _(e){return Pe(e)?e.value:e}const Cl={get:(e,t,n)=>_(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const o=e[t];return Pe(o)&&!Pe(n)?(o.value=n,!0):Reflect.set(e,t,n,s)}};function Fr(e){return Ot(e)?e:new Proxy(e,Cl)}class Sl{constructor(t,n,s,o){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new qs(t,()=>{this._dirty||(this._dirty=!0,Nr(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=s}get value(){const t=ce(this);return Ar(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function Vl(e,t,n=!1){let s,o;const r=Q(e);return r?(s=e,o=je):(s=e.get,o=e.set),new Sl(s,o,r||!o,n)}function dt(e,t,n,s){let o;try{o=s?e(...s):e()}catch(r){gn(r,t,n)}return o}function He(e,t,n,s){if(Q(e)){const r=dt(e,t,n,s);return r&&br(r)&&r.catch(i=>{gn(i,t,n)}),r}const o=[];for(let r=0;r>>1;dn(Ie[s])tt&&Ie.splice(t,1)}function Rr(e,t,n,s){W(e)?n.push(...e):(!t||!t.includes(e,e.allowRecurse?s+1:s))&&n.push(e),Hr()}function Ml(e){Rr(e,en,sn,Mt)}function Il(e){Rr(e,at,on,It)}function Qn(e,t=null){if(sn.length){for(Vs=t,en=[...new Set(sn)],sn.length=0,Mt=0;Mtdn(n)-dn(s)),It=0;Ite.id==null?1/0:e.id;function Dr(e){Ss=!1,An=!0,Qn(e),Ie.sort((n,s)=>dn(n)-dn(s));const t=je;try{for(tt=0;ttP.trim())),v&&(o=n.map(wr))}let l,c=s[l=ds(t)]||s[l=ds(Qe(t))];!c&&r&&(c=s[l=ds(Ut(t))]),c&&He(c,e,6,o);const f=s[l+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,He(f,e,6,o)}}function zr(e,t,n=!1){const s=t.emitsCache,o=s.get(e);if(o!==void 0)return o;const r=e.emits;let i={},l=!1;if(!Q(e)){const c=f=>{const h=zr(f,t,!0);h&&(l=!0,$e(i,h))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!r&&!l?(s.set(e,null),null):(W(r)?r.forEach(c=>i[c]=null):$e(i,r),s.set(e,i),i)}function Xn(e,t){return!e||!mn(t)?!1:(t=t.slice(2).replace(/Once$/,""),ne(e,t[0].toLowerCase()+t.slice(1))||ne(e,Ut(t))||ne(e,t))}let Ce=null,Zn=null;function On(e){const t=Ce;return Ce=e,Zn=e&&e.type.__scopeId||null,t}function Ke(e){Zn=e}function We(){Zn=null}function N(e,t=Ce,n){if(!t||e._n)return e;const s=(...o)=>{s._d&&Ho(-1);const r=On(t),i=e(...o);return On(r),s._d&&Ho(1),i};return s._n=!0,s._c=!0,s._d=!0,s}function _s(e){const{type:t,vnode:n,proxy:s,withProxy:o,props:r,propsOptions:[i],slots:l,attrs:c,emit:f,render:h,renderCache:v,data:y,setupState:P,ctx:T,inheritAttrs:U}=e;let H,b;const k=On(e);try{if(n.shapeFlag&4){const J=o||s;H=De(h.call(J,J,v,r,P,y,T)),b=c}else{const J=t;H=De(J.length>1?J(r,{attrs:c,slots:l,emit:f}):J(r,null)),b=t.props?c:Nl(c)}}catch(J){rn.length=0,gn(J,e,1),H=E(Ae)}let K=H;if(b&&U!==!1){const J=Object.keys(b),{shapeFlag:te}=K;J.length&&te&7&&(i&&J.some(zs)&&(b=Ol(b,i)),K=pt(K,b))}return n.dirs&&(K=pt(K),K.dirs=K.dirs?K.dirs.concat(n.dirs):n.dirs),n.transition&&(K.transition=n.transition),H=K,On(k),H}const Nl=e=>{let t;for(const n in e)(n==="class"||n==="style"||mn(n))&&((t||(t={}))[n]=e[n]);return t},Ol=(e,t)=>{const n={};for(const s in e)(!zs(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Fl(e,t,n){const{props:s,children:o,component:r}=e,{props:i,children:l,patchFlag:c}=t,f=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Vo(s,i,f):!!i;if(c&8){const h=t.dynamicProps;for(let v=0;ve.__isSuspense;function Ur(e,t){t&&t.pendingBranch?W(e)?t.effects.push(...e):t.effects.push(e):Il(e)}function no(e,t){if(xe){let n=xe.provides;const s=xe.parent&&xe.parent.provides;s===n&&(n=xe.provides=Object.create(s)),n[e]=t}}function ht(e,t,n=!1){const s=xe||Ce;if(s){const o=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(o&&e in o)return o[e];if(arguments.length>1)return n&&Q(t)?t.call(s.proxy):t}}function hn(e,t){return es(e,null,t)}function jr(e,t){return es(e,null,{flush:"post"})}const Eo={};function Je(e,t,n){return es(e,t,n)}function es(e,t,{immediate:n,deep:s,flush:o,onTrack:r,onTrigger:i}=_e){const l=xe;let c,f=!1,h=!1;if(Pe(e)?(c=()=>e.value,f=Cs(e)):Ot(e)?(c=()=>e,s=!0):W(e)?(h=!0,f=e.some(b=>Ot(b)||Cs(b)),c=()=>e.map(b=>{if(Pe(b))return b.value;if(Ot(b))return Pt(b);if(Q(b))return dt(b,l,2)})):Q(e)?t?c=()=>dt(e,l,2):c=()=>{if(!(l&&l.isUnmounted))return v&&v(),He(e,l,3,[y])}:c=je,t&&s){const b=c;c=()=>Pt(b())}let v,y=b=>{v=H.onStop=()=>{dt(b,l,4)}};if(Dt)return y=je,t?n&&He(t,l,3,[c(),h?[]:void 0,y]):c(),je;let P=h?[]:Eo;const T=()=>{if(!!H.active)if(t){const b=H.run();(s||f||(h?b.some((k,K)=>an(k,P[K])):an(b,P)))&&(v&&v(),He(t,l,3,[b,P===Eo?void 0:P,y]),P=b)}else H.run()};T.allowRecurse=!!t;let U;o==="sync"?U=T:o==="post"?U=()=>Ee(T,l&&l.suspense):U=()=>Ml(T);const H=new qs(c,U);return t?n?T():P=H.run():o==="post"?Ee(H.run.bind(H),l&&l.suspense):H.run(),()=>{H.stop(),l&&l.scope&&Us(l.scope.effects,H)}}function Rl(e,t,n){const s=this.proxy,o=we(e)?e.includes(".")?Kr(s,e):()=>s[e]:e.bind(s,s);let r;Q(t)?r=t:(r=t.handler,n=t);const i=xe;Rt(this);const l=es(o,r.bind(s),n);return i?Rt(i):St(),l}function Kr(e,t){const n=t.split(".");return()=>{let s=e;for(let o=0;o{Pt(n,t)});else if(xr(e))for(const n in e)Pt(e[n],t);return e}function Dl(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return qe(()=>{e.isMounted=!0}),Zr(()=>{e.isUnmounting=!0}),e}const Fe=[Function,Array],zl={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Fe,onEnter:Fe,onAfterEnter:Fe,onEnterCancelled:Fe,onBeforeLeave:Fe,onLeave:Fe,onAfterLeave:Fe,onLeaveCancelled:Fe,onBeforeAppear:Fe,onAppear:Fe,onAfterAppear:Fe,onAppearCancelled:Fe},setup(e,{slots:t}){const n=ss(),s=Dl();let o;return()=>{const r=t.default&&Yr(t.default(),!0);if(!r||!r.length)return;let i=r[0];if(r.length>1){for(const U of r)if(U.type!==Ae){i=U;break}}const l=ce(e),{mode:c}=l;if(s.isLeaving)return ps(i);const f=To(i);if(!f)return ps(i);const h=Es(f,l,s,n);Ts(f,h);const v=n.subTree,y=v&&To(v);let P=!1;const{getTransitionKey:T}=f.type;if(T){const U=T();o===void 0?o=U:U!==o&&(o=U,P=!0)}if(y&&y.type!==Ae&&(!wt(f,y)||P)){const U=Es(y,l,s,n);if(Ts(y,U),c==="out-in")return s.isLeaving=!0,U.afterLeave=()=>{s.isLeaving=!1,n.update()},ps(i);c==="in-out"&&f.type!==Ae&&(U.delayLeave=(H,b,k)=>{const K=qr(s,y);K[String(y.key)]=y,H._leaveCb=()=>{b(),H._leaveCb=void 0,delete h.delayedLeave},h.delayedLeave=k})}return i}}},Wr=zl;function qr(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Es(e,t,n,s){const{appear:o,mode:r,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:f,onEnterCancelled:h,onBeforeLeave:v,onLeave:y,onAfterLeave:P,onLeaveCancelled:T,onBeforeAppear:U,onAppear:H,onAfterAppear:b,onAppearCancelled:k}=t,K=String(e.key),J=qr(n,e),te=(I,Y)=>{I&&He(I,s,9,Y)},ue=(I,Y)=>{const Z=Y[1];te(I,Y),W(I)?I.every(oe=>oe.length<=1)&&Z():I.length<=1&&Z()},ae={mode:r,persisted:i,beforeEnter(I){let Y=l;if(!n.isMounted)if(o)Y=U||l;else return;I._leaveCb&&I._leaveCb(!0);const Z=J[K];Z&&wt(e,Z)&&Z.el._leaveCb&&Z.el._leaveCb(),te(Y,[I])},enter(I){let Y=c,Z=f,oe=h;if(!n.isMounted)if(o)Y=H||c,Z=b||f,oe=k||h;else return;let A=!1;const ee=I._enterCb=R=>{A||(A=!0,R?te(oe,[I]):te(Z,[I]),ae.delayedLeave&&ae.delayedLeave(),I._enterCb=void 0)};Y?ue(Y,[I,ee]):ee()},leave(I,Y){const Z=String(e.key);if(I._enterCb&&I._enterCb(!0),n.isUnmounting)return Y();te(v,[I]);let oe=!1;const A=I._leaveCb=ee=>{oe||(oe=!0,Y(),ee?te(T,[I]):te(P,[I]),I._leaveCb=void 0,J[Z]===e&&delete J[Z])};J[Z]=e,y?ue(y,[I,A]):A()},clone(I){return Es(I,t,n,s)}};return ae}function ps(e){if(bn(e))return e=pt(e),e.children=null,e}function To(e){return bn(e)?e.children?e.children[0]:void 0:e}function Ts(e,t){e.shapeFlag&6&&e.component?Ts(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Yr(e,t=!1,n){let s=[],o=0;for(let r=0;r1)for(let r=0;r!!e.type.__asyncLoader;function Gr(e){Q(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:o=200,timeout:r,suspensible:i=!0,onError:l}=e;let c=null,f,h=0;const v=()=>(h++,c=null,y()),y=()=>{let P;return c||(P=c=t().catch(T=>{if(T=T instanceof Error?T:new Error(String(T)),l)return new Promise((U,H)=>{l(T,()=>U(v()),()=>H(T),h+1)});throw T}).then(T=>P!==c&&c?c:(T&&(T.__esModule||T[Symbol.toStringTag]==="Module")&&(T=T.default),f=T,T)))};return B({name:"AsyncComponentWrapper",__asyncLoader:y,get __asyncResolved(){return f},setup(){const P=xe;if(f)return()=>vs(f,P);const T=k=>{c=null,gn(k,P,13,!s)};if(i&&P.suspense||Dt)return y().then(k=>()=>vs(k,P)).catch(k=>(T(k),()=>s?E(s,{error:k}):null));const U=ge(!1),H=ge(),b=ge(!!o);return o&&setTimeout(()=>{b.value=!1},o),r!=null&&setTimeout(()=>{if(!U.value&&!H.value){const k=new Error(`Async component timed out after ${r}ms.`);T(k),H.value=k}},r),y().then(()=>{U.value=!0,P.parent&&bn(P.parent.vnode)&&to(P.parent.update)}).catch(k=>{T(k),H.value=k}),()=>{if(U.value&&f)return vs(f,P);if(H.value&&s)return E(s,{error:H.value});if(n&&!b.value)return E(n)}}})}function vs(e,{vnode:{ref:t,props:n,children:s,shapeFlag:o},parent:r}){const i=E(e,n,s);return i.ref=t,i}const bn=e=>e.type.__isKeepAlive;function Ul(e,t){Jr(e,"a",t)}function jl(e,t){Jr(e,"da",t)}function Jr(e,t,n=xe){const s=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(ts(t,s,n),n){let o=n.parent;for(;o&&o.parent;)bn(o.parent.vnode)&&Kl(s,t,n,o),o=o.parent}}function Kl(e,t,n,s){const o=ts(t,e,s,!0);vt(()=>{Us(s[t],o)},n)}function ts(e,t,n=xe,s=!1){if(n){const o=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;jt(),Rt(n);const l=He(t,n,e,i);return St(),Kt(),l});return s?o.unshift(r):o.push(r),r}}const st=e=>(t,n=xe)=>(!Dt||e==="sp")&&ts(e,t,n),Qr=st("bm"),qe=st("m"),Wl=st("bu"),Xr=st("u"),Zr=st("bum"),vt=st("um"),ql=st("sp"),Yl=st("rtg"),Gl=st("rtc");function Jl(e,t=xe){ts("ec",e,t)}function Lo(e,t){const n=Ce;if(n===null)return e;const s=os(n)||n.proxy,o=e.dirs||(e.dirs=[]);for(let r=0;rt(i,l,void 0,r&&r[l]));else{const i=Object.keys(e);o=new Array(i.length);for(let l=0,c=i.length;lRn(t)?!(t.type===Ae||t.type===G&&!ni(t.children)):!0)?e:null}const Ls=e=>e?_i(e)?os(e)||e.proxy:Ls(e.parent):null,Fn=$e(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ls(e.parent),$root:e=>Ls(e.root),$emit:e=>e.emit,$options:e=>oi(e),$forceUpdate:e=>e.f||(e.f=()=>to(e.update)),$nextTick:e=>e.n||(e.n=Wt.bind(e.proxy)),$watch:e=>Rl.bind(e)}),Ql={get({_:e},t){const{ctx:n,setupState:s,data:o,props:r,accessCache:i,type:l,appContext:c}=e;let f;if(t[0]!=="$"){const P=i[t];if(P!==void 0)switch(P){case 1:return s[t];case 2:return o[t];case 4:return n[t];case 3:return r[t]}else{if(s!==_e&&ne(s,t))return i[t]=1,s[t];if(o!==_e&&ne(o,t))return i[t]=2,o[t];if((f=e.propsOptions[0])&&ne(f,t))return i[t]=3,r[t];if(n!==_e&&ne(n,t))return i[t]=4,n[t];Ms&&(i[t]=0)}}const h=Fn[t];let v,y;if(h)return t==="$attrs"&&Ne(e,"get",t),h(e);if((v=l.__cssModules)&&(v=v[t]))return v;if(n!==_e&&ne(n,t))return i[t]=4,n[t];if(y=c.config.globalProperties,ne(y,t))return y[t]},set({_:e},t,n){const{data:s,setupState:o,ctx:r}=e;return o!==_e&&ne(o,t)?(o[t]=n,!0):s!==_e&&ne(s,t)?(s[t]=n,!0):ne(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:o,propsOptions:r}},i){let l;return!!n[i]||e!==_e&&ne(e,i)||t!==_e&&ne(t,i)||(l=r[0])&&ne(l,i)||ne(s,i)||ne(Fn,i)||ne(o.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ne(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let Ms=!0;function Xl(e){const t=oi(e),n=e.proxy,s=e.ctx;Ms=!1,t.beforeCreate&&Io(t.beforeCreate,e,"bc");const{data:o,computed:r,methods:i,watch:l,provide:c,inject:f,created:h,beforeMount:v,mounted:y,beforeUpdate:P,updated:T,activated:U,deactivated:H,beforeDestroy:b,beforeUnmount:k,destroyed:K,unmounted:J,render:te,renderTracked:ue,renderTriggered:ae,errorCaptured:I,serverPrefetch:Y,expose:Z,inheritAttrs:oe,components:A,directives:ee,filters:R}=t;if(f&&Zl(f,s,null,e.appContext.config.unwrapInjectedRef),i)for(const be in i){const ve=i[be];Q(ve)&&(s[be]=ve.bind(n))}if(o){const be=o.call(n,n);ye(be)&&(e.data=Jn(be))}if(Ms=!0,r)for(const be in r){const ve=r[be],Ze=Q(ve)?ve.bind(n,n):Q(ve.get)?ve.get.bind(n,n):je,as=!Q(ve)&&Q(ve.set)?ve.set.bind(n):je,Gt=le({get:Ze,set:as});Object.defineProperty(s,be,{enumerable:!0,configurable:!0,get:()=>Gt.value,set:Et=>Gt.value=Et})}if(l)for(const be in l)si(l[be],s,n,be);if(c){const be=Q(c)?c.call(n):c;Reflect.ownKeys(be).forEach(ve=>{no(ve,be[ve])})}h&&Io(h,e,"c");function fe(be,ve){W(ve)?ve.forEach(Ze=>be(Ze.bind(n))):ve&&be(ve.bind(n))}if(fe(Qr,v),fe(qe,y),fe(Wl,P),fe(Xr,T),fe(Ul,U),fe(jl,H),fe(Jl,I),fe(Gl,ue),fe(Yl,ae),fe(Zr,k),fe(vt,J),fe(ql,Y),W(Z))if(Z.length){const be=e.exposed||(e.exposed={});Z.forEach(ve=>{Object.defineProperty(be,ve,{get:()=>n[ve],set:Ze=>n[ve]=Ze})})}else e.exposed||(e.exposed={});te&&e.render===je&&(e.render=te),oe!=null&&(e.inheritAttrs=oe),A&&(e.components=A),ee&&(e.directives=ee)}function Zl(e,t,n=je,s=!1){W(e)&&(e=Is(e));for(const o in e){const r=e[o];let i;ye(r)?"default"in r?i=ht(r.from||o,r.default,!0):i=ht(r.from||o):i=ht(r),Pe(i)&&s?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>i.value,set:l=>i.value=l}):t[o]=i}}function Io(e,t,n){He(W(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function si(e,t,n,s){const o=s.includes(".")?Kr(n,s):()=>n[s];if(we(e)){const r=t[e];Q(r)&&Je(o,r)}else if(Q(e))Je(o,e.bind(n));else if(ye(e))if(W(e))e.forEach(r=>si(r,t,n,s));else{const r=Q(e.handler)?e.handler.bind(n):t[e.handler];Q(r)&&Je(o,r,e)}}function oi(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:o,optionsCache:r,config:{optionMergeStrategies:i}}=e.appContext,l=r.get(t);let c;return l?c=l:!o.length&&!n&&!s?c=t:(c={},o.length&&o.forEach(f=>Bn(c,f,i,!0)),Bn(c,t,i)),r.set(t,c),c}function Bn(e,t,n,s=!1){const{mixins:o,extends:r}=t;r&&Bn(e,r,n,!0),o&&o.forEach(i=>Bn(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=ec[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const ec={data:Ao,props:xt,emits:xt,methods:xt,computed:xt,beforeCreate:Se,created:Se,beforeMount:Se,mounted:Se,beforeUpdate:Se,updated:Se,beforeDestroy:Se,beforeUnmount:Se,destroyed:Se,unmounted:Se,activated:Se,deactivated:Se,errorCaptured:Se,serverPrefetch:Se,components:xt,directives:xt,watch:nc,provide:Ao,inject:tc};function Ao(e,t){return t?e?function(){return $e(Q(e)?e.call(this,this):e,Q(t)?t.call(this,this):t)}:t:e}function tc(e,t){return xt(Is(e),Is(t))}function Is(e){if(W(e)){const t={};for(let n=0;n0)&&!(i&16)){if(i&8){const h=e.vnode.dynamicProps;for(let v=0;v{c=!0;const[y,P]=ii(v,t,!0);$e(i,y),P&&l.push(...P)};!n&&t.mixins.length&&t.mixins.forEach(h),e.extends&&h(e.extends),e.mixins&&e.mixins.forEach(h)}if(!r&&!c)return s.set(e,At),At;if(W(r))for(let h=0;h-1,P[1]=U<0||T-1||ne(P,"default"))&&l.push(v)}}}const f=[i,l];return s.set(e,f),f}function No(e){return e[0]!=="$"}function Oo(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:e===null?"null":""}function Fo(e,t){return Oo(e)===Oo(t)}function Bo(e,t){return W(t)?t.findIndex(n=>Fo(n,e)):Q(t)&&Fo(t,e)?0:-1}const li=e=>e[0]==="_"||e==="$stable",ro=e=>W(e)?e.map(De):[De(e)],rc=(e,t,n)=>{if(t._n)return t;const s=N((...o)=>ro(t(...o)),n);return s._c=!1,s},ci=(e,t,n)=>{const s=e._ctx;for(const o in e){if(li(o))continue;const r=e[o];if(Q(r))t[o]=rc(o,r,s);else if(r!=null){const i=ro(r);t[o]=()=>i}}},ai=(e,t)=>{const n=ro(t);e.slots.default=()=>n},ic=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=ce(t),In(t,"_",n)):ci(t,e.slots={})}else e.slots={},t&&ai(e,t);In(e.slots,ns,1)},lc=(e,t,n)=>{const{vnode:s,slots:o}=e;let r=!0,i=_e;if(s.shapeFlag&32){const l=t._;l?n&&l===1?r=!1:($e(o,t),!n&&l===1&&delete o._):(r=!t.$stable,ci(t,o)),i=t}else t&&(ai(e,t),i={default:1});if(r)for(const l in o)!li(l)&&!(l in i)&&delete o[l]};function ui(){return{app:null,config:{isNativeTag:Di,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let cc=0;function ac(e,t){return function(s,o=null){Q(s)||(s=Object.assign({},s)),o!=null&&!ye(o)&&(o=null);const r=ui(),i=new Set;let l=!1;const c=r.app={_uid:cc++,_component:s,_props:o,_container:null,_context:r,_instance:null,version:Vc,get config(){return r.config},set config(f){},use(f,...h){return i.has(f)||(f&&Q(f.install)?(i.add(f),f.install(c,...h)):Q(f)&&(i.add(f),f(c,...h))),c},mixin(f){return r.mixins.includes(f)||r.mixins.push(f),c},component(f,h){return h?(r.components[f]=h,c):r.components[f]},directive(f,h){return h?(r.directives[f]=h,c):r.directives[f]},mount(f,h,v){if(!l){const y=E(s,o);return y.appContext=r,h&&t?t(y,f):e(y,f,v),l=!0,c._container=f,f.__vue_app__=c,os(y.component)||y.component.proxy}},unmount(){l&&(e(null,c._container),delete c._container.__vue_app__)},provide(f,h){return r.provides[f]=h,c}};return c}}function Hn(e,t,n,s,o=!1){if(W(e)){e.forEach((y,P)=>Hn(y,t&&(W(t)?t[P]:t),n,s,o));return}if(Ft(s)&&!o)return;const r=s.shapeFlag&4?os(s.component)||s.component.proxy:s.el,i=o?null:r,{i:l,r:c}=e,f=t&&t.r,h=l.refs===_e?l.refs={}:l.refs,v=l.setupState;if(f!=null&&f!==c&&(we(f)?(h[f]=null,ne(v,f)&&(v[f]=null)):Pe(f)&&(f.value=null)),Q(c))dt(c,l,12,[i,h]);else{const y=we(c),P=Pe(c);if(y||P){const T=()=>{if(e.f){const U=y?h[c]:c.value;o?W(U)&&Us(U,r):W(U)?U.includes(r)||U.push(r):y?(h[c]=[r],ne(v,c)&&(v[c]=h[c])):(c.value=[r],e.k&&(h[e.k]=c.value))}else y?(h[c]=i,ne(v,c)&&(v[c]=i)):P&&(c.value=i,e.k&&(h[e.k]=i))};i?(T.id=-1,Ee(T,n)):T()}}}let it=!1;const Vn=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",En=e=>e.nodeType===8;function uc(e){const{mt:t,p:n,o:{patchProp:s,createText:o,nextSibling:r,parentNode:i,remove:l,insert:c,createComment:f}}=e,h=(b,k)=>{if(!k.hasChildNodes()){n(null,b,k),Nn(),k._vnode=b;return}it=!1,v(k.firstChild,b,null,null,null),Nn(),k._vnode=b,it&&console.error("Hydration completed but contains mismatches.")},v=(b,k,K,J,te,ue=!1)=>{const ae=En(b)&&b.data==="[",I=()=>U(b,k,K,J,te,ae),{type:Y,ref:Z,shapeFlag:oe,patchFlag:A}=k,ee=b.nodeType;k.el=b,A===-2&&(ue=!1,k.dynamicChildren=null);let R=null;switch(Y){case _n:ee!==3?k.children===""?(c(k.el=o(""),i(b),b),R=b):R=I():(b.data!==k.children&&(it=!0,b.data=k.children),R=r(b));break;case Ae:ee!==8||ae?R=I():R=r(b);break;case Bt:if(ee!==1&&ee!==3)R=I();else{R=b;const Ve=!k.children.length;for(let fe=0;fe{ue=ue||!!k.dynamicChildren;const{type:ae,props:I,patchFlag:Y,shapeFlag:Z,dirs:oe}=k,A=ae==="input"&&oe||ae==="option";if(A||Y!==-1){if(oe&&Ge(k,null,K,"created"),I)if(A||!ue||Y&48)for(const R in I)(A&&R.endsWith("value")||mn(R)&&!tn(R))&&s(b,R,null,I[R],!1,void 0,K);else I.onClick&&s(b,"onClick",null,I.onClick,!1,void 0,K);let ee;if((ee=I&&I.onVnodeBeforeMount)&&Be(ee,K,k),oe&&Ge(k,null,K,"beforeMount"),((ee=I&&I.onVnodeMounted)||oe)&&Ur(()=>{ee&&Be(ee,K,k),oe&&Ge(k,null,K,"mounted")},J),Z&16&&!(I&&(I.innerHTML||I.textContent))){let R=P(b.firstChild,k,b,K,J,te,ue);for(;R;){it=!0;const Ve=R;R=R.nextSibling,l(Ve)}}else Z&8&&b.textContent!==k.children&&(it=!0,b.textContent=k.children)}return b.nextSibling},P=(b,k,K,J,te,ue,ae)=>{ae=ae||!!k.dynamicChildren;const I=k.children,Y=I.length;for(let Z=0;Z{const{slotScopeIds:ae}=k;ae&&(te=te?te.concat(ae):ae);const I=i(b),Y=P(r(b),k,I,K,J,te,ue);return Y&&En(Y)&&Y.data==="]"?r(k.anchor=Y):(it=!0,c(k.anchor=f("]"),I,Y),Y)},U=(b,k,K,J,te,ue)=>{if(it=!0,k.el=null,ue){const Y=H(b);for(;;){const Z=r(b);if(Z&&Z!==Y)l(Z);else break}}const ae=r(b),I=i(b);return l(b),n(null,k,I,ae,K,J,Vn(I),te),ae},H=b=>{let k=0;for(;b;)if(b=r(b),b&&En(b)&&(b.data==="["&&k++,b.data==="]")){if(k===0)return r(b);k--}return b};return[h,v]}const Ee=Ur;function fc(e){return dc(e,uc)}function dc(e,t){const n=qi();n.__VUE__=!0;const{insert:s,remove:o,patchProp:r,createElement:i,createText:l,createComment:c,setText:f,setElementText:h,parentNode:v,nextSibling:y,setScopeId:P=je,cloneNode:T,insertStaticContent:U}=e,H=(a,u,p,w=null,x=null,S=null,M=!1,C=null,V=!!u.dynamicChildren)=>{if(a===u)return;a&&!wt(a,u)&&(w=wn(a),ot(a,x,S,!0),a=null),u.patchFlag===-2&&(V=!1,u.dynamicChildren=null);const{type:$,ref:D,shapeFlag:O}=u;switch($){case _n:b(a,u,p,w);break;case Ae:k(a,u,p,w);break;case Bt:a==null&&K(u,p,w,M);break;case G:ee(a,u,p,w,x,S,M,C,V);break;default:O&1?ue(a,u,p,w,x,S,M,C,V):O&6?R(a,u,p,w,x,S,M,C,V):(O&64||O&128)&&$.process(a,u,p,w,x,S,M,C,V,Tt)}D!=null&&x&&Hn(D,a&&a.ref,S,u||a,!u)},b=(a,u,p,w)=>{if(a==null)s(u.el=l(u.children),p,w);else{const x=u.el=a.el;u.children!==a.children&&f(x,u.children)}},k=(a,u,p,w)=>{a==null?s(u.el=c(u.children||""),p,w):u.el=a.el},K=(a,u,p,w)=>{[a.el,a.anchor]=U(a.children,u,p,w,a.el,a.anchor)},J=({el:a,anchor:u},p,w)=>{let x;for(;a&&a!==u;)x=y(a),s(a,p,w),a=x;s(u,p,w)},te=({el:a,anchor:u})=>{let p;for(;a&&a!==u;)p=y(a),o(a),a=p;o(u)},ue=(a,u,p,w,x,S,M,C,V)=>{M=M||u.type==="svg",a==null?ae(u,p,w,x,S,M,C,V):Z(a,u,x,S,M,C,V)},ae=(a,u,p,w,x,S,M,C)=>{let V,$;const{type:D,props:O,shapeFlag:z,transition:q,patchFlag:re,dirs:de}=a;if(a.el&&T!==void 0&&re===-1)V=a.el=T(a.el);else{if(V=a.el=i(a.type,S,O&&O.is,O),z&8?h(V,a.children):z&16&&Y(a.children,V,null,w,x,S&&D!=="foreignObject",M,C),de&&Ge(a,null,w,"created"),O){for(const me in O)me!=="value"&&!tn(me)&&r(V,me,null,O[me],S,a.children,w,x,et);"value"in O&&r(V,"value",null,O.value),($=O.onVnodeBeforeMount)&&Be($,w,a)}I(V,a,a.scopeId,M,w)}de&&Ge(a,null,w,"beforeMount");const he=(!x||x&&!x.pendingBranch)&&q&&!q.persisted;he&&q.beforeEnter(V),s(V,u,p),(($=O&&O.onVnodeMounted)||he||de)&&Ee(()=>{$&&Be($,w,a),he&&q.enter(V),de&&Ge(a,null,w,"mounted")},x)},I=(a,u,p,w,x)=>{if(p&&P(a,p),w)for(let S=0;S{for(let $=V;${const C=u.el=a.el;let{patchFlag:V,dynamicChildren:$,dirs:D}=u;V|=a.patchFlag&16;const O=a.props||_e,z=u.props||_e;let q;p&>(p,!1),(q=z.onVnodeBeforeUpdate)&&Be(q,p,u,a),D&&Ge(u,a,p,"beforeUpdate"),p&>(p,!0);const re=x&&u.type!=="foreignObject";if($?oe(a.dynamicChildren,$,C,p,w,re,S):M||Ze(a,u,C,null,p,w,re,S,!1),V>0){if(V&16)A(C,u,O,z,p,w,x);else if(V&2&&O.class!==z.class&&r(C,"class",null,z.class,x),V&4&&r(C,"style",O.style,z.style,x),V&8){const de=u.dynamicProps;for(let he=0;he{q&&Be(q,p,u,a),D&&Ge(u,a,p,"updated")},w)},oe=(a,u,p,w,x,S,M)=>{for(let C=0;C{if(p!==w){for(const C in w){if(tn(C))continue;const V=w[C],$=p[C];V!==$&&C!=="value"&&r(a,C,$,V,M,u.children,x,S,et)}if(p!==_e)for(const C in p)!tn(C)&&!(C in w)&&r(a,C,p[C],null,M,u.children,x,S,et);"value"in w&&r(a,"value",p.value,w.value)}},ee=(a,u,p,w,x,S,M,C,V)=>{const $=u.el=a?a.el:l(""),D=u.anchor=a?a.anchor:l("");let{patchFlag:O,dynamicChildren:z,slotScopeIds:q}=u;q&&(C=C?C.concat(q):q),a==null?(s($,p,w),s(D,p,w),Y(u.children,p,D,x,S,M,C,V)):O>0&&O&64&&z&&a.dynamicChildren?(oe(a.dynamicChildren,z,p,x,S,M,C),(u.key!=null||x&&u===x.subTree)&&fi(a,u,!0)):Ze(a,u,p,D,x,S,M,C,V)},R=(a,u,p,w,x,S,M,C,V)=>{u.slotScopeIds=C,a==null?u.shapeFlag&512?x.ctx.activate(u,p,w,M,V):Ve(u,p,w,x,S,M,V):fe(a,u,V)},Ve=(a,u,p,w,x,S,M)=>{const C=a.component=xc(a,w,x);if(bn(a)&&(C.ctx.renderer=Tt),wc(C),C.asyncDep){if(x&&x.registerDep(C,be),!a.el){const V=C.subTree=E(Ae);k(null,V,u,p)}return}be(C,a,u,p,x,S,M)},fe=(a,u,p)=>{const w=u.component=a.component;if(Fl(a,u,p))if(w.asyncDep&&!w.asyncResolved){ve(w,u,p);return}else w.next=u,Ll(w.update),w.update();else u.el=a.el,w.vnode=u},be=(a,u,p,w,x,S,M)=>{const C=()=>{if(a.isMounted){let{next:D,bu:O,u:z,parent:q,vnode:re}=a,de=D,he;gt(a,!1),D?(D.el=re.el,ve(a,D,M)):D=re,O&&hs(O),(he=D.props&&D.props.onVnodeBeforeUpdate)&&Be(he,q,D,re),gt(a,!0);const me=_s(a),Re=a.subTree;a.subTree=me,H(Re,me,v(Re.el),wn(Re),a,x,S),D.el=me.el,de===null&&Bl(a,me.el),z&&Ee(z,x),(he=D.props&&D.props.onVnodeUpdated)&&Ee(()=>Be(he,q,D,re),x)}else{let D;const{el:O,props:z}=u,{bm:q,m:re,parent:de}=a,he=Ft(u);if(gt(a,!1),q&&hs(q),!he&&(D=z&&z.onVnodeBeforeMount)&&Be(D,de,u),gt(a,!0),O&&fs){const me=()=>{a.subTree=_s(a),fs(O,a.subTree,a,x,null)};he?u.type.__asyncLoader().then(()=>!a.isUnmounted&&me()):me()}else{const me=a.subTree=_s(a);H(null,me,p,w,a,x,S),u.el=me.el}if(re&&Ee(re,x),!he&&(D=z&&z.onVnodeMounted)){const me=u;Ee(()=>Be(D,de,me),x)}(u.shapeFlag&256||de&&Ft(de.vnode)&&de.vnode.shapeFlag&256)&&a.a&&Ee(a.a,x),a.isMounted=!0,u=p=w=null}},V=a.effect=new qs(C,()=>to($),a.scope),$=a.update=()=>V.run();$.id=a.uid,gt(a,!0),$()},ve=(a,u,p)=>{u.component=a;const w=a.vnode.props;a.vnode=u,a.next=null,oc(a,u.props,w,p),lc(a,u.children,p),jt(),Qn(void 0,a.update),Kt()},Ze=(a,u,p,w,x,S,M,C,V=!1)=>{const $=a&&a.children,D=a?a.shapeFlag:0,O=u.children,{patchFlag:z,shapeFlag:q}=u;if(z>0){if(z&128){Gt($,O,p,w,x,S,M,C,V);return}else if(z&256){as($,O,p,w,x,S,M,C,V);return}}q&8?(D&16&&et($,x,S),O!==$&&h(p,O)):D&16?q&16?Gt($,O,p,w,x,S,M,C,V):et($,x,S,!0):(D&8&&h(p,""),q&16&&Y(O,p,w,x,S,M,C,V))},as=(a,u,p,w,x,S,M,C,V)=>{a=a||At,u=u||At;const $=a.length,D=u.length,O=Math.min($,D);let z;for(z=0;zD?et(a,x,S,!0,!1,O):Y(u,p,w,x,S,M,C,V,O)},Gt=(a,u,p,w,x,S,M,C,V)=>{let $=0;const D=u.length;let O=a.length-1,z=D-1;for(;$<=O&&$<=z;){const q=a[$],re=u[$]=V?ut(u[$]):De(u[$]);if(wt(q,re))H(q,re,p,null,x,S,M,C,V);else break;$++}for(;$<=O&&$<=z;){const q=a[O],re=u[z]=V?ut(u[z]):De(u[z]);if(wt(q,re))H(q,re,p,null,x,S,M,C,V);else break;O--,z--}if($>O){if($<=z){const q=z+1,re=qz)for(;$<=O;)ot(a[$],x,S,!0),$++;else{const q=$,re=$,de=new Map;for($=re;$<=z;$++){const Le=u[$]=V?ut(u[$]):De(u[$]);Le.key!=null&&de.set(Le.key,$)}let he,me=0;const Re=z-re+1;let Lt=!1,mo=0;const Jt=new Array(Re);for($=0;$=Re){ot(Le,x,S,!0);continue}let Ye;if(Le.key!=null)Ye=de.get(Le.key);else for(he=re;he<=z;he++)if(Jt[he-re]===0&&wt(Le,u[he])){Ye=he;break}Ye===void 0?ot(Le,x,S,!0):(Jt[Ye-re]=$+1,Ye>=mo?mo=Ye:Lt=!0,H(Le,u[Ye],p,null,x,S,M,C,V),me++)}const go=Lt?hc(Jt):At;for(he=go.length-1,$=Re-1;$>=0;$--){const Le=re+$,Ye=u[Le],bo=Le+1{const{el:S,type:M,transition:C,children:V,shapeFlag:$}=a;if($&6){Et(a.component.subTree,u,p,w);return}if($&128){a.suspense.move(u,p,w);return}if($&64){M.move(a,u,p,Tt);return}if(M===G){s(S,u,p);for(let O=0;OC.enter(S),x);else{const{leave:O,delayLeave:z,afterLeave:q}=C,re=()=>s(S,u,p),de=()=>{O(S,()=>{re(),q&&q()})};z?z(S,re,de):de()}else s(S,u,p)},ot=(a,u,p,w=!1,x=!1)=>{const{type:S,props:M,ref:C,children:V,dynamicChildren:$,shapeFlag:D,patchFlag:O,dirs:z}=a;if(C!=null&&Hn(C,null,p,a,!0),D&256){u.ctx.deactivate(a);return}const q=D&1&&z,re=!Ft(a);let de;if(re&&(de=M&&M.onVnodeBeforeUnmount)&&Be(de,u,a),D&6)Ni(a.component,p,w);else{if(D&128){a.suspense.unmount(p,w);return}q&&Ge(a,null,u,"beforeUnmount"),D&64?a.type.remove(a,u,p,x,Tt,w):$&&(S!==G||O>0&&O&64)?et($,u,p,!1,!0):(S===G&&O&384||!x&&D&16)&&et(V,u,p),w&&po(a)}(re&&(de=M&&M.onVnodeUnmounted)||q)&&Ee(()=>{de&&Be(de,u,a),q&&Ge(a,null,u,"unmounted")},p)},po=a=>{const{type:u,el:p,anchor:w,transition:x}=a;if(u===G){Ai(p,w);return}if(u===Bt){te(a);return}const S=()=>{o(p),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(a.shapeFlag&1&&x&&!x.persisted){const{leave:M,delayLeave:C}=x,V=()=>M(p,S);C?C(a.el,S,V):V()}else S()},Ai=(a,u)=>{let p;for(;a!==u;)p=y(a),o(a),a=p;o(u)},Ni=(a,u,p)=>{const{bum:w,scope:x,update:S,subTree:M,um:C}=a;w&&hs(w),x.stop(),S&&(S.active=!1,ot(M,a,u,p)),C&&Ee(C,u),Ee(()=>{a.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&a.asyncDep&&!a.asyncResolved&&a.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},et=(a,u,p,w=!1,x=!1,S=0)=>{for(let M=S;Ma.shapeFlag&6?wn(a.component.subTree):a.shapeFlag&128?a.suspense.next():y(a.anchor||a.el),vo=(a,u,p)=>{a==null?u._vnode&&ot(u._vnode,null,null,!0):H(u._vnode||null,a,u,null,null,null,p),Nn(),u._vnode=a},Tt={p:H,um:ot,m:Et,r:po,mt:Ve,mc:Y,pc:Ze,pbc:oe,n:wn,o:e};let us,fs;return t&&([us,fs]=t(Tt)),{render:vo,hydrate:us,createApp:ac(vo,us)}}function gt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function fi(e,t,n=!1){const s=e.children,o=t.children;if(W(s)&&W(o))for(let r=0;r>1,e[n[l]]0&&(t[s]=n[r-1]),n[r]=s)}}for(r=n.length,i=n[r-1];r-- >0;)n[r]=i,i=t[i];return n}const _c=e=>e.__isTeleport,G=Symbol(void 0),_n=Symbol(void 0),Ae=Symbol(void 0),Bt=Symbol(void 0),rn=[];let Ue=null;function d(e=!1){rn.push(Ue=e?null:[])}function pc(){rn.pop(),Ue=rn[rn.length-1]||null}let pn=1;function Ho(e){pn+=e}function di(e){return e.dynamicChildren=pn>0?Ue||At:null,pc(),pn>0&&Ue&&Ue.push(e),e}function m(e,t,n,s,o,r){return di(g(e,t,n,s,o,r,!0))}function X(e,t,n,s,o){return di(E(e,t,n,s,o,!0))}function Rn(e){return e?e.__v_isVNode===!0:!1}function wt(e,t){return e.type===t.type&&e.key===t.key}const ns="__vInternal",hi=({key:e})=>e!=null?e:null,Ln=({ref:e,ref_key:t,ref_for:n})=>e!=null?we(e)||Pe(e)||Q(e)?{i:Ce,r:e,k:t,f:!!n}:e:null;function g(e,t=null,n=null,s=0,o=null,r=e===G?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&hi(t),ref:t&&Ln(t),scopeId:Zn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null};return l?(io(c,n),r&128&&e.normalize(c)):n&&(c.shapeFlag|=we(n)?8:16),pn>0&&!i&&Ue&&(c.patchFlag>0||r&6)&&c.patchFlag!==32&&Ue.push(c),c}const E=vc;function vc(e,t=null,n=null,s=0,o=null,r=!1){if((!e||e===ei)&&(e=Ae),Rn(e)){const l=pt(e,t,!0);return n&&io(l,n),pn>0&&!r&&Ue&&(l.shapeFlag&6?Ue[Ue.indexOf(e)]=l:Ue.push(l)),l.patchFlag|=-2,l}if(Sc(e)&&(e=e.__vccOpts),t){t=mc(t);let{class:l,style:c}=t;l&&!we(l)&&(t.class=pe(l)),ye(c)&&(Ir(c)&&!W(c)&&(c=$e({},c)),t.style=Ds(c))}const i=we(e)?1:Hl(e)?128:_c(e)?64:ye(e)?4:Q(e)?2:0;return g(e,t,n,s,o,i,r,!0)}function mc(e){return e?Ir(e)||ns in e?$e({},e):e:null}function pt(e,t,n=!1){const{props:s,ref:o,patchFlag:r,children:i}=e,l=t?Mn(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&hi(l),ref:t&&t.ref?n&&o?W(o)?o.concat(Ln(t)):[o,Ln(t)]:Ln(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==G?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&pt(e.ssContent),ssFallback:e.ssFallback&&pt(e.ssFallback),el:e.el,anchor:e.anchor}}function Oe(e=" ",t=0){return E(_n,null,e,t)}function gc(e,t){const n=E(Bt,null,e);return n.staticCount=t,n}function j(e="",t=!1){return t?(d(),X(Ae,null,e)):E(Ae,null,e)}function De(e){return e==null||typeof e=="boolean"?E(Ae):W(e)?E(G,null,e.slice()):typeof e=="object"?ut(e):E(_n,null,String(e))}function ut(e){return e.el===null||e.memo?e:pt(e)}function io(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(W(t))n=16;else if(typeof t=="object")if(s&65){const o=t.default;o&&(o._c&&(o._d=!1),io(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!(ns in t)?t._ctx=Ce:o===3&&Ce&&(Ce.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Q(t)?(t={default:t,_ctx:Ce},n=32):(t=String(t),s&64?(n=16,t=[Oe(t)]):n=8);e.children=t,e.shapeFlag|=n}function Mn(...e){const t={};for(let n=0;nxe||Ce,Rt=e=>{xe=e,e.scope.on()},St=()=>{xe&&xe.scope.off(),xe=null};function _i(e){return e.vnode.shapeFlag&4}let Dt=!1;function wc(e,t=!1){Dt=t;const{props:n,children:s}=e.vnode,o=_i(e);sc(e,n,o,t),ic(e,s);const r=o?$c(e,t):void 0;return Dt=!1,r}function $c(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=nn(new Proxy(e.ctx,Ql));const{setup:s}=n;if(s){const o=e.setupContext=s.length>1?Pc(e):null;Rt(e),jt();const r=dt(s,e,0,[e.props,o]);if(Kt(),St(),br(r)){if(r.then(St,St),t)return r.then(i=>{Ro(e,i,t)}).catch(i=>{gn(i,e,0)});e.asyncDep=r}else Ro(e,r,t)}else pi(e,t)}function Ro(e,t,n){Q(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ye(t)&&(e.setupState=Fr(t)),pi(e,n)}let Do;function pi(e,t,n){const s=e.type;if(!e.render){if(!t&&Do&&!s.render){const o=s.template;if(o){const{isCustomElement:r,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,f=$e($e({isCustomElement:r,delimiters:l},i),c);s.render=Do(o,f)}}e.render=s.render||je}Rt(e),jt(),Xl(e),Kt(),St()}function kc(e){return new Proxy(e.attrs,{get(t,n){return Ne(e,"get","$attrs"),t[n]}})}function Pc(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=kc(e))},slots:e.slots,emit:e.emit,expose:t}}function os(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Fr(nn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Fn)return Fn[n](e)}}))}function Cc(e,t=!0){return Q(e)?e.displayName||e.name:e.name||t&&e.__name}function Sc(e){return Q(e)&&"__vccOpts"in e}const le=(e,t)=>Vl(e,t,Dt);function Dn(e,t,n){const s=arguments.length;return s===2?ye(t)&&!W(t)?Rn(t)?E(e,null,[t]):E(e,t):E(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Rn(n)&&(n=[n]),E(e,t,n))}const Vc="3.2.37",Ec="http://www.w3.org/2000/svg",$t=typeof document<"u"?document:null,zo=$t&&$t.createElement("template"),Tc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const o=t?$t.createElementNS(Ec,e):$t.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:e=>$t.createTextNode(e),createComment:e=>$t.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>$t.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},cloneNode(e){const t=e.cloneNode(!0);return"_value"in e&&(t._value=e._value),t},insertStaticContent(e,t,n,s,o,r){const i=n?n.previousSibling:t.lastChild;if(o&&(o===r||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===r||!(o=o.nextSibling)););else{zo.innerHTML=s?`${e}`:e;const l=zo.content;if(s){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function Lc(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function Mc(e,t,n){const s=e.style,o=we(n);if(n&&!o){for(const r in n)Ns(s,r,n[r]);if(t&&!we(t))for(const r in t)n[r]==null&&Ns(s,r,"")}else{const r=s.display;o?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=r)}}const Uo=/\s*!important$/;function Ns(e,t,n){if(W(n))n.forEach(s=>Ns(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Ic(e,t);Uo.test(n)?e.setProperty(Ut(s),n.replace(Uo,""),"important"):e[s]=n}}const jo=["Webkit","Moz","ms"],ms={};function Ic(e,t){const n=ms[t];if(n)return n;let s=Qe(t);if(s!=="filter"&&s in e)return ms[t]=s;s=Yn(s);for(let o=0;o{let e=Date.now,t=!1;if(typeof window<"u"){Date.now()>document.createEvent("Event").timeStamp&&(e=performance.now.bind(performance));const n=navigator.userAgent.match(/firefox\/(\d+)/i);t=!!(n&&Number(n[1])<=53)}return[e,t]})();let Os=0;const Fc=Promise.resolve(),Bc=()=>{Os=0},Hc=()=>Os||(Fc.then(Bc),Os=vi());function Rc(e,t,n,s){e.addEventListener(t,n,s)}function Dc(e,t,n,s){e.removeEventListener(t,n,s)}function zc(e,t,n,s,o=null){const r=e._vei||(e._vei={}),i=r[t];if(s&&i)i.value=s;else{const[l,c]=Uc(t);if(s){const f=r[t]=jc(s,o);Rc(e,l,f,c)}else i&&(Dc(e,l,i,c),r[t]=void 0)}}const Wo=/(?:Once|Passive|Capture)$/;function Uc(e){let t;if(Wo.test(e)){t={};let n;for(;n=e.match(Wo);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[Ut(e.slice(2)),t]}function jc(e,t){const n=s=>{const o=s.timeStamp||vi();(Oc||o>=n.attached-1)&&He(Kc(s,n.value),t,5,[s])};return n.value=e,n.attached=Hc(),n}function Kc(e,t){if(W(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>o=>!o._stopped&&s&&s(o))}else return t}const qo=/^on[a-z]/,Wc=(e,t,n,s,o=!1,r,i,l,c)=>{t==="class"?Lc(e,s,o):t==="style"?Mc(e,n,s):mn(t)?zs(t)||zc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):qc(e,t,s,o))?Nc(e,t,s,r,i,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Ac(e,t,s,o))};function qc(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&qo.test(t)&&Q(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||qo.test(t)&&we(n)?!1:t in e}function Yc(e){const t=ss();if(!t)return;const n=()=>Fs(t.subTree,e(t.proxy));jr(n),qe(()=>{const s=new MutationObserver(n);s.observe(t.subTree.el.parentNode,{childList:!0}),vt(()=>s.disconnect())})}function Fs(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{Fs(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Yo(e.el,t);else if(e.type===G)e.children.forEach(n=>Fs(n,t));else if(e.type===Bt){let{el:n,anchor:s}=e;for(;n&&(Yo(n,t),n!==s);)n=n.nextSibling}}function Yo(e,t){if(e.nodeType===1){const n=e.style;for(const s in t)n.setProperty(`--${s}`,t[s])}}const lt="transition",Qt="animation",rs=(e,{slots:t})=>Dn(Wr,Gc(e),t);rs.displayName="Transition";const mi={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};rs.props=$e({},Wr.props,mi);const bt=(e,t=[])=>{W(e)?e.forEach(n=>n(...t)):e&&e(...t)},Go=e=>e?W(e)?e.some(t=>t.length>1):e.length>1:!1;function Gc(e){const t={};for(const A in e)A in mi||(t[A]=e[A]);if(e.css===!1)return t;const{name:n="v",type:s,duration:o,enterFromClass:r=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=r,appearActiveClass:f=i,appearToClass:h=l,leaveFromClass:v=`${n}-leave-from`,leaveActiveClass:y=`${n}-leave-active`,leaveToClass:P=`${n}-leave-to`}=e,T=Jc(o),U=T&&T[0],H=T&&T[1],{onBeforeEnter:b,onEnter:k,onEnterCancelled:K,onLeave:J,onLeaveCancelled:te,onBeforeAppear:ue=b,onAppear:ae=k,onAppearCancelled:I=K}=t,Y=(A,ee,R)=>{yt(A,ee?h:l),yt(A,ee?f:i),R&&R()},Z=(A,ee)=>{A._isLeaving=!1,yt(A,v),yt(A,P),yt(A,y),ee&&ee()},oe=A=>(ee,R)=>{const Ve=A?ae:k,fe=()=>Y(ee,A,R);bt(Ve,[ee,fe]),Jo(()=>{yt(ee,A?c:r),ct(ee,A?h:l),Go(Ve)||Qo(ee,s,U,fe)})};return $e(t,{onBeforeEnter(A){bt(b,[A]),ct(A,r),ct(A,i)},onBeforeAppear(A){bt(ue,[A]),ct(A,c),ct(A,f)},onEnter:oe(!1),onAppear:oe(!0),onLeave(A,ee){A._isLeaving=!0;const R=()=>Z(A,ee);ct(A,v),Zc(),ct(A,y),Jo(()=>{!A._isLeaving||(yt(A,v),ct(A,P),Go(J)||Qo(A,s,H,R))}),bt(J,[A,R])},onEnterCancelled(A){Y(A,!1),bt(K,[A])},onAppearCancelled(A){Y(A,!0),bt(I,[A])},onLeaveCancelled(A){Z(A),bt(te,[A])}})}function Jc(e){if(e==null)return null;if(ye(e))return[gs(e.enter),gs(e.leave)];{const t=gs(e);return[t,t]}}function gs(e){return wr(e)}function ct(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function yt(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function Jo(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Qc=0;function Qo(e,t,n,s){const o=e._endId=++Qc,r=()=>{o===e._endId&&s()};if(n)return setTimeout(r,n);const{type:i,timeout:l,propCount:c}=Xc(e,t);if(!i)return s();const f=i+"end";let h=0;const v=()=>{e.removeEventListener(f,y),r()},y=P=>{P.target===e&&++h>=c&&v()};setTimeout(()=>{h(n[T]||"").split(", "),o=s(lt+"Delay"),r=s(lt+"Duration"),i=Xo(o,r),l=s(Qt+"Delay"),c=s(Qt+"Duration"),f=Xo(l,c);let h=null,v=0,y=0;t===lt?i>0&&(h=lt,v=i,y=r.length):t===Qt?f>0&&(h=Qt,v=f,y=c.length):(v=Math.max(i,f),h=v>0?i>f?lt:Qt:null,y=h?h===lt?r.length:c.length:0);const P=h===lt&&/\b(transform|all)(,|$)/.test(n[lt+"Property"]);return{type:h,timeout:v,propCount:y,hasTransform:P}}function Xo(e,t){for(;e.lengthZo(n)+Zo(e[s])))}function Zo(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function Zc(){return document.body.offsetHeight}const ea=["ctrl","shift","alt","meta"],ta={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>ea.some(n=>e[`${n}Key`]&&!t.includes(n))},na=(e,t)=>(n,...s)=>{for(let o=0;o{Xt(e,!1)}):Xt(e,t))},beforeUnmount(e,{value:t}){Xt(e,t)}};function Xt(e,t){e.style.display=t?e._vod:"none"}const sa=$e({patchProp:Wc},Tc);let bs,tr=!1;function oa(){return bs=tr?bs:fc(sa),tr=!0,bs}const ra=(...e)=>{const t=oa().createApp(...e),{mount:n}=t;return t.mount=s=>{const o=ia(s);if(o)return n(o,!0,o instanceof SVGElement)},t};function ia(e){return we(e)?document.querySelector(e):e}const F=(e,t)=>{const n=e.__vccOpts||e;for(const[s,o]of t)n[s]=o;return n},la="modulepreload",ca=function(e){return"/vue-h5-template/"+e},nr={},lo=function(t,n,s){return!n||n.length===0?t():Promise.all(n.map(o=>{if(o=ca(o),o in nr)return;nr[o]=!0;const r=o.endsWith(".css"),i=r?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${o}"]${i}`))return;const l=document.createElement("link");if(l.rel=r?"stylesheet":la,r||(l.as="script",l.crossOrigin=""),l.href=o,document.head.appendChild(l),r)return new Promise((c,f)=>{l.addEventListener("load",c),l.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t())};const aa=JSON.parse('{"lang":"zh-CN","title":"Vue-H5-Template","description":"\u4E00\u4E2A\u5F00\u7BB1\u5373\u7528\u7684vue h5\u811A\u624B\u67B6","base":"/vue-h5-template/","head":[],"appearance":true,"themeConfig":{"nav":[{"text":"\u4ECB\u7ECD","link":"/guide/"},{"text":"\u52A0\u5165\u6211\u4EEC","link":"https://github.com/sunniejs/vue-h5-template"}],"sidebar":{"/guide/":[{"text":"\u4ECB\u7ECD","collapsible":true,"items":[{"text":"\u4ECB\u7ECD","link":"/guide/"},{"text":"\u5FEB\u901F\u4E0A\u624B","link":"/guide/start"},{"text":"\u53C2\u4E0E\u7F16\u8F91","link":"/guide/edit"}]},{"text":"vue3-template","collapsible":true,"items":[{"text":"vite","link":"/guide/vue3/vite"},{"text":"\u914D\u7F6E\u591A\u73AF\u5883\u53D8\u91CF","link":"/guide/vue3/env"},{"text":"viewport \u9002\u914D\u65B9\u6848","link":"/guide/vue3/viewport"},{"text":"\u591AUI\u7EC4\u4EF6\u5E93\u4F9B\u9009\u62E9","link":"/guide/vue3/ui"},{"text":"Pinia \u72B6\u6001\u7BA1\u7406","link":"/guide/vue3/pinia"},{"text":"vue-router","link":"/guide/vue3/router"},{"text":"axios \u5C01\u88C5\u53CA\u63A5\u53E3\u7BA1\u7406","link":"/guide/vue3/axios"},{"text":"vite.config.ts \u57FA\u7840\u914D\u7F6E","link":"/guide/vue3/base"},{"text":"alias","link":"/guide/vue3/base"},{"text":"proxy \u8DE8\u57DF","link":"/guide/vue3/base"},{"text":"\u591A\u8BED\u8A00\u89E3\u51B3\u65B9\u6848","link":"/guide/vue3/i18n"},{"text":"Eslint+Pettier+stylelint \u7EDF\u4E00\u5F00\u53D1\u89C4\u8303","link":"/guide/vue3/lint"}]},{"text":"vue2-template","collapsible":false,"items":[{"text":"\u542F\u52A8\u9879\u76EE","link":"/guide//vue2/start"},{"text":"\u914D\u7F6E\u591A\u73AF\u5883\u53D8\u91CF","link":"/guide/vue2/env"},{"text":"rem \u9002\u914D\u65B9\u6848","link":"/guide/vue2/rem"},{"text":"vw \u9002\u914D\u65B9\u6848","link":"/guide/vue2/vw"},{"text":"VantUI \u7EC4\u4EF6\u6309\u9700\u52A0\u8F7D","link":"/guide/vue2/vant"},{"text":"Sass \u5168\u5C40\u6837\u5F0F","link":"/guide/vue2/sass"},{"text":"Vuex \u72B6\u6001\u7BA1\u7406","link":"/guide/vue2/vuex"},{"text":"Vue-router","link":"/guide/vue2/router"},{"text":"Axios \u5C01\u88C5\u53CA\u63A5\u53E3\u7BA1\u7406","link":"/guide/vue2/axios"},{"text":"vue.config.js \u57FA\u7840\u914D\u7F6E","link":"/guide/vue2/base"},{"text":"\u914D\u7F6E alias \u522B\u540D","link":"/guide/vue2/alias"},{"text":"\u914D\u7F6E proxy \u8DE8\u57DF","link":"/guide/vue2/proxy"},{"text":"\u914D\u7F6E \u6253\u5305\u5206\u6790","link":"/guide/vue2/bundle"},{"text":"\u914D\u7F6E externals \u5F15\u5165 cdn \u8D44\u6E90","link":"/guide/vue2/externals"},{"text":"\u53BB\u6389 console.log","link":"/guide/vue2/console"},{"text":"splitChunks \u5355\u72EC\u6253\u5305\u7B2C\u4E09\u65B9\u6A21\u5757","link":"/guide/vue2/chunks"},{"text":"\u6DFB\u52A0 IE \u517C\u5BB9","link":"/guide/vue2/ie"},{"text":"Eslint+Pettier \u7EDF\u4E00\u5F00\u53D1\u89C4\u8303","link":"/guide/vue2/lint"}]}]},"socialLinks":[{"icon":"github","link":"https://github.com/tobe-fe-dalao/fastool"}],"editLink":{"pattern":"https://github.com/tobe-fe-dalao/fastool/tree/doc/docs/:path","text":"\u5728GitHub\u7F16\u8F91\u6B64\u9875"},"footer":{"message":"Released under the MIT License.","copyright":"Copyright \xA9 2022-present Fonghehe"},"algolia":{"appId":"5ZHOMUV2DI","apiKey":"d1de686f0fd4404abc0897093c246ffb","indexName":"vue-h5-template"}},"locales":{},"langs":{},"scrollOffset":90,"cleanUrls":"disabled"}'),is=/^[a-z]+:/i,sr="vitepress-theme-appearance",Te=typeof window<"u",gi={relativePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0};function ua(e,t){t.sort((n,s)=>{const o=s.split("/").length-n.split("/").length;return o!==0?o:s.length-n.length});for(const n of t)if(e.startsWith(n))return n}function or(e,t){const n=ua(t,Object.keys(e));return n?e[n]:void 0}function fa(e){const{locales:t}=e.themeConfig||{},n=e.locales;return t&&n?Object.keys(t).reduce((s,o)=>(s[o]={label:t[o].label,lang:n[o].lang},s),{}):{}}function da(e,t){t=_a(e,t);const n=or(e.locales||{},t),s=or(e.themeConfig.locales||{},t);return Object.assign({},e,n,{themeConfig:Object.assign({},e.themeConfig,s,{locales:{}}),lang:(n||e).lang,locales:{},langs:fa(e)})}function bi(e,t){var r;const n=t.title||e.title,s=(r=t.titleTemplate)!=null?r:e.titleTemplate,o=ha(e.title,s);return`${n}${o}`}function ha(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function _a(e,t){if(!Te)return t;const n=e.base,s=n.endsWith("/")?n.slice(0,-1):n;return t.slice(s.length)}function pa(e,t){const[n,s]=t;if(n!=="meta")return!1;const o=Object.entries(s)[0];return o==null?!1:e.some(([r,i])=>r===n&&i[o[0]]===o[1])}function va(e,t){return[...e.filter(n=>!pa(t,n)),...t]}function ma(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function vn(e){return is.test(e)?e:ma(zt.value.base,e)}function yi(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t.endsWith("/")&&(t+="index"),Te){const n="/vue-h5-template/";t=(t.slice(n.length).replace(/\//g,"_")||"index")+".md";const s=__VP_HASH_MAP__[t.toLowerCase()];t=`${n}assets/${t}.${s}.js`}else t=`./${t.slice(1).replace(/\//g,"_")}.md.js`;return t}const xi=Symbol(),zt=kl(aa);function ga(e){const t=le(()=>da(zt.value,e.path));return{site:t,theme:le(()=>t.value.themeConfig),page:le(()=>e.data),frontmatter:le(()=>e.data.frontmatter),lang:le(()=>t.value.lang),localePath:le(()=>{const{langs:n,lang:s}=t.value,o=Object.keys(n).find(r=>n[r].lang===s);return vn(o||"/")}),title:le(()=>bi(t.value,e.data)),description:le(()=>e.data.description||t.value.description)}}function ie(){const e=ht(xi);if(!e)throw new Error("vitepress data not properly injected in app");return e}const wi=Symbol(),rr="http://a.com",ba=()=>({path:"/",component:null,data:gi});function ya(e,t){const n=Jn(ba());function s(i=Te?location.href:"/"){const l=new URL(i,rr);return zt.value.cleanUrls==="disabled"&&!l.pathname.endsWith("/")&&!l.pathname.endsWith(".html")&&(l.pathname+=".html",i=l.pathname+l.search+l.hash),Te&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",i)),r(i)}let o=null;async function r(i,l=0,c=!1){const f=new URL(i,rr),h=o=f.pathname;try{let v=await e(h);if(o===h){o=null;const{default:y,__pageData:P}=v;if(!y)throw new Error(`Invalid route component: ${y}`);n.path=Te?h:vn(h),n.component=nn(y),n.data=nn(P),Te&&Wt(()=>{if(f.hash&&!l){let T=null;try{T=document.querySelector(decodeURIComponent(f.hash))}catch(U){console.warn(U)}if(T){ir(T,f.hash);return}}window.scrollTo(0,l)})}}catch(v){if(!/fetch/.test(v.message)&&!/^\/404(\.html|\/)?$/.test(i)&&console.error(v),!c)try{const y=await fetch(zt.value.base+"hashmap.json");window.__VP_HASH_MAP__=await y.json(),await r(i,l,!0);return}catch{}o===h&&(o=null,n.path=Te?h:vn(h),n.component=t?nn(t):null,n.data=gi)}}return Te&&(window.addEventListener("click",i=>{const l=i.target.closest("a");if(l){const{href:c,origin:f,pathname:h,hash:v,search:y,target:P}=l,T=window.location,U=h.match(/\.\w+$/);!i.ctrlKey&&!i.shiftKey&&!i.altKey&&!i.metaKey&&P!=="_blank"&&f===T.origin&&!(U&&U[0]!==".html")&&(i.preventDefault(),h===T.pathname&&y===T.search?v&&v!==T.hash&&(history.pushState(null,"",v),window.dispatchEvent(new Event("hashchange")),ir(l,v,l.classList.contains("header-anchor"))):s(c))}},{capture:!0}),window.addEventListener("popstate",i=>{r(location.href,i.state&&i.state.scrollPosition||0)}),window.addEventListener("hashchange",i=>{i.preventDefault()})),{route:n,go:s}}function xa(){const e=ht(wi);if(!e)throw new Error("useRouter() is called without provider.");return e}function mt(){return xa().route}function ir(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.querySelector(decodeURIComponent(t))}catch(o){console.warn(o)}if(s){let o=zt.value.scrollOffset;typeof o=="string"&&(o=document.querySelector(o).getBoundingClientRect().bottom+24);const r=parseInt(window.getComputedStyle(s).paddingTop,10),i=window.scrollY+s.getBoundingClientRect().top-o+r;!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})}}const wa=B({name:"VitePressContent",setup(){const e=mt();return()=>Dn("div",{style:{position:"relative"}},[e.component?Dn(e.component):null])}}),$i=/#.*$/,$a=/(index)?\.(md|html)$/,ka=typeof window<"u",Pa=ge(ka?location.hash:"");function Ca(e){return is.test(e)}function Sa(e,t){let n,s=!1;return()=>{n&&clearTimeout(n),s?n=setTimeout(e,t):(e(),s=!0,setTimeout(()=>{s=!1},t))}}function qt(e,t,n=!1){if(t===void 0)return!1;if(e=cr(`/${e}`),n)return new RegExp(t).test(e);if(cr(t)!==e)return!1;const s=t.match($i);return s?Pa.value===s[0]:!0}function lr(e){return/^\//.test(e)?e:`/${e}`}function cr(e){return decodeURI(e).replace($i,"").replace($a,"")}function zn(e){if(Ca(e))return e;const{site:t}=ie(),{pathname:n,search:s,hash:o}=new URL(e,"http://example.com"),r=n.endsWith("/")||n.endsWith(".html")?e:`${n.replace(/(\.md)?$/,t.value.cleanUrls==="disabled"?".html":"")}${s}${o}`;return vn(r)}function ki(e,t){if(Array.isArray(e))return e;t=lr(t);for(const n in e)if(t.startsWith(lr(n)))return e[n];return[]}function Va(e){const t=[];function n(s){for(const o of s)o.link&&t.push({...o,link:o.link}),"items"in o&&n(o.items)}for(const s of e)n(s.items);return t}function Xe(){const e=mt(),{theme:t,frontmatter:n}=ie(),s=ge(!1),o=le(()=>{const h=t.value.sidebar,v=e.data.relativePath;return h?ki(h,v):[]}),r=le(()=>n.value.sidebar!==!1&&o.value.length>0&&n.value.layout!=="home"),i=le(()=>n.value.layout!=="home"&&n.value.aside===!1?!1:r.value);function l(){s.value=!0}function c(){s.value=!1}function f(){s.value?c():l()}return{isOpen:s,sidebar:o,hasSidebar:r,hasAside:i,open:l,close:c,toggle:f}}function Ea(e,t){let n;hn(()=>{n=e.value?document.activeElement:void 0}),qe(()=>{window.addEventListener("keyup",s)}),vt(()=>{window.removeEventListener("keyup",s)});function s(o){o.key==="Escape"&&e.value&&(t(),n==null||n.focus())}}const Ta=B({__name:"VPSkipLink",setup(e){const t=mt(),n=ge();Je(()=>t.path,()=>n.value.focus());function s({target:o}){const r=document.querySelector(o.hash);if(r){const i=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",i)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",i),r.focus(),window.scrollTo(0,0)}}return(o,r)=>(d(),m(G,null,[g("span",{ref_key:"backToTop",ref:n,tabindex:"-1"},null,512),g("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}});const La=F(Ta,[["__scopeId","data-v-151f2593"]]),Ma={key:0,class:"VPBackdrop"},Ia=B({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(d(),X(rs,{name:"fade"},{default:N(()=>[e.show?(d(),m("div",Ma)):j("",!0)]),_:1}))}});const Aa=F(Ia,[["__scopeId","data-v-0164f098"]]);function Na(){const e=ge(!1);function t(){e.value=!0,window.addEventListener("resize",o)}function n(){e.value=!1,window.removeEventListener("resize",o)}function s(){e.value?n():t()}function o(){window.outerWidth>=768&&n()}const r=mt();return Je(()=>r.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:s}}const Oa=["src"],Fa={inheritAttrs:!1},Ba=B({...Fa,__name:"VPImage",props:{image:null},setup(e){return(t,n)=>{const s=yn("VPImage",!0);return e.image?(d(),m(G,{key:0},[typeof e.image=="string"||"src"in e.image?(d(),m("img",Mn({key:0,class:"VPImage"},typeof e.image=="string"?t.$attrs:{...e.image,...t.$attrs},{src:_(vn)(typeof e.image=="string"?e.image:e.image.src)}),null,16,Oa)):(d(),m(G,{key:1},[E(s,Mn({class:"dark",image:e.image.dark},t.$attrs),null,16,["image"]),E(s,Mn({class:"light",image:e.image.light},t.$attrs),null,16,["image"])],64))],64)):j("",!0)}}});const Pi=F(Ba,[["__scopeId","data-v-e13a1912"]]),Ha=["href"],Ra=B({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=ie(),{hasSidebar:s}=Xe();return(o,r)=>(d(),m("div",{class:pe(["VPNavBarTitle",{"has-sidebar":_(s)}])},[g("a",{class:"title",href:_(t).base},[L(o.$slots,"nav-bar-title-before",{},void 0,!0),E(Pi,{class:"logo",image:_(n).logo},null,8,["image"]),_(n).siteTitle?(d(),m(G,{key:0},[Oe(se(_(n).siteTitle),1)],64)):_(n).siteTitle===void 0?(d(),m(G,{key:1},[Oe(se(_(t).title),1)],64)):j("",!0),L(o.$slots,"nav-bar-title-after",{},void 0,!0)],8,Ha)],2))}});const Da=F(Ra,[["__scopeId","data-v-d5925166"]]);const za={key:0,class:"VPNavBarSearch"},Ua={type:"button",class:"DocSearch DocSearch-Button","aria-label":"Search"},ja={class:"DocSearch-Button-Container"},Ka=g("svg",{class:"DocSearch-Search-Icon",width:"20",height:"20",viewBox:"0 0 20 20"},[g("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none","fill-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"})],-1),Wa={class:"DocSearch-Button-Placeholder"},qa=g("span",{class:"DocSearch-Button-Keys"},[g("kbd",{class:"DocSearch-Button-Key"}),g("kbd",{class:"DocSearch-Button-Key"},"K")],-1),Ya=B({__name:"VPNavBarSearch",setup(e){Yc(i=>({"38a1667b":o.value}));const t=Gr(()=>lo(()=>import("./chunks/VPAlgoliaSearchBox.d1653a4e.js"),[])),{theme:n}=ie(),s=ge(!1),o=ge("'Meta'");qe(()=>{if(!n.value.algolia)return;o.value=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?"'\u2318'":"'Ctrl'";const i=c=>{c.key==="k"&&(c.ctrlKey||c.metaKey)&&(c.preventDefault(),r(),l())},l=()=>{window.removeEventListener("keydown",i)};window.addEventListener("keydown",i),vt(l)});function r(){s.value||(s.value=!0)}return(i,l)=>{var c;return _(n).algolia?(d(),m("div",za,[s.value?(d(),X(_(t),{key:0})):(d(),m("div",{key:1,id:"docsearch",onClick:r},[g("button",Ua,[g("span",ja,[Ka,g("span",Wa,se(((c=_(n).algolia)==null?void 0:c.buttonText)||"Search"),1)]),qa])]))])):j("",!0)}}});const Ga={},Ja={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",height:"24px",viewBox:"0 0 24 24",width:"24px"},Qa=g("path",{d:"M0 0h24v24H0V0z",fill:"none"},null,-1),Xa=g("path",{d:"M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"},null,-1),Za=[Qa,Xa];function eu(e,t){return d(),m("svg",Ja,Za)}const tu=F(Ga,[["render",eu]]),nu=B({__name:"VPLink",props:{href:null,noIcon:{type:Boolean}},setup(e){const t=e,n=le(()=>t.href&&is.test(t.href));return(s,o)=>(d(),X(oo(e.href?"a":"span"),{class:pe(["VPLink",{link:e.href}]),href:e.href?_(zn)(e.href):void 0,target:_(n)?"_blank":void 0,rel:_(n)?"noreferrer":void 0},{default:N(()=>[L(s.$slots,"default",{},void 0,!0),_(n)&&!e.noIcon?(d(),X(tu,{key:0,class:"icon"})):j("",!0)]),_:3},8,["class","href","target","rel"]))}});const Yt=F(nu,[["__scopeId","data-v-3c355974"]]),su=B({__name:"VPNavBarMenuLink",props:{item:null},setup(e){const{page:t}=ie();return(n,s)=>(d(),X(Yt,{class:pe({VPNavBarMenuLink:!0,active:_(qt)(_(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,noIcon:!0},{default:N(()=>[Oe(se(e.item.text),1)]),_:1},8,["class","href"]))}});const ou=F(su,[["__scopeId","data-v-47a2263e"]]),co=ge();let Ci=!1,ys=0;function ru(e){const t=ge(!1);if(typeof window<"u"){!Ci&&iu(),ys++;const n=Je(co,s=>{var o,r,i;s===e.el.value||((o=e.el.value)==null?void 0:o.contains(s))?(t.value=!0,(r=e.onFocus)==null||r.call(e)):(t.value=!1,(i=e.onBlur)==null||i.call(e))});vt(()=>{n(),ys--,ys||lu()})}return Qs(t)}function iu(){document.addEventListener("focusin",Si),Ci=!0,co.value=document.activeElement}function lu(){document.removeEventListener("focusin",Si)}function Si(){co.value=document.activeElement}const cu={},au={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},uu=g("path",{d:"M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"},null,-1),fu=[uu];function du(e,t){return d(),m("svg",au,fu)}const Vi=F(cu,[["render",du]]),hu={},_u={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},pu=g("circle",{cx:"12",cy:"12",r:"2"},null,-1),vu=g("circle",{cx:"19",cy:"12",r:"2"},null,-1),mu=g("circle",{cx:"5",cy:"12",r:"2"},null,-1),gu=[pu,vu,mu];function bu(e,t){return d(),m("svg",_u,gu)}const yu=F(hu,[["render",bu]]),xu={class:"VPMenuLink"},wu=B({__name:"VPMenuLink",props:{item:null},setup(e){const{page:t}=ie();return(n,s)=>(d(),m("div",xu,[E(Yt,{class:pe({active:_(qt)(_(t).relativePath,e.item.activeMatch||e.item.link)}),href:e.item.link},{default:N(()=>[Oe(se(e.item.text),1)]),_:1},8,["class","href"])]))}});const ls=F(wu,[["__scopeId","data-v-e8e0fb1d"]]),$u={class:"VPMenuGroup"},ku={key:0,class:"title"},Pu=B({__name:"VPMenuGroup",props:{text:null,items:null},setup(e){return(t,n)=>(d(),m("div",$u,[e.text?(d(),m("p",ku,se(e.text),1)):j("",!0),(d(!0),m(G,null,ke(e.items,s=>(d(),m(G,null,["link"in s?(d(),X(ls,{key:0,item:s},null,8,["item"])):j("",!0)],64))),256))]))}});const Cu=F(Pu,[["__scopeId","data-v-9ca52130"]]),Su={class:"VPMenu"},Vu={key:0,class:"items"},Eu=B({__name:"VPMenu",props:{items:null},setup(e){return(t,n)=>(d(),m("div",Su,[e.items?(d(),m("div",Vu,[(d(!0),m(G,null,ke(e.items,s=>(d(),m(G,{key:s.text},["link"in s?(d(),X(ls,{key:0,item:s},null,8,["item"])):(d(),X(Cu,{key:1,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):j("",!0),L(t.$slots,"default",{},void 0,!0)]))}});const Tu=F(Eu,[["__scopeId","data-v-1c5d0cfc"]]),Lu=["aria-expanded","aria-label"],Mu={key:0,class:"text"},Iu={class:"menu"},Au=B({__name:"VPFlyout",props:{icon:null,button:null,label:null,items:null},setup(e){const t=ge(!1),n=ge();ru({el:n,onBlur:s});function s(){t.value=!1}return(o,r)=>(d(),m("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:r[1]||(r[1]=i=>t.value=!0),onMouseleave:r[2]||(r[2]=i=>t.value=!1)},[g("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":e.label,onClick:r[0]||(r[0]=i=>t.value=!t.value)},[e.button||e.icon?(d(),m("span",Mu,[e.icon?(d(),X(oo(e.icon),{key:0,class:"option-icon"})):j("",!0),Oe(" "+se(e.button)+" ",1),E(Vi,{class:"text-icon"})])):(d(),X(yu,{key:1,class:"icon"}))],8,Lu),g("div",Iu,[E(Tu,{items:e.items},{default:N(()=>[L(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}});const ao=F(Au,[["__scopeId","data-v-6ffb57d3"]]),Nu=B({__name:"VPNavBarMenuGroup",props:{item:null},setup(e){const{page:t}=ie();return(n,s)=>(d(),X(ao,{class:pe({VPNavBarMenuGroup:!0,active:_(qt)(_(t).relativePath,e.item.activeMatch,!!e.item.activeMatch)}),button:e.item.text,items:e.item.items},null,8,["class","button","items"]))}}),Ou=e=>(Ke("data-v-f83db6ba"),e=e(),We(),e),Fu={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Bu=Ou(()=>g("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),Hu=B({__name:"VPNavBarMenu",setup(e){const{theme:t}=ie();return(n,s)=>_(t).nav?(d(),m("nav",Fu,[Bu,(d(!0),m(G,null,ke(_(t).nav,o=>(d(),m(G,{key:o.text},["link"in o?(d(),X(ou,{key:0,item:o},null,8,["item"])):(d(),X(Nu,{key:1,item:o},null,8,["item"]))],64))),128))])):j("",!0)}});const Ru=F(Hu,[["__scopeId","data-v-f83db6ba"]]),Du={},zu={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Uu=g("path",{d:"M0 0h24v24H0z",fill:"none"},null,-1),ju=g("path",{d:" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",class:"css-c4d79v"},null,-1),Ku=[Uu,ju];function Wu(e,t){return d(),m("svg",zu,Ku)}const Ei=F(Du,[["render",Wu]]),qu={class:"items"},Yu={class:"title"},Gu=B({__name:"VPNavBarTranslations",setup(e){const{theme:t}=ie();return(n,s)=>_(t).localeLinks?(d(),X(ao,{key:0,class:"VPNavBarTranslations",icon:Ei},{default:N(()=>[g("div",qu,[g("p",Yu,se(_(t).localeLinks.text),1),(d(!0),m(G,null,ke(_(t).localeLinks.items,o=>(d(),X(ls,{key:o.link,item:o},null,8,["item"]))),128))])]),_:1})):j("",!0)}});const Ju=F(Gu,[["__scopeId","data-v-db824e91"]]);const Qu={},Xu={class:"VPSwitch",type:"button",role:"switch"},Zu={class:"check"},ef={key:0,class:"icon"};function tf(e,t){return d(),m("button",Xu,[g("span",Zu,[e.$slots.default?(d(),m("span",ef,[L(e.$slots,"default",{},void 0,!0)])):j("",!0)])])}const nf=F(Qu,[["render",tf],["__scopeId","data-v-086e8519"]]),sf={},of={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},rf=gc('',9),lf=[rf];function cf(e,t){return d(),m("svg",of,lf)}const af=F(sf,[["render",cf]]),uf={},ff={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},df=g("path",{d:"M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"},null,-1),hf=[df];function _f(e,t){return d(),m("svg",ff,hf)}const pf=F(uf,[["render",_f]]),vf=B({__name:"VPSwitchAppearance",setup(e){const t=typeof localStorage<"u"?n():()=>{};function n(){const s=window.matchMedia("(prefers-color-scheme: dark)"),o=document.documentElement.classList;let r=localStorage.getItem(sr)||"auto",i=r==="auto"?s.matches:r==="dark";s.onchange=f=>{r==="auto"&&c(i=f.matches)};function l(){c(i=!i),r=i?s.matches?"auto":"dark":s.matches?"light":"auto",localStorage.setItem(sr,r)}function c(f){o[f?"add":"remove"]("dark")}return l}return(s,o)=>(d(),X(nf,{class:"VPSwitchAppearance","aria-label":"toggle dark mode",onClick:_(t)},{default:N(()=>[E(af,{class:"sun"}),E(pf,{class:"moon"})]),_:1},8,["onClick"]))}});const uo=F(vf,[["__scopeId","data-v-968780f1"]]),mf={key:0,class:"VPNavBarAppearance"},gf=B({__name:"VPNavBarAppearance",setup(e){const{site:t}=ie();return(n,s)=>_(t).appearance?(d(),m("div",mf,[E(uo)])):j("",!0)}});const bf=F(gf,[["__scopeId","data-v-a3e7452b"]]),yf={discord:'Discord',facebook:'Facebook',github:'GitHub',instagram:'Instagram',linkedin:'LinkedIn',slack:'Slack',twitter:'Twitter',youtube:'YouTube'},xf=["href","innerHTML"],wf=B({__name:"VPSocialLink",props:{icon:null,link:null},setup(e){const t=e,n=le(()=>typeof t.icon=="object"?t.icon.svg:yf[t.icon]);return(s,o)=>(d(),m("a",{class:"VPSocialLink",href:e.link,target:"_blank",rel:"noopener",innerHTML:_(n)},null,8,xf))}});const $f=F(wf,[["__scopeId","data-v-e57698f6"]]),kf={class:"VPSocialLinks"},Pf=B({__name:"VPSocialLinks",props:{links:null},setup(e){return(t,n)=>(d(),m("div",kf,[(d(!0),m(G,null,ke(e.links,({link:s,icon:o})=>(d(),X($f,{key:s,icon:o,link:s},null,8,["icon","link"]))),128))]))}});const fo=F(Pf,[["__scopeId","data-v-f6988cfb"]]),Cf=B({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=ie();return(n,s)=>_(t).socialLinks?(d(),X(fo,{key:0,class:"VPNavBarSocialLinks",links:_(t).socialLinks},null,8,["links"])):j("",!0)}});const Sf=F(Cf,[["__scopeId","data-v-738bef5a"]]),Vf=e=>(Ke("data-v-e89b88d7"),e=e(),We(),e),Ef={key:0,class:"group"},Tf={class:"trans-title"},Lf={key:1,class:"group"},Mf={class:"item appearance"},If=Vf(()=>g("p",{class:"label"},"Appearance",-1)),Af={class:"appearance-action"},Nf={key:2,class:"group"},Of={class:"item social-links"},Ff=B({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=ie();return(s,o)=>(d(),X(ao,{class:"VPNavBarExtra",label:"extra navigation"},{default:N(()=>[_(n).localeLinks?(d(),m("div",Ef,[g("p",Tf,se(_(n).localeLinks.text),1),(d(!0),m(G,null,ke(_(n).localeLinks.items,r=>(d(),X(ls,{key:r.link,item:r},null,8,["item"]))),128))])):j("",!0),_(t).appearance?(d(),m("div",Lf,[g("div",Mf,[If,g("div",Af,[E(uo)])])])):j("",!0),_(n).socialLinks?(d(),m("div",Nf,[g("div",Of,[E(fo,{class:"social-links-list",links:_(n).socialLinks},null,8,["links"])])])):j("",!0)]),_:1}))}});const Bf=F(Ff,[["__scopeId","data-v-e89b88d7"]]),Hf=e=>(Ke("data-v-e5dd9c1c"),e=e(),We(),e),Rf=["aria-expanded"],Df=Hf(()=>g("span",{class:"container"},[g("span",{class:"top"}),g("span",{class:"middle"}),g("span",{class:"bottom"})],-1)),zf=[Df],Uf=B({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(d(),m("button",{type:"button",class:pe(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=s=>t.$emit("click"))},zf,10,Rf))}});const jf=F(Uf,[["__scopeId","data-v-e5dd9c1c"]]),Kf={class:"container"},Wf={class:"content"},qf=B({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const{hasSidebar:t}=Xe();return(n,s)=>(d(),m("div",{class:pe(["VPNavBar",{"has-sidebar":_(t)}])},[g("div",Kf,[E(Da,null,{"nav-bar-title-before":N(()=>[L(n.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":N(()=>[L(n.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3}),g("div",Wf,[L(n.$slots,"nav-bar-content-before",{},void 0,!0),E(Ya,{class:"search"}),E(Ru,{class:"menu"}),E(Ju,{class:"translations"}),E(bf,{class:"appearance"}),E(Sf,{class:"social-links"}),E(Bf,{class:"extra"}),L(n.$slots,"nav-bar-content-after",{},void 0,!0),E(jf,{class:"hamburger",active:e.isScreenOpen,onClick:s[0]||(s[0]=o=>n.$emit("toggle-screen"))},null,8,["active"])])])],2))}});const Yf=F(qf,[["__scopeId","data-v-a35e6f52"]]);function Gf(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t1),Ht=[],jn=!1,_o=-1,ln=void 0,kt=void 0,cn=void 0,Ti=function(t){return Ht.some(function(n){return!!(n.options.allowTouchMove&&n.options.allowTouchMove(t))})},Kn=function(t){var n=t||window.event;return Ti(n.target)||n.touches.length>1?!0:(n.preventDefault&&n.preventDefault(),!1)},Jf=function(t){if(cn===void 0){var n=!!t&&t.reserveScrollBarGap===!0,s=window.innerWidth-document.documentElement.clientWidth;if(n&&s>0){var o=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10);cn=document.body.style.paddingRight,document.body.style.paddingRight=o+s+"px"}}ln===void 0&&(ln=document.body.style.overflow,document.body.style.overflow="hidden")},Qf=function(){cn!==void 0&&(document.body.style.paddingRight=cn,cn=void 0),ln!==void 0&&(document.body.style.overflow=ln,ln=void 0)},Xf=function(){return window.requestAnimationFrame(function(){if(kt===void 0){kt={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};var t=window,n=t.scrollY,s=t.scrollX,o=t.innerHeight;document.body.style.position="fixed",document.body.style.top=-n,document.body.style.left=-s,setTimeout(function(){return window.requestAnimationFrame(function(){var r=o-window.innerHeight;r&&n>=o&&(document.body.style.top=-(n+r))})},300)}})},Zf=function(){if(kt!==void 0){var t=-parseInt(document.body.style.top,10),n=-parseInt(document.body.style.left,10);document.body.style.position=kt.position,document.body.style.top=kt.top,document.body.style.left=kt.left,window.scrollTo(n,t),kt=void 0}},ed=function(t){return t?t.scrollHeight-t.scrollTop<=t.clientHeight:!1},td=function(t,n){var s=t.targetTouches[0].clientY-_o;return Ti(t.target)?!1:n&&n.scrollTop===0&&s>0||ed(n)&&s<0?Kn(t):(t.stopPropagation(),!0)},nd=function(t,n){if(!t){console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");return}if(!Ht.some(function(o){return o.targetElement===t})){var s={targetElement:t,options:n||{}};Ht=[].concat(Gf(Ht),[s]),Un?Xf():Jf(n),Un&&(t.ontouchstart=function(o){o.targetTouches.length===1&&(_o=o.targetTouches[0].clientY)},t.ontouchmove=function(o){o.targetTouches.length===1&&td(o,t)},jn||(document.addEventListener("touchmove",Kn,ho?{passive:!1}:void 0),jn=!0))}},sd=function(){Un&&(Ht.forEach(function(t){t.targetElement.ontouchstart=null,t.targetElement.ontouchmove=null}),jn&&(document.removeEventListener("touchmove",Kn,ho?{passive:!1}:void 0),jn=!1),_o=-1),Un?Zf():Qf(),Ht=[]};const od=B({__name:"VPNavScreenMenuLink",props:{text:null,link:null},setup(e){const t=ht("close-screen");return(n,s)=>(d(),X(Yt,{class:"VPNavScreenMenuLink",href:e.link,onClick:_(t)},{default:N(()=>[Oe(se(e.text),1)]),_:1},8,["href","onClick"]))}});const rd=F(od,[["__scopeId","data-v-b7098508"]]),id={},ld={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},cd=g("path",{d:"M18.9,10.9h-6v-6c0-0.6-0.4-1-1-1s-1,0.4-1,1v6h-6c-0.6,0-1,0.4-1,1s0.4,1,1,1h6v6c0,0.6,0.4,1,1,1s1-0.4,1-1v-6h6c0.6,0,1-0.4,1-1S19.5,10.9,18.9,10.9z"},null,-1),ad=[cd];function ud(e,t){return d(),m("svg",ld,ad)}const fd=F(id,[["render",ud]]),dd=B({__name:"VPNavScreenMenuGroupLink",props:{text:null,link:null},setup(e){const t=ht("close-screen");return(n,s)=>(d(),X(Yt,{class:"VPNavScreenMenuGroupLink",href:e.link,onClick:_(t)},{default:N(()=>[Oe(se(e.text),1)]),_:1},8,["href","onClick"]))}});const Li=F(dd,[["__scopeId","data-v-7f173864"]]),hd={class:"VPNavScreenMenuGroupSection"},_d={key:0,class:"title"},pd=B({__name:"VPNavScreenMenuGroupSection",props:{text:null,items:null},setup(e){return(t,n)=>(d(),m("div",hd,[e.text?(d(),m("p",_d,se(e.text),1)):j("",!0),(d(!0),m(G,null,ke(e.items,s=>(d(),X(Li,{key:s.text,text:s.text,link:s.link},null,8,["text","link"]))),128))]))}});const vd=F(pd,[["__scopeId","data-v-7478538b"]]),md=["aria-controls","aria-expanded"],gd={class:"button-text"},bd=["id"],yd={key:1,class:"group"},xd=B({__name:"VPNavScreenMenuGroup",props:{text:null,items:null},setup(e){const t=e,n=ge(!1),s=le(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function o(){n.value=!n.value}return(r,i)=>(d(),m("div",{class:pe(["VPNavScreenMenuGroup",{open:n.value}])},[g("button",{class:"button","aria-controls":_(s),"aria-expanded":n.value,onClick:o},[g("span",gd,se(e.text),1),E(fd,{class:"button-icon"})],8,md),g("div",{id:_(s),class:"items"},[(d(!0),m(G,null,ke(e.items,l=>(d(),m(G,{key:l.text},["link"in l?(d(),m("div",{key:l.text,class:"item"},[E(Li,{text:l.text,link:l.link},null,8,["text","link"])])):(d(),m("div",yd,[E(vd,{text:l.text,items:l.items},null,8,["text","items"])]))],64))),128))],8,bd)],2))}});const wd=F(xd,[["__scopeId","data-v-5bc84358"]]),$d={key:0,class:"VPNavScreenMenu"},kd=B({__name:"VPNavScreenMenu",setup(e){const{theme:t}=ie();return(n,s)=>_(t).nav?(d(),m("nav",$d,[(d(!0),m(G,null,ke(_(t).nav,o=>(d(),m(G,{key:o.text},["link"in o?(d(),X(rd,{key:0,text:o.text,link:o.link},null,8,["text","link"])):(d(),X(wd,{key:1,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):j("",!0)}}),Pd=e=>(Ke("data-v-7bc19822"),e=e(),We(),e),Cd={key:0,class:"VPNavScreenAppearance"},Sd=Pd(()=>g("p",{class:"text"},"Appearance",-1)),Vd=B({__name:"VPNavScreenAppearance",setup(e){const{site:t}=ie();return(n,s)=>_(t).appearance?(d(),m("div",Cd,[Sd,E(uo)])):j("",!0)}});const Ed=F(Vd,[["__scopeId","data-v-7bc19822"]]),Td={class:"list"},Ld=["href"],Md=B({__name:"VPNavScreenTranslations",setup(e){const{theme:t}=ie(),n=ge(!1);function s(){n.value=!n.value}return(o,r)=>_(t).localeLinks?(d(),m("div",{key:0,class:pe(["VPNavScreenTranslations",{open:n.value}])},[g("button",{class:"title",onClick:s},[E(Ei,{class:"icon lang"}),Oe(" "+se(_(t).localeLinks.text)+" ",1),E(Vi,{class:"icon chevron"})]),g("ul",Td,[(d(!0),m(G,null,ke(_(t).localeLinks.items,i=>(d(),m("li",{key:i.link,class:"item"},[g("a",{class:"link",href:i.link},se(i.text),9,Ld)]))),128))])],2)):j("",!0)}});const Id=F(Md,[["__scopeId","data-v-6bfcad30"]]),Ad=B({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=ie();return(n,s)=>_(t).socialLinks?(d(),X(fo,{key:0,class:"VPNavScreenSocialLinks",links:_(t).socialLinks},null,8,["links"])):j("",!0)}}),Nd={class:"container"},Od=B({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=ge(null);function n(){nd(t.value,{reserveScrollBarGap:!0})}function s(){sd()}return(o,r)=>(d(),X(rs,{name:"fade",onEnter:n,onAfterLeave:s},{default:N(()=>[e.open?(d(),m("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t},[g("div",Nd,[L(o.$slots,"nav-screen-content-before",{},void 0,!0),E(kd,{class:"menu"}),E(Id,{class:"translations"}),E(Ed,{class:"appearance"}),E(Ad,{class:"social-links"}),L(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):j("",!0)]),_:3}))}});const Fd=F(Od,[["__scopeId","data-v-5486b9d0"]]),Bd=B({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:s}=Na(),{hasSidebar:o}=Xe();return no("close-screen",n),(r,i)=>(d(),m("header",{class:pe(["VPNav",{"no-sidebar":!_(o)}])},[E(Yf,{"is-screen-open":_(t),onToggleScreen:_(s)},{"nav-bar-title-before":N(()=>[L(r.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":N(()=>[L(r.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":N(()=>[L(r.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":N(()=>[L(r.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),E(Fd,{open:_(t)},{"nav-screen-content-before":N(()=>[L(r.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":N(()=>[L(r.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])],2))}});const Hd=F(Bd,[["__scopeId","data-v-a71a30f1"]]),Rd={},Dd={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},zd=g("path",{d:"M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"},null,-1),Ud=g("path",{d:"M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"},null,-1),jd=g("path",{d:"M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"},null,-1),Kd=g("path",{d:"M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"},null,-1),Wd=[zd,Ud,jd,Kd];function qd(e,t){return d(),m("svg",Dd,Wd)}const Yd=F(Rd,[["render",qd]]),Gd=e=>(Ke("data-v-aac27d5e"),e=e(),We(),e),Jd={key:0,class:"VPLocalNav"},Qd=["aria-expanded"],Xd=Gd(()=>g("span",{class:"menu-text"},"Menu",-1)),Zd=B({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{hasSidebar:t}=Xe();function n(){window.scrollTo({top:0,left:0,behavior:"smooth"})}return(s,o)=>_(t)?(d(),m("div",Jd,[g("button",{class:"menu","aria-expanded":e.open,"aria-controls":"VPSidebarNav",onClick:o[0]||(o[0]=r=>s.$emit("open-menu"))},[E(Yd,{class:"menu-icon"}),Xd],8,Qd),g("a",{class:"top-link",href:"#",onClick:n}," Return to top ")])):j("",!0)}});const eh=F(Zd,[["__scopeId","data-v-aac27d5e"]]),th={},nh={version:"1.1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},sh=g("path",{d:"M19,2H5C3.3,2,2,3.3,2,5v14c0,1.7,1.3,3,3,3h14c1.7,0,3-1.3,3-3V5C22,3.3,20.7,2,19,2z M20,19c0,0.6-0.4,1-1,1H5c-0.6,0-1-0.4-1-1V5c0-0.6,0.4-1,1-1h14c0.6,0,1,0.4,1,1V19z"},null,-1),oh=g("path",{d:"M16,11h-3V8c0-0.6-0.4-1-1-1s-1,0.4-1,1v3H8c-0.6,0-1,0.4-1,1s0.4,1,1,1h3v3c0,0.6,0.4,1,1,1s1-0.4,1-1v-3h3c0.6,0,1-0.4,1-1S16.6,11,16,11z"},null,-1),rh=[sh,oh];function ih(e,t){return d(),m("svg",nh,rh)}const lh=F(th,[["render",ih]]),ch={},ah={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},uh=g("path",{d:"M19,2H5C3.3,2,2,3.3,2,5v14c0,1.7,1.3,3,3,3h14c1.7,0,3-1.3,3-3V5C22,3.3,20.7,2,19,2zM20,19c0,0.6-0.4,1-1,1H5c-0.6,0-1-0.4-1-1V5c0-0.6,0.4-1,1-1h14c0.6,0,1,0.4,1,1V19z"},null,-1),fh=g("path",{d:"M16,11H8c-0.6,0-1,0.4-1,1s0.4,1,1,1h8c0.6,0,1-0.4,1-1S16.6,11,16,11z"},null,-1),dh=[uh,fh];function hh(e,t){return d(),m("svg",ah,dh)}const _h=F(ch,[["render",hh]]),ph=B({__name:"VPSidebarLink",props:{item:null,depth:{default:1}},setup(e){const{page:t,frontmatter:n}=ie(),s=le(()=>n.value.sidebarDepth||1/0),o=ht("close-sidebar");return(r,i)=>{const l=yn("VPSidebarLink",!0);return d(),X(Yt,{class:pe(["link",{active:_(qt)(_(t).relativePath,e.item.link),offset:e.depth>1}]),href:e.item.link,onClick:_(o)},{default:N(()=>[g("span",{class:pe(["link-text",{light:e.depth>1}])},se(e.item.text),3),"items"in e.item&&e.depth<_(s)?(d(!0),m(G,{key:0},ke(e.item.items,c=>(d(),X(l,{key:c.link,item:c,depth:e.depth+1},null,8,["item","depth"]))),128)):j("",!0)]),_:1},8,["class","href","onClick"])}}});const vh=F(ph,[["__scopeId","data-v-f7e544fc"]]),mh=["role"],gh={class:"title-text"},bh={class:"action"},yh={class:"items"},xh=B({__name:"VPSidebarGroup",props:{text:null,items:null,collapsible:{type:Boolean},collapsed:{type:Boolean}},setup(e){const t=e,n=ge(!1);hn(()=>{n.value=!!(t.collapsible&&t.collapsed)});const{page:s}=ie();hn(()=>{t.items.some(r=>qt(s.value.relativePath,r.link))&&(n.value=!1)});function o(){t.collapsible&&(n.value=!n.value)}return(r,i)=>(d(),m("section",{class:pe(["VPSidebarGroup",{collapsible:e.collapsible,collapsed:n.value}])},[e.text?(d(),m("div",{key:0,class:"title",role:e.collapsible?"button":void 0,onClick:o},[g("h2",gh,se(e.text),1),g("div",bh,[E(_h,{class:"icon minus"}),E(lh,{class:"icon plus"})])],8,mh)):j("",!0),g("div",yh,[(d(!0),m(G,null,ke(e.items,l=>(d(),X(vh,{key:l.link,item:l},null,8,["item"]))),128))])],2))}});const wh=F(xh,[["__scopeId","data-v-2976c796"]]),$h=e=>(Ke("data-v-f332cb62"),e=e(),We(),e),kh={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Ph=$h(()=>g("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Ch=B({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const t=e,{sidebar:n,hasSidebar:s}=Xe();let o=ge(null);return jr(async()=>{var r;t.open&&(await Wt(),(r=o.value)==null||r.focus())}),(r,i)=>_(s)?(d(),m("aside",{key:0,class:pe(["VPSidebar",{open:e.open}]),ref_key:"navEl",ref:o,onClick:i[0]||(i[0]=na(()=>{},["stop"]))},[g("nav",kh,[Ph,(d(!0),m(G,null,ke(_(n),l=>(d(),m("div",{key:l.text,class:"group"},[E(wh,{text:l.text,items:l.items,collapsible:l.collapsible,collapsed:l.collapsed},null,8,["text","items","collapsible","collapsed"])]))),128))])],2)):j("",!0)}});const Sh=F(Ch,[["__scopeId","data-v-f332cb62"]]);function Vh(){const{page:e}=ie();Te&&Je(()=>e.value.relativePath,()=>{Wt(()=>{document.querySelectorAll('.vp-doc div[class*="language-"] > button.copy').forEach(Th)})},{immediate:!0,flush:"post"})}async function Eh(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),o=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),o&&(s.removeAllRanges(),s.addRange(o)),n&&n.focus()}}function Th(e){e.onclick=()=>{var r;const t=e.parentElement,n=(r=e.nextElementSibling)==null?void 0:r.nextElementSibling;if(!t||!n)return;const s=/language-(shellscript|shell|bash|sh|zsh)/.test(t.classList.toString());let{innerText:o=""}=n;s&&(o=o.replace(/^ *(\$|>) /gm,"")),Eh(o).then(()=>{e.classList.add("copied"),setTimeout(()=>{e.classList.remove("copied"),e.blur()},2e3)})}}const Lh={},Mh={class:"VPPage"};function Ih(e,t){const n=yn("Content");return d(),m("div",Mh,[E(n)])}const Ah=F(Lh,[["render",Ih]]),Nh=B({__name:"VPButton",props:{tag:null,size:null,theme:null,text:null,href:null},setup(e){const t=e,n=le(()=>{var r,i;return[(r=t.size)!=null?r:"medium",(i=t.theme)!=null?i:"brand"]}),s=le(()=>t.href&&is.test(t.href)),o=le(()=>t.tag?t.tag:t.href?"a":"button");return(r,i)=>(d(),X(oo(_(o)),{class:pe(["VPButton",_(n)]),href:e.href?_(zn)(e.href):void 0,target:_(s)?"_blank":void 0,rel:_(s)?"noreferrer":void 0},{default:N(()=>[Oe(se(e.text),1)]),_:1},8,["class","href","target","rel"]))}});const Oh=F(Nh,[["__scopeId","data-v-53dbb8eb"]]),Fh=e=>(Ke("data-v-923ba72e"),e=e(),We(),e),Bh={class:"container"},Hh={class:"main"},Rh={key:0,class:"name"},Dh={class:"clip"},zh={key:1,class:"text"},Uh={key:2,class:"tagline"},jh={key:3,class:"actions"},Kh={key:0,class:"image"},Wh={class:"image-container"},qh=Fh(()=>g("div",{class:"image-bg"},null,-1)),Yh=B({__name:"VPHero",props:{name:null,text:null,tagline:null,image:null,actions:null},setup(e){return(t,n)=>(d(),m("div",{class:pe(["VPHero",{"has-image":e.image}])},[g("div",Bh,[g("div",Hh,[e.name?(d(),m("h1",Rh,[g("span",Dh,se(e.name),1)])):j("",!0),e.text?(d(),m("p",zh,se(e.text),1)):j("",!0),e.tagline?(d(),m("p",Uh,se(e.tagline),1)):j("",!0),e.actions?(d(),m("div",jh,[(d(!0),m(G,null,ke(e.actions,s=>(d(),m("div",{key:s.link,class:"action"},[E(Oh,{tag:"a",size:"medium",theme:s.theme,text:s.text,href:s.link},null,8,["theme","text","href"])]))),128))])):j("",!0)]),e.image?(d(),m("div",Kh,[g("div",Wh,[qh,E(Pi,{class:"image-src",image:e.image},null,8,["image"])])])):j("",!0)])],2))}});const Gh=F(Yh,[["__scopeId","data-v-923ba72e"]]),Jh=B({__name:"VPHomeHero",setup(e){const{frontmatter:t}=ie();return(n,s)=>_(t).hero?(d(),X(Gh,{key:0,class:"VPHomeHero",name:_(t).hero.name,text:_(t).hero.text,tagline:_(t).hero.tagline,image:_(t).hero.image,actions:_(t).hero.actions},null,8,["name","text","tagline","image","actions"])):j("",!0)}}),Qh={class:"VPFeature"},Xh={key:0,class:"icon"},Zh={class:"title"},e_={class:"details"},t_=B({__name:"VPFeature",props:{icon:null,title:null,details:null},setup(e){return(t,n)=>(d(),m("article",Qh,[e.icon?(d(),m("div",Xh,se(e.icon),1)):j("",!0),g("h2",Zh,se(e.title),1),g("p",e_,se(e.details),1)]))}});const n_=F(t_,[["__scopeId","data-v-d99b2f77"]]),s_={key:0,class:"VPFeatures"},o_={class:"container"},r_={class:"items"},i_=B({__name:"VPFeatures",props:{features:null},setup(e){const t=e,n=le(()=>{const s=t.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s%2===0)return"grid-4"}else return});return(s,o)=>e.features?(d(),m("div",s_,[g("div",o_,[g("div",r_,[(d(!0),m(G,null,ke(e.features,r=>(d(),m("div",{key:r.title,class:pe(["item",[_(n)]])},[E(n_,{icon:r.icon,title:r.title,details:r.details},null,8,["icon","title","details"])],2))),128))])])])):j("",!0)}});const l_=F(i_,[["__scopeId","data-v-6a6451ec"]]),c_=B({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=ie();return(n,s)=>_(t).features?(d(),X(l_,{key:0,class:"VPHomeFeatures",features:_(t).features},null,8,["features"])):j("",!0)}}),a_={class:"VPHome"},u_=B({__name:"VPHome",setup(e){return(t,n)=>{const s=yn("Content");return d(),m("div",a_,[L(t.$slots,"home-hero-before",{},void 0,!0),E(Jh),L(t.$slots,"home-hero-after",{},void 0,!0),L(t.$slots,"home-features-before",{},void 0,!0),E(c_),L(t.$slots,"home-features-after",{},void 0,!0),E(s)])}}});const f_=F(u_,[["__scopeId","data-v-1db23833"]]);var ur;const xn=typeof window<"u";xn&&((ur=window==null?void 0:window.navigator)==null?void 0:ur.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function d_(e){return e}function h_(e){return Ji()?(Qi(e),!0):!1}function __(e,t=!0){ss()?Qr(e):t?e():Wt(e)}function p_(e,t=!0){ss()?qe(e):t?e():Wt(e)}const v_=xn?window:void 0;xn&&window.document;xn&&window.navigator;xn&&window.location;function m_(e,t=!1){const n=ge(),s=()=>n.value=Boolean(e());return s(),p_(s,t),n}function fr(e,t={}){const{window:n=v_}=t,s=m_(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const r=ge(!1),i=()=>{!s.value||(o||(o=n.matchMedia(e)),r.value=o.matches)};return __(()=>{i(),o&&("addEventListener"in o?o.addEventListener("change",i):o.addListener(i),h_(()=>{"removeEventListener"in o?o.removeEventListener("change",i):o.removeListener(i)}))}),r}const Bs=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Hs="__vueuse_ssr_handlers__";Bs[Hs]=Bs[Hs]||{};Bs[Hs];var dr;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(dr||(dr={}));var g_=Object.defineProperty,hr=Object.getOwnPropertySymbols,b_=Object.prototype.hasOwnProperty,y_=Object.prototype.propertyIsEnumerable,_r=(e,t,n)=>t in e?g_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,x_=(e,t)=>{for(var n in t||(t={}))b_.call(t,n)&&_r(e,n,t[n]);if(hr)for(var n of hr(t))y_.call(t,n)&&_r(e,n,t[n]);return e};const w_={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};x_({linear:d_},w_);function $_(){const{hasSidebar:e}=Xe(),t=fr("(min-width: 960px)"),n=fr("(min-width: 1280px)");return{isAsideEnabled:le(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const k_=56;function P_(){const{page:e}=ie();return{hasOutline:le(()=>e.value.headers.length>0)}}function C_(e){return Mi(S_(e))}function S_(e){e=e.map(n=>Object.assign({},n));let t;for(const n of e)n.level===2?t=n:t&&n.level<=3&&(t.children||(t.children=[])).push(n);return e.filter(n=>n.level===2)}function Mi(e){return e.map(t=>({text:t.title,link:`#${t.slug}`,children:t.children?Mi(t.children):void 0,hidden:t.hidden}))}function V_(e,t){const{isAsideEnabled:n}=$_(),s=Sa(r,100);let o=null;qe(()=>{requestAnimationFrame(r),window.addEventListener("scroll",s)}),Xr(()=>{i(location.hash)}),vt(()=>{window.removeEventListener("scroll",s)});function r(){if(!n.value)return;const l=[].slice.call(e.value.querySelectorAll(".outline-link")),c=[].slice.call(document.querySelectorAll(".content .header-anchor")).filter(P=>l.some(T=>T.hash===P.hash&&P.offsetParent!==null)),f=window.scrollY,h=window.innerHeight,v=document.body.offsetHeight,y=Math.abs(f+h-v)<1;if(c.length&&y){i(c[c.length-1].hash);return}for(let P=0;P(Ke("data-v-e03d48a8"),e=e(),We(),e),L_={class:"content"},M_={class:"outline-title"},I_={"aria-labelledby":"doc-outline-aria-label"},A_=T_(()=>g("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),N_={class:"root"},O_=["href"],F_={key:0},B_=["href"],H_=B({__name:"VPDocAsideOutline",setup(e){const{page:t,frontmatter:n,theme:s}=ie(),{hasOutline:o}=P_(),r=ge(),i=ge();V_(r,i);const l=le(()=>C_(t.value.headers));function c({target:f}){const h="#"+f.href.split("#")[1],v=document.querySelector(decodeURIComponent(h));v==null||v.focus()}return(f,h)=>(d(),m("div",{class:pe(["VPDocAsideOutline",{"has-outline":_(o)}]),ref_key:"container",ref:r},[g("div",L_,[g("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),g("div",M_,se(_(s).outlineTitle||"On this page"),1),g("nav",I_,[A_,g("ul",N_,[(d(!0),m(G,null,ke(_(l),({text:v,link:y,children:P,hidden:T})=>Lo((d(),m("li",null,[g("a",{class:"outline-link",href:y,onClick:c},se(v),9,O_),P&&_(n).outline==="deep"?(d(),m("ul",F_,[(d(!0),m(G,null,ke(P,({text:U,link:H,hidden:b})=>Lo((d(),m("li",null,[g("a",{class:"outline-link nested",href:H,onClick:c},se(U),9,B_)],512)),[[er,!b]])),256))])):j("",!0)],512)),[[er,!T]])),256))])])])],2))}});const R_=F(H_,[["__scopeId","data-v-e03d48a8"]]),D_={class:"VPDocAsideCarbonAds"},z_=B({__name:"VPDocAsideCarbonAds",setup(e){const t=Gr(()=>lo(()=>import("./chunks/ui-custom.20bb8fc5.js"),[]));return(n,s)=>(d(),m("div",D_,[E(_(t))]))}}),U_=e=>(Ke("data-v-aea49c31"),e=e(),We(),e),j_={class:"VPDocAside"},K_=U_(()=>g("div",{class:"spacer"},null,-1)),W_=B({__name:"VPDocAside",setup(e){const{page:t,theme:n}=ie();return(s,o)=>(d(),m("div",j_,[L(s.$slots,"aside-top",{},void 0,!0),L(s.$slots,"aside-outline-before",{},void 0,!0),_(t).headers.length?(d(),X(R_,{key:0})):j("",!0),L(s.$slots,"aside-outline-after",{},void 0,!0),K_,L(s.$slots,"aside-ads-before",{},void 0,!0),_(n).carbonAds?(d(),X(z_,{key:1})):j("",!0),L(s.$slots,"aside-ads-after",{},void 0,!0),L(s.$slots,"aside-bottom",{},void 0,!0)]))}});const q_=F(W_,[["__scopeId","data-v-aea49c31"]]);function Y_(){const{theme:e,page:t}=ie();return le(()=>{const{text:n="Edit this page",pattern:s}=e.value.editLink||{},{relativePath:o}=t.value;return{url:s.replace(/:path/g,o),text:n}})}function G_(){const{page:e,theme:t,frontmatter:n}=ie();return le(()=>{const s=ki(t.value.sidebar,e.value.relativePath),o=Va(s),r=o.findIndex(i=>qt(e.value.relativePath,i.link));return{prev:n.value.prev?{...o[r-1],text:n.value.prev}:o[r-1],next:n.value.next?{...o[r+1],text:n.value.next}:o[r+1]}})}const J_={},Q_={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},X_=g("path",{d:"M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"},null,-1),Z_=g("path",{d:"M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"},null,-1),e0=[X_,Z_];function t0(e,t){return d(),m("svg",Q_,e0)}const n0=F(J_,[["render",t0]]),s0={class:"VPLastUpdated"},o0=["datatime"],r0=B({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n}=ie(),s=le(()=>new Date(n.value.lastUpdated)),o=le(()=>s.value.toISOString()),r=ge("");return qe(()=>{hn(()=>{r.value=s.value.toLocaleString(window.navigator.language)})}),(i,l)=>{var c;return d(),m("p",s0,[Oe(se((c=_(t).lastUpdatedText)!=null?c:"Last updated")+": ",1),g("time",{datatime:_(o)},se(r.value),9,o0)])}}});const i0=F(r0,[["__scopeId","data-v-f7d51a9c"]]),l0={key:0,class:"VPDocFooter"},c0={key:0,class:"edit-info"},a0={key:0,class:"edit-link"},u0={key:1,class:"last-updated"},f0={key:1,class:"prev-next"},d0={class:"pager"},h0=["href"],_0={class:"desc"},p0={class:"title"},v0=["href"],m0={class:"desc"},g0={class:"title"},b0=B({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:s}=ie(),o=Y_(),r=G_(),i=le(()=>t.value.editLink&&s.value.editLink!==!1),l=le(()=>n.value.lastUpdated&&s.value.lastUpdated!==!1),c=le(()=>i.value||l.value||r.value.prev||r.value.next);return(f,h)=>{var v,y,P,T;return _(c)?(d(),m("footer",l0,[_(i)||_(l)?(d(),m("div",c0,[_(i)?(d(),m("div",a0,[E(Yt,{class:"edit-link-button",href:_(o).url,"no-icon":!0},{default:N(()=>[E(n0,{class:"edit-link-icon"}),Oe(" "+se(_(o).text),1)]),_:1},8,["href"])])):j("",!0),_(l)?(d(),m("div",u0,[E(i0)])):j("",!0)])):j("",!0),_(r).prev||_(r).next?(d(),m("div",f0,[g("div",d0,[_(r).prev?(d(),m("a",{key:0,class:"pager-link prev",href:_(zn)(_(r).prev.link)},[g("span",_0,se((y=(v=_(t).docFooter)==null?void 0:v.prev)!=null?y:"Previous page"),1),g("span",p0,se(_(r).prev.text),1)],8,h0)):j("",!0)]),g("div",{class:pe(["pager",{"has-prev":_(r).prev}])},[_(r).next?(d(),m("a",{key:0,class:"pager-link next",href:_(zn)(_(r).next.link)},[g("span",m0,se((T=(P=_(t).docFooter)==null?void 0:P.next)!=null?T:"Next page"),1),g("span",g0,se(_(r).next.text),1)],8,v0)):j("",!0)],2)])):j("",!0)])):j("",!0)}}});const y0=F(b0,[["__scopeId","data-v-a54a85bd"]]),x0=e=>(Ke("data-v-1e748e60"),e=e(),We(),e),w0={class:"container"},$0={key:0,class:"aside"},k0=x0(()=>g("div",{class:"aside-curtain"},null,-1)),P0={class:"aside-container"},C0={class:"aside-content"},S0={class:"content"},V0={class:"content-container"},E0={class:"main"},T0=B({__name:"VPDoc",setup(e){const t=mt(),{hasSidebar:n,hasAside:s}=Xe(),o=le(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(r,i)=>{const l=yn("Content");return d(),m("div",{class:pe(["VPDoc",{"has-sidebar":_(n),"has-aside":_(s)}])},[g("div",w0,[_(s)?(d(),m("div",$0,[k0,g("div",P0,[g("div",C0,[E(q_,null,{"aside-top":N(()=>[L(r.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":N(()=>[L(r.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":N(()=>[L(r.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":N(()=>[L(r.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":N(()=>[L(r.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":N(()=>[L(r.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])])):j("",!0),g("div",S0,[g("div",V0,[L(r.$slots,"doc-before",{},void 0,!0),g("main",E0,[E(l,{class:pe(["vp-doc",_(o)])},null,8,["class"])]),L(r.$slots,"doc-footer-before",{},void 0,!0),E(y0),L(r.$slots,"doc-after",{},void 0,!0)])])])],2)}}});const L0=F(T0,[["__scopeId","data-v-1e748e60"]]),M0=B({__name:"VPContent",setup(e){const t=mt(),{frontmatter:n}=ie(),{hasSidebar:s}=Xe(),o=Vt.NotFound||(()=>"404 Not Found");return Vh(),(r,i)=>(d(),m("div",{class:pe(["VPContent",{"has-sidebar":_(s),"is-home":_(n).layout==="home"}]),id:"VPContent"},[_(t).component===_(o)?(d(),X(_(o),{key:0})):_(n).layout==="page"?(d(),X(Ah,{key:1})):_(n).layout==="home"?(d(),X(f_,{key:2},{"home-hero-before":N(()=>[L(r.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-after":N(()=>[L(r.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":N(()=>[L(r.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":N(()=>[L(r.$slots,"home-features-after",{},void 0,!0)]),_:3})):(d(),X(L0,{key:3},{"doc-footer-before":N(()=>[L(r.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":N(()=>[L(r.$slots,"doc-before",{},void 0,!0)]),"doc-after":N(()=>[L(r.$slots,"doc-after",{},void 0,!0)]),"aside-top":N(()=>[L(r.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":N(()=>[L(r.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":N(()=>[L(r.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":N(()=>[L(r.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":N(()=>[L(r.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":N(()=>[L(r.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}});const I0=F(M0,[["__scopeId","data-v-8af69dc9"]]),A0={class:"container"},N0=["innerHTML"],O0=["innerHTML"],F0=B({__name:"VPFooter",setup(e){const{theme:t}=ie(),{hasSidebar:n}=Xe();return(s,o)=>_(t).footer?(d(),m("footer",{key:0,class:pe(["VPFooter",{"has-sidebar":_(n)}])},[g("div",A0,[g("p",{class:"message",innerHTML:_(t).footer.message},null,8,N0),g("p",{class:"copyright",innerHTML:_(t).footer.copyright},null,8,O0)])],2)):j("",!0)}});const B0=F(F0,[["__scopeId","data-v-1d436145"]]),H0={class:"Layout"},R0=B({__name:"Layout",setup(e){const{isOpen:t,open:n,close:s}=Xe(),o=mt();return Je(()=>o.path,s),Ea(t,s),no("close-sidebar",s),(r,i)=>(d(),m("div",H0,[L(r.$slots,"layout-top",{},void 0,!0),E(La),E(Aa,{class:"backdrop",show:_(t),onClick:_(s)},null,8,["show","onClick"]),E(Hd,null,{"nav-bar-title-before":N(()=>[L(r.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":N(()=>[L(r.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":N(()=>[L(r.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":N(()=>[L(r.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":N(()=>[L(r.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":N(()=>[L(r.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),E(eh,{open:_(t),onOpenMenu:_(n)},null,8,["open","onOpenMenu"]),E(Sh,{open:_(t)},null,8,["open"]),E(I0,null,{"home-hero-before":N(()=>[L(r.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-after":N(()=>[L(r.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":N(()=>[L(r.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":N(()=>[L(r.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":N(()=>[L(r.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":N(()=>[L(r.$slots,"doc-before",{},void 0,!0)]),"doc-after":N(()=>[L(r.$slots,"doc-after",{},void 0,!0)]),"aside-top":N(()=>[L(r.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":N(()=>[L(r.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":N(()=>[L(r.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":N(()=>[L(r.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":N(()=>[L(r.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":N(()=>[L(r.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),E(B0),L(r.$slots,"layout-bottom",{},void 0,!0)]))}});const D0=F(R0,[["__scopeId","data-v-ca9ccb7e"]]),cs=e=>(Ke("data-v-95656537"),e=e(),We(),e),z0={class:"NotFound"},U0=cs(()=>g("p",{class:"code"},"404",-1)),j0=cs(()=>g("h1",{class:"title"},"PAGE NOT FOUND",-1)),K0=cs(()=>g("div",{class:"divider"},null,-1)),W0=cs(()=>g("blockquote",{class:"quote"}," But if you don't change your direction, and if you keep looking, you may end up where you are heading. ",-1)),q0={class:"action"},Y0=["href"],G0=B({__name:"NotFound",setup(e){const{site:t}=ie();return(n,s)=>(d(),m("div",z0,[U0,j0,K0,W0,g("div",q0,[g("a",{class:"link",href:_(t).base,"aria-label":"go to home"}," Take me home ",8,Y0)])]))}});const J0=F(G0,[["__scopeId","data-v-95656537"]]);const Vt={Layout:D0,NotFound:J0};function Q0(e,t){let n=[],s=!0;const o=r=>{if(s){s=!1;return}n.forEach(i=>document.head.removeChild(i)),n=[],r.forEach(i=>{const l=X0(i);document.head.appendChild(l),n.push(l)})};hn(()=>{const r=e.data,i=t.value,l=r&&r.description,c=r&&r.frontmatter.head||[];document.title=bi(i,r),document.querySelector("meta[name=description]").setAttribute("content",l||i.description),o(va(i.head,e1(c)))})}function X0([e,t,n]){const s=document.createElement(e);for(const o in t)s.setAttribute(o,t[o]);return n&&(s.innerHTML=n),s}function Z0(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function e1(e){return e.filter(t=>!Z0(t))}const xs=new Set,Ii=()=>document.createElement("link"),t1=e=>{const t=Ii();t.rel="prefetch",t.href=e,document.head.appendChild(t)},n1=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let Tn;const s1=Te&&(Tn=Ii())&&Tn.relList&&Tn.relList.supports&&Tn.relList.supports("prefetch")?t1:n1;function o1(){if(!Te||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(r=>{r.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!xs.has(c)){xs.add(c);const f=yi(c);s1(f)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(r=>{const{target:i,hostname:l,pathname:c}=r,f=c.match(/\.\w+$/);f&&f[0]!==".html"||i!=="_blank"&&l===location.hostname&&(c!==location.pathname?n.observe(r):xs.add(c))})})};qe(s);const o=mt();Je(()=>o.path,s),vt(()=>{n&&n.disconnect()})}const r1=B({setup(e,{slots:t}){const n=ge(!1);return qe(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}}),i1=Vt.NotFound||(()=>"404 Not Found"),l1=B({name:"VitePressApp",setup(){const{site:e}=ie();return qe(()=>{Je(()=>e.value.lang,t=>{document.documentElement.lang=t},{immediate:!0})}),o1(),Vt.setup&&Vt.setup(),()=>Dn(Vt.Layout)}});function c1(){const e=u1(),t=a1();t.provide(wi,e);const n=ga(e.route);return t.provide(xi,n),t.component("Content",wa),t.component("ClientOnly",r1),Object.defineProperty(t.config.globalProperties,"$frontmatter",{get(){return n.frontmatter.value}}),Vt.enhanceApp&&Vt.enhanceApp({app:t,router:e,siteData:zt}),{app:t,router:e,data:n}}function a1(){return ra(l1)}function u1(){let e=Te,t;return ya(n=>{let s=yi(n);return e&&(t=s),(e||t===s)&&(s=s.replace(/\.js$/,".lean.js")),Te&&(e=!1),lo(()=>import(s),[])},i1)}if(Te){const{app:e,router:t,data:n}=c1();t.go().then(()=>{Q0(t.route,n.site),e.mount("#app")})}export{F as _,gc as a,g as b,m as c,c1 as createApp,Oe as d,B as e,mt as f,ie as g,qe as h,$_ as i,d as o,ge as r,xa as u,Je as w}; diff --git a/assets/chunks/VPAlgoliaSearchBox.d1653a4e.js b/assets/chunks/VPAlgoliaSearchBox.880a969d.js similarity index 99% rename from assets/chunks/VPAlgoliaSearchBox.d1653a4e.js rename to assets/chunks/VPAlgoliaSearchBox.880a969d.js index 5e655bb..73d8fc1 100644 --- a/assets/chunks/VPAlgoliaSearchBox.d1653a4e.js +++ b/assets/chunks/VPAlgoliaSearchBox.880a969d.js @@ -1,4 +1,4 @@ -import{e as jr,u as Pr,f as Ir,g as kr,h as Dr,o as Cr,c as Ar}from"../app.2b769fcb.js";/*! @docsearch/js 3.2.1 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */function Ct(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function P(e){for(var t=1;t=0||(c[l]=i[l]);return c}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ve(e,t){return function(n){if(Array.isArray(n))return n}(e)||function(n,r){var o=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(o!=null){var a,i,u=[],l=!0,s=!1;try{for(o=o.call(n);!(l=(a=o.next()).done)&&(u.push(a.value),!r||u.length!==r);l=!0);}catch(c){s=!0,i=c}finally{try{l||o.return==null||o.return()}finally{if(s)throw i}}return u}}(e,t)||qn(e,t)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +import{e as jr,u as Pr,f as Ir,g as kr,h as Dr,o as Cr,c as Ar}from"../app.1a98d107.js";/*! @docsearch/js 3.2.1 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */function Ct(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function P(e){for(var t=1;t=0||(c[l]=i[l]);return c}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ve(e,t){return function(n){if(Array.isArray(n))return n}(e)||function(n,r){var o=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(o!=null){var a,i,u=[],l=!0,s=!1;try{for(o=o.call(n);!(l=(a=o.next()).done)&&(u.push(a.value),!r||u.length!==r);l=!0);}catch(c){s=!0,i=c}finally{try{l||o.return==null||o.return()}finally{if(s)throw i}}return u}}(e,t)||qn(e,t)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function ze(e){return function(t){if(Array.isArray(t))return ft(t)}(e)||function(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}(e)||qn(e)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function qn(e,t){if(e){if(typeof e=="string")return ft(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ft(e,t):void 0}}function ft(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n3)for(n=[n],a=3;a0?Se(m.type,m.props,m.key,null,m.__v):m)!=null){if(m.__=n,m.__b=n.__b+1,(d=v[c])===null||d&&m.key==d.key&&m.type===d.type)v[c]=void 0;else for(p=0;p3)for(n=[n],a=3;a=n.__.length&&n.__.push({}),n.__[e]}function Qn(e){return ue=1,Yn(Zn,e)}function Yn(e,t,n){var r=ke(le++,2);return r.t=e,r.__c||(r.__=[n?n(t):Zn(void 0,t),function(o){var a=r.t(r.__[0],o);r.__[0]!==a&&(r.__=[a,r.__[1]],r.__c.setState({}))}],r.__c=T),r.__}function Gn(e,t){var n=ke(le++,3);!w.__s&&jt(n.__H,t)&&(n.__=e,n.__H=t,T.__H.__h.push(n))}function Ft(e,t){var n=ke(le++,4);!w.__s&&jt(n.__H,t)&&(n.__=e,n.__H=t,T.__h.push(n))}function rt(e,t){var n=ke(le++,7);return jt(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function Mr(){mt.forEach(function(e){if(e.__P)try{e.__H.__h.forEach(He),e.__H.__h.forEach(dt),e.__H.__h=[]}catch(t){e.__H.__h=[],w.__e(t,e.__v)}}),mt=[]}w.__b=function(e){T=null,Lt&&Lt(e)},w.__r=function(e){qt&&qt(e),le=0;var t=(T=e.__c).__H;t&&(t.__h.forEach(He),t.__h.forEach(dt),t.__h=[])},w.diffed=function(e){Mt&&Mt(e);var t=e.__c;t&&t.__H&&t.__H.__h.length&&(mt.push(t)!==1&&Tt===w.requestAnimationFrame||((Tt=w.requestAnimationFrame)||function(n){var r,o=function(){clearTimeout(a),Bt&&cancelAnimationFrame(r),setTimeout(n)},a=setTimeout(o,100);Bt&&(r=requestAnimationFrame(o))})(Mr)),T=void 0},w.__c=function(e,t){t.some(function(n){try{n.__h.forEach(He),n.__h=n.__h.filter(function(r){return!r.__||dt(r)})}catch(r){t.some(function(o){o.__h&&(o.__h=[])}),t=[],w.__e(r,n.__v)}}),Ht&&Ht(e,t)},w.unmount=function(e){Ut&&Ut(e);var t=e.__c;if(t&&t.__H)try{t.__H.__.forEach(He)}catch(n){w.__e(n,t.__v)}};var Bt=typeof requestAnimationFrame=="function";function He(e){var t=T;typeof e.__c=="function"&&e.__c(),T=t}function dt(e){var t=T;e.__c=e.__(),T=t}function jt(e,t){return!e||e.length!==t.length||t.some(function(n,r){return n!==e[r]})}function Zn(e,t){return typeof t=="function"?t(e):t}function Xn(e,t){for(var n in t)e[n]=t[n];return e}function ht(e,t){for(var n in e)if(n!=="__source"&&!(n in t))return!0;for(var r in t)if(r!=="__source"&&e[r]!==t[r])return!0;return!1}function vt(e){this.props=e}(vt.prototype=new z).isPureReactComponent=!0,vt.prototype.shouldComponentUpdate=function(e,t){return ht(this.props,e)||ht(this.state,t)};var Vt=w.__b;w.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Vt&&Vt(e)};var Hr=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.forward_ref")||3911,zt=function(e,t){return e==null?null:J(J(e).map(t))},Ur={map:zt,forEach:zt,count:function(e){return e?J(e).length:0},only:function(e){var t=J(e);if(t.length!==1)throw"Children.only";return t[0]},toArray:J},Fr=w.__e;function Ue(){this.__u=0,this.t=null,this.__b=null}function er(e){var t=e.__.__c;return t&&t.__e&&t.__e(e)}function ge(){this.u=null,this.o=null}w.__e=function(e,t,n){if(e.then){for(var r,o=t;o=o.__;)if((r=o.__c)&&r.__c)return t.__e==null&&(t.__e=n.__e,t.__k=n.__k),r.__c(e,t)}Fr(e,t,n)},(Ue.prototype=new z).__c=function(e,t){var n=t.__c,r=this;r.t==null&&(r.t=[]),r.t.push(n);var o=er(r.__v),a=!1,i=function(){a||(a=!0,n.componentWillUnmount=n.__c,o?o(u):u())};n.__c=n.componentWillUnmount,n.componentWillUnmount=function(){i(),n.__c&&n.__c()};var u=function(){if(!--r.__u){if(r.state.__e){var s=r.state.__e;r.__v.__k[0]=function p(d,m,_){return d&&(d.__v=null,d.__k=d.__k&&d.__k.map(function(h){return p(h,m,_)}),d.__c&&d.__c.__P===m&&(d.__e&&_.insertBefore(d.__e,d.__d),d.__c.__e=!0,d.__c.__P=_)),d}(s,s.__c.__P,s.__c.__O)}var c;for(r.setState({__e:r.__b=null});c=r.t.pop();)c.forceUpdate()}},l=t.__h===!0;r.__u++||l||r.setState({__e:r.__b=r.__v.__k[0]}),e.then(i,i)},Ue.prototype.componentWillUnmount=function(){this.t=[]},Ue.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=function a(i,u,l){return i&&(i.__c&&i.__c.__H&&(i.__c.__H.__.forEach(function(s){typeof s.__c=="function"&&s.__c()}),i.__c.__H=null),(i=Xn({},i)).__c!=null&&(i.__c.__P===l&&(i.__c.__P=u),i.__c=null),i.__k=i.__k&&i.__k.map(function(s){return a(s,u,l)})),i}(this.__b,n,r.__O=r.__P)}this.__b=null}var o=t.__e&&V(Y,null,e.fallback);return o&&(o.__h=null),[V(Y,null,t.__e?null:e.children),o]};var Kt=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!=="t"||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]>>1,1),t.i.removeChild(r)}}),Pe(V(Br,{context:t.context},e.__v),t.l)):t.l&&t.componentWillUnmount()}function tr(e,t){return V(Vr,{__v:e,i:t})}(ge.prototype=new z).__e=function(e){var t=this,n=er(t.__v),r=t.o.get(e);return r[0]++,function(o){var a=function(){t.props.revealOrder?(r.push(o),Kt(t,e,r)):o()};n?n(a):a()}},ge.prototype.render=function(e){this.u=null,this.o=new Map;var t=J(e.children);e.revealOrder&&e.revealOrder[0]==="b"&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},ge.prototype.componentDidUpdate=ge.prototype.componentDidMount=function(){var e=this;this.o.forEach(function(t,n){Kt(e,n,t)})};var nr=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,zr=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Kr=function(e){return(typeof Symbol<"u"&&Ee(Symbol())=="symbol"?/fil|che|rad/i:/fil|che|ra/i).test(e)};function rr(e,t,n){return t.__k==null&&(t.textContent=""),Pe(e,t),typeof n=="function"&&n(),e?e.__c:null}z.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(z.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var Wt=w.event;function Wr(){}function Jr(){return this.cancelBubble}function $r(){return this.defaultPrevented}w.event=function(e){return Wt&&(e=Wt(e)),e.persist=Wr,e.isPropagationStopped=Jr,e.isDefaultPrevented=$r,e.nativeEvent=e};var or,Jt={configurable:!0,get:function(){return this.class}},$t=w.vnode;w.vnode=function(e){var t=e.type,n=e.props,r=n;if(typeof t=="string"){for(var o in r={},n){var a=n[o];o==="value"&&"defaultValue"in n&&a==null||(o==="defaultValue"&&"value"in n&&n.value==null?o="value":o==="download"&&a===!0?a="":/ondoubleclick/i.test(o)?o="ondblclick":/^onchange(textarea|input)/i.test(o+t)&&!Kr(n.type)?o="oninput":/^on(Ani|Tra|Tou|BeforeInp)/.test(o)?o=o.toLowerCase():zr.test(o)?o=o.replace(/[A-Z0-9]/,"-$&").toLowerCase():a===null&&(a=void 0),r[o]=a)}t=="select"&&r.multiple&&Array.isArray(r.value)&&(r.value=J(n.children).forEach(function(i){i.props.selected=r.value.indexOf(i.props.value)!=-1})),t=="select"&&r.defaultValue!=null&&(r.value=J(n.children).forEach(function(i){i.props.selected=r.multiple?r.defaultValue.indexOf(i.props.value)!=-1:r.defaultValue==i.props.value})),e.props=r}t&&n.class!=n.className&&(Jt.enumerable="className"in n,n.className!=null&&(r.class=n.className),Object.defineProperty(r,"className",Jt)),e.$$typeof=nr,$t&&$t(e)};var Qt=w.__r;w.__r=function(e){Qt&&Qt(e),or=e.__c};var Qr={ReactCurrentDispatcher:{current:{readContext:function(e){return or.__n[e.__c].props.value}}}};(typeof performance>"u"?"undefined":Ee(performance))=="object"&&typeof performance.now=="function"&&performance.now.bind(performance);function Yt(e){return!!e&&e.$$typeof===nr}var f={useState:Qn,useReducer:Yn,useEffect:Gn,useLayoutEffect:Ft,useRef:function(e){return ue=5,rt(function(){return{current:e}},[])},useImperativeHandle:function(e,t,n){ue=6,Ft(function(){typeof e=="function"?e(t()):e&&(e.current=t())},n==null?n:n.concat(e))},useMemo:rt,useCallback:function(e,t){return ue=8,rt(function(){return e},t)},useContext:function(e){var t=T.context[e.__c],n=ke(le++,9);return n.__c=e,t?(n.__==null&&(n.__=!0,t.sub(T)),t.props.value):e.__},useDebugValue:function(e,t){w.useDebugValue&&w.useDebugValue(t?t(e):e)},version:"16.8.0",Children:Ur,render:rr,hydrate:function(e,t,n){return $n(e,t),typeof n=="function"&&n(),e?e.__c:null},unmountComponentAtNode:function(e){return!!e.__k&&(Pe(null,e),!0)},createPortal:tr,createElement:V,createContext:function(e,t){var n={__c:t="__cC"+Hn++,__:e,Consumer:function(r,o){return r.children(o)},Provider:function(r){var o,a;return this.getChildContext||(o=[],(a={})[t]=this,this.getChildContext=function(){return a},this.shouldComponentUpdate=function(i){this.props.value!==i.value&&o.some(pt)},this.sub=function(i){o.push(i);var u=i.componentWillUnmount;i.componentWillUnmount=function(){o.splice(o.indexOf(i),1),u&&u.call(i)}}),r.children}};return n.Provider.__=n.Consumer.contextType=n},createFactory:function(e){return V.bind(null,e)},cloneElement:function(e){return Yt(e)?qr.apply(null,arguments):e},createRef:function(){return{current:null}},Fragment:Y,isValidElement:Yt,findDOMNode:function(e){return e&&(e.base||e.nodeType===1&&e)||null},Component:z,PureComponent:vt,memo:function(e,t){function n(o){var a=this.props.ref,i=a==o.ref;return!i&&a&&(a.call?a(null):a.current=null),t?!t(this.props,o)||!i:ht(this.props,o)}function r(o){return this.shouldComponentUpdate=n,V(e,o)}return r.displayName="Memo("+(e.displayName||e.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r},forwardRef:function(e){function t(n,r){var o=Xn({},n);return delete o.ref,e(o,(r=n.ref||r)&&(Ee(r)!="object"||"current"in r)?r:null)}return t.$$typeof=Hr,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t},unstable_batchedUpdates:function(e,t){return e(t)},StrictMode:Y,Suspense:Ue,SuspenseList:ge,lazy:function(e){var t,n,r;function o(a){if(t||(t=e()).then(function(i){n=i.default||i},function(i){r=i}),r)throw r;if(!n)throw t;return V(n,a)}return o.displayName="Lazy",o.__f=!0,o},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Qr};function Yr(){return f.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},f.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}function ar(){return f.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20"},f.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}var Gr=["translations"];function yt(){return yt=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(c[l]=i[l]);return c}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var eo=f.forwardRef(function(e,t){var n=e.translations,r=n===void 0?{}:n,o=Xr(e,Gr),a=r.buttonText,i=a===void 0?"Search":a,u=r.buttonAriaLabel,l=u===void 0?"Search":u,s=Zr(Qn(null),2),c=s[0],p=s[1];return Gn(function(){typeof navigator<"u"&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?p("\u2318"):p("Ctrl"))},[]),f.createElement("button",yt({type:"button",className:"DocSearch DocSearch-Button","aria-label":l},o,{ref:t}),f.createElement("span",{className:"DocSearch-Button-Container"},f.createElement(ar,null),f.createElement("span",{className:"DocSearch-Button-Placeholder"},i)),f.createElement("span",{className:"DocSearch-Button-Keys"},c!==null&&f.createElement(f.Fragment,null,f.createElement("kbd",{className:"DocSearch-Button-Key"},c==="Ctrl"?f.createElement(Yr,null):c),f.createElement("kbd",{className:"DocSearch-Button-Key"},"K"))))});function Ie(e){return e.reduce(function(t,n){return t.concat(n)},[])}var to=0;function _t(e){return e.collections.length===0?0:e.collections.reduce(function(t,n){return t+n.items.length},0)}var ir=function(){},no=[{segment:"autocomplete-core",version:"1.7.1"}];function Fe(e,t){var n=t;return{then:function(r,o){return Fe(e.then(xe(r,n,e),xe(o,n,e)),n)},catch:function(r){return Fe(e.catch(xe(r,n,e)),n)},finally:function(r){return r&&n.onCancelList.push(r),Fe(e.finally(xe(r&&function(){return n.onCancelList=[],r()},n,e)),n)},cancel:function(){n.isCanceled=!0;var r=n.onCancelList;n.onCancelList=[],r.forEach(function(o){o()})},isCanceled:function(){return n.isCanceled===!0}}}function Zt(e){return Fe(e,{isCanceled:!1,onCancelList:[]})}function xe(e,t,n){return e?function(r){return t.isCanceled?r:e(r)}:n}function Xt(e,t,n,r){if(!n)return null;if(e<0&&(t===null||r!==null&&t===0))return n+e;var o=(t===null?-1:t)+e;return o<=-1||o>=n?r===null?null:0:o}function en(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function ro(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function oo(e,t){var n=[];return Promise.resolve(e(t)).then(function(r){return Promise.all(r.filter(function(o){return Boolean(o)}).map(function(o){if(o.sourceId,n.includes(o.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(o.sourceId)," is not unique."));n.push(o.sourceId);var a=function(i){for(var u=1;u{s.value?c():u(s,e=>e&&c())}),(e,b)=>(p(),f("div",{class:"VPCarbonAds",ref_key:"container",ref:a},null,512))}});export{h as default}; +import{e as r,g as i,i as d,r as l,h as _,w as u,o as p,c as f}from"../app.1a98d107.js";const h=r({__name:"VPCarbonAds",setup(m){const{theme:o}=i(),n=o.value.carbonAds,{isAsideEnabled:s}=d(),a=l();let t=!1;function c(){if(!t){t=!0;const e=document.createElement("script");e.id="_carbonads_js",e.src=`//cdn.carbonads.com/carbon.js?serve=${n.code}&placement=${n.placement}`,e.async=!0,a.value.appendChild(e)}}return n&&_(()=>{s.value?c():u(s,e=>e&&c())}),(e,b)=>(p(),f("div",{class:"VPCarbonAds",ref_key:"container",ref:a},null,512))}});export{h as default}; diff --git a/assets/guide_edit.md.e5ba72e3.js b/assets/guide_edit.md.cbc1bb6f.js similarity index 94% rename from assets/guide_edit.md.e5ba72e3.js rename to assets/guide_edit.md.cbc1bb6f.js index bd763d3..fa8fe62 100644 --- a/assets/guide_edit.md.e5ba72e3.js +++ b/assets/guide_edit.md.cbc1bb6f.js @@ -1,4 +1,4 @@ -import{_ as s,c as n,o as a,a as e}from"./app.2b769fcb.js";const u=JSON.parse('{"title":"\u53C2\u4E0E\u7F16\u8F91","description":"","frontmatter":{},"headers":[],"relativePath":"guide/edit.md","lastUpdated":1661153879000}'),p={name:"guide/edit.md"},l=e(`

\u53C2\u4E0E\u7F16\u8F91

\u6B22\u8FCE\u5404\u4F4D\u6709\u610F\u613F\u53C2\u4E0E\u5230\u5F00\u6E90\u5F53\u4E2D\u7684\u670B\u53CB\u52A0\u5165\u6587\u6863\u7684\u7F16\u5199\uFF0C\u4E66\u5199\u6587\u6863\u4E0D\u4EC5\u662F\u6559\u4F1A\u522B\u4EBA\u77E5\u8BC6\uFF0C\u66F4\u662F\u7528\u81EA\u5DF1\u7684\u8868\u8FBE\u65B9\u5F0F\u6982\u62EC\u81EA\u5DF1\u6240\u5B66\u4E60\u7684\u77E5\u8BC6\uFF0C\u8FD9\u5BF9\u4E2A\u4EBA\u6765\u8BF4\u662F\u4E00\u79CD\u4E0D\u591A\u7684\u6210\u957F\u673A\u4F1A

js

+import{_ as s,c as n,o as a,a as e}from"./app.1a98d107.js";const u=JSON.parse('{"title":"\u53C2\u4E0E\u7F16\u8F91","description":"","frontmatter":{},"headers":[],"relativePath":"guide/edit.md","lastUpdated":1661164664000}'),p={name:"guide/edit.md"},l=e(`

\u53C2\u4E0E\u7F16\u8F91

\u6B22\u8FCE\u5404\u4F4D\u6709\u610F\u613F\u53C2\u4E0E\u5230\u5F00\u6E90\u5F53\u4E2D\u7684\u670B\u53CB\u52A0\u5165\u6587\u6863\u7684\u7F16\u5199\uFF0C\u4E66\u5199\u6587\u6863\u4E0D\u4EC5\u662F\u6559\u4F1A\u522B\u4EBA\u77E5\u8BC6\uFF0C\u66F4\u662F\u7528\u81EA\u5DF1\u7684\u8868\u8FBE\u65B9\u5F0F\u6982\u62EC\u81EA\u5DF1\u6240\u5B66\u4E60\u7684\u77E5\u8BC6\uFF0C\u8FD9\u5BF9\u4E2A\u4EBA\u6765\u8BF4\u662F\u4E00\u79CD\u4E0D\u591A\u7684\u6210\u957F\u673A\u4F1A

js

 // \u62C9\u53D6\u9879\u76EE
 git clone https://github.com/sunniejs/vue-h5-template
 
diff --git a/assets/guide_edit.md.e5ba72e3.lean.js b/assets/guide_edit.md.cbc1bb6f.lean.js
similarity index 66%
rename from assets/guide_edit.md.e5ba72e3.lean.js
rename to assets/guide_edit.md.cbc1bb6f.lean.js
index fb5703e..6c07ea4 100644
--- a/assets/guide_edit.md.e5ba72e3.lean.js
+++ b/assets/guide_edit.md.cbc1bb6f.lean.js
@@ -1 +1 @@
-import{_ as s,c as n,o as a,a as e}from"./app.2b769fcb.js";const u=JSON.parse('{"title":"\u53C2\u4E0E\u7F16\u8F91","description":"","frontmatter":{},"headers":[],"relativePath":"guide/edit.md","lastUpdated":1661153879000}'),p={name:"guide/edit.md"},l=e("",3),t=[l];function o(c,r,i,d,_,y){return a(),n("div",null,t)}const A=s(p,[["render",o]]);export{u as __pageData,A as default};
+import{_ as s,c as n,o as a,a as e}from"./app.1a98d107.js";const u=JSON.parse('{"title":"\u53C2\u4E0E\u7F16\u8F91","description":"","frontmatter":{},"headers":[],"relativePath":"guide/edit.md","lastUpdated":1661164664000}'),p={name:"guide/edit.md"},l=e("",3),t=[l];function o(c,r,i,d,_,y){return a(),n("div",null,t)}const A=s(p,[["render",o]]);export{u as __pageData,A as default};
diff --git a/assets/guide_index.md.9ccf5801.js b/assets/guide_index.md.238c0c40.js
similarity index 95%
rename from assets/guide_index.md.9ccf5801.js
rename to assets/guide_index.md.238c0c40.js
index 2bc1595..9ad80e6 100644
--- a/assets/guide_index.md.9ccf5801.js
+++ b/assets/guide_index.md.238c0c40.js
@@ -1 +1 @@
-import{_ as e,c as t,o as a,a as i}from"./app.2b769fcb.js";const v=JSON.parse('{"title":"Vue-H5-Template","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u7279\u70B9","slug":"\u7279\u70B9"},{"level":3,"title":"\u6700\u65B0\u6280\u672F\u6808","slug":"\u6700\u65B0\u6280\u672F\u6808"},{"level":3,"title":"\u57FA\u4E8E TypeScript","slug":"\u57FA\u4E8E-typescript"},{"level":3,"title":"\u8F7B\u91CF\u7EA7","slug":"\u8F7B\u91CF\u7EA7"},{"level":3,"title":"\u901A\u4FD7\u6613\u61C2\u7684\u6587\u6863","slug":"\u901A\u4FD7\u6613\u61C2\u7684\u6587\u6863"}],"relativePath":"guide/index.md","lastUpdated":1661153879000}'),r={name:"guide/index.md"},l=i('

Vue-H5-Template

Vue-H5-Template\uFF0C\u662F\u57FA\u4E8E vite + vue3 + pinia + ( Vant or Varlet or NutUI ) + viewport \u9002\u914D\u65B9\u6848 \uFF0C\u6784\u5EFA\u79FB\u52A8\u7AEF\u5F00\u53D1\u811A\u624B\u67B6

\u7279\u70B9

\u6700\u65B0\u6280\u672F\u6808

  • \u6846\u67B6\u9009\u578B\u57FA\u4E8E\u5F53\u4E0B\u6D41\u884C\u7684 vue + vite + ts \u6A21\u5F0F\uFF0C\u7CBE\u9009\u793E\u533A\u7ECF\u5178\u7684 ui \u6846\u67B6\u548C vite \u63D2\u4EF6

\u57FA\u4E8E TypeScript

  • typescript \u8D8A\u6765\u8D8A\u88AB\u5927\u578B\u7684 js \u9879\u76EE\u6240\u9700\u8981\uFF0C\u660E\u786E\u7684\u7C7B\u578B\u5B9A\u4E49\u53EF\u4EE5\u7701\u4E0B\u4E0D\u5C11\u7684\u7EF4\u62A4\u6210\u672C

\u8F7B\u91CF\u7EA7

  • \u4E0D\u540C\u4E8E\u96C6\u6210\u89E3\u51B3\u65B9\u6848\uFF0C\u5C3D\u91CF\u505A\u5230\u8F7B\u91CF\u4E0D\u5197\u6742\uFF0C\u53EA\u5F15\u5165\u9AD8\u9891\u6B21\u3001\u9700\u6C42\u9AD8\u7684\u63D2\u4EF6\u548C\u6E05\u6670\u7684\u793A\u4F8B
  • \u8F7B\u88C5\u4E0A\u9635\uFF0C\u4FBF\u4E8E\u62D3\u5C55\u5F00\u53D1

\u901A\u4FD7\u6613\u61C2\u7684\u6587\u6863

  • \u57FA\u4E8E\u6700\u65B0 VitePress \u6784\u5EFA\u7684\u6587\u6863\uFF0C\u66F4\u5FEB\uFF0C\u66F4\u4FBF\u6377
  • \u66F4\u5FEB\u7684\u70ED\u66F4\u65B0
',11),s=[l];function d(h,n,c,u,p,o){return a(),t("div",null,s)}const f=e(r,[["render",d]]);export{v as __pageData,f as default}; +import{_ as e,c as t,o as a,a as i}from"./app.1a98d107.js";const v=JSON.parse('{"title":"Vue-H5-Template","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u7279\u70B9","slug":"\u7279\u70B9"},{"level":3,"title":"\u6700\u65B0\u6280\u672F\u6808","slug":"\u6700\u65B0\u6280\u672F\u6808"},{"level":3,"title":"\u57FA\u4E8E TypeScript","slug":"\u57FA\u4E8E-typescript"},{"level":3,"title":"\u8F7B\u91CF\u7EA7","slug":"\u8F7B\u91CF\u7EA7"},{"level":3,"title":"\u901A\u4FD7\u6613\u61C2\u7684\u6587\u6863","slug":"\u901A\u4FD7\u6613\u61C2\u7684\u6587\u6863"}],"relativePath":"guide/index.md","lastUpdated":1661164664000}'),r={name:"guide/index.md"},l=i('

Vue-H5-Template

Vue-H5-Template\uFF0C\u662F\u57FA\u4E8E vite + vue3 + pinia + ( Vant or Varlet or NutUI ) + viewport \u9002\u914D\u65B9\u6848 \uFF0C\u6784\u5EFA\u79FB\u52A8\u7AEF\u5F00\u53D1\u811A\u624B\u67B6

\u7279\u70B9

\u6700\u65B0\u6280\u672F\u6808

  • \u6846\u67B6\u9009\u578B\u57FA\u4E8E\u5F53\u4E0B\u6D41\u884C\u7684 vue + vite + ts \u6A21\u5F0F\uFF0C\u7CBE\u9009\u793E\u533A\u7ECF\u5178\u7684 ui \u6846\u67B6\u548C vite \u63D2\u4EF6

\u57FA\u4E8E TypeScript

  • typescript \u8D8A\u6765\u8D8A\u88AB\u5927\u578B\u7684 js \u9879\u76EE\u6240\u9700\u8981\uFF0C\u660E\u786E\u7684\u7C7B\u578B\u5B9A\u4E49\u53EF\u4EE5\u7701\u4E0B\u4E0D\u5C11\u7684\u7EF4\u62A4\u6210\u672C

\u8F7B\u91CF\u7EA7

  • \u4E0D\u540C\u4E8E\u96C6\u6210\u89E3\u51B3\u65B9\u6848\uFF0C\u5C3D\u91CF\u505A\u5230\u8F7B\u91CF\u4E0D\u5197\u6742\uFF0C\u53EA\u5F15\u5165\u9AD8\u9891\u6B21\u3001\u9700\u6C42\u9AD8\u7684\u63D2\u4EF6\u548C\u6E05\u6670\u7684\u793A\u4F8B
  • \u8F7B\u88C5\u4E0A\u9635\uFF0C\u4FBF\u4E8E\u62D3\u5C55\u5F00\u53D1

\u901A\u4FD7\u6613\u61C2\u7684\u6587\u6863

  • \u57FA\u4E8E\u6700\u65B0 VitePress \u6784\u5EFA\u7684\u6587\u6863\uFF0C\u66F4\u5FEB\uFF0C\u66F4\u4FBF\u6377
  • \u66F4\u5FEB\u7684\u70ED\u66F4\u65B0
',11),s=[l];function d(h,n,c,u,p,o){return a(),t("div",null,s)}const f=e(r,[["render",d]]);export{v as __pageData,f as default}; diff --git a/assets/guide_index.md.9ccf5801.lean.js b/assets/guide_index.md.238c0c40.lean.js similarity index 83% rename from assets/guide_index.md.9ccf5801.lean.js rename to assets/guide_index.md.238c0c40.lean.js index 2add182..e2b9a33 100644 --- a/assets/guide_index.md.9ccf5801.lean.js +++ b/assets/guide_index.md.238c0c40.lean.js @@ -1 +1 @@ -import{_ as e,c as t,o as a,a as i}from"./app.2b769fcb.js";const v=JSON.parse('{"title":"Vue-H5-Template","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u7279\u70B9","slug":"\u7279\u70B9"},{"level":3,"title":"\u6700\u65B0\u6280\u672F\u6808","slug":"\u6700\u65B0\u6280\u672F\u6808"},{"level":3,"title":"\u57FA\u4E8E TypeScript","slug":"\u57FA\u4E8E-typescript"},{"level":3,"title":"\u8F7B\u91CF\u7EA7","slug":"\u8F7B\u91CF\u7EA7"},{"level":3,"title":"\u901A\u4FD7\u6613\u61C2\u7684\u6587\u6863","slug":"\u901A\u4FD7\u6613\u61C2\u7684\u6587\u6863"}],"relativePath":"guide/index.md","lastUpdated":1661153879000}'),r={name:"guide/index.md"},l=i("",11),s=[l];function d(h,n,c,u,p,o){return a(),t("div",null,s)}const f=e(r,[["render",d]]);export{v as __pageData,f as default}; +import{_ as e,c as t,o as a,a as i}from"./app.1a98d107.js";const v=JSON.parse('{"title":"Vue-H5-Template","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u7279\u70B9","slug":"\u7279\u70B9"},{"level":3,"title":"\u6700\u65B0\u6280\u672F\u6808","slug":"\u6700\u65B0\u6280\u672F\u6808"},{"level":3,"title":"\u57FA\u4E8E TypeScript","slug":"\u57FA\u4E8E-typescript"},{"level":3,"title":"\u8F7B\u91CF\u7EA7","slug":"\u8F7B\u91CF\u7EA7"},{"level":3,"title":"\u901A\u4FD7\u6613\u61C2\u7684\u6587\u6863","slug":"\u901A\u4FD7\u6613\u61C2\u7684\u6587\u6863"}],"relativePath":"guide/index.md","lastUpdated":1661164664000}'),r={name:"guide/index.md"},l=i("",11),s=[l];function d(h,n,c,u,p,o){return a(),t("div",null,s)}const f=e(r,[["render",d]]);export{v as __pageData,f as default}; diff --git a/assets/guide_start.md.9aaeea2d.js b/assets/guide_start.md.681e1c3b.js similarity index 94% rename from assets/guide_start.md.9aaeea2d.js rename to assets/guide_start.md.681e1c3b.js index a0f3a63..15c5aec 100644 --- a/assets/guide_start.md.9aaeea2d.js +++ b/assets/guide_start.md.681e1c3b.js @@ -1 +1 @@ -import{_ as e,c as a,o as t,a as r}from"./app.2b769fcb.js";const m=JSON.parse('{"title":"\u5FEB\u901F\u4E0A\u624B","description":"","frontmatter":{},"headers":[{"level":2,"title":"node \u7248\u672C\u8981\u6C42","slug":"node-\u7248\u672C\u8981\u6C42"},{"level":2,"title":"\u5305\u7BA1\u7406\u5668","slug":"\u5305\u7BA1\u7406\u5668"},{"level":2,"title":"\u542F\u52A8\u9879\u76EE","slug":"\u542F\u52A8\u9879\u76EE"}],"relativePath":"guide/start.md","lastUpdated":1661153879000}'),n={name:"guide/start.md"},d=r('

\u5FEB\u901F\u4E0A\u624B

node \u7248\u672C\u8981\u6C42

\u63A8\u8350 14.19.0+\u4EE5\u4E0A\u7684\u7248\u672C\uFF0C\u6BD5\u7ADF 2022 \u5E74\u4E86\uFF0C\u522B\u6390\u7740 12+\u7684\u7248\u672C\u4E86\uFF0C\u4F60\u4E5F\u53EF\u4EE5\u4F7F\u7528nvm\u6216nvm-windows\u5728\u540C\u4E00\u53F0\u7535\u8111\u4E0A\u7BA1\u7406\u591A\u4E2A node \u7248\u672C

\u5305\u7BA1\u7406\u5668

\u5C3D\u91CF\u4F7F\u7528 yarn \u6216\u8005 pnpm\uFF0C\u672C\u9879\u76EE\u4EC5\u4FDD\u8BC1\u5728 yarn \u6216 pnpm \u4E0B\u6B63\u786E\u8FD0\u884C\uFF0Cnpm \u6D89\u53CA\u5230\u7F51\u7EDC\u73AF\u5883\u7B49\u5404\u79CD\u60C5\u51B5\u7684\u9650\u5236\u4E0D\u505A\u8FC7\u591A\u8003\u8651\u3002

\u542F\u52A8\u9879\u76EE

\u9879\u76EE\u4E2D\u5305\u542B vue2 \u548C vue3 \u4E24\u5957\u6A21\u7248

\u5982\u4F60\u4F7F\u7528\u7684\u662F vue2-template\uFF0C\u8BF7\u53C2\u8003vue2 \u9879\u76EE\u542F\u52A8

\u5982\u4F60\u4F7F\u7528\u7684\u662F vue3-template\uFF0C\u8BF7\u53C2\u8003vue3 \u9879\u76EE\u542F\u52A8

',9),s=[d];function o(h,i,l,p,c,_){return t(),a("div",null,s)}const f=e(n,[["render",o]]);export{m as __pageData,f as default}; +import{_ as e,c as a,o as t,a as r}from"./app.1a98d107.js";const m=JSON.parse('{"title":"\u5FEB\u901F\u4E0A\u624B","description":"","frontmatter":{},"headers":[{"level":2,"title":"node \u7248\u672C\u8981\u6C42","slug":"node-\u7248\u672C\u8981\u6C42"},{"level":2,"title":"\u5305\u7BA1\u7406\u5668","slug":"\u5305\u7BA1\u7406\u5668"},{"level":2,"title":"\u542F\u52A8\u9879\u76EE","slug":"\u542F\u52A8\u9879\u76EE"}],"relativePath":"guide/start.md","lastUpdated":1661164664000}'),n={name:"guide/start.md"},d=r('

\u5FEB\u901F\u4E0A\u624B

node \u7248\u672C\u8981\u6C42

\u63A8\u8350 14.19.0+\u4EE5\u4E0A\u7684\u7248\u672C\uFF0C\u6BD5\u7ADF 2022 \u5E74\u4E86\uFF0C\u522B\u6390\u7740 12+\u7684\u7248\u672C\u4E86\uFF0C\u4F60\u4E5F\u53EF\u4EE5\u4F7F\u7528nvm\u6216nvm-windows\u5728\u540C\u4E00\u53F0\u7535\u8111\u4E0A\u7BA1\u7406\u591A\u4E2A node \u7248\u672C

\u5305\u7BA1\u7406\u5668

\u5C3D\u91CF\u4F7F\u7528 yarn \u6216\u8005 pnpm\uFF0C\u672C\u9879\u76EE\u4EC5\u4FDD\u8BC1\u5728 yarn \u6216 pnpm \u4E0B\u6B63\u786E\u8FD0\u884C\uFF0Cnpm \u6D89\u53CA\u5230\u7F51\u7EDC\u73AF\u5883\u7B49\u5404\u79CD\u60C5\u51B5\u7684\u9650\u5236\u4E0D\u505A\u8FC7\u591A\u8003\u8651\u3002

\u542F\u52A8\u9879\u76EE

\u9879\u76EE\u4E2D\u5305\u542B vue2 \u548C vue3 \u4E24\u5957\u6A21\u7248

\u5982\u4F60\u4F7F\u7528\u7684\u662F vue2-template\uFF0C\u8BF7\u53C2\u8003vue2 \u9879\u76EE\u542F\u52A8

\u5982\u4F60\u4F7F\u7528\u7684\u662F vue3-template\uFF0C\u8BF7\u53C2\u8003vue3 \u9879\u76EE\u542F\u52A8

',9),s=[d];function o(h,i,l,p,c,_){return t(),a("div",null,s)}const f=e(n,[["render",o]]);export{m as __pageData,f as default}; diff --git a/assets/guide_start.md.9aaeea2d.lean.js b/assets/guide_start.md.681e1c3b.lean.js similarity index 79% rename from assets/guide_start.md.9aaeea2d.lean.js rename to assets/guide_start.md.681e1c3b.lean.js index 4c6db9b..7e555e0 100644 --- a/assets/guide_start.md.9aaeea2d.lean.js +++ b/assets/guide_start.md.681e1c3b.lean.js @@ -1 +1 @@ -import{_ as e,c as a,o as t,a as r}from"./app.2b769fcb.js";const m=JSON.parse('{"title":"\u5FEB\u901F\u4E0A\u624B","description":"","frontmatter":{},"headers":[{"level":2,"title":"node \u7248\u672C\u8981\u6C42","slug":"node-\u7248\u672C\u8981\u6C42"},{"level":2,"title":"\u5305\u7BA1\u7406\u5668","slug":"\u5305\u7BA1\u7406\u5668"},{"level":2,"title":"\u542F\u52A8\u9879\u76EE","slug":"\u542F\u52A8\u9879\u76EE"}],"relativePath":"guide/start.md","lastUpdated":1661153879000}'),n={name:"guide/start.md"},d=r("",9),s=[d];function o(h,i,l,p,c,_){return t(),a("div",null,s)}const f=e(n,[["render",o]]);export{m as __pageData,f as default}; +import{_ as e,c as a,o as t,a as r}from"./app.1a98d107.js";const m=JSON.parse('{"title":"\u5FEB\u901F\u4E0A\u624B","description":"","frontmatter":{},"headers":[{"level":2,"title":"node \u7248\u672C\u8981\u6C42","slug":"node-\u7248\u672C\u8981\u6C42"},{"level":2,"title":"\u5305\u7BA1\u7406\u5668","slug":"\u5305\u7BA1\u7406\u5668"},{"level":2,"title":"\u542F\u52A8\u9879\u76EE","slug":"\u542F\u52A8\u9879\u76EE"}],"relativePath":"guide/start.md","lastUpdated":1661164664000}'),n={name:"guide/start.md"},d=r("",9),s=[d];function o(h,i,l,p,c,_){return t(),a("div",null,s)}const f=e(n,[["render",o]]);export{m as __pageData,f as default}; diff --git a/assets/guide_vue2_alias.md.0ca1d795.js b/assets/guide_vue2_alias.md.902808c7.js similarity index 98% rename from assets/guide_vue2_alias.md.0ca1d795.js rename to assets/guide_vue2_alias.md.902808c7.js index b850132..defb43b 100644 --- a/assets/guide_vue2_alias.md.0ca1d795.js +++ b/assets/guide_vue2_alias.md.902808c7.js @@ -1,4 +1,4 @@ -import{_ as s,c as a,o as n,a as o}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"\u914D\u7F6E alias \u522B\u540D","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/alias.md","lastUpdated":1661153879000}'),l={name:"guide/vue2/alias.md"},p=o(`

\u914D\u7F6E alias \u522B\u540D

javascript
const path = require("path");
+import{_ as s,c as a,o as n,a as o}from"./app.1a98d107.js";const i=JSON.parse('{"title":"\u914D\u7F6E alias \u522B\u540D","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/alias.md","lastUpdated":1661164664000}'),l={name:"guide/vue2/alias.md"},p=o(`

\u914D\u7F6E alias \u522B\u540D

javascript
const path = require("path");
 const resolve = (dir) => path.join(__dirname, dir);
 const IS_PROD = ["production", "prod"].includes(process.env.NODE_ENV);
 
diff --git a/assets/guide_vue2_alias.md.0ca1d795.lean.js b/assets/guide_vue2_alias.md.902808c7.lean.js
similarity index 68%
rename from assets/guide_vue2_alias.md.0ca1d795.lean.js
rename to assets/guide_vue2_alias.md.902808c7.lean.js
index 70de700..9304c87 100644
--- a/assets/guide_vue2_alias.md.0ca1d795.lean.js
+++ b/assets/guide_vue2_alias.md.902808c7.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,o as n,a as o}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"\u914D\u7F6E alias \u522B\u540D","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/alias.md","lastUpdated":1661153879000}'),l={name:"guide/vue2/alias.md"},p=o("",2),e=[p];function t(c,r,F,D,y,A){return n(),a("div",null,e)}const u=s(l,[["render",t]]);export{i as __pageData,u as default};
+import{_ as s,c as a,o as n,a as o}from"./app.1a98d107.js";const i=JSON.parse('{"title":"\u914D\u7F6E alias \u522B\u540D","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/alias.md","lastUpdated":1661164664000}'),l={name:"guide/vue2/alias.md"},p=o("",2),e=[p];function t(c,r,F,D,y,A){return n(),a("div",null,e)}const u=s(l,[["render",t]]);export{i as __pageData,u as default};
diff --git a/assets/guide_vue2_axios.md.1a9d585f.js b/assets/guide_vue2_axios.md.1a9d585f.js
new file mode 100644
index 0000000..5a5146b
--- /dev/null
+++ b/assets/guide_vue2_axios.md.1a9d585f.js
@@ -0,0 +1,79 @@
+import{_ as s,c as n,o as a,a as l}from"./app.1a98d107.js";const i=JSON.parse('{"title":"Axios \u5C01\u88C5\u53CA\u63A5\u53E3\u7BA1\u7406","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/axios.md","lastUpdated":1661164664000}'),p={name:"guide/vue2/axios.md"},o=l(`

Axios \u5C01\u88C5\u53CA\u63A5\u53E3\u7BA1\u7406

utils/request.js \u5C01\u88C5 axios ,\u5F00\u53D1\u8005\u9700\u8981\u6839\u636E\u540E\u53F0\u63A5\u53E3\u505A\u4FEE\u6539\u3002

  • service.interceptors.request.use \u91CC\u53EF\u4EE5\u8BBE\u7F6E\u8BF7\u6C42\u5934\uFF0C\u6BD4\u5982\u8BBE\u7F6E token
  • config.hideloading \u662F\u5728 api \u6587\u4EF6\u5939\u4E0B\u7684\u63A5\u53E3\u53C2\u6570\u91CC\u8BBE\u7F6E\uFF0C\u4E0B\u6587\u4F1A\u8BB2
  • service.interceptors.response.use \u91CC\u53EF\u4EE5\u5BF9\u63A5\u53E3\u8FD4\u56DE\u6570\u636E\u5904\u7406\uFF0C\u6BD4\u5982 401 \u5220\u9664\u672C\u5730\u4FE1\u606F\uFF0C\u91CD\u65B0\u767B\u5F55
javascript
import axios from "axios";
+import store from "@/store";
+import { Toast } from "vant";
+// \u6839\u636E\u73AF\u5883\u4E0D\u540C\u5F15\u5165\u4E0D\u540Capi\u5730\u5740
+import { baseApi } from "@/config";
+// create an axios instance
+const service = axios.create({
+  baseURL: baseApi, // url = base api url + request url
+  withCredentials: true, // send cookies when cross-domain requests
+  timeout: 5000, // request timeout
+});
+
+// request \u62E6\u622A\u5668 request interceptor
+service.interceptors.request.use(
+  (config) => {
+    // \u4E0D\u4F20\u9012\u9ED8\u8BA4\u5F00\u542Floading
+    if (!config.hideloading) {
+      // loading
+      Toast.loading({
+        forbidClick: true,
+      });
+    }
+    if (store.getters.token) {
+      config.headers["X-Token"] = "";
+    }
+    return config;
+  },
+  (error) => {
+    // do something with request error
+    console.log(error); // for debug
+    return Promise.reject(error);
+  }
+);
+// respone\u62E6\u622A\u5668
+service.interceptors.response.use(
+  (response) => {
+    Toast.clear();
+    const res = response.data;
+    if (res.status && res.status !== 200) {
+      // \u767B\u5F55\u8D85\u65F6,\u91CD\u65B0\u767B\u5F55
+      if (res.status === 401) {
+        store.dispatch("FedLogOut").then(() => {
+          location.reload();
+        });
+      }
+      return Promise.reject(res || "error");
+    } else {
+      return Promise.resolve(res);
+    }
+  },
+  (error) => {
+    Toast.clear();
+    console.log("err" + error); // for debug
+    return Promise.reject(error);
+  }
+);
+export default service;
+

\u63A5\u53E3\u7BA1\u7406

\u5728src/api \u6587\u4EF6\u5939\u4E0B\u7EDF\u4E00\u7BA1\u7406\u63A5\u53E3

  • \u4F60\u53EF\u4EE5\u5EFA\u7ACB\u591A\u4E2A\u6A21\u5757\u5BF9\u63A5\u63A5\u53E3, \u6BD4\u5982 home.js \u91CC\u662F\u9996\u9875\u7684\u63A5\u53E3\u8FD9\u91CC\u8BB2\u89E3 user.js
  • url \u63A5\u53E3\u5730\u5740\uFF0C\u8BF7\u6C42\u7684\u65F6\u5019\u4F1A\u62FC\u63A5\u4E0A config \u4E0B\u7684 baseApi
  • method \u8BF7\u6C42\u65B9\u6CD5
  • data \u8BF7\u6C42\u53C2\u6570 qs.stringify(params) \u662F\u5BF9\u6570\u636E\u7CFB\u5217\u5316\u64CD\u4F5C
  • hideloading \u9ED8\u8BA4 false,\u8BBE\u7F6E\u4E3A true \u540E\uFF0C\u4E0D\u663E\u793A loading ui \u4EA4\u4E92\u4E2D\u6709\u4E9B\u63A5\u53E3\u4E0D\u9700\u8981\u8BA9\u7528\u6237\u611F\u77E5
javascript
import qs from "qs";
+// axios
+import request from "@/utils/request";
+//user api
+
+// \u7528\u6237\u4FE1\u606F
+export function getUserInfo(params) {
+  return request({
+    url: "/user/userinfo",
+    method: "post",
+    data: qs.stringify(params),
+    hideloading: true, // \u9690\u85CF loading \u7EC4\u4EF6
+  });
+}
+

\u5982\u4F55\u8C03\u7528

javascript
// \u8BF7\u6C42\u63A5\u53E3
+import { getUserInfo } from "@/api/user.js";
+
+const params = { user: "sunnie" };
+getUserInfo(params)
+  .then(() => {})
+  .catch(() => {});
+
`,10),e=[o];function c(t,r,F,D,y,A){return a(),n("div",null,e)}const d=s(p,[["render",c]]);export{i as __pageData,d as default}; diff --git a/assets/guide_vue2_axios.md.1a9d585f.lean.js b/assets/guide_vue2_axios.md.1a9d585f.lean.js new file mode 100644 index 0000000..dea83f0 --- /dev/null +++ b/assets/guide_vue2_axios.md.1a9d585f.lean.js @@ -0,0 +1 @@ +import{_ as s,c as n,o as a,a as l}from"./app.1a98d107.js";const i=JSON.parse('{"title":"Axios \u5C01\u88C5\u53CA\u63A5\u53E3\u7BA1\u7406","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/axios.md","lastUpdated":1661164664000}'),p={name:"guide/vue2/axios.md"},o=l("",10),e=[o];function c(t,r,F,D,y,A){return a(),n("div",null,e)}const d=s(p,[["render",c]]);export{i as __pageData,d as default}; diff --git a/assets/guide_vue2_axios.md.895ce132.js b/assets/guide_vue2_axios.md.895ce132.js deleted file mode 100644 index c2e3f81..0000000 --- a/assets/guide_vue2_axios.md.895ce132.js +++ /dev/null @@ -1,79 +0,0 @@ -import{_ as s,c as n,o as a,a as l}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-axios-\u5C01\u88C5\u53CA\u63A5\u53E3\u7BA1\u7406"}],"relativePath":"guide/vue2/axios.md","lastUpdated":1661153879000}'),p={name:"guide/vue2/axios.md"},o=l(`

\u2705 Axios \u5C01\u88C5\u53CA\u63A5\u53E3\u7BA1\u7406

utils/request.js \u5C01\u88C5 axios ,\u5F00\u53D1\u8005\u9700\u8981\u6839\u636E\u540E\u53F0\u63A5\u53E3\u505A\u4FEE\u6539\u3002

  • service.interceptors.request.use \u91CC\u53EF\u4EE5\u8BBE\u7F6E\u8BF7\u6C42\u5934\uFF0C\u6BD4\u5982\u8BBE\u7F6E token
  • config.hideloading \u662F\u5728 api \u6587\u4EF6\u5939\u4E0B\u7684\u63A5\u53E3\u53C2\u6570\u91CC\u8BBE\u7F6E\uFF0C\u4E0B\u6587\u4F1A\u8BB2
  • service.interceptors.response.use \u91CC\u53EF\u4EE5\u5BF9\u63A5\u53E3\u8FD4\u56DE\u6570\u636E\u5904\u7406\uFF0C\u6BD4\u5982 401 \u5220\u9664\u672C\u5730\u4FE1\u606F\uFF0C\u91CD\u65B0\u767B\u5F55
javascript
import axios from 'axios'
-import store from '@/store'
-import { Toast } from 'vant'
-// \u6839\u636E\u73AF\u5883\u4E0D\u540C\u5F15\u5165\u4E0D\u540Capi\u5730\u5740
-import { baseApi } from '@/config'
-// create an axios instance
-const service = axios.create({
-    baseURL: baseApi, // url = base api url + request url
-    withCredentials: true, // send cookies when cross-domain requests
-    timeout: 5000, // request timeout
-})
-
-// request \u62E6\u622A\u5668 request interceptor
-service.interceptors.request.use(
-    config => {
-        // \u4E0D\u4F20\u9012\u9ED8\u8BA4\u5F00\u542Floading
-        if (!config.hideloading) {
-            // loading
-            Toast.loading({
-                forbidClick: true,
-            })
-        }
-        if (store.getters.token) {
-            config.headers['X-Token'] = ''
-        }
-        return config
-    },
-    error => {
-        // do something with request error
-        console.log(error) // for debug
-        return Promise.reject(error)
-    }
-)
-// respone\u62E6\u622A\u5668
-service.interceptors.response.use(
-    response => {
-        Toast.clear()
-        const res = response.data
-        if (res.status && res.status !== 200) {
-            // \u767B\u5F55\u8D85\u65F6,\u91CD\u65B0\u767B\u5F55
-            if (res.status === 401) {
-                store.dispatch('FedLogOut').then(() => {
-                    location.reload()
-                })
-            }
-            return Promise.reject(res || 'error')
-        } else {
-            return Promise.resolve(res)
-        }
-    },
-    error => {
-        Toast.clear()
-        console.log('err' + error) // for debug
-        return Promise.reject(error)
-    }
-)
-export default service
-

\u63A5\u53E3\u7BA1\u7406

\u5728src/api \u6587\u4EF6\u5939\u4E0B\u7EDF\u4E00\u7BA1\u7406\u63A5\u53E3

  • \u4F60\u53EF\u4EE5\u5EFA\u7ACB\u591A\u4E2A\u6A21\u5757\u5BF9\u63A5\u63A5\u53E3, \u6BD4\u5982 home.js \u91CC\u662F\u9996\u9875\u7684\u63A5\u53E3\u8FD9\u91CC\u8BB2\u89E3 user.js
  • url \u63A5\u53E3\u5730\u5740\uFF0C\u8BF7\u6C42\u7684\u65F6\u5019\u4F1A\u62FC\u63A5\u4E0A config \u4E0B\u7684 baseApi
  • method \u8BF7\u6C42\u65B9\u6CD5
  • data \u8BF7\u6C42\u53C2\u6570 qs.stringify(params) \u662F\u5BF9\u6570\u636E\u7CFB\u5217\u5316\u64CD\u4F5C
  • hideloading \u9ED8\u8BA4 false,\u8BBE\u7F6E\u4E3A true \u540E\uFF0C\u4E0D\u663E\u793A loading ui \u4EA4\u4E92\u4E2D\u6709\u4E9B\u63A5\u53E3\u4E0D\u9700\u8981\u8BA9\u7528\u6237\u611F\u77E5
javascript
import qs from 'qs'
-// axios
-import request from '@/utils/request'
-//user api
-
-// \u7528\u6237\u4FE1\u606F
-export function getUserInfo(params) {
-    return request({
-        url: '/user/userinfo',
-        method: 'post',
-        data: qs.stringify(params),
-        hideloading: true, // \u9690\u85CF loading \u7EC4\u4EF6
-    })
-}
-

\u5982\u4F55\u8C03\u7528

javascript
// \u8BF7\u6C42\u63A5\u53E3
-import { getUserInfo } from '@/api/user.js'
-
-const params = { user: 'sunnie' }
-getUserInfo(params)
-    .then(() => {})
-    .catch(() => {})
-
`,10),e=[o];function c(r,t,F,y,D,A){return a(),n("div",null,e)}const d=s(p,[["render",c]]);export{i as __pageData,d as default}; diff --git a/assets/guide_vue2_axios.md.895ce132.lean.js b/assets/guide_vue2_axios.md.895ce132.lean.js deleted file mode 100644 index 06d4b37..0000000 --- a/assets/guide_vue2_axios.md.895ce132.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as n,o as a,a as l}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-axios-\u5C01\u88C5\u53CA\u63A5\u53E3\u7BA1\u7406"}],"relativePath":"guide/vue2/axios.md","lastUpdated":1661153879000}'),p={name:"guide/vue2/axios.md"},o=l("",10),e=[o];function c(r,t,F,y,D,A){return a(),n("div",null,e)}const d=s(p,[["render",c]]);export{i as __pageData,d as default}; diff --git a/assets/guide_vue2_base.md.002d38ce.js b/assets/guide_vue2_base.md.002d38ce.js new file mode 100644 index 0000000..cade8a1 --- /dev/null +++ b/assets/guide_vue2_base.md.002d38ce.js @@ -0,0 +1,50 @@ +import{_ as s,c as n,o as a,a as p}from"./app.1a98d107.js";const A=JSON.parse('{"title":"Webpack 4 vue.config.js \u57FA\u7840\u914D\u7F6E","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/base.md","lastUpdated":1661164664000}'),l={name:"guide/vue2/base.md"},o=p(`

Webpack 4 vue.config.js \u57FA\u7840\u914D\u7F6E

\u5982\u679C\u4F60\u7684 Vue Router \u6A21\u5F0F\u662F hash

javascript
publicPath: './',
+

\u5982\u679C\u4F60\u7684 Vue Router \u6A21\u5F0F\u662F history \u8FD9\u91CC\u7684 publicPath \u548C\u4F60\u7684 Vue Router base \u4FDD\u6301\u4E00\u81F4

javascript
publicPath: '/app/',
+

\u914D\u7F6E\u5982\u4E0B

javascript
import { createVitePlugins } from "./config/vite/plugins";
+import { resolve } from "path";
+import { ConfigEnv, UserConfigExport } from "vite";
+
+const pathResolve = (dir: string) => {
+  return resolve(process.cwd(), ".", dir);
+};
+
+// https://vitejs.dev/config/
+export default function ({ command }: ConfigEnv): UserConfigExport {
+  const isProduction = command === "build";
+  const root = process.cwd();
+  return {
+    root,
+    resolve: {
+      alias: [
+        {
+          find: "vue-i18n",
+          replacement: "vue-i18n/dist/vue-i18n.cjs.js",
+        },
+        // /@/xxxx => src/xxxx
+        {
+          find: /\\/@\\//,
+          replacement: pathResolve("src") + "/",
+        },
+        // /#/xxxx => types/xxxx
+        {
+          find: /\\/#\\//,
+          replacement: pathResolve("types") + "/",
+        },
+      ],
+    },
+    server: {
+      host: true,
+      hmr: true,
+    },
+    plugins: createVitePlugins(isProduction),
+    css: {
+      preprocessorOptions: {
+        scss: {
+          // \u914D\u7F6E nutui \u5168\u5C40 scss \u53D8\u91CF
+          additionalData: \`@import "@nutui/nutui/dist/styles/variables.scss";@import '/@/styles/mixin.scss';\`,
+        },
+      },
+    },
+  };
+}
+
`,7),e=[o];function c(t,r,F,D,y,i){return a(),n("div",null,e)}const u=s(l,[["render",c]]);export{A as __pageData,u as default}; diff --git a/assets/guide_vue2_base.md.002d38ce.lean.js b/assets/guide_vue2_base.md.002d38ce.lean.js new file mode 100644 index 0000000..10bf8a5 --- /dev/null +++ b/assets/guide_vue2_base.md.002d38ce.lean.js @@ -0,0 +1 @@ +import{_ as s,c as n,o as a,a as p}from"./app.1a98d107.js";const A=JSON.parse('{"title":"Webpack 4 vue.config.js \u57FA\u7840\u914D\u7F6E","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/base.md","lastUpdated":1661164664000}'),l={name:"guide/vue2/base.md"},o=p("",7),e=[o];function c(t,r,F,D,y,i){return a(),n("div",null,e)}const u=s(l,[["render",c]]);export{A as __pageData,u as default}; diff --git a/assets/guide_vue2_base.md.45cc6a7c.js b/assets/guide_vue2_base.md.45cc6a7c.js deleted file mode 100644 index 2e026c8..0000000 --- a/assets/guide_vue2_base.md.45cc6a7c.js +++ /dev/null @@ -1,23 +0,0 @@ -import{_ as s,c as a,o as n,a as p}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-webpack-4-vue-config-js-\u57FA\u7840\u914D\u7F6E"}],"relativePath":"guide/vue2/base.md","lastUpdated":1661153879000}'),l={name:"guide/vue2/base.md"},o=p(`

\u2705 Webpack 4 vue.config.js \u57FA\u7840\u914D\u7F6E

\u5982\u679C\u4F60\u7684 Vue Router \u6A21\u5F0F\u662F hash

javascript
publicPath: './',
-

\u5982\u679C\u4F60\u7684 Vue Router \u6A21\u5F0F\u662F history \u8FD9\u91CC\u7684 publicPath \u548C\u4F60\u7684 Vue Router base \u4FDD\u6301\u4E00\u76F4

javascript
publicPath: '/app/',
-
javascript
const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV)
-
-module.exports = {
-    publicPath: './', // \u7F72\u5E94\u7528\u5305\u65F6\u7684\u57FA\u672C URL\u3002 vue-router hash \u6A21\u5F0F\u4F7F\u7528
-    //  publicPath: '/app/', // \u7F72\u5E94\u7528\u5305\u65F6\u7684\u57FA\u672C URL\u3002  vue-router history\u6A21\u5F0F\u4F7F\u7528
-    outputDir: 'dist', //  \u751F\u4EA7\u73AF\u5883\u6784\u5EFA\u6587\u4EF6\u7684\u76EE\u5F55
-    assetsDir: 'static', //  outputDir\u7684\u9759\u6001\u8D44\u6E90(js\u3001css\u3001img\u3001fonts)\u76EE\u5F55
-    lintOnSave: !IS_PROD,
-    productionSourceMap: false, // \u5982\u679C\u4F60\u4E0D\u9700\u8981\u751F\u4EA7\u73AF\u5883\u7684 source map\uFF0C\u53EF\u4EE5\u5C06\u5176\u8BBE\u7F6E\u4E3A false \u4EE5\u52A0\u901F\u751F\u4EA7\u73AF\u5883\u6784\u5EFA\u3002
-    devServer: {
-        port: 9020, // \u7AEF\u53E3\u53F7
-        open: false, // \u542F\u52A8\u540E\u6253\u5F00\u6D4F\u89C8\u5668
-        overlay: {
-            //  \u5F53\u51FA\u73B0\u7F16\u8BD1\u5668\u9519\u8BEF\u6216\u8B66\u544A\u65F6\uFF0C\u5728\u6D4F\u89C8\u5668\u4E2D\u663E\u793A\u5168\u5C4F\u8986\u76D6\u5C42
-            warnings: false,
-            errors: true,
-        },
-        // ...
-    },
-}
-
`,6),e=[o];function c(t,r,D,y,F,C){return n(),a("div",null,e)}const u=s(l,[["render",c]]);export{i as __pageData,u as default}; diff --git a/assets/guide_vue2_base.md.45cc6a7c.lean.js b/assets/guide_vue2_base.md.45cc6a7c.lean.js deleted file mode 100644 index 421fdfe..0000000 --- a/assets/guide_vue2_base.md.45cc6a7c.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as a,o as n,a as p}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-webpack-4-vue-config-js-\u57FA\u7840\u914D\u7F6E"}],"relativePath":"guide/vue2/base.md","lastUpdated":1661153879000}'),l={name:"guide/vue2/base.md"},o=p("",6),e=[o];function c(t,r,D,y,F,C){return n(),a("div",null,e)}const u=s(l,[["render",c]]);export{i as __pageData,u as default}; diff --git a/assets/guide_vue2_bundle.md.7a02028b.js b/assets/guide_vue2_bundle.md.7a02028b.js new file mode 100644 index 0000000..1bd4f7c --- /dev/null +++ b/assets/guide_vue2_bundle.md.7a02028b.js @@ -0,0 +1,17 @@ +import{_ as s,c as n,o as a,a as l}from"./app.1a98d107.js";const d=JSON.parse('{"title":"\u914D\u7F6E\u6253\u5305\u5206\u6790","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/bundle.md","lastUpdated":1661164664000}'),p={name:"guide/vue2/bundle.md"},o=l(`

\u914D\u7F6E\u6253\u5305\u5206\u6790

javascript
const BundleAnalyzerPlugin =
+  require("webpack-bundle-analyzer").BundleAnalyzerPlugin;
+
+module.exports = {
+  chainWebpack: (config) => {
+    // \u6253\u5305\u5206\u6790
+    if (IS_PROD) {
+      config.plugin("webpack-report").use(BundleAnalyzerPlugin, [
+        {
+          analyzerMode: "static",
+        },
+      ]);
+    }
+  },
+};
+
bash
npm run build
+
`,3),e=[o];function c(t,r,F,D,y,i){return a(),n("div",null,e)}const C=s(p,[["render",c]]);export{d as __pageData,C as default}; diff --git a/assets/guide_vue2_bundle.md.7a02028b.lean.js b/assets/guide_vue2_bundle.md.7a02028b.lean.js new file mode 100644 index 0000000..268b72b --- /dev/null +++ b/assets/guide_vue2_bundle.md.7a02028b.lean.js @@ -0,0 +1 @@ +import{_ as s,c as n,o as a,a as l}from"./app.1a98d107.js";const d=JSON.parse('{"title":"\u914D\u7F6E\u6253\u5305\u5206\u6790","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/bundle.md","lastUpdated":1661164664000}'),p={name:"guide/vue2/bundle.md"},o=l("",3),e=[o];function c(t,r,F,D,y,i){return a(),n("div",null,e)}const C=s(p,[["render",c]]);export{d as __pageData,C as default}; diff --git a/assets/guide_vue2_bundle.md.fb533ae1.js b/assets/guide_vue2_bundle.md.fb533ae1.js deleted file mode 100644 index af02ff6..0000000 --- a/assets/guide_vue2_bundle.md.fb533ae1.js +++ /dev/null @@ -1,16 +0,0 @@ -import{_ as s,c as n,o as a,a as l}from"./app.2b769fcb.js";const d=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-\u914D\u7F6E-\u6253\u5305\u5206\u6790"}],"relativePath":"guide/vue2/bundle.md","lastUpdated":1661153879000}'),p={name:"guide/vue2/bundle.md"},o=l(`

\u2705 \u914D\u7F6E \u6253\u5305\u5206\u6790

javascript
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
-
-module.exports = {
-    chainWebpack: config => {
-        // \u6253\u5305\u5206\u6790
-        if (IS_PROD) {
-            config.plugin('webpack-report').use(BundleAnalyzerPlugin, [
-                {
-                    analyzerMode: 'static',
-                },
-            ])
-        }
-    },
-}
-
bash
npm run build
-
`,3),e=[o];function c(t,r,F,y,D,i){return a(),n("div",null,e)}const C=s(p,[["render",c]]);export{d as __pageData,C as default}; diff --git a/assets/guide_vue2_bundle.md.fb533ae1.lean.js b/assets/guide_vue2_bundle.md.fb533ae1.lean.js deleted file mode 100644 index 37dc870..0000000 --- a/assets/guide_vue2_bundle.md.fb533ae1.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as n,o as a,a as l}from"./app.2b769fcb.js";const d=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-\u914D\u7F6E-\u6253\u5305\u5206\u6790"}],"relativePath":"guide/vue2/bundle.md","lastUpdated":1661153879000}'),p={name:"guide/vue2/bundle.md"},o=l("",3),e=[o];function c(t,r,F,y,D,i){return a(),n("div",null,e)}const C=s(p,[["render",c]]);export{d as __pageData,C as default}; diff --git a/assets/guide_vue2_chunks.md.767cc8d2.js b/assets/guide_vue2_chunks.md.767cc8d2.js deleted file mode 100644 index 89504bd..0000000 --- a/assets/guide_vue2_chunks.md.767cc8d2.js +++ /dev/null @@ -1,42 +0,0 @@ -import{_ as s,c as n,o as a,a as p}from"./app.2b769fcb.js";const A=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-splitchunks-\u5355\u72EC\u6253\u5305\u7B2C\u4E09\u65B9\u6A21\u5757"}],"relativePath":"guide/vue2/chunks.md","lastUpdated":1661153879000}'),l={name:"guide/vue2/chunks.md"},o=p(`

\u2705 splitChunks \u5355\u72EC\u6253\u5305\u7B2C\u4E09\u65B9\u6A21\u5757

javascript
module.exports = {
-    chainWebpack: config => {
-        config.when(IS_PROD, config => {
-            config
-                .plugin('ScriptExtHtmlWebpackPlugin')
-                .after('html')
-                .use('script-ext-html-webpack-plugin', [
-                    {
-                        // \u5C06 runtime \u4F5C\u4E3A\u5185\u8054\u5F15\u5165\u4E0D\u5355\u72EC\u5B58\u5728
-                        inline: /runtime\\..*\\.js$/,
-                    },
-                ])
-                .end()
-            config.optimization.splitChunks({
-                chunks: 'all',
-                cacheGroups: {
-                    // cacheGroups \u4E0B\u53EF\u4EE5\u53EF\u4EE5\u914D\u7F6E\u591A\u4E2A\u7EC4\uFF0C\u6BCF\u4E2A\u7EC4\u6839\u636Etest\u8BBE\u7F6E\u6761\u4EF6\uFF0C\u7B26\u5408test\u6761\u4EF6\u7684\u6A21\u5757
-                    commons: {
-                        name: 'chunk-commons',
-                        test: resolve('src/components'),
-                        minChunks: 3, //  \u88AB\u81F3\u5C11\u7528\u4E09\u6B21\u4EE5\u4E0A\u6253\u5305\u5206\u79BB
-                        priority: 5, // \u4F18\u5148\u7EA7
-                        reuseExistingChunk: true, // \u8868\u793A\u662F\u5426\u4F7F\u7528\u5DF2\u6709\u7684 chunk\uFF0C\u5982\u679C\u4E3A true \u5219\u8868\u793A\u5982\u679C\u5F53\u524D\u7684 chunk \u5305\u542B\u7684\u6A21\u5757\u5DF2\u7ECF\u88AB\u62BD\u53D6\u51FA\u53BB\u4E86\uFF0C\u90A3\u4E48\u5C06\u4E0D\u4F1A\u91CD\u65B0\u751F\u6210\u65B0\u7684\u3002
-                    },
-                    node_vendors: {
-                        name: 'chunk-libs',
-                        chunks: 'initial', // \u53EA\u6253\u5305\u521D\u59CB\u65F6\u4F9D\u8D56\u7684\u7B2C\u4E09\u65B9
-                        test: /[\\\\/]node_modules[\\\\/]/,
-                        priority: 10,
-                    },
-                    vantUI: {
-                        name: 'chunk-vantUI', // \u5355\u72EC\u5C06 vantUI \u62C6\u5305
-                        priority: 20, // \u6570\u5B57\u5927\u6743\u91CD\u5230\uFF0C\u6EE1\u8DB3\u591A\u4E2A cacheGroups \u7684\u6761\u4EF6\u65F6\u5019\u5206\u5230\u6743\u91CD\u9AD8\u7684
-                        test: /[\\\\/]node_modules[\\\\/]_?vant(.*)/,
-                    },
-                },
-            })
-            config.optimization.runtimeChunk('single')
-        })
-    },
-}
-
`,2),e=[o];function c(t,F,r,D,y,i){return a(),n("div",null,e)}const u=s(l,[["render",c]]);export{A as __pageData,u as default}; diff --git a/assets/guide_vue2_chunks.md.767cc8d2.lean.js b/assets/guide_vue2_chunks.md.767cc8d2.lean.js deleted file mode 100644 index 2743fda..0000000 --- a/assets/guide_vue2_chunks.md.767cc8d2.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as n,o as a,a as p}from"./app.2b769fcb.js";const A=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-splitchunks-\u5355\u72EC\u6253\u5305\u7B2C\u4E09\u65B9\u6A21\u5757"}],"relativePath":"guide/vue2/chunks.md","lastUpdated":1661153879000}'),l={name:"guide/vue2/chunks.md"},o=p("",2),e=[o];function c(t,F,r,D,y,i){return a(),n("div",null,e)}const u=s(l,[["render",c]]);export{A as __pageData,u as default}; diff --git a/assets/guide_vue2_chunks.md.95a5c778.js b/assets/guide_vue2_chunks.md.95a5c778.js new file mode 100644 index 0000000..514f2e0 --- /dev/null +++ b/assets/guide_vue2_chunks.md.95a5c778.js @@ -0,0 +1,42 @@ +import{_ as s,c as n,o as a,a as p}from"./app.1a98d107.js";const u=JSON.parse('{"title":"splitChunks \u5355\u72EC\u6253\u5305\u7B2C\u4E09\u65B9\u6A21\u5757","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/chunks.md","lastUpdated":1661164664000}'),l={name:"guide/vue2/chunks.md"},o=p(`

splitChunks \u5355\u72EC\u6253\u5305\u7B2C\u4E09\u65B9\u6A21\u5757

javascript
module.exports = {
+  chainWebpack: (config) => {
+    config.when(IS_PROD, (config) => {
+      config
+        .plugin("ScriptExtHtmlWebpackPlugin")
+        .after("html")
+        .use("script-ext-html-webpack-plugin", [
+          {
+            // \u5C06 runtime \u4F5C\u4E3A\u5185\u8054\u5F15\u5165\u4E0D\u5355\u72EC\u5B58\u5728
+            inline: /runtime\\..*\\.js$/,
+          },
+        ])
+        .end();
+      config.optimization.splitChunks({
+        chunks: "all",
+        cacheGroups: {
+          // cacheGroups \u4E0B\u53EF\u4EE5\u53EF\u4EE5\u914D\u7F6E\u591A\u4E2A\u7EC4\uFF0C\u6BCF\u4E2A\u7EC4\u6839\u636Etest\u8BBE\u7F6E\u6761\u4EF6\uFF0C\u7B26\u5408test\u6761\u4EF6\u7684\u6A21\u5757
+          commons: {
+            name: "chunk-commons",
+            test: resolve("src/components"),
+            minChunks: 3, //  \u88AB\u81F3\u5C11\u7528\u4E09\u6B21\u4EE5\u4E0A\u6253\u5305\u5206\u79BB
+            priority: 5, // \u4F18\u5148\u7EA7
+            reuseExistingChunk: true, // \u8868\u793A\u662F\u5426\u4F7F\u7528\u5DF2\u6709\u7684 chunk\uFF0C\u5982\u679C\u4E3A true \u5219\u8868\u793A\u5982\u679C\u5F53\u524D\u7684 chunk \u5305\u542B\u7684\u6A21\u5757\u5DF2\u7ECF\u88AB\u62BD\u53D6\u51FA\u53BB\u4E86\uFF0C\u90A3\u4E48\u5C06\u4E0D\u4F1A\u91CD\u65B0\u751F\u6210\u65B0\u7684\u3002
+          },
+          node_vendors: {
+            name: "chunk-libs",
+            chunks: "initial", // \u53EA\u6253\u5305\u521D\u59CB\u65F6\u4F9D\u8D56\u7684\u7B2C\u4E09\u65B9
+            test: /[\\\\/]node_modules[\\\\/]/,
+            priority: 10,
+          },
+          vantUI: {
+            name: "chunk-vantUI", // \u5355\u72EC\u5C06 vantUI \u62C6\u5305
+            priority: 20, // \u6570\u5B57\u5927\u6743\u91CD\u5230\uFF0C\u6EE1\u8DB3\u591A\u4E2A cacheGroups \u7684\u6761\u4EF6\u65F6\u5019\u5206\u5230\u6743\u91CD\u9AD8\u7684
+            test: /[\\\\/]node_modules[\\\\/]_?vant(.*)/,
+          },
+        },
+      });
+      config.optimization.runtimeChunk("single");
+    });
+  },
+};
+
`,2),e=[o];function t(c,F,r,D,y,i){return a(),n("div",null,e)}const A=s(l,[["render",t]]);export{u as __pageData,A as default}; diff --git a/assets/guide_vue2_chunks.md.95a5c778.lean.js b/assets/guide_vue2_chunks.md.95a5c778.lean.js new file mode 100644 index 0000000..1a52ffc --- /dev/null +++ b/assets/guide_vue2_chunks.md.95a5c778.lean.js @@ -0,0 +1 @@ +import{_ as s,c as n,o as a,a as p}from"./app.1a98d107.js";const u=JSON.parse('{"title":"splitChunks \u5355\u72EC\u6253\u5305\u7B2C\u4E09\u65B9\u6A21\u5757","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/chunks.md","lastUpdated":1661164664000}'),l={name:"guide/vue2/chunks.md"},o=p("",2),e=[o];function t(c,F,r,D,y,i){return a(),n("div",null,e)}const A=s(l,[["render",t]]);export{u as __pageData,A as default}; diff --git a/assets/guide_vue2_console.md.17071fdb.js b/assets/guide_vue2_console.md.17071fdb.js deleted file mode 100644 index 209e8d3..0000000 --- a/assets/guide_vue2_console.md.17071fdb.js +++ /dev/null @@ -1,24 +0,0 @@ -import{_ as s,c as n,o as a,a as l}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-\u53BB\u6389-console-log"}],"relativePath":"guide/vue2/console.md","lastUpdated":1661153879000}'),p={name:"guide/vue2/console.md"},o=l(`

\u2705 \u53BB\u6389 console.log

\u4FDD\u7559\u4E86\u6D4B\u8BD5\u73AF\u5883\u548C\u672C\u5730\u73AF\u5883\u7684 console.log

bash
npm i -D babel-plugin-transform-remove-console
-

\u5728 babel.config.js \u4E2D\u914D\u7F6E

javascript
// \u83B7\u53D6 VUE_APP_ENV \u975E NODE_ENV\uFF0C\u6D4B\u8BD5\u73AF\u5883\u4F9D\u7136 console
-const IS_PROD = ['production', 'prod'].includes(process.env.VUE_APP_ENV)
-const plugins = [
-    [
-        'import',
-        {
-            libraryName: 'vant',
-            libraryDirectory: 'es',
-            style: true,
-        },
-        'vant',
-    ],
-]
-// \u53BB\u9664 console.log
-if (IS_PROD) {
-    plugins.push('transform-remove-console')
-}
-
-module.exports = {
-    presets: [['@vue/cli-plugin-babel/preset', { useBuiltIns: 'entry' }]],
-    plugins,
-}
-
`,5),e=[o];function c(t,r,D,y,F,C){return a(),n("div",null,e)}const d=s(p,[["render",c]]);export{i as __pageData,d as default}; diff --git a/assets/guide_vue2_console.md.17071fdb.lean.js b/assets/guide_vue2_console.md.17071fdb.lean.js deleted file mode 100644 index 1749fea..0000000 --- a/assets/guide_vue2_console.md.17071fdb.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as n,o as a,a as l}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-\u53BB\u6389-console-log"}],"relativePath":"guide/vue2/console.md","lastUpdated":1661153879000}'),p={name:"guide/vue2/console.md"},o=l("",5),e=[o];function c(t,r,D,y,F,C){return a(),n("div",null,e)}const d=s(p,[["render",c]]);export{i as __pageData,d as default}; diff --git a/assets/guide_vue2_console.md.8c2b8150.js b/assets/guide_vue2_console.md.8c2b8150.js new file mode 100644 index 0000000..a1468aa --- /dev/null +++ b/assets/guide_vue2_console.md.8c2b8150.js @@ -0,0 +1,24 @@ +import{_ as s,c as n,o as a,a as l}from"./app.1a98d107.js";const i=JSON.parse('{"title":"\u53BB\u6389 console.log","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/console.md","lastUpdated":1661164664000}'),o={name:"guide/vue2/console.md"},p=l(`

\u53BB\u6389 console.log

\u4FDD\u7559\u4E86\u6D4B\u8BD5\u73AF\u5883\u548C\u672C\u5730\u73AF\u5883\u7684 console.log

bash
npm i -D babel-plugin-transform-remove-console
+

\u5728 babel.config.js \u4E2D\u914D\u7F6E

javascript
// \u83B7\u53D6 VUE_APP_ENV \u975E NODE_ENV\uFF0C\u6D4B\u8BD5\u73AF\u5883\u4F9D\u7136 console
+const IS_PROD = ["production", "prod"].includes(process.env.VUE_APP_ENV);
+const plugins = [
+  [
+    "import",
+    {
+      libraryName: "vant",
+      libraryDirectory: "es",
+      style: true,
+    },
+    "vant",
+  ],
+];
+// \u53BB\u9664 console.log
+if (IS_PROD) {
+  plugins.push("transform-remove-console");
+}
+
+module.exports = {
+  presets: [["@vue/cli-plugin-babel/preset", { useBuiltIns: "entry" }]],
+  plugins,
+};
+
`,5),e=[p];function c(t,r,D,F,y,C){return a(),n("div",null,e)}const u=s(o,[["render",c]]);export{i as __pageData,u as default}; diff --git a/assets/guide_vue2_console.md.8c2b8150.lean.js b/assets/guide_vue2_console.md.8c2b8150.lean.js new file mode 100644 index 0000000..34987ab --- /dev/null +++ b/assets/guide_vue2_console.md.8c2b8150.lean.js @@ -0,0 +1 @@ +import{_ as s,c as n,o as a,a as l}from"./app.1a98d107.js";const i=JSON.parse('{"title":"\u53BB\u6389 console.log","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/console.md","lastUpdated":1661164664000}'),o={name:"guide/vue2/console.md"},p=l("",5),e=[p];function c(t,r,D,F,y,C){return a(),n("div",null,e)}const u=s(o,[["render",c]]);export{i as __pageData,u as default}; diff --git a/assets/guide_vue2_env.md.46266d20.js b/assets/guide_vue2_env.md.2366ba54.js similarity index 68% rename from assets/guide_vue2_env.md.46266d20.js rename to assets/guide_vue2_env.md.2366ba54.js index 0e3a89e..fa2c3da 100644 --- a/assets/guide_vue2_env.md.46266d20.js +++ b/assets/guide_vue2_env.md.2366ba54.js @@ -1,4 +1,4 @@ -import{_ as s,c as n,o as a,a as p}from"./app.2b769fcb.js";const A=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-\u914D\u7F6E\u591A\u73AF\u5883\u53D8\u91CF"}],"relativePath":"guide/vue2/env.md","lastUpdated":1661153879000}'),o={name:"guide/vue2/env.md"},l=p(`

\u2705 \u914D\u7F6E\u591A\u73AF\u5883\u53D8\u91CF

package.json \u91CC\u7684 scripts \u914D\u7F6E serve stage build\uFF0C\u901A\u8FC7 --mode xxx \u6765\u6267\u884C\u4E0D\u540C\u73AF\u5883

  • \u901A\u8FC7 npm run serve \u542F\u52A8\u672C\u5730 , \u6267\u884C development
  • \u901A\u8FC7 npm run stage \u6253\u5305\u6D4B\u8BD5 , \u6267\u884C staging
  • \u901A\u8FC7 npm run build \u6253\u5305\u6B63\u5F0F , \u6267\u884C production
javascript
"scripts": {
+import{_ as s,c as n,o as a,a as o}from"./app.1a98d107.js";const A=JSON.parse('{"title":"\u914D\u7F6E\u591A\u73AF\u5883\u53D8\u91CF","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/env.md","lastUpdated":1661164664000}'),p={name:"guide/vue2/env.md"},l=o(`

\u914D\u7F6E\u591A\u73AF\u5883\u53D8\u91CF

package.json \u91CC\u7684 scripts \u914D\u7F6E serve stage build\uFF0C\u901A\u8FC7 --mode xxx \u6765\u6267\u884C\u4E0D\u540C\u73AF\u5883

  • \u901A\u8FC7 npm run serve \u542F\u52A8\u672C\u5730 , \u6267\u884C development
  • \u901A\u8FC7 npm run stage \u6253\u5305\u6D4B\u8BD5 , \u6267\u884C staging
  • \u901A\u8FC7 npm run build \u6253\u5305\u6B63\u5F0F , \u6267\u884C production
javascript
"scripts": {
   "serve": "vue-cli-service serve --open",
   "stage": "vue-cli-service build --mode staging",
   "build": "vue-cli-service build",
@@ -14,17 +14,17 @@ import{_ as s,c as n,o as a,a as p}from"./app.2b769fcb.js";const A=JSON.parse('{
 # must start with VUE_APP_
 VUE_APP_ENV = 'production'
 

\u8FD9\u91CC\u6211\u4EEC\u5E76\u6CA1\u6709\u5B9A\u4E49\u5F88\u591A\u53D8\u91CF\uFF0C\u53EA\u5B9A\u4E49\u4E86\u57FA\u7840\u7684 VUE_APP_ENV development staging production
\u53D8\u91CF\u6211\u4EEC\u7EDF\u4E00\u5728 src/config/env.*.js \u91CC\u8FDB\u884C\u7BA1\u7406\u3002

\u8FD9\u91CC\u6709\u4E2A\u95EE\u9898\uFF0C\u65E2\u7136\u8FD9\u91CC\u6709\u4E86\u6839\u636E\u4E0D\u540C\u73AF\u5883\u8BBE\u7F6E\u53D8\u91CF\u7684\u6587\u4EF6\uFF0C\u4E3A\u4EC0\u4E48\u8FD8\u8981\u53BB config \u4E0B\u65B0\u5EFA\u4E09\u4E2A\u5BF9\u5E94\u7684\u6587\u4EF6\u5462\uFF1F
\u4FEE\u6539\u8D77\u6765\u65B9\u4FBF\uFF0C\u4E0D\u9700 \u8981\u91CD\u542F\u9879\u76EE\uFF0C\u7B26\u5408\u5F00\u53D1\u4E60\u60EF\u3002

config/index.js

javascript
// \u6839\u636E\u73AF\u5883\u5F15\u5165\u4E0D\u540C\u914D\u7F6E process.env.NODE_ENV
-const config = require('./env.' + process.env.VUE_APP_ENV)
-module.exports = config
+const config = require("./env." + process.env.VUE_APP_ENV);
+module.exports = config;
 

\u914D\u7F6E\u5BF9\u5E94\u73AF\u5883\u7684\u53D8\u91CF\uFF0C\u62FF\u672C\u5730\u73AF\u5883\u6587\u4EF6 env.development.js \u4E3E\u4F8B\uFF0C\u7528\u6237\u53EF\u4EE5\u6839\u636E\u9700\u6C42\u4FEE\u6539

javascript
// \u672C\u5730\u73AF\u5883\u914D\u7F6E
 module.exports = {
-    title: 'vue-h5-template',
-    baseUrl: 'http://localhost:9018', // \u9879\u76EE\u5730\u5740
-    baseApi: 'https://test.xxx.com/api', // \u672C\u5730api\u8BF7\u6C42\u5730\u5740
-    APPID: 'xxx',
-    APPSECRET: 'xxx',
-}
+  title: "vue-h5-template",
+  baseUrl: "http://localhost:9018", // \u9879\u76EE\u5730\u5740
+  baseApi: "https://test.xxx.com/api", // \u672C\u5730api\u8BF7\u6C42\u5730\u5740
+  APPID: "xxx",
+  APPSECRET: "xxx",
+};
 

\u6839\u636E\u73AF\u5883\u4E0D\u540C\uFF0C\u53D8\u91CF\u5C31\u4F1A\u4E0D\u540C\u4E86

javascript
// \u6839\u636E\u73AF\u5883\u4E0D\u540C\u5F15\u5165\u4E0D\u540CbaseApi\u5730\u5740
-import { baseApi } from '@/config'
-console.log(baseApi)
-
`,21),e=[l];function c(t,r,D,y,F,i){return a(),n("div",null,e)}const C=s(o,[["render",c]]);export{A as __pageData,C as default}; +import { baseApi } from "@/config"; +console.log(baseApi); +
`,21),e=[l];function c(t,r,D,F,y,i){return a(),n("div",null,e)}const C=s(p,[["render",c]]);export{A as __pageData,C as default}; diff --git a/assets/guide_vue2_env.md.2366ba54.lean.js b/assets/guide_vue2_env.md.2366ba54.lean.js new file mode 100644 index 0000000..5bb618d --- /dev/null +++ b/assets/guide_vue2_env.md.2366ba54.lean.js @@ -0,0 +1 @@ +import{_ as s,c as n,o as a,a as o}from"./app.1a98d107.js";const A=JSON.parse('{"title":"\u914D\u7F6E\u591A\u73AF\u5883\u53D8\u91CF","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/env.md","lastUpdated":1661164664000}'),p={name:"guide/vue2/env.md"},l=o("",21),e=[l];function c(t,r,D,F,y,i){return a(),n("div",null,e)}const C=s(p,[["render",c]]);export{A as __pageData,C as default}; diff --git a/assets/guide_vue2_env.md.46266d20.lean.js b/assets/guide_vue2_env.md.46266d20.lean.js deleted file mode 100644 index 402ebdb..0000000 --- a/assets/guide_vue2_env.md.46266d20.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as n,o as a,a as p}from"./app.2b769fcb.js";const A=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-\u914D\u7F6E\u591A\u73AF\u5883\u53D8\u91CF"}],"relativePath":"guide/vue2/env.md","lastUpdated":1661153879000}'),o={name:"guide/vue2/env.md"},l=p("",21),e=[l];function c(t,r,D,y,F,i){return a(),n("div",null,e)}const C=s(o,[["render",c]]);export{A as __pageData,C as default}; diff --git a/assets/guide_vue2_externals.md.ecc69934.js b/assets/guide_vue2_externals.md.ecc69934.js new file mode 100644 index 0000000..cc2ff82 --- /dev/null +++ b/assets/guide_vue2_externals.md.ecc69934.js @@ -0,0 +1,66 @@ +import{_ as s,c as n,o as a,a as l}from"./app.1a98d107.js";const i=JSON.parse('{"title":"\u914D\u7F6E externals \u5F15\u5165 cdn \u8D44\u6E90","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/externals.md","lastUpdated":1661164664000}'),p={name:"guide/vue2/externals.md"},o=l(`

\u914D\u7F6E externals \u5F15\u5165 cdn \u8D44\u6E90

\u8FD9\u4E2A\u7248\u672C CDN \u4E0D\u518D\u5F15\u5165\uFF0C\u6211\u6D4B\u8BD5\u4E86\u4E00\u4E0B\u4F7F\u7528\u5F15\u5165 CDN \u548C\u4E0D\u4F7F\u7528,\u4E0D\u4F7F\u7528\u4F1A\u6BD4\u4F7F\u7528\u65F6\u95F4\u5C11\u3002\u7F51\u4E0A\u4E0D\u5C11\u6587\u7AE0\u6D4B\u8BD5 CDN \u901F\u5EA6\u5757\uFF0C\u8FD9\u4E2A\u5F00\u53D1\u8005\u53EF \u4EE5\u5B9E\u9645\u6D4B\u8BD5\u4E00\u4E0B\u3002

\u53E6\u5916\u9879\u76EE\u4E2D\u4F7F\u7528\u7684\u662F\u516C\u5171 CDN \u4E0D\u7A33\u5B9A\uFF0C\u57DF\u540D\u89E3\u6790\u4E5F\u662F\u9700\u8981\u65F6\u95F4\u7684\uFF08\u5982\u679C\u4F60\u8981\u4F7F\u7528\u8BF7\u5C3D\u91CF\u4F7F\u7528\u540C\u4E00\u4E2A\u57DF\u540D\uFF09

\u56E0\u4E3A\u9875\u9762\u6BCF\u6B21\u9047\u5230<script>\u6807\u7B7E\u90FD\u4F1A\u505C\u4E0B\u6765\u89E3\u6790\u6267\u884C\uFF0C\u6240\u4EE5\u5E94\u8BE5\u5C3D\u53EF\u80FD\u51CF\u5C11<script>\u6807\u7B7E\u7684\u6570\u91CF HTTP\u8BF7\u6C42\u5B58\u5728\u4E00\u5B9A\u7684\u5F00\u9500\uFF0C100K \u7684\u6587\u4EF6\u6BD4 5 \u4E2A 20K \u7684\u6587\u4EF6\u4E0B\u8F7D\u7684\u66F4\u5FEB\uFF0C\u6240\u4EE5\u8F83\u5C11\u811A\u672C\u6570\u91CF\u4E5F\u662F\u5F88\u6709\u5FC5\u8981\u7684

\u6682\u65F6\u8FD8\u6CA1\u6709\u7814\u7A76\u653E\u5230\u81EA\u5DF1\u7684 cdn \u670D\u52A1\u5668\u4E0A\u3002

javascript
const defaultSettings = require("./src/config/index.js");
+const name = defaultSettings.title || "vue mobile template";
+const IS_PROD = ["production", "prod"].includes(process.env.NODE_ENV);
+
+// externals
+const externals = {
+  vue: "Vue",
+  "vue-router": "VueRouter",
+  vuex: "Vuex",
+  vant: "vant",
+  axios: "axios",
+};
+// CDN\u5916\u94FE\uFF0C\u4F1A\u63D2\u5165\u5230index.html\u4E2D
+const cdn = {
+  // \u5F00\u53D1\u73AF\u5883
+  dev: {
+    css: [],
+    js: [],
+  },
+  // \u751F\u4EA7\u73AF\u5883
+  build: {
+    css: ["https://cdn.jsdelivr.net/npm/vant@2.4.7/lib/index.css"],
+    js: [
+      "https://cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js",
+      "https://cdn.jsdelivr.net/npm/vue-router@3.1.5/dist/vue-router.min.js",
+      "https://cdn.jsdelivr.net/npm/axios@0.19.2/dist/axios.min.js",
+      "https://cdn.jsdelivr.net/npm/vuex@3.1.2/dist/vuex.min.js",
+      "https://cdn.jsdelivr.net/npm/vant@2.4.7/lib/index.min.js",
+    ],
+  },
+};
+module.exports = {
+  configureWebpack: (config) => {
+    config.name = name;
+    // \u4E3A\u751F\u4EA7\u73AF\u5883\u4FEE\u6539\u914D\u7F6E...
+    if (IS_PROD) {
+      // externals
+      config.externals = externals;
+    }
+  },
+  chainWebpack: (config) => {
+    /**
+     * \u6DFB\u52A0CDN\u53C2\u6570\u5230htmlWebpackPlugin\u914D\u7F6E\u4E2D
+     */
+    config.plugin("html").tap((args) => {
+      if (IS_PROD) {
+        args[0].cdn = cdn.build;
+      } else {
+        args[0].cdn = cdn.dev;
+      }
+      return args;
+    });
+  },
+};
+

\u5728 public/index.html \u4E2D\u6DFB\u52A0

javascript
    <!-- \u4F7F\u7528CDN\u7684CSS\u6587\u4EF6 -->
+    <% for (var i in
+      htmlWebpackPlugin.options.cdn&&htmlWebpackPlugin.options.cdn.css) { %>
+      <link href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" rel="preload" as="style" />
+      <link href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" rel="stylesheet" />
+    <% } %>
+     <!-- \u4F7F\u7528CDN\u52A0\u901F\u7684JS\u6587\u4EF6\uFF0C\u914D\u7F6E\u5728vue.config.js\u4E0B -->
+    <% for (var i in
+      htmlWebpackPlugin.options.cdn&&htmlWebpackPlugin.options.cdn.js) { %>
+      <script src="<%= htmlWebpackPlugin.options.cdn.js[i] %>"></script>
+    <% } %>
+
`,8),e=[o];function t(c,D,r,F,y,C){return a(),n("div",null,e)}const u=s(p,[["render",t]]);export{i as __pageData,u as default}; diff --git a/assets/guide_vue2_externals.md.ecc69934.lean.js b/assets/guide_vue2_externals.md.ecc69934.lean.js new file mode 100644 index 0000000..c4d3c5b --- /dev/null +++ b/assets/guide_vue2_externals.md.ecc69934.lean.js @@ -0,0 +1 @@ +import{_ as s,c as n,o as a,a as l}from"./app.1a98d107.js";const i=JSON.parse('{"title":"\u914D\u7F6E externals \u5F15\u5165 cdn \u8D44\u6E90","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/externals.md","lastUpdated":1661164664000}'),p={name:"guide/vue2/externals.md"},o=l("",8),e=[o];function t(c,D,r,F,y,C){return a(),n("div",null,e)}const u=s(p,[["render",t]]);export{i as __pageData,u as default}; diff --git a/assets/guide_vue2_externals.md.f9fa4262.js b/assets/guide_vue2_externals.md.f9fa4262.js deleted file mode 100644 index 0aee5aa..0000000 --- a/assets/guide_vue2_externals.md.f9fa4262.js +++ /dev/null @@ -1,66 +0,0 @@ -import{_ as s,c as n,o as a,a as l}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-\u914D\u7F6E-externals-\u5F15\u5165-cdn-\u8D44\u6E90"}],"relativePath":"guide/vue2/externals.md","lastUpdated":1661153879000}'),p={name:"guide/vue2/externals.md"},o=l(`

\u2705 \u914D\u7F6E externals \u5F15\u5165 cdn \u8D44\u6E90

\u8FD9\u4E2A\u7248\u672C CDN \u4E0D\u518D\u5F15\u5165\uFF0C\u6211\u6D4B\u8BD5\u4E86\u4E00\u4E0B\u4F7F\u7528\u5F15\u5165 CDN \u548C\u4E0D\u4F7F\u7528,\u4E0D\u4F7F\u7528\u4F1A\u6BD4\u4F7F\u7528\u65F6\u95F4\u5C11\u3002\u7F51\u4E0A\u4E0D\u5C11\u6587\u7AE0\u6D4B\u8BD5 CDN \u901F\u5EA6\u5757\uFF0C\u8FD9\u4E2A\u5F00\u53D1\u8005\u53EF \u4EE5\u5B9E\u9645\u6D4B\u8BD5\u4E00\u4E0B\u3002

\u53E6\u5916\u9879\u76EE\u4E2D\u4F7F\u7528\u7684\u662F\u516C\u5171 CDN \u4E0D\u7A33\u5B9A\uFF0C\u57DF\u540D\u89E3\u6790\u4E5F\u662F\u9700\u8981\u65F6\u95F4\u7684\uFF08\u5982\u679C\u4F60\u8981\u4F7F\u7528\u8BF7\u5C3D\u91CF\u4F7F\u7528\u540C\u4E00\u4E2A\u57DF\u540D\uFF09

\u56E0\u4E3A\u9875\u9762\u6BCF\u6B21\u9047\u5230<script>\u6807\u7B7E\u90FD\u4F1A\u505C\u4E0B\u6765\u89E3\u6790\u6267\u884C\uFF0C\u6240\u4EE5\u5E94\u8BE5\u5C3D\u53EF\u80FD\u51CF\u5C11<script>\u6807\u7B7E\u7684\u6570\u91CF HTTP\u8BF7\u6C42\u5B58\u5728\u4E00\u5B9A\u7684\u5F00\u9500\uFF0C100K \u7684\u6587\u4EF6\u6BD4 5 \u4E2A 20K \u7684\u6587\u4EF6\u4E0B\u8F7D\u7684\u66F4\u5FEB\uFF0C\u6240\u4EE5\u8F83\u5C11\u811A\u672C\u6570\u91CF\u4E5F\u662F\u5F88\u6709\u5FC5\u8981\u7684

\u6682\u65F6\u8FD8\u6CA1\u6709\u7814\u7A76\u653E\u5230\u81EA\u5DF1\u7684 cdn \u670D\u52A1\u5668\u4E0A\u3002

javascript
const defaultSettings = require('./src/config/index.js')
-const name = defaultSettings.title || 'vue mobile template'
-const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV)
-
-// externals
-const externals = {
-    vue: 'Vue',
-    'vue-router': 'VueRouter',
-    vuex: 'Vuex',
-    vant: 'vant',
-    axios: 'axios',
-}
-// CDN\u5916\u94FE\uFF0C\u4F1A\u63D2\u5165\u5230index.html\u4E2D
-const cdn = {
-    // \u5F00\u53D1\u73AF\u5883
-    dev: {
-        css: [],
-        js: [],
-    },
-    // \u751F\u4EA7\u73AF\u5883
-    build: {
-        css: ['https://cdn.jsdelivr.net/npm/vant@2.4.7/lib/index.css'],
-        js: [
-            'https://cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js',
-            'https://cdn.jsdelivr.net/npm/vue-router@3.1.5/dist/vue-router.min.js',
-            'https://cdn.jsdelivr.net/npm/axios@0.19.2/dist/axios.min.js',
-            'https://cdn.jsdelivr.net/npm/vuex@3.1.2/dist/vuex.min.js',
-            'https://cdn.jsdelivr.net/npm/vant@2.4.7/lib/index.min.js',
-        ],
-    },
-}
-module.exports = {
-    configureWebpack: config => {
-        config.name = name
-        // \u4E3A\u751F\u4EA7\u73AF\u5883\u4FEE\u6539\u914D\u7F6E...
-        if (IS_PROD) {
-            // externals
-            config.externals = externals
-        }
-    },
-    chainWebpack: config => {
-        /**
-         * \u6DFB\u52A0CDN\u53C2\u6570\u5230htmlWebpackPlugin\u914D\u7F6E\u4E2D
-         */
-        config.plugin('html').tap(args => {
-            if (IS_PROD) {
-                args[0].cdn = cdn.build
-            } else {
-                args[0].cdn = cdn.dev
-            }
-            return args
-        })
-    },
-}
-

\u5728 public/index.html \u4E2D\u6DFB\u52A0

javascript
    <!-- \u4F7F\u7528CDN\u7684CSS\u6587\u4EF6 -->
-    <% for (var i in
-      htmlWebpackPlugin.options.cdn&&htmlWebpackPlugin.options.cdn.css) { %>
-      <link href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" rel="preload" as="style" />
-      <link href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" rel="stylesheet" />
-    <% } %>
-     <!-- \u4F7F\u7528CDN\u52A0\u901F\u7684JS\u6587\u4EF6\uFF0C\u914D\u7F6E\u5728vue.config.js\u4E0B -->
-    <% for (var i in
-      htmlWebpackPlugin.options.cdn&&htmlWebpackPlugin.options.cdn.js) { %>
-      <script src="<%= htmlWebpackPlugin.options.cdn.js[i] %>"></script>
-    <% } %>
-
`,8),e=[o];function t(c,D,r,F,y,C){return a(),n("div",null,e)}const d=s(p,[["render",t]]);export{i as __pageData,d as default}; diff --git a/assets/guide_vue2_externals.md.f9fa4262.lean.js b/assets/guide_vue2_externals.md.f9fa4262.lean.js deleted file mode 100644 index 86227a5..0000000 --- a/assets/guide_vue2_externals.md.f9fa4262.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as n,o as a,a as l}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-\u914D\u7F6E-externals-\u5F15\u5165-cdn-\u8D44\u6E90"}],"relativePath":"guide/vue2/externals.md","lastUpdated":1661153879000}'),p={name:"guide/vue2/externals.md"},o=l("",8),e=[o];function t(c,D,r,F,y,C){return a(),n("div",null,e)}const d=s(p,[["render",t]]);export{i as __pageData,d as default}; diff --git a/assets/guide_vue2_ie.md.16580015.js b/assets/guide_vue2_ie.md.16580015.js deleted file mode 100644 index 8b6358f..0000000 --- a/assets/guide_vue2_ie.md.16580015.js +++ /dev/null @@ -1,12 +0,0 @@ -import{_ as s,c as a,o as n,a as e}from"./app.2b769fcb.js";const C=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-\u6DFB\u52A0-ie-\u517C\u5BB9"}],"relativePath":"guide/vue2/ie.md","lastUpdated":1661153879000}'),p={name:"guide/vue2/ie.md"},l=e(`

\u2705 \u6DFB\u52A0 IE \u517C\u5BB9

\u4E4B\u524D\u7684\u65B9\u5F0F \u4F1A\u62A5 @babel/polyfill is deprecated. Please, use required parts of core-js and regenerator-runtime/runtime separately

@babel/polyfill \u5E9F\u5F03\uFF0C\u4F7F\u7528 core-js \u548C regenerator-runtime

bash
npm i --save core-js regenerator-runtime
-

\u5728 main.js \u4E2D\u6DFB\u52A0

javascript
// \u517C\u5BB9 IE
-// https://github.com/zloirock/core-js/blob/master/docs/2019-03-19-core-js-3-babel-and-a-look-into-the-future.md#babelpolyfill
-import 'core-js/stable'
-import 'regenerator-runtime/runtime'
-

\u914D\u7F6E babel.config.js

javascript
const plugins = []
-
-module.exports = {
-    presets: [['@vue/cli-plugin-babel/preset', { useBuiltIns: 'usage', corejs: 3 }]],
-    plugins,
-}
-
`,8),o=[l];function c(t,r,i,D,y,d){return n(),a("div",null,o)}const u=s(p,[["render",c]]);export{C as __pageData,u as default}; diff --git a/assets/guide_vue2_ie.md.16580015.lean.js b/assets/guide_vue2_ie.md.16580015.lean.js deleted file mode 100644 index d9a8318..0000000 --- a/assets/guide_vue2_ie.md.16580015.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as a,o as n,a as e}from"./app.2b769fcb.js";const C=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-\u6DFB\u52A0-ie-\u517C\u5BB9"}],"relativePath":"guide/vue2/ie.md","lastUpdated":1661153879000}'),p={name:"guide/vue2/ie.md"},l=e("",8),o=[l];function c(t,r,i,D,y,d){return n(),a("div",null,o)}const u=s(p,[["render",c]]);export{C as __pageData,u as default}; diff --git a/assets/guide_vue2_ie.md.4dd19ff1.js b/assets/guide_vue2_ie.md.4dd19ff1.js new file mode 100644 index 0000000..8aee877 --- /dev/null +++ b/assets/guide_vue2_ie.md.4dd19ff1.js @@ -0,0 +1,14 @@ +import{_ as s,c as a,o as n,a as o}from"./app.1a98d107.js";const C=JSON.parse('{"title":"\u6DFB\u52A0 IE \u517C\u5BB9","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/ie.md","lastUpdated":1661164664000}'),e={name:"guide/vue2/ie.md"},p=o(`

\u6DFB\u52A0 IE \u517C\u5BB9

\u4E4B\u524D\u7684\u65B9\u5F0F \u4F1A\u62A5 @babel/polyfill is deprecated. Please, use required parts of core-js and regenerator-runtime/runtime separately

@babel/polyfill \u5E9F\u5F03\uFF0C\u4F7F\u7528 core-js \u548C regenerator-runtime

bash
npm i --save core-js regenerator-runtime
+

\u5728 main.js \u4E2D\u6DFB\u52A0

javascript
// \u517C\u5BB9 IE
+// https://github.com/zloirock/core-js/blob/master/docs/2019-03-19-core-js-3-babel-and-a-look-into-the-future.md#babelpolyfill
+import "core-js/stable";
+import "regenerator-runtime/runtime";
+

\u914D\u7F6E babel.config.js

javascript
const plugins = [];
+
+module.exports = {
+  presets: [
+    ["@vue/cli-plugin-babel/preset", { useBuiltIns: "usage", corejs: 3 }],
+  ],
+  plugins,
+};
+
`,8),l=[p];function c(t,r,D,i,y,F){return n(),a("div",null,l)}const u=s(e,[["render",c]]);export{C as __pageData,u as default}; diff --git a/assets/guide_vue2_ie.md.4dd19ff1.lean.js b/assets/guide_vue2_ie.md.4dd19ff1.lean.js new file mode 100644 index 0000000..1d13902 --- /dev/null +++ b/assets/guide_vue2_ie.md.4dd19ff1.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,a as o}from"./app.1a98d107.js";const C=JSON.parse('{"title":"\u6DFB\u52A0 IE \u517C\u5BB9","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/ie.md","lastUpdated":1661164664000}'),e={name:"guide/vue2/ie.md"},p=o("",8),l=[p];function c(t,r,D,i,y,F){return n(),a("div",null,l)}const u=s(e,[["render",c]]);export{C as __pageData,u as default}; diff --git a/assets/guide_vue2_lint.md.02135409.lean.js b/assets/guide_vue2_lint.md.02135409.lean.js deleted file mode 100644 index 784cd34..0000000 --- a/assets/guide_vue2_lint.md.02135409.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as n,o as a,a as o}from"./app.2b769fcb.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-eslint-pettier-\u7EDF\u4E00\u5F00\u53D1\u89C4\u8303"}],"relativePath":"guide/vue2/lint.md","lastUpdated":1661153879000}'),l={name:"guide/vue2/lint.md"},p=o("",6),t=[p];function e(D,c,r,y,C,F){return a(),n("div",null,t)}const i=s(l,[["render",e]]);export{u as __pageData,i as default}; diff --git a/assets/guide_vue2_lint.md.02135409.js b/assets/guide_vue2_lint.md.5047741d.js similarity index 96% rename from assets/guide_vue2_lint.md.02135409.js rename to assets/guide_vue2_lint.md.5047741d.js index ed014c9..7261c06 100644 --- a/assets/guide_vue2_lint.md.02135409.js +++ b/assets/guide_vue2_lint.md.5047741d.js @@ -1,4 +1,4 @@ -import{_ as s,c as n,o as a,a as o}from"./app.2b769fcb.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-eslint-pettier-\u7EDF\u4E00\u5F00\u53D1\u89C4\u8303"}],"relativePath":"guide/vue2/lint.md","lastUpdated":1661153879000}'),l={name:"guide/vue2/lint.md"},p=o(`

\u2705 Eslint + Pettier \u7EDF\u4E00\u5F00\u53D1\u89C4\u8303

VScode \uFF08\u7248\u672C 1.47.3\uFF09\u5B89\u88C5 eslint prettier vetur \u63D2\u4EF6 .vue \u6587\u4EF6\u4F7F\u7528 vetur \u8FDB\u884C\u683C\u5F0F\u5316\uFF0C\u5176\u4ED6\u4F7F\u7528prettier,\u540E\u9762\u4F1A \u4E13\u95E8\u5199\u4E2A\u5982\u4F55\u4F7F\u7528\u914D\u5408\u4F7F\u7528\u8FD9\u4E09\u4E2A\u73A9\u610F

\u5728\u6587\u4EF6 .prettierrc \u91CC\u5199 \u5C5E\u4E8E\u4F60\u7684 pettier \u89C4\u5219

bash
{
+import{_ as s,c as n,o as a,a as o}from"./app.1a98d107.js";const u=JSON.parse('{"title":"Eslint + Pettier \u7EDF\u4E00\u5F00\u53D1\u89C4\u8303","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/lint.md","lastUpdated":1661164664000}'),l={name:"guide/vue2/lint.md"},p=o(`

Eslint + Pettier \u7EDF\u4E00\u5F00\u53D1\u89C4\u8303

VScode \uFF08\u7248\u672C 1.47.3\uFF09\u5B89\u88C5 eslint prettier vetur \u63D2\u4EF6 .vue \u6587\u4EF6\u4F7F\u7528 vetur \u8FDB\u884C\u683C\u5F0F\u5316\uFF0C\u5176\u4ED6\u4F7F\u7528prettier,\u540E\u9762\u4F1A \u4E13\u95E8\u5199\u4E2A\u5982\u4F55\u4F7F\u7528\u914D\u5408\u4F7F\u7528\u8FD9\u4E09\u4E2A\u73A9\u610F

\u5728\u6587\u4EF6 .prettierrc \u91CC\u5199 \u5C5E\u4E8E\u4F60\u7684 pettier \u89C4\u5219

bash
{
    "printWidth": 120,
    "tabWidth": 2,
    "singleQuote": true,
diff --git a/assets/guide_vue2_lint.md.5047741d.lean.js b/assets/guide_vue2_lint.md.5047741d.lean.js
new file mode 100644
index 0000000..93fee97
--- /dev/null
+++ b/assets/guide_vue2_lint.md.5047741d.lean.js
@@ -0,0 +1 @@
+import{_ as s,c as n,o as a,a as o}from"./app.1a98d107.js";const u=JSON.parse('{"title":"Eslint + Pettier \u7EDF\u4E00\u5F00\u53D1\u89C4\u8303","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/lint.md","lastUpdated":1661164664000}'),l={name:"guide/vue2/lint.md"},p=o("",6),t=[p];function e(D,c,r,y,C,F){return a(),n("div",null,t)}const i=s(l,[["render",e]]);export{u as __pageData,i as default};
diff --git a/assets/guide_vue2_proxy.md.7949d9af.js b/assets/guide_vue2_proxy.md.7949d9af.js
new file mode 100644
index 0000000..0686457
--- /dev/null
+++ b/assets/guide_vue2_proxy.md.7949d9af.js
@@ -0,0 +1,24 @@
+import{_ as s,c as a,o as n,a as p}from"./app.1a98d107.js";const C=JSON.parse('{"title":"\u914D\u7F6E proxy \u8DE8\u57DF","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/proxy.md","lastUpdated":1661164664000}'),o={name:"guide/vue2/proxy.md"},l=p(`

\u914D\u7F6E proxy \u8DE8\u57DF

\u5982\u679C\u4F60\u7684\u9879\u76EE\u9700\u8981\u8DE8\u57DF\u8BBE\u7F6E\uFF0C\u4F60\u9700\u8981\u6253\u6765 vue.config.js proxy \u6CE8\u91CA \u5E76\u4E14\u914D\u7F6E\u76F8\u5E94\u53C2\u6570

!!!\u6CE8\u610F\uFF1A\u4F60\u8FD8\u9700\u8981\u5C06 src/config/env.development.js \u91CC\u7684 baseApi \u8BBE\u7F6E\u6210 '/'

javascript
module.exports = {
+  devServer: {
+    // ....
+    proxy: {
+      //\u914D\u7F6E\u8DE8\u57DF
+      "/api": {
+        target: "https://test.xxx.com", // \u63A5\u53E3\u7684\u57DF\u540D
+        // ws: true, // \u662F\u5426\u542F\u7528websockets
+        changOrigin: true, // \u5F00\u542F\u4EE3\u7406\uFF0C\u5728\u672C\u5730\u521B\u5EFA\u4E00\u4E2A\u865A\u62DF\u670D\u52A1\u7AEF
+        pathRewrite: {
+          "^/api": "/",
+        },
+      },
+    },
+  },
+};
+

\u4F7F\u7528 \u4F8B\u5982: src/api/home.js

javascript
export function getUserInfo(params) {
+  return request({
+    url: "/api/userinfo",
+    method: "post",
+    data: qs.stringify(params),
+  });
+}
+
`,6),e=[l];function t(c,r,D,F,y,A){return n(),a("div",null,e)}const d=s(o,[["render",t]]);export{C as __pageData,d as default}; diff --git a/assets/guide_vue2_proxy.md.7949d9af.lean.js b/assets/guide_vue2_proxy.md.7949d9af.lean.js new file mode 100644 index 0000000..3bc2b77 --- /dev/null +++ b/assets/guide_vue2_proxy.md.7949d9af.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,a as p}from"./app.1a98d107.js";const C=JSON.parse('{"title":"\u914D\u7F6E proxy \u8DE8\u57DF","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/proxy.md","lastUpdated":1661164664000}'),o={name:"guide/vue2/proxy.md"},l=p("",6),e=[l];function t(c,r,D,F,y,A){return n(),a("div",null,e)}const d=s(o,[["render",t]]);export{C as __pageData,d as default}; diff --git a/assets/guide_vue2_proxy.md.e2d9b251.js b/assets/guide_vue2_proxy.md.e2d9b251.js deleted file mode 100644 index b2ce6ef..0000000 --- a/assets/guide_vue2_proxy.md.e2d9b251.js +++ /dev/null @@ -1,24 +0,0 @@ -import{_ as s,c as a,o as n,a as p}from"./app.2b769fcb.js";const C=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-\u914D\u7F6E-proxy-\u8DE8\u57DF"}],"relativePath":"guide/vue2/proxy.md","lastUpdated":1661153879000}'),l={name:"guide/vue2/proxy.md"},o=p(`

\u2705 \u914D\u7F6E proxy \u8DE8\u57DF

\u5982\u679C\u4F60\u7684\u9879\u76EE\u9700\u8981\u8DE8\u57DF\u8BBE\u7F6E\uFF0C\u4F60\u9700\u8981\u6253\u6765 vue.config.js proxy \u6CE8\u91CA \u5E76\u4E14\u914D\u7F6E\u76F8\u5E94\u53C2\u6570

!!!\u6CE8\u610F\uFF1A\u4F60\u8FD8\u9700\u8981\u5C06 src/config/env.development.js \u91CC\u7684 baseApi \u8BBE\u7F6E\u6210 '/'

javascript
module.exports = {
-    devServer: {
-        // ....
-        proxy: {
-            //\u914D\u7F6E\u8DE8\u57DF
-            '/api': {
-                target: 'https://test.xxx.com', // \u63A5\u53E3\u7684\u57DF\u540D
-                // ws: true, // \u662F\u5426\u542F\u7528websockets
-                changOrigin: true, // \u5F00\u542F\u4EE3\u7406\uFF0C\u5728\u672C\u5730\u521B\u5EFA\u4E00\u4E2A\u865A\u62DF\u670D\u52A1\u7AEF
-                pathRewrite: {
-                    '^/api': '/',
-                },
-            },
-        },
-    },
-}
-

\u4F7F\u7528 \u4F8B\u5982: src/api/home.js

javascript
export function getUserInfo(params) {
-    return request({
-        url: '/api/userinfo',
-        method: 'post',
-        data: qs.stringify(params),
-    })
-}
-
`,6),e=[o];function c(t,r,D,F,y,A){return n(),a("div",null,e)}const d=s(l,[["render",c]]);export{C as __pageData,d as default}; diff --git a/assets/guide_vue2_proxy.md.e2d9b251.lean.js b/assets/guide_vue2_proxy.md.e2d9b251.lean.js deleted file mode 100644 index 7d83692..0000000 --- a/assets/guide_vue2_proxy.md.e2d9b251.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as a,o as n,a as p}from"./app.2b769fcb.js";const C=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-\u914D\u7F6E-proxy-\u8DE8\u57DF"}],"relativePath":"guide/vue2/proxy.md","lastUpdated":1661153879000}'),l={name:"guide/vue2/proxy.md"},o=p("",6),e=[o];function c(t,r,D,F,y,A){return n(),a("div",null,e)}const d=s(l,[["render",c]]);export{C as __pageData,d as default}; diff --git a/assets/guide_vue2_rem.md.0120d753.js b/assets/guide_vue2_rem.md.0120d753.js new file mode 100644 index 0000000..b8182f5 --- /dev/null +++ b/assets/guide_vue2_rem.md.0120d753.js @@ -0,0 +1,34 @@ +import{_ as s,c as a,o as n,a as p}from"./app.1a98d107.js";const d=JSON.parse('{"title":"rem \u9002\u914D\u65B9\u6848","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/rem.md","lastUpdated":1661164664000}'),o={name:"guide/vue2/rem.md"},l=p(`

rem \u9002\u914D\u65B9\u6848

\u4E0D\u7528\u62C5\u5FC3\uFF0C\u9879\u76EE\u5DF2\u7ECF\u914D\u7F6E\u597D\u4E86 rem \u9002\u914D, \u4E0B\u9762\u4EC5\u505A\u4ECB\u7ECD\uFF1A

Vant \u4E2D\u7684\u6837\u5F0F\u9ED8\u8BA4\u4F7F\u7528px\u4F5C\u4E3A\u5355\u4F4D\uFF0C\u5982\u679C\u9700\u8981\u4F7F\u7528rem\u5355\u4F4D\uFF0C\u63A8\u8350\u4F7F\u7528\u4EE5\u4E0B\u4E24\u4E2A\u5DE5\u5177:

  • postcss-pxtorem \u662F\u4E00\u6B3E postcss \u63D2\u4EF6\uFF0C\u7528\u4E8E\u5C06\u5355\u4F4D\u8F6C\u5316\u4E3A rem
  • lib-flexible \u7528\u4E8E\u8BBE\u7F6E rem \u57FA\u51C6\u503C
PostCSS \u914D\u7F6E

\u4E0B\u9762\u63D0\u4F9B\u4E86\u4E00\u4EFD\u57FA\u672C\u7684 postcss \u914D\u7F6E\uFF0C\u53EF\u4EE5\u5728\u6B64\u914D\u7F6E\u7684\u57FA\u7840\u4E0A\u6839\u636E\u9879\u76EE\u9700\u6C42\u8FDB\u884C\u4FEE\u6539

javascript
// https://github.com/michael-ciniawsky/postcss-load-config
+module.exports = {
+  plugins: {
+    autoprefixer: {
+      overrideBrowserslist: [
+        "Android 4.1",
+        "iOS 7.1",
+        "Chrome > 31",
+        "ff > 31",
+        "ie >= 8",
+      ],
+    },
+    "postcss-pxtorem": {
+      rootValue: 37.5,
+      propList: ["*"],
+    },
+  },
+};
+

\u66F4\u591A\u8BE6\u7EC6\u4FE1\u606F\uFF1A vant

\u65B0\u624B\u5FC5\u770B\uFF0C\u8001\u9E1F\u8DF3\u8FC7

\u5F88\u591A\u5C0F\u4F19\u4F34\u4F1A\u95EE\u6211\uFF0C\u9002\u914D\u7684\u95EE\u9898,\u56E0\u4E3A\u6211\u4EEC\u4F7F\u7528\u7684\u662F Vant UI\uFF0C\u6240\u4EE5\u5FC5\u987B\u6839\u636E Vant UI 375 \u7684\u8BBE\u8BA1\u89C4\u8303\u8D70\uFF0C\u4E00\u822C\u6211\u4EEC\u7684\u8BBE\u8BA1\u4F1A\u5C06 UI \u56FE\u4E0A\u4F20\u5230\u84DD\u6E56\uFF0C\u6211\u4EEC\u5C31\u53EF\u4EE5\u9700\u8981\u7684\u5C3A\u5BF8\u4E86\u3002\u4E0B\u9762\u5C31\u5927\u641E\u666E\u53CA\u4E00\u4E0B rem\u3002

\u6211\u4EEC\u77E5\u9053 1rem \u7B49\u4E8Ehtml \u6839\u5143\u7D20\u8BBE\u5B9A\u7684 font-size \u7684 px \u503C\u3002Vant UI \u8BBE\u7F6E rootValue: 37.5,\u4F60\u53EF\u4EE5\u770B\u5230\u5728 iPhone 6 \u4E0B\u770B\u5230 \uFF081rem \u7B49\u4E8E 37.5px\uFF09\uFF1A

html
<html data-dpr="1" style="font-size: 37.5px;"></html>
+

\u5207\u6362\u4E0D\u540C\u7684\u673A\u578B\uFF0C\u6839\u5143\u7D20\u53EF\u80FD\u4F1A\u6709\u4E0D\u540C\u7684font-size\u3002\u5F53\u4F60\u5199 css px \u6837\u5F0F\u65F6\uFF0C\u4F1A\u88AB\u7A0B\u5E8F\u6362\u7B97\u6210 rem \u8FBE\u5230\u9002\u914D\u3002

\u56E0\u4E3A\u6211\u4EEC\u7528\u4E86 Vant \u7684\u7EC4\u4EF6\uFF0C\u9700\u8981\u6309\u7167 rootValue: 37.5 \u6765\u5199\u6837\u5F0F\u3002

\u4E3E\u4E2A\u4F8B\u5B50\uFF1A\u8BBE\u8BA1\u7ED9\u4E86\u4F60\u4E00\u5F20 750px * 1334px \u56FE\u7247\uFF0C\u5728 iPhone6 \u4E0A\u94FA\u6EE1\u5C4F\u5E55,\u5176\u4ED6\u673A\u578B\u9002\u914D\u3002

  • \u5F53rootValue: 70 , \u6837\u5F0F width: 750px;height: 1334px; \u56FE\u7247\u4F1A\u6491\u6EE1 iPhone6 \u5C4F\u5E55\uFF0C\u8FD9\u4E2A\u65F6\u5019\u5207\u6362\u5176\u4ED6\u673A\u578B\uFF0C\u56FE\u7247\u4E5F\u4F1A\u8DDF\u7740\u6491\u6EE1\u3002
  • \u5F53rootValue: 37.5 \u7684\u65F6\u5019\uFF0C\u6837\u5F0F width: 375px;height: 667px; \u56FE\u7247\u4F1A\u6491\u6EE1 iPhone6 \u5C4F\u5E55\u3002

\u4E5F\u5C31\u662F iphone 6 \u4E0B 375px \u5BBD\u5EA6\u5199 CSS\u3002\u5176\u4ED6\u7684\u4F60\u5C31\u53EF\u4EE5\u6839\u636E\u4F60\u8BBE\u8BA1\u56FE\uFF0C\u53BB\u5199\u5BF9\u5E94\u7684\u6837\u5F0F\u5C31\u53EF\u4EE5\u4E86\u3002

\u5F53\u7136\uFF0C\u60F3\u8981\u6491\u6EE1\u5C4F\u5E55\u4F60\u53EF\u4EE5\u4F7F\u7528 100%\uFF0C\u8FD9\u91CC\u53EA\u662F\u4E3E\u4F8B\u8BF4\u660E\u3002

html
<img class="image" src="https://www.sunniejs.cn/static/weapp/logo.png" />
+
+<style>
+  /* rootValue: 75 */
+  .image {
+    width: 750px;
+    height: 1334px;
+  }
+  /* rootValue: 37.5 */
+  .image {
+    width: 375px;
+    height: 667px;
+  }
+</style>
+
`,19),e=[l];function t(c,r,D,F,y,i){return n(),a("div",null,e)}const A=s(o,[["render",t]]);export{d as __pageData,A as default}; diff --git a/assets/guide_vue2_rem.md.0120d753.lean.js b/assets/guide_vue2_rem.md.0120d753.lean.js new file mode 100644 index 0000000..b2b250c --- /dev/null +++ b/assets/guide_vue2_rem.md.0120d753.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,a as p}from"./app.1a98d107.js";const d=JSON.parse('{"title":"rem \u9002\u914D\u65B9\u6848","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/rem.md","lastUpdated":1661164664000}'),o={name:"guide/vue2/rem.md"},l=p("",19),e=[l];function t(c,r,D,F,y,i){return n(),a("div",null,e)}const A=s(o,[["render",t]]);export{d as __pageData,A as default}; diff --git a/assets/guide_vue2_rem.md.642649e3.js b/assets/guide_vue2_rem.md.642649e3.js deleted file mode 100644 index 7cd11ba..0000000 --- a/assets/guide_vue2_rem.md.642649e3.js +++ /dev/null @@ -1,28 +0,0 @@ -import{_ as s,c as a,o as n,a as p}from"./app.2b769fcb.js";const d=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-rem-\u9002\u914D\u65B9\u6848"}],"relativePath":"guide/vue2/rem.md","lastUpdated":1661153879000}'),o={name:"guide/vue2/rem.md"},l=p(`

\u2705 rem \u9002\u914D\u65B9\u6848

\u4E0D\u7528\u62C5\u5FC3\uFF0C\u9879\u76EE\u5DF2\u7ECF\u914D\u7F6E\u597D\u4E86 rem \u9002\u914D, \u4E0B\u9762\u4EC5\u505A\u4ECB\u7ECD\uFF1A

Vant \u4E2D\u7684\u6837\u5F0F\u9ED8\u8BA4\u4F7F\u7528px\u4F5C\u4E3A\u5355\u4F4D\uFF0C\u5982\u679C\u9700\u8981\u4F7F\u7528rem\u5355\u4F4D\uFF0C\u63A8\u8350\u4F7F\u7528\u4EE5\u4E0B\u4E24\u4E2A\u5DE5\u5177:

  • postcss-pxtorem \u662F\u4E00\u6B3E postcss \u63D2\u4EF6\uFF0C\u7528\u4E8E\u5C06\u5355\u4F4D\u8F6C\u5316\u4E3A rem
  • lib-flexible \u7528\u4E8E\u8BBE\u7F6E rem \u57FA\u51C6\u503C
PostCSS \u914D\u7F6E

\u4E0B\u9762\u63D0\u4F9B\u4E86\u4E00\u4EFD\u57FA\u672C\u7684 postcss \u914D\u7F6E\uFF0C\u53EF\u4EE5\u5728\u6B64\u914D\u7F6E\u7684\u57FA\u7840\u4E0A\u6839\u636E\u9879\u76EE\u9700\u6C42\u8FDB\u884C\u4FEE\u6539

javascript
// https://github.com/michael-ciniawsky/postcss-load-config
-module.exports = {
-    plugins: {
-        autoprefixer: {
-            overrideBrowserslist: ['Android 4.1', 'iOS 7.1', 'Chrome > 31', 'ff > 31', 'ie >= 8']
-        },
-        'postcss-pxtorem': {
-            rootValue: 37.5,
-            propList: ['*']
-        }
-    }
-}
-

\u66F4\u591A\u8BE6\u7EC6\u4FE1\u606F\uFF1A vant

\u65B0\u624B\u5FC5\u770B\uFF0C\u8001\u9E1F\u8DF3\u8FC7

\u5F88\u591A\u5C0F\u4F19\u4F34\u4F1A\u95EE\u6211\uFF0C\u9002\u914D\u7684\u95EE\u9898,\u56E0\u4E3A\u6211\u4EEC\u4F7F\u7528\u7684\u662F Vant UI\uFF0C\u6240\u4EE5\u5FC5\u987B\u6839\u636E Vant UI 375 \u7684\u8BBE\u8BA1\u89C4\u8303\u8D70\uFF0C\u4E00\u822C\u6211\u4EEC\u7684\u8BBE\u8BA1\u4F1A\u5C06 UI \u56FE\u4E0A\u4F20\u5230\u84DD\u6E56\uFF0C\u6211\u4EEC\u5C31\u53EF\u4EE5\u9700\u8981\u7684\u5C3A\u5BF8\u4E86\u3002\u4E0B\u9762\u5C31\u5927\u641E\u666E\u53CA\u4E00\u4E0B rem\u3002

\u6211\u4EEC\u77E5\u9053 1rem \u7B49\u4E8Ehtml \u6839\u5143\u7D20\u8BBE\u5B9A\u7684 font-size \u7684 px \u503C\u3002Vant UI \u8BBE\u7F6E rootValue: 37.5,\u4F60\u53EF\u4EE5\u770B\u5230\u5728 iPhone 6 \u4E0B\u770B\u5230 \uFF081rem \u7B49\u4E8E 37.5px\uFF09\uFF1A

html
<html data-dpr="1" style="font-size: 37.5px;"></html>
-

\u5207\u6362\u4E0D\u540C\u7684\u673A\u578B\uFF0C\u6839\u5143\u7D20\u53EF\u80FD\u4F1A\u6709\u4E0D\u540C\u7684font-size\u3002\u5F53\u4F60\u5199 css px \u6837\u5F0F\u65F6\uFF0C\u4F1A\u88AB\u7A0B\u5E8F\u6362\u7B97\u6210 rem \u8FBE\u5230\u9002\u914D\u3002

\u56E0\u4E3A\u6211\u4EEC\u7528\u4E86 Vant \u7684\u7EC4\u4EF6\uFF0C\u9700\u8981\u6309\u7167 rootValue: 37.5 \u6765\u5199\u6837\u5F0F\u3002

\u4E3E\u4E2A\u4F8B\u5B50\uFF1A\u8BBE\u8BA1\u7ED9\u4E86\u4F60\u4E00\u5F20 750px * 1334px \u56FE\u7247\uFF0C\u5728 iPhone6 \u4E0A\u94FA\u6EE1\u5C4F\u5E55,\u5176\u4ED6\u673A\u578B\u9002\u914D\u3002

  • \u5F53rootValue: 70 , \u6837\u5F0F width: 750px;height: 1334px; \u56FE\u7247\u4F1A\u6491\u6EE1 iPhone6 \u5C4F\u5E55\uFF0C\u8FD9\u4E2A\u65F6\u5019\u5207\u6362\u5176\u4ED6\u673A\u578B\uFF0C\u56FE\u7247\u4E5F\u4F1A\u8DDF\u7740\u6491\u6EE1\u3002
  • \u5F53rootValue: 37.5 \u7684\u65F6\u5019\uFF0C\u6837\u5F0F width: 375px;height: 667px; \u56FE\u7247\u4F1A\u6491\u6EE1 iPhone6 \u5C4F\u5E55\u3002

\u4E5F\u5C31\u662F iphone 6 \u4E0B 375px \u5BBD\u5EA6\u5199 CSS\u3002\u5176\u4ED6\u7684\u4F60\u5C31\u53EF\u4EE5\u6839\u636E\u4F60\u8BBE\u8BA1\u56FE\uFF0C\u53BB\u5199\u5BF9\u5E94\u7684\u6837\u5F0F\u5C31\u53EF\u4EE5\u4E86\u3002

\u5F53\u7136\uFF0C\u60F3\u8981\u6491\u6EE1\u5C4F\u5E55\u4F60\u53EF\u4EE5\u4F7F\u7528 100%\uFF0C\u8FD9\u91CC\u53EA\u662F\u4E3E\u4F8B\u8BF4\u660E\u3002

html
<img class="image" src="https://www.sunniejs.cn/static/weapp/logo.png" />
-
-<style>
-    /* rootValue: 75 */
-    .image {
-        width: 750px;
-        height: 1334px;
-    }
-    /* rootValue: 37.5 */
-    .image {
-        width: 375px;
-        height: 667px;
-    }
-</style>
-
`,19),e=[l];function t(c,r,D,F,y,C){return n(),a("div",null,e)}const A=s(o,[["render",t]]);export{d as __pageData,A as default}; diff --git a/assets/guide_vue2_rem.md.642649e3.lean.js b/assets/guide_vue2_rem.md.642649e3.lean.js deleted file mode 100644 index dfc5eda..0000000 --- a/assets/guide_vue2_rem.md.642649e3.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as a,o as n,a as p}from"./app.2b769fcb.js";const d=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-rem-\u9002\u914D\u65B9\u6848"}],"relativePath":"guide/vue2/rem.md","lastUpdated":1661153879000}'),o={name:"guide/vue2/rem.md"},l=p("",19),e=[l];function t(c,r,D,F,y,C){return n(),a("div",null,e)}const A=s(o,[["render",t]]);export{d as __pageData,A as default}; diff --git a/assets/guide_vue2_router.md.01504303.js b/assets/guide_vue2_router.md.01504303.js deleted file mode 100644 index 0a4eaf5..0000000 --- a/assets/guide_vue2_router.md.01504303.js +++ /dev/null @@ -1,25 +0,0 @@ -import{_ as s,c as n,o as a,a as p}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-vue-router"}],"relativePath":"guide/vue2/router.md","lastUpdated":1661153879000}'),o={name:"guide/vue2/router.md"},l=p(`

\u2705 Vue-router

\u672C\u6848\u4F8B\u91C7\u7528 hash \u6A21\u5F0F\uFF0C\u5F00\u53D1\u8005\u6839\u636E\u9700\u6C42\u4FEE\u6539 mode base

\u6CE8\u610F\uFF1A\u5982\u679C\u4F60\u4F7F\u7528\u4E86 history \u6A21\u5F0F\uFF0Cvue.config.js \u4E2D\u7684 publicPath \u8981\u505A\u5BF9\u5E94\u7684\u4FEE\u6539

\u524D\u5F80:vue.config.js \u57FA\u7840\u914D\u7F6E

javascript
import Vue from 'vue'
-import Router from 'vue-router'
-
-Vue.use(Router)
-export const router = [
-    {
-        path: '/',
-        name: 'index',
-        component: () => import('@/views/home/index'), // \u8DEF\u7531\u61D2\u52A0\u8F7D
-        meta: {
-            title: '\u9996\u9875', // \u9875\u9762\u6807\u9898
-            keepAlive: false, // keep-alive \u6807\u8BC6
-        },
-    },
-]
-const createRouter = () =>
-    new Router({
-        // mode: 'history', // \u5982\u679C\u4F60\u662F history\u6A21\u5F0F \u9700\u8981\u914D\u7F6E vue.config.js publicPath
-        // base: '/app/',
-        scrollBehavior: () => ({ y: 0 }),
-        routes: router,
-    })
-
-export default createRouter()
-
`,5),e=[l];function t(c,r,D,y,A,F){return a(),n("div",null,e)}const u=s(o,[["render",t]]);export{i as __pageData,u as default}; diff --git a/assets/guide_vue2_router.md.01504303.lean.js b/assets/guide_vue2_router.md.01504303.lean.js deleted file mode 100644 index 6a446fc..0000000 --- a/assets/guide_vue2_router.md.01504303.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as n,o as a,a as p}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-vue-router"}],"relativePath":"guide/vue2/router.md","lastUpdated":1661153879000}'),o={name:"guide/vue2/router.md"},l=p("",5),e=[l];function t(c,r,D,y,A,F){return a(),n("div",null,e)}const u=s(o,[["render",t]]);export{i as __pageData,u as default}; diff --git a/assets/guide_vue2_router.md.3cb2df4b.js b/assets/guide_vue2_router.md.3cb2df4b.js new file mode 100644 index 0000000..4a2c52a --- /dev/null +++ b/assets/guide_vue2_router.md.3cb2df4b.js @@ -0,0 +1,25 @@ +import{_ as s,c as n,o as a,a as o}from"./app.1a98d107.js";const i=JSON.parse('{"title":"Vue-router","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/router.md","lastUpdated":1661164664000}'),p={name:"guide/vue2/router.md"},l=o(`

Vue-router

\u672C\u6848\u4F8B\u91C7\u7528 hash \u6A21\u5F0F\uFF0C\u5F00\u53D1\u8005\u6839\u636E\u9700\u6C42\u4FEE\u6539 mode base

\u6CE8\u610F\uFF1A\u5982\u679C\u4F60\u4F7F\u7528\u4E86 history \u6A21\u5F0F\uFF0Cvue.config.js \u4E2D\u7684 publicPath \u8981\u505A\u5BF9\u5E94\u7684\u4FEE\u6539

\u524D\u5F80:vue.config.js \u57FA\u7840\u914D\u7F6E

javascript
import Vue from "vue";
+import Router from "vue-router";
+
+Vue.use(Router);
+export const router = [
+  {
+    path: "/",
+    name: "index",
+    component: () => import("@/views/home/index"), // \u8DEF\u7531\u61D2\u52A0\u8F7D
+    meta: {
+      title: "\u9996\u9875", // \u9875\u9762\u6807\u9898
+      keepAlive: false, // keep-alive \u6807\u8BC6
+    },
+  },
+];
+const createRouter = () =>
+  new Router({
+    // mode: 'history', // \u5982\u679C\u4F60\u662F history\u6A21\u5F0F \u9700\u8981\u914D\u7F6E vue.config.js publicPath
+    // base: '/app/',
+    scrollBehavior: () => ({ y: 0 }),
+    routes: router,
+  });
+
+export default createRouter();
+
`,5),e=[l];function t(c,r,D,y,F,A){return a(),n("div",null,e)}const u=s(p,[["render",t]]);export{i as __pageData,u as default}; diff --git a/assets/guide_vue2_router.md.3cb2df4b.lean.js b/assets/guide_vue2_router.md.3cb2df4b.lean.js new file mode 100644 index 0000000..c90dc50 --- /dev/null +++ b/assets/guide_vue2_router.md.3cb2df4b.lean.js @@ -0,0 +1 @@ +import{_ as s,c as n,o as a,a as o}from"./app.1a98d107.js";const i=JSON.parse('{"title":"Vue-router","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/router.md","lastUpdated":1661164664000}'),p={name:"guide/vue2/router.md"},l=o("",5),e=[l];function t(c,r,D,y,F,A){return a(),n("div",null,e)}const u=s(p,[["render",t]]);export{i as __pageData,u as default}; diff --git a/assets/guide_vue2_sass.md.58a47cb4.lean.js b/assets/guide_vue2_sass.md.58a47cb4.lean.js deleted file mode 100644 index fbb39b6..0000000 --- a/assets/guide_vue2_sass.md.58a47cb4.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as n,o as a,a as l}from"./app.2b769fcb.js";const A=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-sass-\u5168\u5C40\u6837\u5F0F"}],"relativePath":"guide/vue2/sass.md","lastUpdated":1661153879000}'),p={name:"guide/vue2/sass.md"},o=l("",20),e=[o];function c(t,r,D,y,F,C){return a(),n("div",null,e)}const d=s(p,[["render",c]]);export{A as __pageData,d as default}; diff --git a/assets/guide_vue2_sass.md.58a47cb4.js b/assets/guide_vue2_sass.md.b00fddec.js similarity index 59% rename from assets/guide_vue2_sass.md.58a47cb4.js rename to assets/guide_vue2_sass.md.b00fddec.js index b05ece8..6901878 100644 --- a/assets/guide_vue2_sass.md.58a47cb4.js +++ b/assets/guide_vue2_sass.md.b00fddec.js @@ -1,9 +1,9 @@ -import{_ as s,c as n,o as a,a as l}from"./app.2b769fcb.js";const A=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-sass-\u5168\u5C40\u6837\u5F0F"}],"relativePath":"guide/vue2/sass.md","lastUpdated":1661153879000}'),p={name:"guide/vue2/sass.md"},o=l(`

\u2705 Sass \u5168\u5C40\u6837\u5F0F

\u9996\u5148 \u4F60\u53EF\u80FD\u4F1A\u9047\u5230 node-sass \u5B89\u88C5\u4E0D\u6210\u529F\uFF0C\u522B\u653E\u5F03\u591A\u8BD5\u51E0\u6B21\uFF01\uFF01\uFF01

\u6BCF\u4E2A\u9875\u9762\u81EA\u5DF1\u5BF9\u5E94\u7684\u6837\u5F0F\u90FD\u5199\u5728\u81EA\u5DF1\u7684 .vue \u6587\u4EF6\u4E4B\u4E2D scoped \u5B83\u987E\u540D\u601D\u4E49\u7ED9 css \u52A0\u4E86\u4E00\u4E2A\u57DF\u7684\u6982\u5FF5\u3002

html
<style lang="scss">
-    /* global styles */
+import{_ as s,c as n,o as a,a as p}from"./app.1a98d107.js";const i=JSON.parse('{"title":"Sass \u5168\u5C40\u6837\u5F0F","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/sass.md","lastUpdated":1661164664000}'),l={name:"guide/vue2/sass.md"},o=p(`

Sass \u5168\u5C40\u6837\u5F0F

\u9996\u5148 \u4F60\u53EF\u80FD\u4F1A\u9047\u5230 node-sass \u5B89\u88C5\u4E0D\u6210\u529F\uFF0C\u522B\u653E\u5F03\u591A\u8BD5\u51E0\u6B21\uFF01\uFF01\uFF01

\u6BCF\u4E2A\u9875\u9762\u81EA\u5DF1\u5BF9\u5E94\u7684\u6837\u5F0F\u90FD\u5199\u5728\u81EA\u5DF1\u7684 .vue \u6587\u4EF6\u4E4B\u4E2D scoped \u5B83\u987E\u540D\u601D\u4E49\u7ED9 css \u52A0\u4E86\u4E00\u4E2A\u57DF\u7684\u6982\u5FF5\u3002

html
<style lang="scss">
+  /* global styles */
 </style>
 
 <style lang="scss" scoped>
-    /* local styles */
+  /* local styles */
 </style>
 

\u76EE\u5F55\u7ED3\u6784

vue-h5-template \u6240\u6709\u5168\u5C40\u6837\u5F0F\u90FD\u5728 @/src/assets/css \u76EE\u5F55\u4E0B\u8BBE\u7F6E

bash
\u251C\u2500\u2500 assets
 \u2502   \u251C\u2500\u2500 css
@@ -11,50 +11,50 @@ import{_ as s,c as n,o as a,a as l}from"./app.2b769fcb.js";const A=JSON.parse('{
 \u2502   \u2502   \u251C\u2500\u2500 mixin.scss               # \u5168\u5C40mixin
 \u2502   \u2502   \u2514\u2500\u2500 variables.scss           # \u5168\u5C40\u53D8\u91CF
 

\u81EA\u5B9A\u4E49 vant-ui \u6837\u5F0F

\u73B0\u5728\u6211\u4EEC\u6765\u8BF4\u8BF4\u600E\u4E48\u91CD\u5199 vant-ui \u6837\u5F0F\u3002\u7531\u4E8E vant-ui \u7684\u6837\u5F0F\u6211\u4EEC\u662F\u5728\u5168\u5C40\u5F15\u5165\u7684\uFF0C\u6240\u4EE5\u4F60\u60F3\u5728\u67D0\u4E2A\u9875\u9762\u91CC\u9762\u8986\u76D6\u5B83\u7684\u6837\u5F0F\u5C31\u4E0D\u80FD\u52A0 scoped\uFF0C\u4F46\u4F60\u53C8\u60F3\u53EA\u8986\u76D6\u8FD9\u4E2A\u9875\u9762\u7684 vant \u6837\u5F0F\uFF0C\u4F60\u5C31\u53EF\u5728\u5B83\u7684\u7236\u7EA7\u52A0\u4E00\u4E2A class\uFF0C\u7528\u547D\u540D\u7A7A\u95F4\u6765\u89E3\u51B3\u95EE\u9898\u3002

css
.about-container {
-    /* \u4F60\u7684\u547D\u540D\u7A7A\u95F4 */
-    .van-button {
-        /* vant-ui \u5143\u7D20*/
-        margin-right: 0px;
-    }
+  /* \u4F60\u7684\u547D\u540D\u7A7A\u95F4 */
+  .van-button {
+    /* vant-ui \u5143\u7D20*/
+    margin-right: 0px;
+  }
 }
 

\u7236\u7EC4\u4EF6\u6539\u53D8\u5B50\u7EC4\u4EF6\u6837\u5F0F \u6DF1\u5EA6\u9009\u62E9\u5668

\u5F53\u4F60\u5B50\u7EC4\u4EF6\u4F7F\u7528\u4E86 scoped \u4F46\u5728\u7236\u7EC4\u4EF6\u53C8\u60F3\u4FEE\u6539\u5B50\u7EC4\u4EF6\u7684\u6837\u5F0F\u53EF\u4EE5 \u901A\u8FC7 >>> \u6765\u5B9E\u73B0\uFF1A

css
<style scoped>
 .a >>> .b { /* ... */ }
 </style>
-

\u5168\u5C40\u53D8\u91CF

vue.config.js \u914D\u7F6E\u4F7F\u7528 css.loaderOptions \u9009\u9879,\u6CE8\u5165 sass \u7684 mixin variables \u5230\u5168\u5C40\uFF0C\u4E0D\u9700\u8981\u624B\u52A8\u5F15\u5165 ,\u914D\u7F6E$cdn\u901A\u8FC7\u53D8\u91CF\u5F62\u5F0F\u5F15\u5165 cdn \u5730\u5740,\u8FD9\u6837\u5411\u6240\u6709 Sass/Less \u6837\u5F0F\u4F20\u5165\u5171\u4EAB\u7684\u5168\u5C40\u53D8\u91CF\uFF1A

javascript
const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV)
-const defaultSettings = require('./src/config/index.js')
+

\u5168\u5C40\u53D8\u91CF

vue.config.js \u914D\u7F6E\u4F7F\u7528 css.loaderOptions \u9009\u9879,\u6CE8\u5165 sass \u7684 mixin variables \u5230\u5168\u5C40\uFF0C\u4E0D\u9700\u8981\u624B\u52A8\u5F15\u5165 ,\u914D\u7F6E$cdn\u901A\u8FC7\u53D8\u91CF\u5F62\u5F0F\u5F15\u5165 cdn \u5730\u5740,\u8FD9\u6837\u5411\u6240\u6709 Sass/Less \u6837\u5F0F\u4F20\u5165\u5171\u4EAB\u7684\u5168\u5C40\u53D8\u91CF\uFF1A

javascript
const IS_PROD = ["production", "prod"].includes(process.env.NODE_ENV);
+const defaultSettings = require("./src/config/index.js");
 module.exports = {
-    css: {
-        extract: IS_PROD,
-        sourceMap: false,
-        loaderOptions: {
-            // \u7ED9 scss-loader \u4F20\u9012\u9009\u9879
-            scss: {
-                // \u6CE8\u5165 \`sass\` \u7684 \`mixin\` \`variables\` \u5230\u5168\u5C40, $cdn\u53EF\u4EE5\u914D\u7F6E\u56FE\u7247cdn
-                // \u8BE6\u60C5: https://cli.vuejs.org/guide/css.html#passing-options-to-pre-processor-loaders
-                prependData: \`
+  css: {
+    extract: IS_PROD,
+    sourceMap: false,
+    loaderOptions: {
+      // \u7ED9 scss-loader \u4F20\u9012\u9009\u9879
+      scss: {
+        // \u6CE8\u5165 \`sass\` \u7684 \`mixin\` \`variables\` \u5230\u5168\u5C40, $cdn\u53EF\u4EE5\u914D\u7F6E\u56FE\u7247cdn
+        // \u8BE6\u60C5: https://cli.vuejs.org/guide/css.html#passing-options-to-pre-processor-loaders
+        prependData: \`
                 @import "assets/css/mixin.scss";
                 @import "assets/css/variables.scss";
                 $cdn: "\${defaultSettings.$cdn}";
                  \`,
-            },
-        },
+      },
     },
-}
+  },
+};
 

\u8BBE\u7F6E js \u4E2D\u53EF\u4EE5\u8BBF\u95EE $cdn,.vue \u6587\u4EF6\u4E2D\u4F7F\u7528this.$cdn\u8BBF\u95EE

javascript
// \u5F15\u5165\u5168\u5C40\u6837\u5F0F
-import '@/assets/css/index.scss'
+import "@/assets/css/index.scss";
 
 // \u8BBE\u7F6E js\u4E2D\u53EF\u4EE5\u8BBF\u95EE $cdn
 // \u5F15\u5165cdn
-import { $cdn } from '@/config'
-Vue.prototype.$cdn = $cdn
+import { $cdn } from "@/config";
+Vue.prototype.$cdn = $cdn;
 

\u5728 css \u548C js \u4F7F\u7528

html
<script>
-    console.log(this.$cdn)
+  console.log(this.$cdn);
 </script>
 <style lang="scss" scoped>
-    .logo {
-        width: 120px;
-        height: 120px;
-        background: url($cdn+'/weapp/logo.png') center / contain no-repeat;
-    }
+  .logo {
+    width: 120px;
+    height: 120px;
+    background: url($cdn + "/weapp/logo.png") center / contain no-repeat;
+  }
 </style>
-
`,20),e=[o];function c(t,r,D,y,F,C){return a(),n("div",null,e)}const d=s(p,[["render",c]]);export{A as __pageData,d as default}; +
`,20),e=[o];function c(t,r,D,y,F,C){return a(),n("div",null,e)}const d=s(l,[["render",c]]);export{i as __pageData,d as default}; diff --git a/assets/guide_vue2_sass.md.b00fddec.lean.js b/assets/guide_vue2_sass.md.b00fddec.lean.js new file mode 100644 index 0000000..7f74593 --- /dev/null +++ b/assets/guide_vue2_sass.md.b00fddec.lean.js @@ -0,0 +1 @@ +import{_ as s,c as n,o as a,a as p}from"./app.1a98d107.js";const i=JSON.parse('{"title":"Sass \u5168\u5C40\u6837\u5F0F","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/sass.md","lastUpdated":1661164664000}'),l={name:"guide/vue2/sass.md"},o=p("",20),e=[o];function c(t,r,D,y,F,C){return a(),n("div",null,e)}const d=s(l,[["render",c]]);export{i as __pageData,d as default}; diff --git a/assets/guide_vue2_start.md.61d51e5e.js b/assets/guide_vue2_start.md.d71d4d28.js similarity index 93% rename from assets/guide_vue2_start.md.61d51e5e.js rename to assets/guide_vue2_start.md.d71d4d28.js index 0312ed5..e82316e 100644 --- a/assets/guide_vue2_start.md.61d51e5e.js +++ b/assets/guide_vue2_start.md.d71d4d28.js @@ -1,4 +1,4 @@ -import{_ as s,c as a,o as n,a as e}from"./app.2b769fcb.js";const A=JSON.parse('{"title":"\u542F\u52A8\u9879\u76EE","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/start.md","lastUpdated":1661153879000}'),l={name:"guide/vue2/start.md"},p=e(`

\u542F\u52A8\u9879\u76EE

js

+import{_ as s,c as a,o as n,a as e}from"./app.1a98d107.js";const A=JSON.parse('{"title":"\u542F\u52A8\u9879\u76EE","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/start.md","lastUpdated":1661164664000}'),l={name:"guide/vue2/start.md"},p=e(`

\u542F\u52A8\u9879\u76EE

js

 // \u62C9\u53D6\u9879\u76EE
 git clone https://github.com/sunniejs/vue-h5-template
 
diff --git a/assets/guide_vue2_start.md.61d51e5e.lean.js b/assets/guide_vue2_start.md.d71d4d28.lean.js
similarity index 67%
rename from assets/guide_vue2_start.md.61d51e5e.lean.js
rename to assets/guide_vue2_start.md.d71d4d28.lean.js
index 48ec19f..1575b0d 100644
--- a/assets/guide_vue2_start.md.61d51e5e.lean.js
+++ b/assets/guide_vue2_start.md.d71d4d28.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,o as n,a as e}from"./app.2b769fcb.js";const A=JSON.parse('{"title":"\u542F\u52A8\u9879\u76EE","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/start.md","lastUpdated":1661153879000}'),l={name:"guide/vue2/start.md"},p=e("",2),t=[p];function o(c,r,i,_,y,D){return n(),a("div",null,t)}const C=s(l,[["render",o]]);export{A as __pageData,C as default};
+import{_ as s,c as a,o as n,a as e}from"./app.1a98d107.js";const A=JSON.parse('{"title":"\u542F\u52A8\u9879\u76EE","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/start.md","lastUpdated":1661164664000}'),l={name:"guide/vue2/start.md"},p=e("",2),t=[p];function o(c,r,i,_,y,D){return n(),a("div",null,t)}const C=s(l,[["render",o]]);export{A as __pageData,C as default};
diff --git a/assets/guide_vue2_vant.md.48caa2a2.js b/assets/guide_vue2_vant.md.48caa2a2.js
deleted file mode 100644
index 9b4388e..0000000
--- a/assets/guide_vue2_vant.md.48caa2a2.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import{_ as s,c as a,o as n,a as p}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-vantui-\u7EC4\u4EF6\u6309\u9700\u52A0\u8F7D"}],"relativePath":"guide/vue2/vant.md","lastUpdated":1661153879000}'),l={name:"guide/vue2/vant.md"},o=p(`

\u2705 VantUI \u7EC4\u4EF6\u6309\u9700\u52A0\u8F7D

\u9879\u76EE\u91C7 \u7528Vant \u81EA\u52A8\u6309\u9700\u5F15\u5165\u7EC4\u4EF6 (\u63A8\u8350)\u4E0B \u9762\u5B89\u88C5\u63D2\u4EF6\u4ECB\u7ECD\uFF1A

babel-plugin-import \u662F\u4E00\u6B3E babel \u63D2\u4EF6\uFF0C\u5B83\u4F1A\u5728\u7F16\u8BD1\u8FC7\u7A0B\u4E2D\u5C06 import \u7684\u5199\u6CD5\u81EA\u52A8\u8F6C\u6362\u4E3A\u6309\u9700\u5F15\u5165\u7684\u65B9\u5F0F

\u5B89\u88C5\u63D2\u4EF6

bash
npm i babel-plugin-import -D
-

\u5728babel.config.js \u8BBE\u7F6E

javascript
// \u5BF9\u4E8E\u4F7F\u7528 babel7 \u7684\u7528\u6237\uFF0C\u53EF\u4EE5\u5728 babel.config.js \u4E2D\u914D\u7F6E
-const plugins = [
-    [
-        'import',
-        {
-            libraryName: 'vant',
-            libraryDirectory: 'es',
-            style: true,
-        },
-        'vant',
-    ],
-]
-module.exports = {
-    presets: [['@vue/cli-plugin-babel/preset', { useBuiltIns: 'usage', corejs: 3 }]],
-    plugins,
-}
-

\u4F7F\u7528\u7EC4\u4EF6

\u9879\u76EE\u5728 src/plugins/vant.js \u4E0B\u7EDF\u4E00\u7BA1\u7406\u7EC4\u4EF6\uFF0C\u7528\u54EA\u4E2A\u5F15\u5165\u54EA\u4E2A\uFF0C\u65E0\u9700\u5728\u9875\u9762\u91CC\u91CD\u590D\u5F15\u7528

javascript
// \u6309\u9700\u5168\u5C40\u5F15\u5165 vant\u7EC4\u4EF6
-import Vue from 'vue'
-import { Button, List, Cell, Tabbar, TabbarItem } from 'vant'
-Vue.use(Button)
-Vue.use(Cell)
-Vue.use(List)
-Vue.use(Tabbar).use(TabbarItem)
-
`,10),e=[o];function t(c,r,D,y,F,C){return n(),a("div",null,e)}const u=s(l,[["render",t]]);export{i as __pageData,u as default}; diff --git a/assets/guide_vue2_vant.md.48caa2a2.lean.js b/assets/guide_vue2_vant.md.48caa2a2.lean.js deleted file mode 100644 index f2a13d4..0000000 --- a/assets/guide_vue2_vant.md.48caa2a2.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as a,o as n,a as p}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-vantui-\u7EC4\u4EF6\u6309\u9700\u52A0\u8F7D"}],"relativePath":"guide/vue2/vant.md","lastUpdated":1661153879000}'),l={name:"guide/vue2/vant.md"},o=p("",10),e=[o];function t(c,r,D,y,F,C){return n(),a("div",null,e)}const u=s(l,[["render",t]]);export{i as __pageData,u as default}; diff --git a/assets/guide_vue2_vant.md.8c1780fc.js b/assets/guide_vue2_vant.md.8c1780fc.js new file mode 100644 index 0000000..49a2f2b --- /dev/null +++ b/assets/guide_vue2_vant.md.8c1780fc.js @@ -0,0 +1,27 @@ +import{_ as s,c as a,o as n,a as l}from"./app.1a98d107.js";const i=JSON.parse('{"title":"VantUI \u7EC4\u4EF6\u6309\u9700\u52A0\u8F7D","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5B89\u88C5\u63D2\u4EF6","slug":"\u5B89\u88C5\u63D2\u4EF6"},{"level":2,"title":"\u4F7F\u7528\u7EC4\u4EF6","slug":"\u4F7F\u7528\u7EC4\u4EF6"}],"relativePath":"guide/vue2/vant.md","lastUpdated":1661164664000}'),p={name:"guide/vue2/vant.md"},o=l(`

VantUI \u7EC4\u4EF6\u6309\u9700\u52A0\u8F7D

\u9879\u76EE\u91C7 \u7528Vant \u81EA\u52A8\u6309\u9700\u5F15\u5165\u7EC4\u4EF6 (\u63A8\u8350)\u4E0B \u9762\u5B89\u88C5\u63D2\u4EF6\u4ECB\u7ECD\uFF1A

babel-plugin-import \u662F\u4E00\u6B3E babel \u63D2\u4EF6\uFF0C\u5B83\u4F1A\u5728\u7F16\u8BD1\u8FC7\u7A0B\u4E2D\u5C06 import \u7684\u5199\u6CD5\u81EA\u52A8\u8F6C\u6362\u4E3A\u6309\u9700\u5F15\u5165\u7684\u65B9\u5F0F

\u5B89\u88C5\u63D2\u4EF6

bash
npm i babel-plugin-import -D
+

\u5728babel.config.js \u8BBE\u7F6E

javascript
// \u5BF9\u4E8E\u4F7F\u7528 babel7 \u7684\u7528\u6237\uFF0C\u53EF\u4EE5\u5728 babel.config.js \u4E2D\u914D\u7F6E
+const plugins = [
+  [
+    "import",
+    {
+      libraryName: "vant",
+      libraryDirectory: "es",
+      style: true,
+    },
+    "vant",
+  ],
+];
+module.exports = {
+  presets: [
+    ["@vue/cli-plugin-babel/preset", { useBuiltIns: "usage", corejs: 3 }],
+  ],
+  plugins,
+};
+

\u4F7F\u7528\u7EC4\u4EF6

\u9879\u76EE\u5728 src/plugins/vant.js \u4E0B\u7EDF\u4E00\u7BA1\u7406\u7EC4\u4EF6\uFF0C\u7528\u54EA\u4E2A\u5F15\u5165\u54EA\u4E2A\uFF0C\u65E0\u9700\u5728\u9875\u9762\u91CC\u91CD\u590D\u5F15\u7528

javascript
// \u6309\u9700\u5168\u5C40\u5F15\u5165 vant\u7EC4\u4EF6
+import Vue from "vue";
+import { Button, List, Cell, Tabbar, TabbarItem } from "vant";
+Vue.use(Button);
+Vue.use(Cell);
+Vue.use(List);
+Vue.use(Tabbar).use(TabbarItem);
+
`,10),e=[o];function t(c,r,D,y,F,C){return n(),a("div",null,e)}const u=s(p,[["render",t]]);export{i as __pageData,u as default}; diff --git a/assets/guide_vue2_vant.md.8c1780fc.lean.js b/assets/guide_vue2_vant.md.8c1780fc.lean.js new file mode 100644 index 0000000..981ed61 --- /dev/null +++ b/assets/guide_vue2_vant.md.8c1780fc.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,a as l}from"./app.1a98d107.js";const i=JSON.parse('{"title":"VantUI \u7EC4\u4EF6\u6309\u9700\u52A0\u8F7D","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5B89\u88C5\u63D2\u4EF6","slug":"\u5B89\u88C5\u63D2\u4EF6"},{"level":2,"title":"\u4F7F\u7528\u7EC4\u4EF6","slug":"\u4F7F\u7528\u7EC4\u4EF6"}],"relativePath":"guide/vue2/vant.md","lastUpdated":1661164664000}'),p={name:"guide/vue2/vant.md"},o=l("",10),e=[o];function t(c,r,D,y,F,C){return n(),a("div",null,e)}const u=s(p,[["render",t]]);export{i as __pageData,u as default}; diff --git a/assets/guide_vue2_vuex.md.c92bff1a.js b/assets/guide_vue2_vuex.md.c92bff1a.js deleted file mode 100644 index f0c65f3..0000000 --- a/assets/guide_vue2_vuex.md.c92bff1a.js +++ /dev/null @@ -1,30 +0,0 @@ -import{_ as s,c as a,o as n,a as p}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-vuex-\u72B6\u6001\u7BA1\u7406"}],"relativePath":"guide/vue2/vuex.md","lastUpdated":1661153879000}'),l={name:"guide/vue2/vuex.md"},o=p(`

\u2705 Vuex \u72B6\u6001\u7BA1\u7406

\u76EE\u5F55\u7ED3\u6784

bash
\u251C\u2500\u2500 store
-\u2502   \u251C\u2500\u2500 modules
-\u2502   \u2502   \u2514\u2500\u2500 app.js
-\u2502   \u251C\u2500\u2500 index.js
-\u2502   \u251C\u2500\u2500 getters.js
-

main.js \u5F15\u5165

javascript
import Vue from 'vue'
-import App from './App.vue'
-import store from './store'
-new Vue({
-    el: '#app',
-    router,
-    store,
-    render: h => h(App),
-})
-

\u4F7F\u7528

html
<script>
-    import { mapGetters } from 'vuex'
-    export default {
-        computed: {
-            ...mapGetters(['userName']),
-        },
-
-        methods: {
-            // Action \u901A\u8FC7 store.dispatch \u65B9\u6CD5\u89E6\u53D1
-            doDispatch() {
-                this.$store.dispatch('setUserName', '\u771F\u4E56\uFF0C\u8D76\u7D27\u5173\u6CE8\u516C\u4F17\u53F7\uFF0C\u7EC4\u7EC7\u90FD\u5728\u7B49\u4F60~')
-            },
-        },
-    }
-</script>
-
`,7),e=[o];function t(c,r,D,F,y,A){return n(),a("div",null,e)}const d=s(l,[["render",t]]);export{i as __pageData,d as default}; diff --git a/assets/guide_vue2_vuex.md.c92bff1a.lean.js b/assets/guide_vue2_vuex.md.c92bff1a.lean.js deleted file mode 100644 index cba6a8a..0000000 --- a/assets/guide_vue2_vuex.md.c92bff1a.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as a,o as n,a as p}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-vuex-\u72B6\u6001\u7BA1\u7406"}],"relativePath":"guide/vue2/vuex.md","lastUpdated":1661153879000}'),l={name:"guide/vue2/vuex.md"},o=p("",7),e=[o];function t(c,r,D,F,y,A){return n(),a("div",null,e)}const d=s(l,[["render",t]]);export{i as __pageData,d as default}; diff --git a/assets/guide_vue2_vuex.md.f157623b.js b/assets/guide_vue2_vuex.md.f157623b.js new file mode 100644 index 0000000..a6d7560 --- /dev/null +++ b/assets/guide_vue2_vuex.md.f157623b.js @@ -0,0 +1,33 @@ +import{_ as s,c as n,o as a,a as p}from"./app.1a98d107.js";const i=JSON.parse('{"title":"Vuex \u72B6\u6001\u7BA1\u7406","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/vuex.md","lastUpdated":1661164664000}'),l={name:"guide/vue2/vuex.md"},o=p(`

Vuex \u72B6\u6001\u7BA1\u7406

\u76EE\u5F55\u7ED3\u6784

bash
\u251C\u2500\u2500 store
+\u2502   \u251C\u2500\u2500 modules
+\u2502   \u2502   \u2514\u2500\u2500 app.js
+\u2502   \u251C\u2500\u2500 index.js
+\u2502   \u251C\u2500\u2500 getters.js
+

main.js \u5F15\u5165

javascript
import Vue from "vue";
+import App from "./App.vue";
+import store from "./store";
+new Vue({
+  el: "#app",
+  router,
+  store,
+  render: (h) => h(App),
+});
+

\u4F7F\u7528

html
<script>
+  import { mapGetters } from "vuex";
+  export default {
+    computed: {
+      ...mapGetters(["userName"]),
+    },
+
+    methods: {
+      // Action \u901A\u8FC7 store.dispatch \u65B9\u6CD5\u89E6\u53D1
+      doDispatch() {
+        this.$store.dispatch(
+          "setUserName",
+          "\u771F\u4E56\uFF0C\u8D76\u7D27\u5173\u6CE8\u516C\u4F17\u53F7\uFF0C\u7EC4\u7EC7\u90FD\u5728\u7B49\u4F60~"
+        );
+      },
+    },
+  };
+</script>
+
`,7),e=[o];function t(c,r,D,F,y,A){return a(),n("div",null,e)}const u=s(l,[["render",t]]);export{i as __pageData,u as default}; diff --git a/assets/guide_vue2_vuex.md.f157623b.lean.js b/assets/guide_vue2_vuex.md.f157623b.lean.js new file mode 100644 index 0000000..251c4e5 --- /dev/null +++ b/assets/guide_vue2_vuex.md.f157623b.lean.js @@ -0,0 +1 @@ +import{_ as s,c as n,o as a,a as p}from"./app.1a98d107.js";const i=JSON.parse('{"title":"Vuex \u72B6\u6001\u7BA1\u7406","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue2/vuex.md","lastUpdated":1661164664000}'),l={name:"guide/vue2/vuex.md"},o=p("",7),e=[o];function t(c,r,D,F,y,A){return a(),n("div",null,e)}const u=s(l,[["render",t]]);export{i as __pageData,u as default}; diff --git a/assets/guide_vue2_vw.md.15e9dd21.js b/assets/guide_vue2_vw.md.12aede97.js similarity index 81% rename from assets/guide_vue2_vw.md.15e9dd21.js rename to assets/guide_vue2_vw.md.12aede97.js index ea8995b..a6c2166 100644 --- a/assets/guide_vue2_vw.md.15e9dd21.js +++ b/assets/guide_vue2_vw.md.12aede97.js @@ -1,7 +1,7 @@ -import{_ as s,c as a,o as n,a as p}from"./app.2b769fcb.js";const A=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-vm-\u9002\u914D\u65B9\u6848"}],"relativePath":"guide/vue2/vw.md","lastUpdated":1661153879000}'),l={name:"guide/vue2/vw.md"},o=p(`

\u2705 vm \u9002\u914D\u65B9\u6848

\u672C\u9879\u76EE\u4F7F\u7528\u7684\u662F rem \u7684 \u9002\u914D\u65B9\u6848\uFF0C\u5176\u5B9E\u65E0\u8BBA\u4F60\u4F7F\u7528\u54EA\u79CD\u65B9\u6848\uFF0C\u90FD\u4E0D\u9700\u8981\u4F60\u53BB\u8BA1\u7B97 12px \u662F\u591A\u5C11 rem \u6216\u8005 vw, \u4F1A\u6709\u4E13\u95E8\u7684\u5DE5\u5177\u53BB\u5E2E\u4F60\u505A \u3002\u5982\u679C\u4F60\u60F3\u7528 vw,\u4F60\u53EF\u4EE5\u6309\u7167\u4E0B\u9762\u7684\u65B9\u5F0F\u5207\u6362\u3002

1.\u5B89\u88C5\u4F9D\u8D56

bash

+import{_ as s,c as a,o as n,a as p}from"./app.1a98d107.js";const A=JSON.parse('{"title":"vm \u9002\u914D\u65B9\u6848","description":"","frontmatter":{},"headers":[{"level":2,"title":"1.\u5B89\u88C5\u4F9D\u8D56","slug":"_1-\u5B89\u88C5\u4F9D\u8D56"},{"level":2,"title":"2.\u4FEE\u6539 .postcssrc.js","slug":"_2-\u4FEE\u6539-postcssrc-js"},{"level":2,"title":"3.\u5220\u9664\u539F\u6765\u7684 rem \u76F8\u5173\u4EE3\u7801","slug":"_3-\u5220\u9664\u539F\u6765\u7684-rem-\u76F8\u5173\u4EE3\u7801"}],"relativePath":"guide/vue2/vw.md","lastUpdated":1661164664000}'),l={name:"guide/vue2/vw.md"},o=p(`

vm \u9002\u914D\u65B9\u6848

\u672C\u9879\u76EE\u4F7F\u7528\u7684\u662F rem \u7684 \u9002\u914D\u65B9\u6848\uFF0C\u5176\u5B9E\u65E0\u8BBA\u4F60\u4F7F\u7528\u54EA\u79CD\u65B9\u6848\uFF0C\u90FD\u4E0D\u9700\u8981\u4F60\u53BB\u8BA1\u7B97 12px \u662F\u591A\u5C11 rem \u6216\u8005 vw, \u4F1A\u6709\u4E13\u95E8\u7684\u5DE5\u5177\u53BB\u5E2E\u4F60\u505A \u3002\u5982\u679C\u4F60\u60F3\u7528 vw,\u4F60\u53EF\u4EE5\u6309\u7167\u4E0B\u9762\u7684\u65B9\u5F0F\u5207\u6362\u3002

1.\u5B89\u88C5\u4F9D\u8D56

bash

 npm install postcss-px-to-viewport -D
 
-

2.\u4FEE\u6539 .postcssrc.js

\u5C06\u6839\u76EE\u5F55\u4E0B .postcssrc.js \u6587\u4EF6\u4FEE\u6539\u5982\u4E0B

javascript
// https://github.com/michael-ciniawsky/postcss-load-config
+

2.\u4FEE\u6539 .postcssrc.js

\u5C06\u6839\u76EE\u5F55\u4E0B .postcssrc.js \u6587\u4EF6\u4FEE\u6539\u5982\u4E0B

javascript
// https://github.com/michael-ciniawsky/postcss-load-config
 module.exports = {
   plugins: {
     autoprefixer: {
@@ -23,8 +23,8 @@ import{_ as s,c as a,o as n,a as p}from"./app.2b769fcb.js";const A=JSON.parse('{
     },
   },
 };
-

3.\u5220\u9664\u539F\u6765\u7684 rem \u76F8\u5173\u4EE3\u7801

src/main.js \u5220\u9664\u5982\u4E0B\u4EE3\u7801

javascript
// \u79FB\u52A8\u7AEF\u9002\u914D
+

3.\u5220\u9664\u539F\u6765\u7684 rem \u76F8\u5173\u4EE3\u7801

src/main.js \u5220\u9664\u5982\u4E0B\u4EE3\u7801

javascript
// \u79FB\u52A8\u7AEF\u9002\u914D
 import "lib-flexible/flexible.js";
 

package.json \u5220\u9664\u5982\u4E0B\u4EE3\u7801

javascript
"lib-flexible": "^0.3.2",
 "postcss-pxtorem": "^5.1.1",
-

\u8FD0\u884C\u8D77\u6765\uFF0CF12 \u5143\u7D20 css style \u5C31\u662F vw \u5355\u4F4D\u4E86

\u25B2 \u56DE\u9876\u90E8

`,14),e=[o];function t(c,r,D,y,F,i){return n(),a("div",null,e)}const d=s(l,[["render",t]]);export{A as __pageData,d as default}; +

\u8FD0\u884C\u8D77\u6765\uFF0CF12 \u5143\u7D20 css style \u5C31\u662F vw \u5355\u4F4D\u4E86

`,13),e=[o];function t(c,r,D,y,F,i){return n(),a("div",null,e)}const d=s(l,[["render",t]]);export{A as __pageData,d as default}; diff --git a/assets/guide_vue2_vw.md.12aede97.lean.js b/assets/guide_vue2_vw.md.12aede97.lean.js new file mode 100644 index 0000000..d7887ff --- /dev/null +++ b/assets/guide_vue2_vw.md.12aede97.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,a as p}from"./app.1a98d107.js";const A=JSON.parse('{"title":"vm \u9002\u914D\u65B9\u6848","description":"","frontmatter":{},"headers":[{"level":2,"title":"1.\u5B89\u88C5\u4F9D\u8D56","slug":"_1-\u5B89\u88C5\u4F9D\u8D56"},{"level":2,"title":"2.\u4FEE\u6539 .postcssrc.js","slug":"_2-\u4FEE\u6539-postcssrc-js"},{"level":2,"title":"3.\u5220\u9664\u539F\u6765\u7684 rem \u76F8\u5173\u4EE3\u7801","slug":"_3-\u5220\u9664\u539F\u6765\u7684-rem-\u76F8\u5173\u4EE3\u7801"}],"relativePath":"guide/vue2/vw.md","lastUpdated":1661164664000}'),l={name:"guide/vue2/vw.md"},o=p("",13),e=[o];function t(c,r,D,y,F,i){return n(),a("div",null,e)}const d=s(l,[["render",t]]);export{A as __pageData,d as default}; diff --git a/assets/guide_vue2_vw.md.15e9dd21.lean.js b/assets/guide_vue2_vw.md.15e9dd21.lean.js deleted file mode 100644 index 8e2d75f..0000000 --- a/assets/guide_vue2_vw.md.15e9dd21.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as a,o as n,a as p}from"./app.2b769fcb.js";const A=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[{"level":3,"title":"","slug":"\u2705-vm-\u9002\u914D\u65B9\u6848"}],"relativePath":"guide/vue2/vw.md","lastUpdated":1661153879000}'),l={name:"guide/vue2/vw.md"},o=p("",14),e=[o];function t(c,r,D,y,F,i){return n(),a("div",null,e)}const d=s(l,[["render",t]]);export{A as __pageData,d as default}; diff --git a/assets/guide_vue3_alias.md.5f962e00.js b/assets/guide_vue3_alias.md.254da981.js similarity index 97% rename from assets/guide_vue3_alias.md.5f962e00.js rename to assets/guide_vue3_alias.md.254da981.js index bb4b33f..44f14c4 100644 --- a/assets/guide_vue3_alias.md.5f962e00.js +++ b/assets/guide_vue3_alias.md.254da981.js @@ -1,4 +1,4 @@ -import{_ as s,c as a,o as n,a as l}from"./app.2b769fcb.js";const _=JSON.parse('{"title":"alias","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/alias.md","lastUpdated":1661153879000}'),p={name:"guide/vue3/alias.md"},o=l(`

alias

javascript
resolve: {
+import{_ as s,c as a,o as n,a as l}from"./app.1a98d107.js";const _=JSON.parse('{"title":"alias","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/alias.md","lastUpdated":1661164664000}'),p={name:"guide/vue3/alias.md"},o=l(`

alias

javascript
resolve: {
     alias: [{
             find: 'vue-i18n',
             replacement: 'vue-i18n/dist/vue-i18n.cjs.js',
diff --git a/assets/guide_vue3_alias.md.5f962e00.lean.js b/assets/guide_vue3_alias.md.254da981.lean.js
similarity index 65%
rename from assets/guide_vue3_alias.md.5f962e00.lean.js
rename to assets/guide_vue3_alias.md.254da981.lean.js
index 7833997..016ed42 100644
--- a/assets/guide_vue3_alias.md.5f962e00.lean.js
+++ b/assets/guide_vue3_alias.md.254da981.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,o as n,a as l}from"./app.2b769fcb.js";const _=JSON.parse('{"title":"alias","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/alias.md","lastUpdated":1661153879000}'),p={name:"guide/vue3/alias.md"},o=l("",2),e=[o];function c(t,r,F,D,y,i){return n(),a("div",null,e)}const C=s(p,[["render",c]]);export{_ as __pageData,C as default};
+import{_ as s,c as a,o as n,a as l}from"./app.1a98d107.js";const _=JSON.parse('{"title":"alias","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/alias.md","lastUpdated":1661164664000}'),p={name:"guide/vue3/alias.md"},o=l("",2),e=[o];function c(t,r,F,D,y,i){return n(),a("div",null,e)}const C=s(p,[["render",c]]);export{_ as __pageData,C as default};
diff --git a/assets/guide_vue3_axios.md.a638023a.js b/assets/guide_vue3_axios.md.85d52416.js
similarity index 99%
rename from assets/guide_vue3_axios.md.a638023a.js
rename to assets/guide_vue3_axios.md.85d52416.js
index 3f54fa4..8a035c0 100644
--- a/assets/guide_vue3_axios.md.a638023a.js
+++ b/assets/guide_vue3_axios.md.85d52416.js
@@ -1,4 +1,4 @@
-import{_ as s,c as n,o as a,a as l}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"axios \u5C01\u88C5\u53CA\u63A5\u53E3\u7BA1\u7406","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/axios.md","lastUpdated":1661153879000}'),p={name:"guide/vue3/axios.md"},o=l(`

axios \u5C01\u88C5\u53CA\u63A5\u53E3\u7BA1\u7406

utils/request.js \u5C01\u88C5 axios , \u5F00\u53D1\u8005\u9700\u8981\u6839\u636E\u540E\u53F0\u63A5\u53E3\u505A\u4FEE\u6539\u3002

  • service.interceptors.request.use \u91CC\u53EF\u4EE5\u8BBE\u7F6E\u8BF7\u6C42\u5934\uFF0C\u6BD4\u5982\u8BBE\u7F6E token
  • config.hideloading \u662F\u5728 api \u6587\u4EF6\u5939\u4E0B\u7684\u63A5\u53E3\u53C2\u6570\u91CC\u8BBE\u7F6E\uFF0C\u4E0B\u6587\u4F1A\u8BB2
  • service.interceptors.response.use \u91CC\u53EF\u4EE5\u5BF9\u63A5\u53E3\u8FD4\u56DE\u6570\u636E\u5904\u7406\uFF0C\u6BD4\u5982 401 \u5220\u9664\u672C\u5730\u4FE1\u606F\uFF0C\u91CD\u65B0\u767B\u5F55
javascript
import axios from "axios";
+import{_ as s,c as n,o as a,a as l}from"./app.1a98d107.js";const i=JSON.parse('{"title":"axios \u5C01\u88C5\u53CA\u63A5\u53E3\u7BA1\u7406","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/axios.md","lastUpdated":1661164664000}'),p={name:"guide/vue3/axios.md"},o=l(`

axios \u5C01\u88C5\u53CA\u63A5\u53E3\u7BA1\u7406

utils/request.js \u5C01\u88C5 axios , \u5F00\u53D1\u8005\u9700\u8981\u6839\u636E\u540E\u53F0\u63A5\u53E3\u505A\u4FEE\u6539\u3002

  • service.interceptors.request.use \u91CC\u53EF\u4EE5\u8BBE\u7F6E\u8BF7\u6C42\u5934\uFF0C\u6BD4\u5982\u8BBE\u7F6E token
  • config.hideloading \u662F\u5728 api \u6587\u4EF6\u5939\u4E0B\u7684\u63A5\u53E3\u53C2\u6570\u91CC\u8BBE\u7F6E\uFF0C\u4E0B\u6587\u4F1A\u8BB2
  • service.interceptors.response.use \u91CC\u53EF\u4EE5\u5BF9\u63A5\u53E3\u8FD4\u56DE\u6570\u636E\u5904\u7406\uFF0C\u6BD4\u5982 401 \u5220\u9664\u672C\u5730\u4FE1\u606F\uFF0C\u91CD\u65B0\u767B\u5F55
javascript
import axios from "axios";
 import store from "@/store";
 import { Toast } from "vant";
 // \u6839\u636E\u73AF\u5883\u4E0D\u540C\u5F15\u5165\u4E0D\u540Capi\u5730\u5740
diff --git a/assets/guide_vue3_axios.md.a638023a.lean.js b/assets/guide_vue3_axios.md.85d52416.lean.js
similarity index 69%
rename from assets/guide_vue3_axios.md.a638023a.lean.js
rename to assets/guide_vue3_axios.md.85d52416.lean.js
index 933b46a..6161187 100644
--- a/assets/guide_vue3_axios.md.a638023a.lean.js
+++ b/assets/guide_vue3_axios.md.85d52416.lean.js
@@ -1 +1 @@
-import{_ as s,c as n,o as a,a as l}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"axios \u5C01\u88C5\u53CA\u63A5\u53E3\u7BA1\u7406","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/axios.md","lastUpdated":1661153879000}'),p={name:"guide/vue3/axios.md"},o=l("",4),e=[o];function r(t,c,F,D,y,A){return a(),n("div",null,e)}const u=s(p,[["render",r]]);export{i as __pageData,u as default};
+import{_ as s,c as n,o as a,a as l}from"./app.1a98d107.js";const i=JSON.parse('{"title":"axios \u5C01\u88C5\u53CA\u63A5\u53E3\u7BA1\u7406","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/axios.md","lastUpdated":1661164664000}'),p={name:"guide/vue3/axios.md"},o=l("",4),e=[o];function r(t,c,F,D,y,A){return a(),n("div",null,e)}const u=s(p,[["render",r]]);export{i as __pageData,u as default};
diff --git a/assets/guide_vue3_base.md.b806d388.js b/assets/guide_vue3_base.md.a523080b.js
similarity index 98%
rename from assets/guide_vue3_base.md.b806d388.js
rename to assets/guide_vue3_base.md.a523080b.js
index 247f01b..627d571 100644
--- a/assets/guide_vue3_base.md.b806d388.js
+++ b/assets/guide_vue3_base.md.a523080b.js
@@ -1,4 +1,4 @@
-import{_ as s,c as n,o as a,a as p}from"./app.2b769fcb.js";const d=JSON.parse('{"title":"vite.config.ts \u57FA\u7840\u914D\u7F6E","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/base.md","lastUpdated":1661153879000}'),l={name:"guide/vue3/base.md"},o=p(`

vite.config.ts \u57FA\u7840\u914D\u7F6E

\u5982\u679C\u4F60\u7684 Vue Router \u6A21\u5F0F\u662F hash

javascript
publicPath: './',
+import{_ as s,c as n,o as a,a as p}from"./app.1a98d107.js";const d=JSON.parse('{"title":"vite.config.ts \u57FA\u7840\u914D\u7F6E","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/base.md","lastUpdated":1661164664000}'),l={name:"guide/vue3/base.md"},o=p(`

vite.config.ts \u57FA\u7840\u914D\u7F6E

\u5982\u679C\u4F60\u7684 Vue Router \u6A21\u5F0F\u662F hash

javascript
publicPath: './',
 

\u5982\u679C\u4F60\u7684 Vue Router \u6A21\u5F0F\u662F history \u8FD9\u91CC\u7684 publicPath \u548C\u4F60\u7684 Vue Router base \u4FDD\u6301\u4E00\u81F4

javascript
publicPath: '/app/',
 
javascript
export default function ({ command }: ConfigEnv): UserConfigExport {
   const isProduction = command === "build";
diff --git a/assets/guide_vue3_base.md.b806d388.lean.js b/assets/guide_vue3_base.md.a523080b.lean.js
similarity index 68%
rename from assets/guide_vue3_base.md.b806d388.lean.js
rename to assets/guide_vue3_base.md.a523080b.lean.js
index 3df0aa8..c5d7f28 100644
--- a/assets/guide_vue3_base.md.b806d388.lean.js
+++ b/assets/guide_vue3_base.md.a523080b.lean.js
@@ -1 +1 @@
-import{_ as s,c as n,o as a,a as p}from"./app.2b769fcb.js";const d=JSON.parse('{"title":"vite.config.ts \u57FA\u7840\u914D\u7F6E","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/base.md","lastUpdated":1661153879000}'),l={name:"guide/vue3/base.md"},o=p("",6),e=[o];function c(t,r,F,y,D,i){return a(),n("div",null,e)}const C=s(l,[["render",c]]);export{d as __pageData,C as default};
+import{_ as s,c as n,o as a,a as p}from"./app.1a98d107.js";const d=JSON.parse('{"title":"vite.config.ts \u57FA\u7840\u914D\u7F6E","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/base.md","lastUpdated":1661164664000}'),l={name:"guide/vue3/base.md"},o=p("",6),e=[o];function c(t,r,F,y,D,i){return a(),n("div",null,e)}const C=s(l,[["render",c]]);export{d as __pageData,C as default};
diff --git a/assets/guide_vue3_env.md.40fffc2e.js b/assets/guide_vue3_env.md.3e2dfd29.js
similarity index 95%
rename from assets/guide_vue3_env.md.40fffc2e.js
rename to assets/guide_vue3_env.md.3e2dfd29.js
index 79f99b8..2f46a46 100644
--- a/assets/guide_vue3_env.md.40fffc2e.js
+++ b/assets/guide_vue3_env.md.3e2dfd29.js
@@ -1,4 +1,4 @@
-import{_ as s,c as o,o as e,a}from"./app.2b769fcb.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/env.md","lastUpdated":1661153879000}'),n={name:"guide/vue3/env.md"},p=a(`

package.json \u91CC\u7684 scripts \u914D\u7F6E dev dev:test dev:prod \uFF0C\u901A\u8FC7 --mode xxx \u6765\u6267\u884C\u4E0D\u540C\u73AF\u5883

  • \u901A\u8FC7 yarn dev \u542F\u52A8\u672C\u5730\u73AF\u5883\u53C2\u6570 , \u6267\u884C development
  • \u901A\u8FC7 yarn dev:test \u542F\u52A8\u6D4B\u8BD5\u73AF\u5883\u53C2\u6570 , \u6267\u884C test
  • \u901A\u8FC7 yarn dev:prod \u542F\u52A8\u6B63\u5F0F\u73AF\u5883\u53C2\u6570 , \u6267\u884C prod
javascript
"scripts": {
+import{_ as s,c as o,o as e,a}from"./app.1a98d107.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/env.md","lastUpdated":1661164664000}'),n={name:"guide/vue3/env.md"},p=a(`

package.json \u91CC\u7684 scripts \u914D\u7F6E dev dev:test dev:prod \uFF0C\u901A\u8FC7 --mode xxx \u6765\u6267\u884C\u4E0D\u540C\u73AF\u5883

  • \u901A\u8FC7 yarn dev \u542F\u52A8\u672C\u5730\u73AF\u5883\u53C2\u6570 , \u6267\u884C development
  • \u901A\u8FC7 yarn dev:test \u542F\u52A8\u6D4B\u8BD5\u73AF\u5883\u53C2\u6570 , \u6267\u884C test
  • \u901A\u8FC7 yarn dev:prod \u542F\u52A8\u6B63\u5F0F\u73AF\u5883\u53C2\u6570 , \u6267\u884C prod
javascript
"scripts": {
     "dev": "vite",
     "dev:test": "vite --mode test",
     "dev:prod": "vite --mode production",
diff --git a/assets/guide_vue3_env.md.40fffc2e.lean.js b/assets/guide_vue3_env.md.3e2dfd29.lean.js
similarity index 64%
rename from assets/guide_vue3_env.md.40fffc2e.lean.js
rename to assets/guide_vue3_env.md.3e2dfd29.lean.js
index 65d6c0f..1214776 100644
--- a/assets/guide_vue3_env.md.40fffc2e.lean.js
+++ b/assets/guide_vue3_env.md.3e2dfd29.lean.js
@@ -1 +1 @@
-import{_ as s,c as o,o as e,a}from"./app.2b769fcb.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/env.md","lastUpdated":1661153879000}'),n={name:"guide/vue3/env.md"},p=a("",3),l=[p];function t(c,r,d,D,F,y){return e(),o("div",null,l)}const _=s(n,[["render",t]]);export{u as __pageData,_ as default};
+import{_ as s,c as o,o as e,a}from"./app.1a98d107.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/env.md","lastUpdated":1661164664000}'),n={name:"guide/vue3/env.md"},p=a("",3),l=[p];function t(c,r,d,D,F,y){return e(),o("div",null,l)}const _=s(n,[["render",t]]);export{u as __pageData,_ as default};
diff --git a/assets/guide_vue3_i18n.md.81964715.js b/assets/guide_vue3_i18n.md.1299a9d2.js
similarity index 99%
rename from assets/guide_vue3_i18n.md.81964715.js
rename to assets/guide_vue3_i18n.md.1299a9d2.js
index 85f60cd..63623b9 100644
--- a/assets/guide_vue3_i18n.md.81964715.js
+++ b/assets/guide_vue3_i18n.md.1299a9d2.js
@@ -1,4 +1,4 @@
-import{_ as s,c as n,o as a,a as l}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"i18n \u6587\u672C\u591A\u8BED\u8A00\u89E3\u51B3\u65B9\u6848","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5B9A\u4E49\u56FE\u7247\u7684\u76EE\u5F55\u683C\u5F0F","slug":"\u5B9A\u4E49\u56FE\u7247\u7684\u76EE\u5F55\u683C\u5F0F"},{"level":2,"title":"HTML\u7684\u4F7F\u7528\u65B9\u5F0F","slug":"html\u7684\u4F7F\u7528\u65B9\u5F0F"}],"relativePath":"guide/vue3/i18n.md","lastUpdated":1661153879000}'),p={name:"guide/vue3/i18n.md"},o=l(`

i18n \u6587\u672C\u591A\u8BED\u8A00\u89E3\u51B3\u65B9\u6848

javascript
import { createI18n } from 'vue-i18n'; // \u5F15\u5165\u7B2C\u4E09\u65B9\u6700\u65B0\u7684i18n\u6CE8\u610F\u7248\u672C
+import{_ as s,c as n,o as a,a as l}from"./app.1a98d107.js";const i=JSON.parse('{"title":"i18n \u6587\u672C\u591A\u8BED\u8A00\u89E3\u51B3\u65B9\u6848","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5B9A\u4E49\u56FE\u7247\u7684\u76EE\u5F55\u683C\u5F0F","slug":"\u5B9A\u4E49\u56FE\u7247\u7684\u76EE\u5F55\u683C\u5F0F"},{"level":2,"title":"HTML\u7684\u4F7F\u7528\u65B9\u5F0F","slug":"html\u7684\u4F7F\u7528\u65B9\u5F0F"}],"relativePath":"guide/vue3/i18n.md","lastUpdated":1661164664000}'),p={name:"guide/vue3/i18n.md"},o=l(`

i18n \u6587\u672C\u591A\u8BED\u8A00\u89E3\u51B3\u65B9\u6848

javascript
import { createI18n } from 'vue-i18n'; // \u5F15\u5165\u7B2C\u4E09\u65B9\u6700\u65B0\u7684i18n\u6CE8\u610F\u7248\u672C
 
 /**
  * @description: \u52A0\u8F7D\u5F53\u524D\u914D\u7F6E\u7684\u8BED\u8A00\u914D\u7F6E\u76EE\u5F55\uFF0C\u968F\u610F\u6DFB\u52A0
diff --git a/assets/guide_vue3_i18n.md.81964715.lean.js b/assets/guide_vue3_i18n.md.1299a9d2.lean.js
similarity index 80%
rename from assets/guide_vue3_i18n.md.81964715.lean.js
rename to assets/guide_vue3_i18n.md.1299a9d2.lean.js
index 1a8f126..70d069f 100644
--- a/assets/guide_vue3_i18n.md.81964715.lean.js
+++ b/assets/guide_vue3_i18n.md.1299a9d2.lean.js
@@ -1 +1 @@
-import{_ as s,c as n,o as a,a as l}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"i18n \u6587\u672C\u591A\u8BED\u8A00\u89E3\u51B3\u65B9\u6848","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5B9A\u4E49\u56FE\u7247\u7684\u76EE\u5F55\u683C\u5F0F","slug":"\u5B9A\u4E49\u56FE\u7247\u7684\u76EE\u5F55\u683C\u5F0F"},{"level":2,"title":"HTML\u7684\u4F7F\u7528\u65B9\u5F0F","slug":"html\u7684\u4F7F\u7528\u65B9\u5F0F"}],"relativePath":"guide/vue3/i18n.md","lastUpdated":1661153879000}'),p={name:"guide/vue3/i18n.md"},o=l("",9),e=[o];function c(t,r,F,D,y,C){return a(),n("div",null,e)}const g=s(p,[["render",c]]);export{i as __pageData,g as default};
+import{_ as s,c as n,o as a,a as l}from"./app.1a98d107.js";const i=JSON.parse('{"title":"i18n \u6587\u672C\u591A\u8BED\u8A00\u89E3\u51B3\u65B9\u6848","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5B9A\u4E49\u56FE\u7247\u7684\u76EE\u5F55\u683C\u5F0F","slug":"\u5B9A\u4E49\u56FE\u7247\u7684\u76EE\u5F55\u683C\u5F0F"},{"level":2,"title":"HTML\u7684\u4F7F\u7528\u65B9\u5F0F","slug":"html\u7684\u4F7F\u7528\u65B9\u5F0F"}],"relativePath":"guide/vue3/i18n.md","lastUpdated":1661164664000}'),p={name:"guide/vue3/i18n.md"},o=l("",9),e=[o];function c(t,r,F,D,y,C){return a(),n("div",null,e)}const g=s(p,[["render",c]]);export{i as __pageData,g as default};
diff --git a/assets/guide_vue3_lint.md.ff017f99.js b/assets/guide_vue3_lint.md.67b8bd6e.js
similarity index 88%
rename from assets/guide_vue3_lint.md.ff017f99.js
rename to assets/guide_vue3_lint.md.67b8bd6e.js
index e746d75..1ec5428 100644
--- a/assets/guide_vue3_lint.md.ff017f99.js
+++ b/assets/guide_vue3_lint.md.67b8bd6e.js
@@ -1 +1 @@
-import{_ as e,c as s,o as i,b as t,d as n}from"./app.2b769fcb.js";const g=JSON.parse('{"title":"Eslint+Pettier+stylelint \u7EDF\u4E00\u5F00\u53D1\u89C4\u8303","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/lint.md","lastUpdated":1661153879000}'),a={name:"guide/vue3/lint.md"},r=t("h1",{id:"eslint-pettier-stylelint-\u7EDF\u4E00\u5F00\u53D1\u89C4\u8303",tabindex:"-1"},[n("Eslint+Pettier+stylelint \u7EDF\u4E00\u5F00\u53D1\u89C4\u8303 "),t("a",{class:"header-anchor",href:"#eslint-pettier-stylelint-\u7EDF\u4E00\u5F00\u53D1\u89C4\u8303","aria-hidden":"true"},"#")],-1),l=t("p",null,"\u6839\u76EE\u5F55\u4E0B\u7684.eslintrc.js\u3001.stylelint.config.js\u3001.prettier.config.js \u5185\u7F6E\u4E86 lint \u89C4\u5219\uFF0C\u5E2E\u52A9\u4F60\u89C4\u8303\u5730\u5F00\u53D1\u4EE3\u7801\uFF0C\u6709\u52A9\u4E8E\u63D0\u9AD8\u56E2\u961F\u7684\u4EE3\u7801\u8D28\u91CF\u548C\u534F\u4F5C\u6027\uFF0C\u53EF\u4EE5\u6839\u636E\u56E2\u961F\u7684\u89C4\u5219\u8FDB\u884C\u4FEE\u6539",-1),o=[r,l];function c(d,_,p,h,u,f){return i(),s("div",null,o)}const x=e(a,[["render",c]]);export{g as __pageData,x as default};
+import{_ as e,c as s,o as i,b as t,d as n}from"./app.1a98d107.js";const g=JSON.parse('{"title":"Eslint+Pettier+stylelint \u7EDF\u4E00\u5F00\u53D1\u89C4\u8303","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/lint.md","lastUpdated":1661164664000}'),a={name:"guide/vue3/lint.md"},r=t("h1",{id:"eslint-pettier-stylelint-\u7EDF\u4E00\u5F00\u53D1\u89C4\u8303",tabindex:"-1"},[n("Eslint+Pettier+stylelint \u7EDF\u4E00\u5F00\u53D1\u89C4\u8303 "),t("a",{class:"header-anchor",href:"#eslint-pettier-stylelint-\u7EDF\u4E00\u5F00\u53D1\u89C4\u8303","aria-hidden":"true"},"#")],-1),l=t("p",null,"\u6839\u76EE\u5F55\u4E0B\u7684.eslintrc.js\u3001.stylelint.config.js\u3001.prettier.config.js \u5185\u7F6E\u4E86 lint \u89C4\u5219\uFF0C\u5E2E\u52A9\u4F60\u89C4\u8303\u5730\u5F00\u53D1\u4EE3\u7801\uFF0C\u6709\u52A9\u4E8E\u63D0\u9AD8\u56E2\u961F\u7684\u4EE3\u7801\u8D28\u91CF\u548C\u534F\u4F5C\u6027\uFF0C\u53EF\u4EE5\u6839\u636E\u56E2\u961F\u7684\u89C4\u5219\u8FDB\u884C\u4FEE\u6539",-1),o=[r,l];function c(d,_,p,h,u,f){return i(),s("div",null,o)}const x=e(a,[["render",c]]);export{g as __pageData,x as default};
diff --git a/assets/guide_vue3_lint.md.ff017f99.lean.js b/assets/guide_vue3_lint.md.67b8bd6e.lean.js
similarity index 88%
rename from assets/guide_vue3_lint.md.ff017f99.lean.js
rename to assets/guide_vue3_lint.md.67b8bd6e.lean.js
index e746d75..1ec5428 100644
--- a/assets/guide_vue3_lint.md.ff017f99.lean.js
+++ b/assets/guide_vue3_lint.md.67b8bd6e.lean.js
@@ -1 +1 @@
-import{_ as e,c as s,o as i,b as t,d as n}from"./app.2b769fcb.js";const g=JSON.parse('{"title":"Eslint+Pettier+stylelint \u7EDF\u4E00\u5F00\u53D1\u89C4\u8303","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/lint.md","lastUpdated":1661153879000}'),a={name:"guide/vue3/lint.md"},r=t("h1",{id:"eslint-pettier-stylelint-\u7EDF\u4E00\u5F00\u53D1\u89C4\u8303",tabindex:"-1"},[n("Eslint+Pettier+stylelint \u7EDF\u4E00\u5F00\u53D1\u89C4\u8303 "),t("a",{class:"header-anchor",href:"#eslint-pettier-stylelint-\u7EDF\u4E00\u5F00\u53D1\u89C4\u8303","aria-hidden":"true"},"#")],-1),l=t("p",null,"\u6839\u76EE\u5F55\u4E0B\u7684.eslintrc.js\u3001.stylelint.config.js\u3001.prettier.config.js \u5185\u7F6E\u4E86 lint \u89C4\u5219\uFF0C\u5E2E\u52A9\u4F60\u89C4\u8303\u5730\u5F00\u53D1\u4EE3\u7801\uFF0C\u6709\u52A9\u4E8E\u63D0\u9AD8\u56E2\u961F\u7684\u4EE3\u7801\u8D28\u91CF\u548C\u534F\u4F5C\u6027\uFF0C\u53EF\u4EE5\u6839\u636E\u56E2\u961F\u7684\u89C4\u5219\u8FDB\u884C\u4FEE\u6539",-1),o=[r,l];function c(d,_,p,h,u,f){return i(),s("div",null,o)}const x=e(a,[["render",c]]);export{g as __pageData,x as default};
+import{_ as e,c as s,o as i,b as t,d as n}from"./app.1a98d107.js";const g=JSON.parse('{"title":"Eslint+Pettier+stylelint \u7EDF\u4E00\u5F00\u53D1\u89C4\u8303","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/lint.md","lastUpdated":1661164664000}'),a={name:"guide/vue3/lint.md"},r=t("h1",{id:"eslint-pettier-stylelint-\u7EDF\u4E00\u5F00\u53D1\u89C4\u8303",tabindex:"-1"},[n("Eslint+Pettier+stylelint \u7EDF\u4E00\u5F00\u53D1\u89C4\u8303 "),t("a",{class:"header-anchor",href:"#eslint-pettier-stylelint-\u7EDF\u4E00\u5F00\u53D1\u89C4\u8303","aria-hidden":"true"},"#")],-1),l=t("p",null,"\u6839\u76EE\u5F55\u4E0B\u7684.eslintrc.js\u3001.stylelint.config.js\u3001.prettier.config.js \u5185\u7F6E\u4E86 lint \u89C4\u5219\uFF0C\u5E2E\u52A9\u4F60\u89C4\u8303\u5730\u5F00\u53D1\u4EE3\u7801\uFF0C\u6709\u52A9\u4E8E\u63D0\u9AD8\u56E2\u961F\u7684\u4EE3\u7801\u8D28\u91CF\u548C\u534F\u4F5C\u6027\uFF0C\u53EF\u4EE5\u6839\u636E\u56E2\u961F\u7684\u89C4\u5219\u8FDB\u884C\u4FEE\u6539",-1),o=[r,l];function c(d,_,p,h,u,f){return i(),s("div",null,o)}const x=e(a,[["render",c]]);export{g as __pageData,x as default};
diff --git a/assets/guide_vue3_pinia.md.92167b16.js b/assets/guide_vue3_pinia.md.650c43bd.js
similarity index 99%
rename from assets/guide_vue3_pinia.md.92167b16.js
rename to assets/guide_vue3_pinia.md.650c43bd.js
index c3bcd45..3c43041 100644
--- a/assets/guide_vue3_pinia.md.92167b16.js
+++ b/assets/guide_vue3_pinia.md.650c43bd.js
@@ -1,4 +1,4 @@
-import{_ as s,c as n,o as a,a as p}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"Pinia \u72B6\u6001\u7BA1\u7406","description":"","frontmatter":{},"headers":[{"level":3,"title":"options API:","slug":"options-api"},{"level":3,"title":"Composition API:","slug":"composition-api"}],"relativePath":"guide/vue3/pinia.md","lastUpdated":1661153879000}'),l={name:"guide/vue3/pinia.md"},o=p(`

Pinia \u72B6\u6001\u7BA1\u7406

\u4E0B\u4E00\u4EE3 vuex\uFF0C\u4F7F\u7528\u6781\u5176\u65B9\u4FBF\uFF0Cts \u517C\u5BB9\u597D

\u76EE\u5F55\u7ED3\u6784

bash
\u251C\u2500\u2500 store
+import{_ as s,c as n,o as a,a as p}from"./app.1a98d107.js";const i=JSON.parse('{"title":"Pinia \u72B6\u6001\u7BA1\u7406","description":"","frontmatter":{},"headers":[{"level":3,"title":"options API:","slug":"options-api"},{"level":3,"title":"Composition API:","slug":"composition-api"}],"relativePath":"guide/vue3/pinia.md","lastUpdated":1661164664000}'),l={name:"guide/vue3/pinia.md"},o=p(`

Pinia \u72B6\u6001\u7BA1\u7406

\u4E0B\u4E00\u4EE3 vuex\uFF0C\u4F7F\u7528\u6781\u5176\u65B9\u4FBF\uFF0Cts \u517C\u5BB9\u597D

\u76EE\u5F55\u7ED3\u6784

bash
\u251C\u2500\u2500 store
 \u2502   \u251C\u2500\u2500 modules
 \u2502   \u2502   \u2514\u2500\u2500 user.js
 \u2502   \u251C\u2500\u2500 index.js
diff --git a/assets/guide_vue3_pinia.md.92167b16.lean.js b/assets/guide_vue3_pinia.md.650c43bd.lean.js
similarity index 75%
rename from assets/guide_vue3_pinia.md.92167b16.lean.js
rename to assets/guide_vue3_pinia.md.650c43bd.lean.js
index 5b15470..19c4d3a 100644
--- a/assets/guide_vue3_pinia.md.92167b16.lean.js
+++ b/assets/guide_vue3_pinia.md.650c43bd.lean.js
@@ -1 +1 @@
-import{_ as s,c as n,o as a,a as p}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"Pinia \u72B6\u6001\u7BA1\u7406","description":"","frontmatter":{},"headers":[{"level":3,"title":"options API:","slug":"options-api"},{"level":3,"title":"Composition API:","slug":"composition-api"}],"relativePath":"guide/vue3/pinia.md","lastUpdated":1661153879000}'),l={name:"guide/vue3/pinia.md"},o=p("",11),e=[o];function t(c,r,F,y,D,A){return a(),n("div",null,e)}const d=s(l,[["render",t]]);export{i as __pageData,d as default};
+import{_ as s,c as n,o as a,a as p}from"./app.1a98d107.js";const i=JSON.parse('{"title":"Pinia \u72B6\u6001\u7BA1\u7406","description":"","frontmatter":{},"headers":[{"level":3,"title":"options API:","slug":"options-api"},{"level":3,"title":"Composition API:","slug":"composition-api"}],"relativePath":"guide/vue3/pinia.md","lastUpdated":1661164664000}'),l={name:"guide/vue3/pinia.md"},o=p("",11),e=[o];function t(c,r,F,y,D,A){return a(),n("div",null,e)}const d=s(l,[["render",t]]);export{i as __pageData,d as default};
diff --git a/assets/guide_vue3_proxy.md.67e42e50.js b/assets/guide_vue3_proxy.md.5b264ce5.js
similarity index 95%
rename from assets/guide_vue3_proxy.md.67e42e50.js
rename to assets/guide_vue3_proxy.md.5b264ce5.js
index aab9035..e3ef606 100644
--- a/assets/guide_vue3_proxy.md.67e42e50.js
+++ b/assets/guide_vue3_proxy.md.5b264ce5.js
@@ -1,4 +1,4 @@
-import{_ as s,c as a,o as n,a as p}from"./app.2b769fcb.js";const d=JSON.parse('{"title":"proxy \u8DE8\u57DF","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/proxy.md","lastUpdated":1661153879000}'),o={name:"guide/vue3/proxy.md"},l=p(`

proxy \u8DE8\u57DF

javascript
server: {
+import{_ as s,c as a,o as n,a as p}from"./app.1a98d107.js";const d=JSON.parse('{"title":"proxy \u8DE8\u57DF","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/proxy.md","lastUpdated":1661164664000}'),o={name:"guide/vue3/proxy.md"},l=p(`

proxy \u8DE8\u57DF

javascript
server: {
     proxy: {
         '/api': {
             target: 'https://baidu.com',
diff --git a/assets/guide_vue3_proxy.md.67e42e50.lean.js b/assets/guide_vue3_proxy.md.5b264ce5.lean.js
similarity index 67%
rename from assets/guide_vue3_proxy.md.67e42e50.lean.js
rename to assets/guide_vue3_proxy.md.5b264ce5.lean.js
index 65da16a..80c797b 100644
--- a/assets/guide_vue3_proxy.md.67e42e50.lean.js
+++ b/assets/guide_vue3_proxy.md.5b264ce5.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,o as n,a as p}from"./app.2b769fcb.js";const d=JSON.parse('{"title":"proxy \u8DE8\u57DF","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/proxy.md","lastUpdated":1661153879000}'),o={name:"guide/vue3/proxy.md"},l=p("",2),e=[l];function t(r,c,F,y,D,i){return n(),a("div",null,e)}const C=s(o,[["render",t]]);export{d as __pageData,C as default};
+import{_ as s,c as a,o as n,a as p}from"./app.1a98d107.js";const d=JSON.parse('{"title":"proxy \u8DE8\u57DF","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/proxy.md","lastUpdated":1661164664000}'),o={name:"guide/vue3/proxy.md"},l=p("",2),e=[l];function t(r,c,F,y,D,i){return n(),a("div",null,e)}const C=s(o,[["render",t]]);export{d as __pageData,C as default};
diff --git a/assets/guide_vue3_router.md.ed9784a2.js b/assets/guide_vue3_router.md.b8f070a9.js
similarity index 97%
rename from assets/guide_vue3_router.md.ed9784a2.js
rename to assets/guide_vue3_router.md.b8f070a9.js
index ee0e45c..ee2718a 100644
--- a/assets/guide_vue3_router.md.ed9784a2.js
+++ b/assets/guide_vue3_router.md.b8f070a9.js
@@ -1,4 +1,4 @@
-import{_ as s,c as a,o as n,a as o}from"./app.2b769fcb.js";const u=JSON.parse('{"title":"vue-router","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/router.md","lastUpdated":1661153879000}'),p={name:"guide/vue3/router.md"},l=o(`

vue-router

\u672C\u6848\u4F8B\u91C7\u7528 hash \u6A21\u5F0F\uFF0C\u5F00\u53D1\u8005\u6839\u636E\u9700\u6C42\u4FEE\u6539 mode base

\u6CE8\u610F\uFF1A\u5982\u679C\u4F60\u4F7F\u7528\u4E86 history \u6A21\u5F0F\uFF0C vue.config.js \u4E2D\u7684 publicPath \u8981\u505A\u5BF9\u5E94\u7684\u4FEE\u6539

\u524D\u5F80:vue.config.js \u57FA\u7840\u914D\u7F6E

javascript
import Vue from "vue";
+import{_ as s,c as a,o as n,a as o}from"./app.1a98d107.js";const u=JSON.parse('{"title":"vue-router","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/router.md","lastUpdated":1661164664000}'),p={name:"guide/vue3/router.md"},l=o(`

vue-router

\u672C\u6848\u4F8B\u91C7\u7528 hash \u6A21\u5F0F\uFF0C\u5F00\u53D1\u8005\u6839\u636E\u9700\u6C42\u4FEE\u6539 mode base

\u6CE8\u610F\uFF1A\u5982\u679C\u4F60\u4F7F\u7528\u4E86 history \u6A21\u5F0F\uFF0C vue.config.js \u4E2D\u7684 publicPath \u8981\u505A\u5BF9\u5E94\u7684\u4FEE\u6539

\u524D\u5F80:vue.config.js \u57FA\u7840\u914D\u7F6E

javascript
import Vue from "vue";
 import { createRouter, createWebHistory, Router } from "vue-router";
 
 Vue.use(Router);
diff --git a/assets/guide_vue3_router.md.ed9784a2.lean.js b/assets/guide_vue3_router.md.b8f070a9.lean.js
similarity index 66%
rename from assets/guide_vue3_router.md.ed9784a2.lean.js
rename to assets/guide_vue3_router.md.b8f070a9.lean.js
index d9597d2..8a8ac21 100644
--- a/assets/guide_vue3_router.md.ed9784a2.lean.js
+++ b/assets/guide_vue3_router.md.b8f070a9.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,o as n,a as o}from"./app.2b769fcb.js";const u=JSON.parse('{"title":"vue-router","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/router.md","lastUpdated":1661153879000}'),p={name:"guide/vue3/router.md"},l=o("",5),e=[l];function t(r,c,D,y,F,A){return n(),a("div",null,e)}const i=s(p,[["render",t]]);export{u as __pageData,i as default};
+import{_ as s,c as a,o as n,a as o}from"./app.1a98d107.js";const u=JSON.parse('{"title":"vue-router","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/router.md","lastUpdated":1661164664000}'),p={name:"guide/vue3/router.md"},l=o("",5),e=[l];function t(r,c,D,y,F,A){return n(),a("div",null,e)}const i=s(p,[["render",t]]);export{u as __pageData,i as default};
diff --git a/assets/guide_vue3_start.md.34bca610.js b/assets/guide_vue3_start.md.adc66eab.js
similarity index 91%
rename from assets/guide_vue3_start.md.34bca610.js
rename to assets/guide_vue3_start.md.adc66eab.js
index 28d12c3..efcb4b4 100644
--- a/assets/guide_vue3_start.md.34bca610.js
+++ b/assets/guide_vue3_start.md.adc66eab.js
@@ -1,4 +1,4 @@
-import{_ as s,c as a,o as n,a as e}from"./app.2b769fcb.js";const y=JSON.parse('{"title":"\u542F\u52A8\u9879\u76EE","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/start.md","lastUpdated":1661153879000}'),t={name:"guide/vue3/start.md"},l=e(`

\u542F\u52A8\u9879\u76EE

js

+import{_ as s,c as a,o as n,a as e}from"./app.1a98d107.js";const y=JSON.parse('{"title":"\u542F\u52A8\u9879\u76EE","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/start.md","lastUpdated":1661164664000}'),t={name:"guide/vue3/start.md"},l=e(`

\u542F\u52A8\u9879\u76EE

js

 // \u62C9\u53D6\u9879\u76EE
 git clone https://github.com/sunniejs/vue-h5-template
 
diff --git a/assets/guide_vue3_start.md.34bca610.lean.js b/assets/guide_vue3_start.md.adc66eab.lean.js
similarity index 67%
rename from assets/guide_vue3_start.md.34bca610.lean.js
rename to assets/guide_vue3_start.md.adc66eab.lean.js
index 04afa4e..ed783b4 100644
--- a/assets/guide_vue3_start.md.34bca610.lean.js
+++ b/assets/guide_vue3_start.md.adc66eab.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,o as n,a as e}from"./app.2b769fcb.js";const y=JSON.parse('{"title":"\u542F\u52A8\u9879\u76EE","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/start.md","lastUpdated":1661153879000}'),t={name:"guide/vue3/start.md"},l=e("",2),p=[l];function c(o,r,i,_,d,u){return n(),a("div",null,p)}const m=s(t,[["render",c]]);export{y as __pageData,m as default};
+import{_ as s,c as a,o as n,a as e}from"./app.1a98d107.js";const y=JSON.parse('{"title":"\u542F\u52A8\u9879\u76EE","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/start.md","lastUpdated":1661164664000}'),t={name:"guide/vue3/start.md"},l=e("",2),p=[l];function c(o,r,i,_,d,u){return n(),a("div",null,p)}const m=s(t,[["render",c]]);export{y as __pageData,m as default};
diff --git a/assets/guide_vue3_ui.md.45c48bf7.js b/assets/guide_vue3_ui.md.05f726dc.js
similarity index 80%
rename from assets/guide_vue3_ui.md.45c48bf7.js
rename to assets/guide_vue3_ui.md.05f726dc.js
index b91a792..9ea3e05 100644
--- a/assets/guide_vue3_ui.md.45c48bf7.js
+++ b/assets/guide_vue3_ui.md.05f726dc.js
@@ -1,4 +1,4 @@
-import{_ as s,c as n,o as a,a as p}from"./app.2b769fcb.js";const C=JSON.parse('{"title":"\u591A UI \u7EC4\u4EF6\u5E93\u4F9B\u9009\u62E9","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5B89\u88C5\u63D2\u4EF6","slug":"\u5B89\u88C5\u63D2\u4EF6"},{"level":2,"title":"\u4F7F\u7528\u7EC4\u4EF6\u5E93","slug":"\u4F7F\u7528\u7EC4\u4EF6\u5E93"},{"level":2,"title":"\u4E0D\u9700\u8981\u67D0\u4E2A\u7EC4\u4EF6\u5E93","slug":"\u4E0D\u9700\u8981\u67D0\u4E2A\u7EC4\u4EF6\u5E93"}],"relativePath":"guide/vue3/ui.md","lastUpdated":1661153879000}'),l={name:"guide/vue3/ui.md"},o=p(`

\u591A UI \u7EC4\u4EF6\u5E93\u4F9B\u9009\u62E9

Vite \u6784\u5EFA\u5DE5\u5177\uFF0C\u4F7F\u7528 vite-plugin-style-import \u548C unplugin-vue-components/vite \u5B9E\u73B0\u6309\u9700\u5F15\u5165\u3002

\u5B89\u88C5\u63D2\u4EF6

bash
yarn add vite-plugin-style-import -D
+import{_ as s,c as a,o as n,a as l}from"./app.1a98d107.js";const A=JSON.parse('{"title":"\u591A UI \u7EC4\u4EF6\u5E93\u4F9B\u9009\u62E9","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5B89\u88C5\u63D2\u4EF6","slug":"\u5B89\u88C5\u63D2\u4EF6"},{"level":2,"title":"\u4F7F\u7528\u7EC4\u4EF6\u5E93","slug":"\u4F7F\u7528\u7EC4\u4EF6\u5E93"},{"level":2,"title":"\u4E0D\u9700\u8981\u67D0\u4E2A\u7EC4\u4EF6\u5E93","slug":"\u4E0D\u9700\u8981\u67D0\u4E2A\u7EC4\u4EF6\u5E93"},{"level":2,"title":"\u53C2\u8003\u6587\u6863","slug":"\u53C2\u8003\u6587\u6863"}],"relativePath":"guide/vue3/ui.md","lastUpdated":1661164664000}'),p={name:"guide/vue3/ui.md"},o=l(`

\u591A UI \u7EC4\u4EF6\u5E93\u4F9B\u9009\u62E9

Vite \u6784\u5EFA\u5DE5\u5177\uFF0C\u4F7F\u7528 vite-plugin-style-import \u548C unplugin-vue-components/vite \u5B9E\u73B0\u6309\u9700\u5F15\u5165\u3002

\u5B89\u88C5\u63D2\u4EF6

bash
yarn add vite-plugin-style-import -D
 yarn add unplugin-vue-components/vite -D
 

\u4F7F\u7528\u7EC4\u4EF6\u5E93

nutUI \u6CA1\u6709\u6309\u9700\u52A0\u8F7D\u7684 resolvers\uFF0Cstyle \u9700\u8981\u81EA\u5DF1\u914D\u7F6E\u6309\u9700\u52A0\u8F7D

\u5728 config/vite/plugins/styleImport.ts \u8BBE\u7F6E

javascript
  // \u6309\u9700\u52A0\u8F7D\u6837\u5F0F\u6587\u4EF6
   ...
@@ -19,4 +19,4 @@ import{_ as s,c as n,o as a,a as p}from"./app.2b769fcb.js";const C=JSON.parse('{
 ...
 resolvers: [VantResolver(), VarletUIResolver()],
 ...
-

\u4E0D\u9700\u8981\u67D0\u4E2A\u7EC4\u4EF6\u5E93

nutUI \u9700\u5220\u9664src/plugins/nutUI.ts\u548Cmain.ts\u6587\u4EF6\u4E0B\u7684\u5F15\u5165

vant \u548C varlet \u53EA\u9700\u5220\u9664\u5BF9\u5E94\u7684 resolvers \u5373\u53EF

\u5220\u9664\u540E\u9700\u5168\u5C40\u641C\u7D22\u5220\u9664\u4E0D\u9700\u8981\u7684\u7EC4\u4EF6\uFF0C\u907F\u514D\u62A5\u9519

`,17),e=[o];function t(c,r,D,y,F,i){return a(),n("div",null,e)}const u=s(l,[["render",t]]);export{C as __pageData,u as default}; +

\u4E0D\u9700\u8981\u67D0\u4E2A\u7EC4\u4EF6\u5E93

nutUI \u9700\u5220\u9664src/plugins/nutUI.ts\u548Cmain.ts\u6587\u4EF6\u4E0B\u7684\u5F15\u5165

vant \u548C varlet \u53EA\u9700\u5220\u9664\u5BF9\u5E94\u7684 resolvers \u5373\u53EF

\u5220\u9664\u540E\u9700\u5168\u5C40\u641C\u7D22\u5220\u9664\u4E0D\u9700\u8981\u7684\u7EC4\u4EF6\uFF0C\u907F\u514D\u62A5\u9519

\u53C2\u8003\u6587\u6863

`,19),e=[o];function t(r,c,D,y,i,F){return n(),a("div",null,e)}const u=s(p,[["render",t]]);export{A as __pageData,u as default}; diff --git a/assets/guide_vue3_ui.md.05f726dc.lean.js b/assets/guide_vue3_ui.md.05f726dc.lean.js new file mode 100644 index 0000000..02cd9dc --- /dev/null +++ b/assets/guide_vue3_ui.md.05f726dc.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,a as l}from"./app.1a98d107.js";const A=JSON.parse('{"title":"\u591A UI \u7EC4\u4EF6\u5E93\u4F9B\u9009\u62E9","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5B89\u88C5\u63D2\u4EF6","slug":"\u5B89\u88C5\u63D2\u4EF6"},{"level":2,"title":"\u4F7F\u7528\u7EC4\u4EF6\u5E93","slug":"\u4F7F\u7528\u7EC4\u4EF6\u5E93"},{"level":2,"title":"\u4E0D\u9700\u8981\u67D0\u4E2A\u7EC4\u4EF6\u5E93","slug":"\u4E0D\u9700\u8981\u67D0\u4E2A\u7EC4\u4EF6\u5E93"},{"level":2,"title":"\u53C2\u8003\u6587\u6863","slug":"\u53C2\u8003\u6587\u6863"}],"relativePath":"guide/vue3/ui.md","lastUpdated":1661164664000}'),p={name:"guide/vue3/ui.md"},o=l("",19),e=[o];function t(r,c,D,y,i,F){return n(),a("div",null,e)}const u=s(p,[["render",t]]);export{A as __pageData,u as default}; diff --git a/assets/guide_vue3_ui.md.45c48bf7.lean.js b/assets/guide_vue3_ui.md.45c48bf7.lean.js deleted file mode 100644 index 4a15268..0000000 --- a/assets/guide_vue3_ui.md.45c48bf7.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as n,o as a,a as p}from"./app.2b769fcb.js";const C=JSON.parse('{"title":"\u591A UI \u7EC4\u4EF6\u5E93\u4F9B\u9009\u62E9","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5B89\u88C5\u63D2\u4EF6","slug":"\u5B89\u88C5\u63D2\u4EF6"},{"level":2,"title":"\u4F7F\u7528\u7EC4\u4EF6\u5E93","slug":"\u4F7F\u7528\u7EC4\u4EF6\u5E93"},{"level":2,"title":"\u4E0D\u9700\u8981\u67D0\u4E2A\u7EC4\u4EF6\u5E93","slug":"\u4E0D\u9700\u8981\u67D0\u4E2A\u7EC4\u4EF6\u5E93"}],"relativePath":"guide/vue3/ui.md","lastUpdated":1661153879000}'),l={name:"guide/vue3/ui.md"},o=p("",17),e=[o];function t(c,r,D,y,F,i){return a(),n("div",null,e)}const u=s(l,[["render",t]]);export{C as __pageData,u as default}; diff --git a/assets/guide_vue3_viewport.md.cf8ce157.js b/assets/guide_vue3_viewport.md.a4eaefb3.js similarity index 99% rename from assets/guide_vue3_viewport.md.cf8ce157.js rename to assets/guide_vue3_viewport.md.a4eaefb3.js index 4980c93..82c10b2 100644 --- a/assets/guide_vue3_viewport.md.cf8ce157.js +++ b/assets/guide_vue3_viewport.md.a4eaefb3.js @@ -1,4 +1,4 @@ -import{_ as s,c as n,o as a,a as p}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"viewport \u9002\u914D\u65B9\u6848","description":"","frontmatter":{},"headers":[{"level":2,"title":"PostCSS \u914D\u7F6E","slug":"postcss-\u914D\u7F6E"}],"relativePath":"guide/vue3/viewport.md","lastUpdated":1661153879000}'),l={name:"guide/vue3/viewport.md"},o=p(`

viewport \u9002\u914D\u65B9\u6848

\u4E0D\u7528\u62C5\u5FC3\uFF0C\u9879\u76EE\u5DF2\u7ECF\u914D\u7F6E\u597D\u4E86 viewport \u9002\u914D\uFF0C\u4E0B\u9762\u4EC5\u505A\u4ECB\u7ECD\uFF1A

  • cnjm-postcss-px-to-viewport \u662F\u4E00\u6B3E postcss \u63D2\u4EF6\uFF0C\u7528\u4E8E\u5C06\u5355\u4F4D\u8F6C\u5316\u4E3A vw\uFF0C \u73B0\u5728\u5F88\u591A\u6D4F\u89C8\u5668\u5BF9vw\u7684\u652F\u6301\u90FD\u5F88\u597D\uFF0C\u9002\u914D\u9996\u9009\u65B9\u6848\u3002

PostCSS \u914D\u7F6E

\u4E0B\u9762\u63D0\u4F9B\u4E86\u4E00\u4EFD\u57FA\u672C\u7684 postcss \u914D\u7F6E\uFF0C\u53EF\u4EE5\u5728\u6B64\u914D\u7F6E\u7684\u57FA\u7840\u4E0A\u6839\u636E\u9879\u76EE\u9700\u6C42\u8FDB\u884C\u4FEE\u6539

javascript
// https://github.com/michael-ciniawsky/postcss-load-config
+import{_ as s,c as n,o as a,a as p}from"./app.1a98d107.js";const i=JSON.parse('{"title":"viewport \u9002\u914D\u65B9\u6848","description":"","frontmatter":{},"headers":[{"level":2,"title":"PostCSS \u914D\u7F6E","slug":"postcss-\u914D\u7F6E"}],"relativePath":"guide/vue3/viewport.md","lastUpdated":1661164664000}'),l={name:"guide/vue3/viewport.md"},o=p(`

viewport \u9002\u914D\u65B9\u6848

\u4E0D\u7528\u62C5\u5FC3\uFF0C\u9879\u76EE\u5DF2\u7ECF\u914D\u7F6E\u597D\u4E86 viewport \u9002\u914D\uFF0C\u4E0B\u9762\u4EC5\u505A\u4ECB\u7ECD\uFF1A

  • cnjm-postcss-px-to-viewport \u662F\u4E00\u6B3E postcss \u63D2\u4EF6\uFF0C\u7528\u4E8E\u5C06\u5355\u4F4D\u8F6C\u5316\u4E3A vw\uFF0C \u73B0\u5728\u5F88\u591A\u6D4F\u89C8\u5668\u5BF9vw\u7684\u652F\u6301\u90FD\u5F88\u597D\uFF0C\u9002\u914D\u9996\u9009\u65B9\u6848\u3002

PostCSS \u914D\u7F6E

\u4E0B\u9762\u63D0\u4F9B\u4E86\u4E00\u4EFD\u57FA\u672C\u7684 postcss \u914D\u7F6E\uFF0C\u53EF\u4EE5\u5728\u6B64\u914D\u7F6E\u7684\u57FA\u7840\u4E0A\u6839\u636E\u9879\u76EE\u9700\u6C42\u8FDB\u884C\u4FEE\u6539

javascript
// https://github.com/michael-ciniawsky/postcss-load-config
 module.exports = {
   plugins: {
     autoprefixer: { overrideBrowserslist: ['Android 4.1', 'iOS 7.1', 'Chrome > 31', 'ff > 31', 'ie >= 8'] },
diff --git a/assets/guide_vue3_viewport.md.cf8ce157.lean.js b/assets/guide_vue3_viewport.md.a4eaefb3.lean.js
similarity index 73%
rename from assets/guide_vue3_viewport.md.cf8ce157.lean.js
rename to assets/guide_vue3_viewport.md.a4eaefb3.lean.js
index 5f0e905..730a9e5 100644
--- a/assets/guide_vue3_viewport.md.cf8ce157.lean.js
+++ b/assets/guide_vue3_viewport.md.a4eaefb3.lean.js
@@ -1 +1 @@
-import{_ as s,c as n,o as a,a as p}from"./app.2b769fcb.js";const i=JSON.parse('{"title":"viewport \u9002\u914D\u65B9\u6848","description":"","frontmatter":{},"headers":[{"level":2,"title":"PostCSS \u914D\u7F6E","slug":"postcss-\u914D\u7F6E"}],"relativePath":"guide/vue3/viewport.md","lastUpdated":1661153879000}'),l={name:"guide/vue3/viewport.md"},o=p("",17),e=[o];function t(c,r,D,y,F,C){return a(),n("div",null,e)}const d=s(l,[["render",t]]);export{i as __pageData,d as default};
+import{_ as s,c as n,o as a,a as p}from"./app.1a98d107.js";const i=JSON.parse('{"title":"viewport \u9002\u914D\u65B9\u6848","description":"","frontmatter":{},"headers":[{"level":2,"title":"PostCSS \u914D\u7F6E","slug":"postcss-\u914D\u7F6E"}],"relativePath":"guide/vue3/viewport.md","lastUpdated":1661164664000}'),l={name:"guide/vue3/viewport.md"},o=p("",17),e=[o];function t(c,r,D,y,F,C){return a(),n("div",null,e)}const d=s(l,[["render",t]]);export{i as __pageData,d as default};
diff --git a/assets/guide_vue3_vite.md.2d8528d7.js b/assets/guide_vue3_vite.md.9b825c43.js
similarity index 93%
rename from assets/guide_vue3_vite.md.2d8528d7.js
rename to assets/guide_vue3_vite.md.9b825c43.js
index 658d409..32aa8d5 100644
--- a/assets/guide_vue3_vite.md.2d8528d7.js
+++ b/assets/guide_vue3_vite.md.9b825c43.js
@@ -1 +1 @@
-import{_ as e,c as i,o as t,a as l}from"./app.2b769fcb.js";const g=JSON.parse('{"title":"vite","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/vite.md","lastUpdated":1661153879000}'),a={name:"guide/vue3/vite.md"},n=l('

vite

\u57FA\u4E8E\u539F\u751F ES \u6A21\u5757\u63D0\u4F9B\u4E86\u4E30\u5BCC\u7684\u5185\u5EFA\u529F\u80FD\uFF0C\u5982\u901F\u5EA6\u5FEB\u5230\u60CA\u4EBA\u7684\u6A21\u5757\u70ED\u66F4\u65B0\uFF08HMR\uFF09\uFF0C\u4F7F\u7528 Rollup \u6253\u5305\u4F60\u7684\u4EE3\u7801\uFF0C\u5E76\u4E14\u5B83\u662F\u9884\u914D\u7F6E\u7684\uFF0C\u53EF\u8F93\u51FA\u7528\u4E8E\u751F\u4EA7\u73AF\u5883\u7684\u9AD8\u5EA6\u4F18\u5316\u8FC7\u7684\u9759\u6001\u8D44\u6E90\u3002\u66F4\u591A\u5173\u4E8Evite

\u6A21\u7248\u96C6\u6210\u4E86\u5982\u4E0B\u7684 vite \u63D2\u4EF6

  • unplugin-auto-import\uFF08\u6309\u9700\u52A0\u8F7D\uFF0C\u81EA\u52A8\u5F15\u5165\uFF09
  • unplugin-vue-components\uFF08\u6309\u9700\u52A0\u8F7D\uFF0C\u81EA\u52A8\u5F15\u5165\u7EC4\u4EF6\uFF09
  • vite-plugin-compression\uFF08\u5F00\u542F.gz \u538B\u7F29\uFF09
  • vite-plugin-eruda\uFF08\u63A7\u5236\u53F0\uFF0C\u65B9\u4FBF\u79FB\u52A8\u7AEF\u8C03\u8BD5\uFF09
  • vite-plugin-imagemin\uFF08\u56FE\u7247\u538B\u7F29\uFF09
  • vite-plugin-mock\uFF08\u5F15\u5165 mockjs\uFF0C\u672C\u5730\u6A21\u62DF\u63A5\u53E3\uFF09
  • vite-plugin-pages\uFF08\u52A8\u6001\u751F\u6210\u8DEF\u7531\uFF09
  • vite-plugin-progress\uFF08\u6784\u5EFA\u663E\u793A\u8FDB\u5EA6\u6761\uFF09
  • vite-plugin-restart\uFF08\u76D1\u542C\u914D\u7F6E\u6587\u4EF6\u4FEE\u6539\u81EA\u52A8\u91CD\u542F Vite\uFF09
  • vite-plugin-style-import\uFF08\u6309\u9700\u5F15\u5165\u6837\u5F0F\u6587\u4EF6\uFF09
  • vite-plugin-svg-icons\uFF08\u52A0\u8F7D SVG \u6587\u4EF6\uFF0C\u81EA\u52A8\u5F15\u5165\uFF09
',4),r=[n];function s(o,p,u,_,c,v){return t(),i("div",null,r)}const m=e(a,[["render",s]]);export{g as __pageData,m as default}; +import{_ as e,c as i,o as t,a as l}from"./app.1a98d107.js";const g=JSON.parse('{"title":"vite","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/vite.md","lastUpdated":1661164664000}'),a={name:"guide/vue3/vite.md"},n=l('

vite

\u57FA\u4E8E\u539F\u751F ES \u6A21\u5757\u63D0\u4F9B\u4E86\u4E30\u5BCC\u7684\u5185\u5EFA\u529F\u80FD\uFF0C\u5982\u901F\u5EA6\u5FEB\u5230\u60CA\u4EBA\u7684\u6A21\u5757\u70ED\u66F4\u65B0\uFF08HMR\uFF09\uFF0C\u4F7F\u7528 Rollup \u6253\u5305\u4F60\u7684\u4EE3\u7801\uFF0C\u5E76\u4E14\u5B83\u662F\u9884\u914D\u7F6E\u7684\uFF0C\u53EF\u8F93\u51FA\u7528\u4E8E\u751F\u4EA7\u73AF\u5883\u7684\u9AD8\u5EA6\u4F18\u5316\u8FC7\u7684\u9759\u6001\u8D44\u6E90\u3002\u66F4\u591A\u5173\u4E8Evite

\u6A21\u7248\u96C6\u6210\u4E86\u5982\u4E0B\u7684 vite \u63D2\u4EF6

  • unplugin-auto-import\uFF08\u6309\u9700\u52A0\u8F7D\uFF0C\u81EA\u52A8\u5F15\u5165\uFF09
  • unplugin-vue-components\uFF08\u6309\u9700\u52A0\u8F7D\uFF0C\u81EA\u52A8\u5F15\u5165\u7EC4\u4EF6\uFF09
  • vite-plugin-compression\uFF08\u5F00\u542F.gz \u538B\u7F29\uFF09
  • vite-plugin-eruda\uFF08\u63A7\u5236\u53F0\uFF0C\u65B9\u4FBF\u79FB\u52A8\u7AEF\u8C03\u8BD5\uFF09
  • vite-plugin-imagemin\uFF08\u56FE\u7247\u538B\u7F29\uFF09
  • vite-plugin-mock\uFF08\u5F15\u5165 mockjs\uFF0C\u672C\u5730\u6A21\u62DF\u63A5\u53E3\uFF09
  • vite-plugin-pages\uFF08\u52A8\u6001\u751F\u6210\u8DEF\u7531\uFF09
  • vite-plugin-progress\uFF08\u6784\u5EFA\u663E\u793A\u8FDB\u5EA6\u6761\uFF09
  • vite-plugin-restart\uFF08\u76D1\u542C\u914D\u7F6E\u6587\u4EF6\u4FEE\u6539\u81EA\u52A8\u91CD\u542F Vite\uFF09
  • vite-plugin-style-import\uFF08\u6309\u9700\u5F15\u5165\u6837\u5F0F\u6587\u4EF6\uFF09
  • vite-plugin-svg-icons\uFF08\u52A0\u8F7D SVG \u6587\u4EF6\uFF0C\u81EA\u52A8\u5F15\u5165\uFF09
',4),r=[n];function s(o,p,u,_,c,v){return t(),i("div",null,r)}const m=e(a,[["render",s]]);export{g as __pageData,m as default}; diff --git a/assets/guide_vue3_vite.md.2d8528d7.lean.js b/assets/guide_vue3_vite.md.9b825c43.lean.js similarity index 65% rename from assets/guide_vue3_vite.md.2d8528d7.lean.js rename to assets/guide_vue3_vite.md.9b825c43.lean.js index 2254f0c..29e17d7 100644 --- a/assets/guide_vue3_vite.md.2d8528d7.lean.js +++ b/assets/guide_vue3_vite.md.9b825c43.lean.js @@ -1 +1 @@ -import{_ as e,c as i,o as t,a as l}from"./app.2b769fcb.js";const g=JSON.parse('{"title":"vite","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/vite.md","lastUpdated":1661153879000}'),a={name:"guide/vue3/vite.md"},n=l("",4),r=[n];function s(o,p,u,_,c,v){return t(),i("div",null,r)}const m=e(a,[["render",s]]);export{g as __pageData,m as default}; +import{_ as e,c as i,o as t,a as l}from"./app.1a98d107.js";const g=JSON.parse('{"title":"vite","description":"","frontmatter":{},"headers":[],"relativePath":"guide/vue3/vite.md","lastUpdated":1661164664000}'),a={name:"guide/vue3/vite.md"},n=l("",4),r=[n];function s(o,p,u,_,c,v){return t(),i("div",null,r)}const m=e(a,[["render",s]]);export{g as __pageData,m as default}; diff --git a/assets/index.md.7e1757ee.js b/assets/index.md.24c2bd87.js similarity index 92% rename from assets/index.md.7e1757ee.js rename to assets/index.md.24c2bd87.js index b069279..0a32d84 100644 --- a/assets/index.md.7e1757ee.js +++ b/assets/index.md.24c2bd87.js @@ -1 +1 @@ -import{_ as e,c as t,o as a}from"./app.2b769fcb.js";const d=JSON.parse('{"title":"Vue-H5-Template","titleTemplate":"\u4E00\u4E2A\u5FEB\u901F\u5F00\u53D1\u7684vue h5\u79FB\u52A8\u7AEF\u811A\u624B\u67B6","description":"","frontmatter":{"layout":"home","title":"Vue-H5-Template","titleTemplate":"\u4E00\u4E2A\u5FEB\u901F\u5F00\u53D1\u7684vue h5\u79FB\u52A8\u7AEF\u811A\u624B\u67B6","hero":{"name":"Vue-H5-Template","text":"\u4E00\u4E2A\u5FEB\u901F\u5F00\u53D1\u7684Vue H5\u79FB\u52A8\u7AEF\u811A\u624B\u67B6","image":{"src":"http://www.sunniejs.cn/static/weapp/logo.png","alt":"sunnie"},"actions":[{"theme":"brand","text":"\u5F00\u59CB","link":"/guide/"},{"theme":"alt","text":"Github\u4ED3\u5E93","link":"https://github.com/sunniejs/vue-h5-template"}]},"features":[{"icon":"\u{1F4A1}","title":"\u5F00\u7BB1\u5373\u7528","details":"\u96C6\u6210vue2\u3001vue3\u7684\u79FB\u52A8\u7AEF\u5FEB\u901F\u5F00\u53D1\u6A21\u7248\uFF0C\u5B66\u4E60\u6210\u672C\u4F4E\uFF0C\u6613\u4E0A\u624B"},{"icon":"\u{1F4E6}","title":"\u4EE3\u7801\u89C4\u8303","details":"\u5B8C\u6574\u7684eslint\u3001prettier\u3001stylelint\u89C4\u8303\uFF0C\u52A0\u4E0Ahusky\uFF0C\u5E2E\u52A9\u4F60\u66F4\u597D\u7684\u7BA1\u7406\u4EE3\u7801"},{"icon":"\u{1F6E0}\uFE0F","title":"\u914D\u7F6E\u4F18\u5316","details":"\u5B8C\u6574\u914D\u7F6E\u7684vue\u811A\u624B\u67B6\u63D2\u4EF6\u548C\u4F18\u5316\uFF0C\u8BA9\u4F60\u4E13\u6CE8\u4E8E\u4E1A\u52A1\u5F00\u53D1\uFF0C\u66F4\u9AD8\u6548"},{"icon":"\u2699\uFE0F","title":"More","details":"\u52A0\u5165\u6211\u4EEC\uFF0C\u66F4\u591A\u80FD\u529B\u7B49\u4F60\u6316\u6398...."}]},"headers":[],"relativePath":"index.md","lastUpdated":1661153879000}'),i={name:"index.md"};function n(s,l,o,r,c,p){return a(),t("div")}const m=e(i,[["render",n]]);export{d as __pageData,m as default}; +import{_ as e,c as t,o as a}from"./app.1a98d107.js";const d=JSON.parse('{"title":"Vue-H5-Template","titleTemplate":"\u4E00\u4E2A\u5FEB\u901F\u5F00\u53D1\u7684vue h5\u79FB\u52A8\u7AEF\u811A\u624B\u67B6","description":"","frontmatter":{"layout":"home","title":"Vue-H5-Template","titleTemplate":"\u4E00\u4E2A\u5FEB\u901F\u5F00\u53D1\u7684vue h5\u79FB\u52A8\u7AEF\u811A\u624B\u67B6","hero":{"name":"Vue-H5-Template","text":"\u4E00\u4E2A\u5FEB\u901F\u5F00\u53D1\u7684Vue H5\u79FB\u52A8\u7AEF\u811A\u624B\u67B6","image":{"src":"http://www.sunniejs.cn/static/weapp/logo.png","alt":"sunnie"},"actions":[{"theme":"brand","text":"\u5F00\u59CB","link":"/guide/"},{"theme":"alt","text":"Github\u4ED3\u5E93","link":"https://github.com/sunniejs/vue-h5-template"}]},"features":[{"icon":"\u{1F4A1}","title":"\u5F00\u7BB1\u5373\u7528","details":"\u96C6\u6210vue2\u3001vue3\u7684\u79FB\u52A8\u7AEF\u5FEB\u901F\u5F00\u53D1\u6A21\u7248\uFF0C\u5B66\u4E60\u6210\u672C\u4F4E\uFF0C\u6613\u4E0A\u624B"},{"icon":"\u{1F4E6}","title":"\u4EE3\u7801\u89C4\u8303","details":"\u5B8C\u6574\u7684eslint\u3001prettier\u3001stylelint\u89C4\u8303\uFF0C\u52A0\u4E0Ahusky\uFF0C\u5E2E\u52A9\u4F60\u66F4\u597D\u7684\u7BA1\u7406\u4EE3\u7801"},{"icon":"\u{1F6E0}\uFE0F","title":"\u914D\u7F6E\u4F18\u5316","details":"\u5B8C\u6574\u914D\u7F6E\u7684vue\u811A\u624B\u67B6\u63D2\u4EF6\u548C\u4F18\u5316\uFF0C\u8BA9\u4F60\u4E13\u6CE8\u4E8E\u4E1A\u52A1\u5F00\u53D1\uFF0C\u66F4\u9AD8\u6548"},{"icon":"\u2699\uFE0F","title":"More","details":"\u52A0\u5165\u6211\u4EEC\uFF0C\u66F4\u591A\u80FD\u529B\u7B49\u4F60\u6316\u6398...."}]},"headers":[],"relativePath":"index.md","lastUpdated":1661164664000}'),i={name:"index.md"};function n(s,l,o,r,c,p){return a(),t("div")}const m=e(i,[["render",n]]);export{d as __pageData,m as default}; diff --git a/assets/index.md.7e1757ee.lean.js b/assets/index.md.24c2bd87.lean.js similarity index 92% rename from assets/index.md.7e1757ee.lean.js rename to assets/index.md.24c2bd87.lean.js index b069279..0a32d84 100644 --- a/assets/index.md.7e1757ee.lean.js +++ b/assets/index.md.24c2bd87.lean.js @@ -1 +1 @@ -import{_ as e,c as t,o as a}from"./app.2b769fcb.js";const d=JSON.parse('{"title":"Vue-H5-Template","titleTemplate":"\u4E00\u4E2A\u5FEB\u901F\u5F00\u53D1\u7684vue h5\u79FB\u52A8\u7AEF\u811A\u624B\u67B6","description":"","frontmatter":{"layout":"home","title":"Vue-H5-Template","titleTemplate":"\u4E00\u4E2A\u5FEB\u901F\u5F00\u53D1\u7684vue h5\u79FB\u52A8\u7AEF\u811A\u624B\u67B6","hero":{"name":"Vue-H5-Template","text":"\u4E00\u4E2A\u5FEB\u901F\u5F00\u53D1\u7684Vue H5\u79FB\u52A8\u7AEF\u811A\u624B\u67B6","image":{"src":"http://www.sunniejs.cn/static/weapp/logo.png","alt":"sunnie"},"actions":[{"theme":"brand","text":"\u5F00\u59CB","link":"/guide/"},{"theme":"alt","text":"Github\u4ED3\u5E93","link":"https://github.com/sunniejs/vue-h5-template"}]},"features":[{"icon":"\u{1F4A1}","title":"\u5F00\u7BB1\u5373\u7528","details":"\u96C6\u6210vue2\u3001vue3\u7684\u79FB\u52A8\u7AEF\u5FEB\u901F\u5F00\u53D1\u6A21\u7248\uFF0C\u5B66\u4E60\u6210\u672C\u4F4E\uFF0C\u6613\u4E0A\u624B"},{"icon":"\u{1F4E6}","title":"\u4EE3\u7801\u89C4\u8303","details":"\u5B8C\u6574\u7684eslint\u3001prettier\u3001stylelint\u89C4\u8303\uFF0C\u52A0\u4E0Ahusky\uFF0C\u5E2E\u52A9\u4F60\u66F4\u597D\u7684\u7BA1\u7406\u4EE3\u7801"},{"icon":"\u{1F6E0}\uFE0F","title":"\u914D\u7F6E\u4F18\u5316","details":"\u5B8C\u6574\u914D\u7F6E\u7684vue\u811A\u624B\u67B6\u63D2\u4EF6\u548C\u4F18\u5316\uFF0C\u8BA9\u4F60\u4E13\u6CE8\u4E8E\u4E1A\u52A1\u5F00\u53D1\uFF0C\u66F4\u9AD8\u6548"},{"icon":"\u2699\uFE0F","title":"More","details":"\u52A0\u5165\u6211\u4EEC\uFF0C\u66F4\u591A\u80FD\u529B\u7B49\u4F60\u6316\u6398...."}]},"headers":[],"relativePath":"index.md","lastUpdated":1661153879000}'),i={name:"index.md"};function n(s,l,o,r,c,p){return a(),t("div")}const m=e(i,[["render",n]]);export{d as __pageData,m as default}; +import{_ as e,c as t,o as a}from"./app.1a98d107.js";const d=JSON.parse('{"title":"Vue-H5-Template","titleTemplate":"\u4E00\u4E2A\u5FEB\u901F\u5F00\u53D1\u7684vue h5\u79FB\u52A8\u7AEF\u811A\u624B\u67B6","description":"","frontmatter":{"layout":"home","title":"Vue-H5-Template","titleTemplate":"\u4E00\u4E2A\u5FEB\u901F\u5F00\u53D1\u7684vue h5\u79FB\u52A8\u7AEF\u811A\u624B\u67B6","hero":{"name":"Vue-H5-Template","text":"\u4E00\u4E2A\u5FEB\u901F\u5F00\u53D1\u7684Vue H5\u79FB\u52A8\u7AEF\u811A\u624B\u67B6","image":{"src":"http://www.sunniejs.cn/static/weapp/logo.png","alt":"sunnie"},"actions":[{"theme":"brand","text":"\u5F00\u59CB","link":"/guide/"},{"theme":"alt","text":"Github\u4ED3\u5E93","link":"https://github.com/sunniejs/vue-h5-template"}]},"features":[{"icon":"\u{1F4A1}","title":"\u5F00\u7BB1\u5373\u7528","details":"\u96C6\u6210vue2\u3001vue3\u7684\u79FB\u52A8\u7AEF\u5FEB\u901F\u5F00\u53D1\u6A21\u7248\uFF0C\u5B66\u4E60\u6210\u672C\u4F4E\uFF0C\u6613\u4E0A\u624B"},{"icon":"\u{1F4E6}","title":"\u4EE3\u7801\u89C4\u8303","details":"\u5B8C\u6574\u7684eslint\u3001prettier\u3001stylelint\u89C4\u8303\uFF0C\u52A0\u4E0Ahusky\uFF0C\u5E2E\u52A9\u4F60\u66F4\u597D\u7684\u7BA1\u7406\u4EE3\u7801"},{"icon":"\u{1F6E0}\uFE0F","title":"\u914D\u7F6E\u4F18\u5316","details":"\u5B8C\u6574\u914D\u7F6E\u7684vue\u811A\u624B\u67B6\u63D2\u4EF6\u548C\u4F18\u5316\uFF0C\u8BA9\u4F60\u4E13\u6CE8\u4E8E\u4E1A\u52A1\u5F00\u53D1\uFF0C\u66F4\u9AD8\u6548"},{"icon":"\u2699\uFE0F","title":"More","details":"\u52A0\u5165\u6211\u4EEC\uFF0C\u66F4\u591A\u80FD\u529B\u7B49\u4F60\u6316\u6398...."}]},"headers":[],"relativePath":"index.md","lastUpdated":1661164664000}'),i={name:"index.md"};function n(s,l,o,r,c,p){return a(),t("div")}const m=e(i,[["render",n]]);export{d as __pageData,m as default}; diff --git a/guide/edit.html b/guide/edit.html index a571f99..1da01d5 100644 --- a/guide/edit.html +++ b/guide/edit.html @@ -6,16 +6,16 @@ 参与编辑 | Vue-H5-Template - - - - + + + + -
Skip to content

参与编辑

欢迎各位有意愿参与到开源当中的朋友加入文档的编写,书写文档不仅是教会别人知识,更是用自己的表达方式概括自己所学习的知识,这对个人来说是一种不多的成长机会

js

+    
Skip to content

参与编辑

欢迎各位有意愿参与到开源当中的朋友加入文档的编写,书写文档不仅是教会别人知识,更是用自己的表达方式概括自己所学习的知识,这对个人来说是一种不多的成长机会

js

 // 拉取项目
 git clone https://github.com/sunniejs/vue-h5-template
 
@@ -28,9 +28,9 @@
 // 启动项目
 yarn start
 
-

Released under the MIT License.

- - +

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/index.html b/guide/index.html index 0fd47ef..bba97b6 100644 --- a/guide/index.html +++ b/guide/index.html @@ -6,18 +6,18 @@ Vue-H5-Template | Vue-H5-Template - - - - + + + + -
Skip to content
On this page

Vue-H5-Template

Vue-H5-Template,是基于 vite + vue3 + pinia + ( Vant or Varlet or NutUI ) + viewport 适配方案 ,构建移动端开发脚手架

特点

最新技术栈

  • 框架选型基于当下流行的 vue + vite + ts 模式,精选社区经典的 ui 框架和 vite 插件

基于 TypeScript

  • typescript 越来越被大型的 js 项目所需要,明确的类型定义可以省下不少的维护成本

轻量级

  • 不同于集成解决方案,尽量做到轻量不冗杂,只引入高频次、需求高的插件和清晰的示例
  • 轻装上阵,便于拓展开发

通俗易懂的文档

  • 基于最新 VitePress 构建的文档,更快,更便捷
  • 更快的热更新

Released under the MIT License.

- - +
Skip to content
On this page

Vue-H5-Template

Vue-H5-Template,是基于 vite + vue3 + pinia + ( Vant or Varlet or NutUI ) + viewport 适配方案 ,构建移动端开发脚手架

特点

最新技术栈

  • 框架选型基于当下流行的 vue + vite + ts 模式,精选社区经典的 ui 框架和 vite 插件

基于 TypeScript

  • typescript 越来越被大型的 js 项目所需要,明确的类型定义可以省下不少的维护成本

轻量级

  • 不同于集成解决方案,尽量做到轻量不冗杂,只引入高频次、需求高的插件和清晰的示例
  • 轻装上阵,便于拓展开发

通俗易懂的文档

  • 基于最新 VitePress 构建的文档,更快,更便捷
  • 更快的热更新

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/start.html b/guide/start.html index 09a2584..fde2872 100644 --- a/guide/start.html +++ b/guide/start.html @@ -6,18 +6,18 @@ 快速上手 | Vue-H5-Template - - - - + + + + -
Skip to content
On this page

快速上手

node 版本要求

推荐 14.19.0+以上的版本,毕竟 2022 年了,别掐着 12+的版本了,你也可以使用nvmnvm-windows在同一台电脑上管理多个 node 版本

包管理器

尽量使用 yarn 或者 pnpm,本项目仅保证在 yarn 或 pnpm 下正确运行,npm 涉及到网络环境等各种情况的限制不做过多考虑。

启动项目

项目中包含 vue2 和 vue3 两套模版

如你使用的是 vue2-template,请参考vue2 项目启动

如你使用的是 vue3-template,请参考vue3 项目启动

Released under the MIT License.

- - +
Skip to content
On this page

快速上手

node 版本要求

推荐 14.19.0+以上的版本,毕竟 2022 年了,别掐着 12+的版本了,你也可以使用nvmnvm-windows在同一台电脑上管理多个 node 版本

包管理器

尽量使用 yarn 或者 pnpm,本项目仅保证在 yarn 或 pnpm 下正确运行,npm 涉及到网络环境等各种情况的限制不做过多考虑。

启动项目

项目中包含 vue2 和 vue3 两套模版

如你使用的是 vue2-template,请参考vue2 项目启动

如你使用的是 vue3-template,请参考vue3 项目启动

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue2/alias.html b/guide/vue2/alias.html index a4cab42..26a711c 100644 --- a/guide/vue2/alias.html +++ b/guide/vue2/alias.html @@ -6,16 +6,16 @@ 配置 alias 别名 | Vue-H5-Template - - - - + + + + -
Skip to content

配置 alias 别名

javascript
const path = require("path");
+    
-    
-    
+

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue2/axios.html b/guide/vue2/axios.html index 60cd883..ef49420 100644 --- a/guide/vue2/axios.html +++ b/guide/vue2/axios.html @@ -3,99 +3,99 @@ - Vue-H5-Template | Vue-H5-Template + Axios 封装及接口管理 | Vue-H5-Template - - - - + + + + -
Skip to content
On this page

✅ Axios 封装及接口管理

utils/request.js 封装 axios ,开发者需要根据后台接口做修改。

  • service.interceptors.request.use 里可以设置请求头,比如设置 token
  • config.hideloading 是在 api 文件夹下的接口参数里设置,下文会讲
  • service.interceptors.response.use 里可以对接口返回数据处理,比如 401 删除本地信息,重新登录
javascript
import axios from 'axios'
-import store from '@/store'
-import { Toast } from 'vant'
+    
Skip to content

Axios 封装及接口管理

utils/request.js 封装 axios ,开发者需要根据后台接口做修改。

  • service.interceptors.request.use 里可以设置请求头,比如设置 token
  • config.hideloading 是在 api 文件夹下的接口参数里设置,下文会讲
  • service.interceptors.response.use 里可以对接口返回数据处理,比如 401 删除本地信息,重新登录
javascript
import axios from "axios";
+import store from "@/store";
+import { Toast } from "vant";
 // 根据环境不同引入不同api地址
-import { baseApi } from '@/config'
+import { baseApi } from "@/config";
 // create an axios instance
 const service = axios.create({
-    baseURL: baseApi, // url = base api url + request url
-    withCredentials: true, // send cookies when cross-domain requests
-    timeout: 5000, // request timeout
-})
+  baseURL: baseApi, // url = base api url + request url
+  withCredentials: true, // send cookies when cross-domain requests
+  timeout: 5000, // request timeout
+});
 
 // request 拦截器 request interceptor
 service.interceptors.request.use(
-    config => {
-        // 不传递默认开启loading
-        if (!config.hideloading) {
-            // loading
-            Toast.loading({
-                forbidClick: true,
-            })
-        }
-        if (store.getters.token) {
-            config.headers['X-Token'] = ''
-        }
-        return config
-    },
-    error => {
-        // do something with request error
-        console.log(error) // for debug
-        return Promise.reject(error)
+  (config) => {
+    // 不传递默认开启loading
+    if (!config.hideloading) {
+      // loading
+      Toast.loading({
+        forbidClick: true,
+      });
     }
-)
+    if (store.getters.token) {
+      config.headers["X-Token"] = "";
+    }
+    return config;
+  },
+  (error) => {
+    // do something with request error
+    console.log(error); // for debug
+    return Promise.reject(error);
+  }
+);
 // respone拦截器
 service.interceptors.response.use(
-    response => {
-        Toast.clear()
-        const res = response.data
-        if (res.status && res.status !== 200) {
-            // 登录超时,重新登录
-            if (res.status === 401) {
-                store.dispatch('FedLogOut').then(() => {
-                    location.reload()
-                })
-            }
-            return Promise.reject(res || 'error')
-        } else {
-            return Promise.resolve(res)
-        }
-    },
-    error => {
-        Toast.clear()
-        console.log('err' + error) // for debug
-        return Promise.reject(error)
+  (response) => {
+    Toast.clear();
+    const res = response.data;
+    if (res.status && res.status !== 200) {
+      // 登录超时,重新登录
+      if (res.status === 401) {
+        store.dispatch("FedLogOut").then(() => {
+          location.reload();
+        });
+      }
+      return Promise.reject(res || "error");
+    } else {
+      return Promise.resolve(res);
     }
-)
-export default service
-

接口管理

src/api 文件夹下统一管理接口

  • 你可以建立多个模块对接接口, 比如 home.js 里是首页的接口这里讲解 user.js
  • url 接口地址,请求的时候会拼接上 config 下的 baseApi
  • method 请求方法
  • data 请求参数 qs.stringify(params) 是对数据系列化操作
  • hideloading 默认 false,设置为 true 后,不显示 loading ui 交互中有些接口不需要让用户感知
javascript
import qs from 'qs'
+  },
+  (error) => {
+    Toast.clear();
+    console.log("err" + error); // for debug
+    return Promise.reject(error);
+  }
+);
+export default service;
+

接口管理

src/api 文件夹下统一管理接口

  • 你可以建立多个模块对接接口, 比如 home.js 里是首页的接口这里讲解 user.js
  • url 接口地址,请求的时候会拼接上 config 下的 baseApi
  • method 请求方法
  • data 请求参数 qs.stringify(params) 是对数据系列化操作
  • hideloading 默认 false,设置为 true 后,不显示 loading ui 交互中有些接口不需要让用户感知
javascript
import qs from "qs";
 // axios
-import request from '@/utils/request'
+import request from "@/utils/request";
 //user api
 
 // 用户信息
 export function getUserInfo(params) {
-    return request({
-        url: '/user/userinfo',
-        method: 'post',
-        data: qs.stringify(params),
-        hideloading: true, // 隐藏 loading 组件
-    })
+  return request({
+    url: "/user/userinfo",
+    method: "post",
+    data: qs.stringify(params),
+    hideloading: true, // 隐藏 loading 组件
+  });
 }
 

如何调用

javascript
// 请求接口
-import { getUserInfo } from '@/api/user.js'
+import { getUserInfo } from "@/api/user.js";
 
-const params = { user: 'sunnie' }
+const params = { user: "sunnie" };
 getUserInfo(params)
-    .then(() => {})
-    .catch(() => {})
-

Released under the MIT License.

- - + .then(() => {}) + .catch(() => {}); +

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue2/base.html b/guide/vue2/base.html index 2cb5455..80d54e1 100644 --- a/guide/vue2/base.html +++ b/guide/vue2/base.html @@ -3,43 +3,70 @@ - Vue-H5-Template | Vue-H5-Template + Webpack 4 vue.config.js 基础配置 | Vue-H5-Template - - - - + + + + -
Skip to content
On this page

✅ Webpack 4 vue.config.js 基础配置

如果你的 Vue Router 模式是 hash

javascript
publicPath: './',
-

如果你的 Vue Router 模式是 history 这里的 publicPath 和你的 Vue Router base 保持一直

javascript
publicPath: '/app/',
-
javascript
const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV)
+    
Skip to content

Webpack 4 vue.config.js 基础配置

如果你的 Vue Router 模式是 hash

javascript
publicPath: './',
+

如果你的 Vue Router 模式是 history 这里的 publicPath 和你的 Vue Router base 保持一致

javascript
publicPath: '/app/',
+

配置如下

javascript
import { createVitePlugins } from "./config/vite/plugins";
+import { resolve } from "path";
+import { ConfigEnv, UserConfigExport } from "vite";
 
-module.exports = {
-    publicPath: './', // 署应用包时的基本 URL。 vue-router hash 模式使用
-    //  publicPath: '/app/', // 署应用包时的基本 URL。  vue-router history模式使用
-    outputDir: 'dist', //  生产环境构建文件的目录
-    assetsDir: 'static', //  outputDir的静态资源(js、css、img、fonts)目录
-    lintOnSave: !IS_PROD,
-    productionSourceMap: false, // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。
-    devServer: {
-        port: 9020, // 端口号
-        open: false, // 启动后打开浏览器
-        overlay: {
-            //  当出现编译器错误或警告时,在浏览器中显示全屏覆盖层
-            warnings: false,
-            errors: true,
-        },
-        // ...
-    },
+const pathResolve = (dir: string) => {
+  return resolve(process.cwd(), ".", dir);
+};
+
+// https://vitejs.dev/config/
+export default function ({ command }: ConfigEnv): UserConfigExport {
+  const isProduction = command === "build";
+  const root = process.cwd();
+  return {
+    root,
+    resolve: {
+      alias: [
+        {
+          find: "vue-i18n",
+          replacement: "vue-i18n/dist/vue-i18n.cjs.js",
+        },
+        // /@/xxxx => src/xxxx
+        {
+          find: /\/@\//,
+          replacement: pathResolve("src") + "/",
+        },
+        // /#/xxxx => types/xxxx
+        {
+          find: /\/#\//,
+          replacement: pathResolve("types") + "/",
+        },
+      ],
+    },
+    server: {
+      host: true,
+      hmr: true,
+    },
+    plugins: createVitePlugins(isProduction),
+    css: {
+      preprocessorOptions: {
+        scss: {
+          // 配置 nutui 全局 scss 变量
+          additionalData: `@import "@nutui/nutui/dist/styles/variables.scss";@import '/@/styles/mixin.scss';`,
+        },
+      },
+    },
+  };
 }
-

Released under the MIT License.

- - +

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue2/bundle.html b/guide/vue2/bundle.html index e1d8980..2c50d13 100644 --- a/guide/vue2/bundle.html +++ b/guide/vue2/bundle.html @@ -3,36 +3,37 @@ - Vue-H5-Template | Vue-H5-Template + 配置打包分析 | Vue-H5-Template - - - - + + + + -
Skip to content
On this page

✅ 配置 打包分析

javascript
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
+    
Skip to content

配置打包分析

javascript
const BundleAnalyzerPlugin =
+  require("webpack-bundle-analyzer").BundleAnalyzerPlugin;
 
 module.exports = {
-    chainWebpack: config => {
-        // 打包分析
-        if (IS_PROD) {
-            config.plugin('webpack-report').use(BundleAnalyzerPlugin, [
-                {
-                    analyzerMode: 'static',
-                },
-            ])
-        }
-    },
-}
+  chainWebpack: (config) => {
+    // 打包分析
+    if (IS_PROD) {
+      config.plugin("webpack-report").use(BundleAnalyzerPlugin, [
+        {
+          analyzerMode: "static",
+        },
+      ]);
+    }
+  },
+};
 
bash
npm run build
-

Released under the MIT License.

- - +

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue2/chunks.html b/guide/vue2/chunks.html index 373017c..1181ef2 100644 --- a/guide/vue2/chunks.html +++ b/guide/vue2/chunks.html @@ -3,62 +3,62 @@ - Vue-H5-Template | Vue-H5-Template + splitChunks 单独打包第三方模块 | Vue-H5-Template - - - - + + + + -
Skip to content
On this page

✅ splitChunks 单独打包第三方模块

javascript
module.exports = {
-    chainWebpack: config => {
-        config.when(IS_PROD, config => {
-            config
-                .plugin('ScriptExtHtmlWebpackPlugin')
-                .after('html')
-                .use('script-ext-html-webpack-plugin', [
-                    {
-                        // 将 runtime 作为内联引入不单独存在
-                        inline: /runtime\..*\.js$/,
-                    },
-                ])
-                .end()
-            config.optimization.splitChunks({
-                chunks: 'all',
-                cacheGroups: {
-                    // cacheGroups 下可以可以配置多个组,每个组根据test设置条件,符合test条件的模块
-                    commons: {
-                        name: 'chunk-commons',
-                        test: resolve('src/components'),
-                        minChunks: 3, //  被至少用三次以上打包分离
-                        priority: 5, // 优先级
-                        reuseExistingChunk: true, // 表示是否使用已有的 chunk,如果为 true 则表示如果当前的 chunk 包含的模块已经被抽取出去了,那么将不会重新生成新的。
-                    },
-                    node_vendors: {
-                        name: 'chunk-libs',
-                        chunks: 'initial', // 只打包初始时依赖的第三方
-                        test: /[\\/]node_modules[\\/]/,
-                        priority: 10,
-                    },
-                    vantUI: {
-                        name: 'chunk-vantUI', // 单独将 vantUI 拆包
-                        priority: 20, // 数字大权重到,满足多个 cacheGroups 的条件时候分到权重高的
-                        test: /[\\/]node_modules[\\/]_?vant(.*)/,
-                    },
-                },
-            })
-            config.optimization.runtimeChunk('single')
-        })
-    },
-}
-

Released under the MIT License.

- - +
Skip to content

splitChunks 单独打包第三方模块

javascript
module.exports = {
+  chainWebpack: (config) => {
+    config.when(IS_PROD, (config) => {
+      config
+        .plugin("ScriptExtHtmlWebpackPlugin")
+        .after("html")
+        .use("script-ext-html-webpack-plugin", [
+          {
+            // 将 runtime 作为内联引入不单独存在
+            inline: /runtime\..*\.js$/,
+          },
+        ])
+        .end();
+      config.optimization.splitChunks({
+        chunks: "all",
+        cacheGroups: {
+          // cacheGroups 下可以可以配置多个组,每个组根据test设置条件,符合test条件的模块
+          commons: {
+            name: "chunk-commons",
+            test: resolve("src/components"),
+            minChunks: 3, //  被至少用三次以上打包分离
+            priority: 5, // 优先级
+            reuseExistingChunk: true, // 表示是否使用已有的 chunk,如果为 true 则表示如果当前的 chunk 包含的模块已经被抽取出去了,那么将不会重新生成新的。
+          },
+          node_vendors: {
+            name: "chunk-libs",
+            chunks: "initial", // 只打包初始时依赖的第三方
+            test: /[\\/]node_modules[\\/]/,
+            priority: 10,
+          },
+          vantUI: {
+            name: "chunk-vantUI", // 单独将 vantUI 拆包
+            priority: 20, // 数字大权重到,满足多个 cacheGroups 的条件时候分到权重高的
+            test: /[\\/]node_modules[\\/]_?vant(.*)/,
+          },
+        },
+      });
+      config.optimization.runtimeChunk("single");
+    });
+  },
+};
+

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue2/console.html b/guide/vue2/console.html index 825d8a0..15be12b 100644 --- a/guide/vue2/console.html +++ b/guide/vue2/console.html @@ -3,44 +3,44 @@ - Vue-H5-Template | Vue-H5-Template + 去掉 console.log | Vue-H5-Template - - - - + + + + -
Skip to content
On this page

✅ 去掉 console.log

保留了测试环境和本地环境的 console.log

bash
npm i -D babel-plugin-transform-remove-console
+    
Skip to content

去掉 console.log

保留了测试环境和本地环境的 console.log

bash
npm i -D babel-plugin-transform-remove-console
 

在 babel.config.js 中配置

javascript
// 获取 VUE_APP_ENV 非 NODE_ENV,测试环境依然 console
-const IS_PROD = ['production', 'prod'].includes(process.env.VUE_APP_ENV)
+const IS_PROD = ["production", "prod"].includes(process.env.VUE_APP_ENV);
 const plugins = [
-    [
-        'import',
-        {
-            libraryName: 'vant',
-            libraryDirectory: 'es',
-            style: true,
-        },
-        'vant',
-    ],
-]
+  [
+    "import",
+    {
+      libraryName: "vant",
+      libraryDirectory: "es",
+      style: true,
+    },
+    "vant",
+  ],
+];
 // 去除 console.log
 if (IS_PROD) {
-    plugins.push('transform-remove-console')
+  plugins.push("transform-remove-console");
 }
 
 module.exports = {
-    presets: [['@vue/cli-plugin-babel/preset', { useBuiltIns: 'entry' }]],
-    plugins,
-}
-

Released under the MIT License.

- - + presets: [["@vue/cli-plugin-babel/preset", { useBuiltIns: "entry" }]], + plugins, +}; +

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue2/env.html b/guide/vue2/env.html index 3784973..a3fba3b 100644 --- a/guide/vue2/env.html +++ b/guide/vue2/env.html @@ -3,19 +3,19 @@ - Vue-H5-Template | Vue-H5-Template + 配置多环境变量 | Vue-H5-Template - - - - + + + + -
Skip to content
On this page

✅ 配置多环境变量

package.json 里的 scripts 配置 serve stage build,通过 --mode xxx 来执行不同环境

  • 通过 npm run serve 启动本地 , 执行 development
  • 通过 npm run stage 打包测试 , 执行 staging
  • 通过 npm run build 打包正式 , 执行 production
javascript
"scripts": {
+    
Skip to content

配置多环境变量

package.json 里的 scripts 配置 serve stage build,通过 --mode xxx 来执行不同环境

  • 通过 npm run serve 启动本地 , 执行 development
  • 通过 npm run stage 打包测试 , 执行 staging
  • 通过 npm run build 打包正式 , 执行 production
javascript
"scripts": {
   "serve": "vue-cli-service serve --open",
   "stage": "vue-cli-service build --mode staging",
   "build": "vue-cli-service build",
@@ -31,22 +31,22 @@
 # must start with VUE_APP_
 VUE_APP_ENV = 'production'
 

这里我们并没有定义很多变量,只定义了基础的 VUE_APP_ENV development staging production
变量我们统一在 src/config/env.*.js 里进行管理。

这里有个问题,既然这里有了根据不同环境设置变量的文件,为什么还要去 config 下新建三个对应的文件呢?
修改起来方便,不需 要重启项目,符合开发习惯。

config/index.js

javascript
// 根据环境引入不同配置 process.env.NODE_ENV
-const config = require('./env.' + process.env.VUE_APP_ENV)
-module.exports = config
+const config = require("./env." + process.env.VUE_APP_ENV);
+module.exports = config;
 

配置对应环境的变量,拿本地环境文件 env.development.js 举例,用户可以根据需求修改

javascript
// 本地环境配置
 module.exports = {
-    title: 'vue-h5-template',
-    baseUrl: 'http://localhost:9018', // 项目地址
-    baseApi: 'https://test.xxx.com/api', // 本地api请求地址
-    APPID: 'xxx',
-    APPSECRET: 'xxx',
-}
+  title: "vue-h5-template",
+  baseUrl: "http://localhost:9018", // 项目地址
+  baseApi: "https://test.xxx.com/api", // 本地api请求地址
+  APPID: "xxx",
+  APPSECRET: "xxx",
+};
 

根据环境不同,变量就会不同了

javascript
// 根据环境不同引入不同baseApi地址
-import { baseApi } from '@/config'
-console.log(baseApi)
-

Released under the MIT License.

- - +import { baseApi } from "@/config"; +console.log(baseApi); +

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue2/externals.html b/guide/vue2/externals.html index cc01861..6882c8b 100644 --- a/guide/vue2/externals.html +++ b/guide/vue2/externals.html @@ -3,72 +3,72 @@ - Vue-H5-Template | Vue-H5-Template + 配置 externals 引入 cdn 资源 | Vue-H5-Template - - - - + + + + -
Skip to content
On this page

✅ 配置 externals 引入 cdn 资源

这个版本 CDN 不再引入,我测试了一下使用引入 CDN 和不使用,不使用会比使用时间少。网上不少文章测试 CDN 速度块,这个开发者可 以实际测试一下。

另外项目中使用的是公共 CDN 不稳定,域名解析也是需要时间的(如果你要使用请尽量使用同一个域名)

因为页面每次遇到<script>标签都会停下来解析执行,所以应该尽可能减少<script>标签的数量 HTTP请求存在一定的开销,100K 的文件比 5 个 20K 的文件下载的更快,所以较少脚本数量也是很有必要的

暂时还没有研究放到自己的 cdn 服务器上。

javascript
const defaultSettings = require('./src/config/index.js')
-const name = defaultSettings.title || 'vue mobile template'
-const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV)
+    
Skip to content

配置 externals 引入 cdn 资源

这个版本 CDN 不再引入,我测试了一下使用引入 CDN 和不使用,不使用会比使用时间少。网上不少文章测试 CDN 速度块,这个开发者可 以实际测试一下。

另外项目中使用的是公共 CDN 不稳定,域名解析也是需要时间的(如果你要使用请尽量使用同一个域名)

因为页面每次遇到<script>标签都会停下来解析执行,所以应该尽可能减少<script>标签的数量 HTTP请求存在一定的开销,100K 的文件比 5 个 20K 的文件下载的更快,所以较少脚本数量也是很有必要的

暂时还没有研究放到自己的 cdn 服务器上。

javascript
const defaultSettings = require("./src/config/index.js");
+const name = defaultSettings.title || "vue mobile template";
+const IS_PROD = ["production", "prod"].includes(process.env.NODE_ENV);
 
 // externals
 const externals = {
-    vue: 'Vue',
-    'vue-router': 'VueRouter',
-    vuex: 'Vuex',
-    vant: 'vant',
-    axios: 'axios',
-}
+  vue: "Vue",
+  "vue-router": "VueRouter",
+  vuex: "Vuex",
+  vant: "vant",
+  axios: "axios",
+};
 // CDN外链,会插入到index.html中
 const cdn = {
-    // 开发环境
-    dev: {
-        css: [],
-        js: [],
-    },
-    // 生产环境
-    build: {
-        css: ['https://cdn.jsdelivr.net/npm/vant@2.4.7/lib/index.css'],
-        js: [
-            'https://cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js',
-            'https://cdn.jsdelivr.net/npm/vue-router@3.1.5/dist/vue-router.min.js',
-            'https://cdn.jsdelivr.net/npm/axios@0.19.2/dist/axios.min.js',
-            'https://cdn.jsdelivr.net/npm/vuex@3.1.2/dist/vuex.min.js',
-            'https://cdn.jsdelivr.net/npm/vant@2.4.7/lib/index.min.js',
-        ],
-    },
-}
+  // 开发环境
+  dev: {
+    css: [],
+    js: [],
+  },
+  // 生产环境
+  build: {
+    css: ["https://cdn.jsdelivr.net/npm/vant@2.4.7/lib/index.css"],
+    js: [
+      "https://cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js",
+      "https://cdn.jsdelivr.net/npm/vue-router@3.1.5/dist/vue-router.min.js",
+      "https://cdn.jsdelivr.net/npm/axios@0.19.2/dist/axios.min.js",
+      "https://cdn.jsdelivr.net/npm/vuex@3.1.2/dist/vuex.min.js",
+      "https://cdn.jsdelivr.net/npm/vant@2.4.7/lib/index.min.js",
+    ],
+  },
+};
 module.exports = {
-    configureWebpack: config => {
-        config.name = name
-        // 为生产环境修改配置...
-        if (IS_PROD) {
-            // externals
-            config.externals = externals
-        }
-    },
-    chainWebpack: config => {
-        /**
-         * 添加CDN参数到htmlWebpackPlugin配置中
-         */
-        config.plugin('html').tap(args => {
-            if (IS_PROD) {
-                args[0].cdn = cdn.build
-            } else {
-                args[0].cdn = cdn.dev
-            }
-            return args
-        })
-    },
-}
+  configureWebpack: (config) => {
+    config.name = name;
+    // 为生产环境修改配置...
+    if (IS_PROD) {
+      // externals
+      config.externals = externals;
+    }
+  },
+  chainWebpack: (config) => {
+    /**
+     * 添加CDN参数到htmlWebpackPlugin配置中
+     */
+    config.plugin("html").tap((args) => {
+      if (IS_PROD) {
+        args[0].cdn = cdn.build;
+      } else {
+        args[0].cdn = cdn.dev;
+      }
+      return args;
+    });
+  },
+};
 

在 public/index.html 中添加

javascript
    <!-- 使用CDN的CSS文件 -->
     <% for (var i in
       htmlWebpackPlugin.options.cdn&&htmlWebpackPlugin.options.cdn.css) { %>
@@ -80,9 +80,9 @@
       htmlWebpackPlugin.options.cdn&&htmlWebpackPlugin.options.cdn.js) { %>
       <script src="<%= htmlWebpackPlugin.options.cdn.js[i] %>"></script>
     <% } %>
-

Released under the MIT License.

- - +

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue2/ie.html b/guide/vue2/ie.html index b49e489..bf47cee 100644 --- a/guide/vue2/ie.html +++ b/guide/vue2/ie.html @@ -3,32 +3,34 @@ - Vue-H5-Template | Vue-H5-Template + 添加 IE 兼容 | Vue-H5-Template - - - - + + + + -
Skip to content
On this page

✅ 添加 IE 兼容

之前的方式 会报 @babel/polyfill is deprecated. Please, use required parts of core-js and regenerator-runtime/runtime separately

@babel/polyfill 废弃,使用 core-jsregenerator-runtime

bash
npm i --save core-js regenerator-runtime
+    
Skip to content

添加 IE 兼容

之前的方式 会报 @babel/polyfill is deprecated. Please, use required parts of core-js and regenerator-runtime/runtime separately

@babel/polyfill 废弃,使用 core-jsregenerator-runtime

bash
npm i --save core-js regenerator-runtime
 

main.js 中添加

javascript
// 兼容 IE
 // https://github.com/zloirock/core-js/blob/master/docs/2019-03-19-core-js-3-babel-and-a-look-into-the-future.md#babelpolyfill
-import 'core-js/stable'
-import 'regenerator-runtime/runtime'
-

配置 babel.config.js

javascript
const plugins = []
+import "core-js/stable";
+import "regenerator-runtime/runtime";
+

配置 babel.config.js

javascript
const plugins = [];
 
 module.exports = {
-    presets: [['@vue/cli-plugin-babel/preset', { useBuiltIns: 'usage', corejs: 3 }]],
-    plugins,
-}
-

Released under the MIT License.

- - + presets: [ + ["@vue/cli-plugin-babel/preset", { useBuiltIns: "usage", corejs: 3 }], + ], + plugins, +}; +

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue2/lint.html b/guide/vue2/lint.html index e500c65..b415e0e 100644 --- a/guide/vue2/lint.html +++ b/guide/vue2/lint.html @@ -3,19 +3,19 @@ - Vue-H5-Template | Vue-H5-Template + Eslint + Pettier 统一开发规范 | Vue-H5-Template - - - - + + + + -
Skip to content
On this page

✅ Eslint + Pettier 统一开发规范

VScode (版本 1.47.3)安装 eslint prettier vetur 插件 .vue 文件使用 vetur 进行格式化,其他使用prettier,后面会 专门写个如何使用配合使用这三个玩意

在文件 .prettierrc 里写 属于你的 pettier 规则

bash
{
+    
Skip to content

Eslint + Pettier 统一开发规范

VScode (版本 1.47.3)安装 eslint prettier vetur 插件 .vue 文件使用 vetur 进行格式化,其他使用prettier,后面会 专门写个如何使用配合使用这三个玩意

在文件 .prettierrc 里写 属于你的 pettier 规则

bash
{
    "printWidth": 120,
    "tabWidth": 2,
    "singleQuote": true,
@@ -166,9 +166,9 @@
   "editor.maxTokenizationLineLength": 200000
 }
 
-

Released under the MIT License.

- - +

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue2/proxy.html b/guide/vue2/proxy.html index 01d7064..7094c32 100644 --- a/guide/vue2/proxy.html +++ b/guide/vue2/proxy.html @@ -3,44 +3,44 @@ - Vue-H5-Template | Vue-H5-Template + 配置 proxy 跨域 | Vue-H5-Template - - - - + + + + -
Skip to content
On this page

✅ 配置 proxy 跨域

如果你的项目需要跨域设置,你需要打来 vue.config.js proxy 注释 并且配置相应参数

!!!注意:你还需要将 src/config/env.development.js 里的 baseApi 设置成 '/'

javascript
module.exports = {
-    devServer: {
-        // ....
-        proxy: {
-            //配置跨域
-            '/api': {
-                target: 'https://test.xxx.com', // 接口的域名
-                // ws: true, // 是否启用websockets
-                changOrigin: true, // 开启代理,在本地创建一个虚拟服务端
-                pathRewrite: {
-                    '^/api': '/',
-                },
-            },
+    
Skip to content

配置 proxy 跨域

如果你的项目需要跨域设置,你需要打来 vue.config.js proxy 注释 并且配置相应参数

!!!注意:你还需要将 src/config/env.development.js 里的 baseApi 设置成 '/'

javascript
module.exports = {
+  devServer: {
+    // ....
+    proxy: {
+      //配置跨域
+      "/api": {
+        target: "https://test.xxx.com", // 接口的域名
+        // ws: true, // 是否启用websockets
+        changOrigin: true, // 开启代理,在本地创建一个虚拟服务端
+        pathRewrite: {
+          "^/api": "/",
         },
+      },
     },
-}
+  },
+};
 

使用 例如: src/api/home.js

javascript
export function getUserInfo(params) {
-    return request({
-        url: '/api/userinfo',
-        method: 'post',
-        data: qs.stringify(params),
-    })
+  return request({
+    url: "/api/userinfo",
+    method: "post",
+    data: qs.stringify(params),
+  });
 }
-

Released under the MIT License.

- - +

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue2/rem.html b/guide/vue2/rem.html index 6375d52..ff62640 100644 --- a/guide/vue2/rem.html +++ b/guide/vue2/rem.html @@ -3,48 +3,54 @@ - Vue-H5-Template | Vue-H5-Template + rem 适配方案 | Vue-H5-Template - - - - + + + + -
Skip to content
On this page

✅ rem 适配方案

不用担心,项目已经配置好了 rem 适配, 下面仅做介绍:

Vant 中的样式默认使用px作为单位,如果需要使用rem单位,推荐使用以下两个工具:

PostCSS 配置

下面提供了一份基本的 postcss 配置,可以在此配置的基础上根据项目需求进行修改

javascript
// https://github.com/michael-ciniawsky/postcss-load-config
+    
Skip to content

rem 适配方案

不用担心,项目已经配置好了 rem 适配, 下面仅做介绍:

Vant 中的样式默认使用px作为单位,如果需要使用rem单位,推荐使用以下两个工具:

PostCSS 配置

下面提供了一份基本的 postcss 配置,可以在此配置的基础上根据项目需求进行修改

javascript
// https://github.com/michael-ciniawsky/postcss-load-config
 module.exports = {
-    plugins: {
-        autoprefixer: {
-            overrideBrowserslist: ['Android 4.1', 'iOS 7.1', 'Chrome > 31', 'ff > 31', 'ie >= 8']
-        },
-        'postcss-pxtorem': {
-            rootValue: 37.5,
-            propList: ['*']
-        }
-    }
-}
+  plugins: {
+    autoprefixer: {
+      overrideBrowserslist: [
+        "Android 4.1",
+        "iOS 7.1",
+        "Chrome > 31",
+        "ff > 31",
+        "ie >= 8",
+      ],
+    },
+    "postcss-pxtorem": {
+      rootValue: 37.5,
+      propList: ["*"],
+    },
+  },
+};
 

更多详细信息: vant

新手必看,老鸟跳过

很多小伙伴会问我,适配的问题,因为我们使用的是 Vant UI,所以必须根据 Vant UI 375 的设计规范走,一般我们的设计会将 UI 图上传到蓝湖,我们就可以需要的尺寸了。下面就大搞普及一下 rem。

我们知道 1rem 等于html 根元素设定的 font-sizepx 值。Vant UI 设置 rootValue: 37.5,你可以看到在 iPhone 6 下看到 (1rem 等于 37.5px):

html
<html data-dpr="1" style="font-size: 37.5px;"></html>
 

切换不同的机型,根元素可能会有不同的font-size。当你写 css px 样式时,会被程序换算成 rem 达到适配。

因为我们用了 Vant 的组件,需要按照 rootValue: 37.5 来写样式。

举个例子:设计给了你一张 750px * 1334px 图片,在 iPhone6 上铺满屏幕,其他机型适配。

  • rootValue: 70 , 样式 width: 750px;height: 1334px; 图片会撑满 iPhone6 屏幕,这个时候切换其他机型,图片也会跟着撑满。
  • rootValue: 37.5 的时候,样式 width: 375px;height: 667px; 图片会撑满 iPhone6 屏幕。

也就是 iphone 6 下 375px 宽度写 CSS。其他的你就可以根据你设计图,去写对应的样式就可以了。

当然,想要撑满屏幕你可以使用 100%,这里只是举例说明。

html
<img class="image" src="https://www.sunniejs.cn/static/weapp/logo.png" />
 
 <style>
-    /* rootValue: 75 */
-    .image {
-        width: 750px;
-        height: 1334px;
-    }
-    /* rootValue: 37.5 */
-    .image {
-        width: 375px;
-        height: 667px;
-    }
+  /* rootValue: 75 */
+  .image {
+    width: 750px;
+    height: 1334px;
+  }
+  /* rootValue: 37.5 */
+  .image {
+    width: 375px;
+    height: 667px;
+  }
 </style>
-

Released under the MIT License.

- - +

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue2/router.html b/guide/vue2/router.html index dc399e5..bd259e8 100644 --- a/guide/vue2/router.html +++ b/guide/vue2/router.html @@ -3,45 +3,45 @@ - Vue-H5-Template | Vue-H5-Template + Vue-router | Vue-H5-Template - - - - + + + + -
Skip to content
On this page

✅ Vue-router

本案例采用 hash 模式,开发者根据需求修改 mode base

注意:如果你使用了 history 模式,vue.config.js 中的 publicPath 要做对应的修改

前往:vue.config.js 基础配置

javascript
import Vue from 'vue'
-import Router from 'vue-router'
+    
Skip to content

Vue-router

本案例采用 hash 模式,开发者根据需求修改 mode base

注意:如果你使用了 history 模式,vue.config.js 中的 publicPath 要做对应的修改

前往:vue.config.js 基础配置

javascript
import Vue from "vue";
+import Router from "vue-router";
 
-Vue.use(Router)
+Vue.use(Router);
 export const router = [
-    {
-        path: '/',
-        name: 'index',
-        component: () => import('@/views/home/index'), // 路由懒加载
-        meta: {
-            title: '首页', // 页面标题
-            keepAlive: false, // keep-alive 标识
-        },
+  {
+    path: "/",
+    name: "index",
+    component: () => import("@/views/home/index"), // 路由懒加载
+    meta: {
+      title: "首页", // 页面标题
+      keepAlive: false, // keep-alive 标识
     },
-]
+  },
+];
 const createRouter = () =>
-    new Router({
-        // mode: 'history', // 如果你是 history模式 需要配置 vue.config.js publicPath
-        // base: '/app/',
-        scrollBehavior: () => ({ y: 0 }),
-        routes: router,
-    })
+  new Router({
+    // mode: 'history', // 如果你是 history模式 需要配置 vue.config.js publicPath
+    // base: '/app/',
+    scrollBehavior: () => ({ y: 0 }),
+    routes: router,
+  });
 
-export default createRouter()
-

Released under the MIT License.

- - +export default createRouter(); +

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue2/sass.html b/guide/vue2/sass.html index 7e44397..94be52a 100644 --- a/guide/vue2/sass.html +++ b/guide/vue2/sass.html @@ -3,24 +3,24 @@ - Vue-H5-Template | Vue-H5-Template + Sass 全局样式 | Vue-H5-Template - - - - + + + + -
Skip to content
On this page

✅ Sass 全局样式

首先 你可能会遇到 node-sass 安装不成功,别放弃多试几次!!!

每个页面自己对应的样式都写在自己的 .vue 文件之中 scoped 它顾名思义给 css 加了一个域的概念。

html
<style lang="scss">
-    /* global styles */
+    
Skip to content

Sass 全局样式

首先 你可能会遇到 node-sass 安装不成功,别放弃多试几次!!!

每个页面自己对应的样式都写在自己的 .vue 文件之中 scoped 它顾名思义给 css 加了一个域的概念。

html
<style lang="scss">
+  /* global styles */
 </style>
 
 <style lang="scss" scoped>
-    /* local styles */
+  /* local styles */
 </style>
 

目录结构

vue-h5-template 所有全局样式都在 @/src/assets/css 目录下设置

bash
├── assets
 │   ├── css
@@ -28,55 +28,55 @@
 │   │   ├── mixin.scss               # 全局mixin
 │   │   └── variables.scss           # 全局变量
 

自定义 vant-ui 样式

现在我们来说说怎么重写 vant-ui 样式。由于 vant-ui 的样式我们是在全局引入的,所以你想在某个页面里面覆盖它的样式就不能加 scoped,但你又想只覆盖这个页面的 vant 样式,你就可在它的父级加一个 class,用命名空间来解决问题。

css
.about-container {
-    /* 你的命名空间 */
-    .van-button {
-        /* vant-ui 元素*/
-        margin-right: 0px;
-    }
+  /* 你的命名空间 */
+  .van-button {
+    /* vant-ui 元素*/
+    margin-right: 0px;
+  }
 }
 

父组件改变子组件样式 深度选择器

当你子组件使用了 scoped 但在父组件又想修改子组件的样式可以 通过 >>> 来实现:

css
<style scoped>
 .a >>> .b { /* ... */ }
 </style>
-

全局变量

vue.config.js 配置使用 css.loaderOptions 选项,注入 sassmixin variables 到全局,不需要手动引入 ,配置$cdn通过变量形式引入 cdn 地址,这样向所有 Sass/Less 样式传入共享的全局变量:

javascript
const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV)
-const defaultSettings = require('./src/config/index.js')
+

全局变量

vue.config.js 配置使用 css.loaderOptions 选项,注入 sassmixin variables 到全局,不需要手动引入 ,配置$cdn通过变量形式引入 cdn 地址,这样向所有 Sass/Less 样式传入共享的全局变量:

javascript
const IS_PROD = ["production", "prod"].includes(process.env.NODE_ENV);
+const defaultSettings = require("./src/config/index.js");
 module.exports = {
-    css: {
-        extract: IS_PROD,
-        sourceMap: false,
-        loaderOptions: {
-            // 给 scss-loader 传递选项
-            scss: {
-                // 注入 `sass` 的 `mixin` `variables` 到全局, $cdn可以配置图片cdn
-                // 详情: https://cli.vuejs.org/guide/css.html#passing-options-to-pre-processor-loaders
-                prependData: `
+  css: {
+    extract: IS_PROD,
+    sourceMap: false,
+    loaderOptions: {
+      // 给 scss-loader 传递选项
+      scss: {
+        // 注入 `sass` 的 `mixin` `variables` 到全局, $cdn可以配置图片cdn
+        // 详情: https://cli.vuejs.org/guide/css.html#passing-options-to-pre-processor-loaders
+        prependData: `
                 @import "assets/css/mixin.scss";
                 @import "assets/css/variables.scss";
                 $cdn: "${defaultSettings.$cdn}";
                  `,
-            },
-        },
+      },
     },
-}
+  },
+};
 

设置 js 中可以访问 $cdn,.vue 文件中使用this.$cdn访问

javascript
// 引入全局样式
-import '@/assets/css/index.scss'
+import "@/assets/css/index.scss";
 
 // 设置 js中可以访问 $cdn
 // 引入cdn
-import { $cdn } from '@/config'
-Vue.prototype.$cdn = $cdn
+import { $cdn } from "@/config";
+Vue.prototype.$cdn = $cdn;
 

在 css 和 js 使用

html
<script>
-    console.log(this.$cdn)
+  console.log(this.$cdn);
 </script>
 <style lang="scss" scoped>
-    .logo {
-        width: 120px;
-        height: 120px;
-        background: url($cdn+'/weapp/logo.png') center / contain no-repeat;
-    }
+  .logo {
+    width: 120px;
+    height: 120px;
+    background: url($cdn + "/weapp/logo.png") center / contain no-repeat;
+  }
 </style>
-

Released under the MIT License.

- - +

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue2/start.html b/guide/vue2/start.html index 3cac129..33e7258 100644 --- a/guide/vue2/start.html +++ b/guide/vue2/start.html @@ -6,16 +6,16 @@ 启动项目 | Vue-H5-Template - - - - + + + + -
Skip to content

启动项目

js

+    
-    
-    
+

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue2/vant.html b/guide/vue2/vant.html index 68a9b2b..a5587d6 100644 --- a/guide/vue2/vant.html +++ b/guide/vue2/vant.html @@ -3,45 +3,47 @@ - Vue-H5-Template | Vue-H5-Template + VantUI 组件按需加载 | Vue-H5-Template - - - - + + + + -
Skip to content
On this page

✅ VantUI 组件按需加载

项目采 用Vant 自动按需引入组件 (推荐)下 面安装插件介绍:

babel-plugin-import 是一款 babel 插件,它会在编译过程中将 import 的写法自动转换为按需引入的方式

安装插件

bash
npm i babel-plugin-import -D
+    
Skip to content
On this page

VantUI 组件按需加载

项目采 用Vant 自动按需引入组件 (推荐)下 面安装插件介绍:

babel-plugin-import 是一款 babel 插件,它会在编译过程中将 import 的写法自动转换为按需引入的方式

安装插件

bash
npm i babel-plugin-import -D
 

babel.config.js 设置

javascript
// 对于使用 babel7 的用户,可以在 babel.config.js 中配置
 const plugins = [
-    [
-        'import',
-        {
-            libraryName: 'vant',
-            libraryDirectory: 'es',
-            style: true,
-        },
-        'vant',
-    ],
-]
+  [
+    "import",
+    {
+      libraryName: "vant",
+      libraryDirectory: "es",
+      style: true,
+    },
+    "vant",
+  ],
+];
 module.exports = {
-    presets: [['@vue/cli-plugin-babel/preset', { useBuiltIns: 'usage', corejs: 3 }]],
-    plugins,
-}
-

使用组件

项目在 src/plugins/vant.js 下统一管理组件,用哪个引入哪个,无需在页面里重复引用

javascript
// 按需全局引入 vant组件
-import Vue from 'vue'
-import { Button, List, Cell, Tabbar, TabbarItem } from 'vant'
-Vue.use(Button)
-Vue.use(Cell)
-Vue.use(List)
-Vue.use(Tabbar).use(TabbarItem)
-

Released under the MIT License.

- - + presets: [ + ["@vue/cli-plugin-babel/preset", { useBuiltIns: "usage", corejs: 3 }], + ], + plugins, +}; +

使用组件

项目在 src/plugins/vant.js 下统一管理组件,用哪个引入哪个,无需在页面里重复引用

javascript
// 按需全局引入 vant组件
+import Vue from "vue";
+import { Button, List, Cell, Tabbar, TabbarItem } from "vant";
+Vue.use(Button);
+Vue.use(Cell);
+Vue.use(List);
+Vue.use(Tabbar).use(TabbarItem);
+

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue2/vuex.html b/guide/vue2/vuex.html index 3981242..95f9c41 100644 --- a/guide/vue2/vuex.html +++ b/guide/vue2/vuex.html @@ -3,50 +3,53 @@ - Vue-H5-Template | Vue-H5-Template + Vuex 状态管理 | Vue-H5-Template - - - - + + + + -
Skip to content
On this page

✅ Vuex 状态管理

目录结构

bash
├── store
+    
Skip to content

Vuex 状态管理

目录结构

bash
├── store
 │   ├── modules
 │   │   └── app.js
 │   ├── index.js
 │   ├── getters.js
-

main.js 引入

javascript
import Vue from 'vue'
-import App from './App.vue'
-import store from './store'
+

main.js 引入

javascript
import Vue from "vue";
+import App from "./App.vue";
+import store from "./store";
 new Vue({
-    el: '#app',
-    router,
-    store,
-    render: h => h(App),
-})
+  el: "#app",
+  router,
+  store,
+  render: (h) => h(App),
+});
 

使用

html
<script>
-    import { mapGetters } from 'vuex'
-    export default {
-        computed: {
-            ...mapGetters(['userName']),
-        },
+  import { mapGetters } from "vuex";
+  export default {
+    computed: {
+      ...mapGetters(["userName"]),
+    },
 
-        methods: {
-            // Action 通过 store.dispatch 方法触发
-            doDispatch() {
-                this.$store.dispatch('setUserName', '真乖,赶紧关注公众号,组织都在等你~')
-            },
-        },
-    }
+    methods: {
+      // Action 通过 store.dispatch 方法触发
+      doDispatch() {
+        this.$store.dispatch(
+          "setUserName",
+          "真乖,赶紧关注公众号,组织都在等你~"
+        );
+      },
+    },
+  };
 </script>
-

Released under the MIT License.

- - +

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue2/vw.html b/guide/vue2/vw.html index df60a9e..1ebc788 100644 --- a/guide/vue2/vw.html +++ b/guide/vue2/vw.html @@ -3,22 +3,22 @@ - Vue-H5-Template | Vue-H5-Template + vm 适配方案 | Vue-H5-Template - - - - + + + + -
Skip to content
On this page

✅ vm 适配方案

本项目使用的是 rem 的 适配方案,其实无论你使用哪种方案,都不需要你去计算 12px 是多少 rem 或者 vw, 会有专门的工具去帮你做 。如果你想用 vw,你可以按照下面的方式切换。

1.安装依赖

bash

+    
Skip to content
On this page

vm 适配方案

本项目使用的是 rem 的 适配方案,其实无论你使用哪种方案,都不需要你去计算 12px 是多少 rem 或者 vw, 会有专门的工具去帮你做 。如果你想用 vw,你可以按照下面的方式切换。

1.安装依赖

bash

 npm install postcss-px-to-viewport -D
 
-

2.修改 .postcssrc.js

将根目录下 .postcssrc.js 文件修改如下

javascript
// https://github.com/michael-ciniawsky/postcss-load-config
+

2.修改 .postcssrc.js

将根目录下 .postcssrc.js 文件修改如下

javascript
// https://github.com/michael-ciniawsky/postcss-load-config
 module.exports = {
   plugins: {
     autoprefixer: {
@@ -40,13 +40,13 @@
     },
   },
 };
-

3.删除原来的 rem 相关代码

src/main.js 删除如下代码

javascript
// 移动端适配
+

3.删除原来的 rem 相关代码

src/main.js 删除如下代码

javascript
// 移动端适配
 import "lib-flexible/flexible.js";
 

package.json 删除如下代码

javascript
"lib-flexible": "^0.3.2",
 "postcss-pxtorem": "^5.1.1",
-

运行起来,F12 元素 css style 就是 vw 单位了

▲ 回顶部

Released under the MIT License.

- - +

运行起来,F12 元素 css style 就是 vw 单位了

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue3/alias.html b/guide/vue3/alias.html index 5139b1a..4580ec4 100644 --- a/guide/vue3/alias.html +++ b/guide/vue3/alias.html @@ -6,16 +6,16 @@ alias | Vue-H5-Template - - - - + + + + -
Skip to content

alias

javascript
resolve: {
+    
-    
-    
+

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue3/axios.html b/guide/vue3/axios.html index 12da266..3095bc9 100644 --- a/guide/vue3/axios.html +++ b/guide/vue3/axios.html @@ -6,16 +6,16 @@ axios 封装及接口管理 | Vue-H5-Template - - - - + + + + -
Skip to content

axios 封装及接口管理

utils/request.js 封装 axios , 开发者需要根据后台接口做修改。

  • service.interceptors.request.use 里可以设置请求头,比如设置 token
  • config.hideloading 是在 api 文件夹下的接口参数里设置,下文会讲
  • service.interceptors.response.use 里可以对接口返回数据处理,比如 401 删除本地信息,重新登录
javascript
import axios from "axios";
+    
Skip to content

axios 封装及接口管理

utils/request.js 封装 axios , 开发者需要根据后台接口做修改。

  • service.interceptors.request.use 里可以设置请求头,比如设置 token
  • config.hideloading 是在 api 文件夹下的接口参数里设置,下文会讲
  • service.interceptors.response.use 里可以对接口返回数据处理,比如 401 删除本地信息,重新登录
javascript
import axios from "axios";
 import store from "@/store";
 import { Toast } from "vant";
 // 根据环境不同引入不同api地址
@@ -72,9 +72,9 @@
   }
 );
 export default service;
-

Released under the MIT License.

- - +

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue3/base.html b/guide/vue3/base.html index c90adc4..b634dce 100644 --- a/guide/vue3/base.html +++ b/guide/vue3/base.html @@ -6,16 +6,16 @@ vite.config.ts 基础配置 | Vue-H5-Template - - - - + + + + -
Skip to content

vite.config.ts 基础配置

如果你的 Vue Router 模式是 hash

javascript
publicPath: './',
+    
Skip to content

vite.config.ts 基础配置

如果你的 Vue Router 模式是 hash

javascript
publicPath: './',
 

如果你的 Vue Router 模式是 history 这里的 publicPath 和你的 Vue Router base 保持一致

javascript
publicPath: '/app/',
 
javascript
export default function ({ command }: ConfigEnv): UserConfigExport {
   const isProduction = command === "build";
@@ -46,9 +46,9 @@
     },
   };
 }
-

Released under the MIT License.

- - +

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue3/env.html b/guide/vue3/env.html index a99b4fb..a8932f1 100644 --- a/guide/vue3/env.html +++ b/guide/vue3/env.html @@ -6,23 +6,23 @@ Vue-H5-Template | Vue-H5-Template - - - - + + + + -
Skip to content

package.json 里的 scripts 配置 dev dev:test dev:prod ,通过 --mode xxx 来执行不同环境

  • 通过 yarn dev 启动本地环境参数 , 执行 development
  • 通过 yarn dev:test 启动测试环境参数 , 执行 test
  • 通过 yarn dev:prod 启动正式环境参数 , 执行 prod
javascript
"scripts": {
+    
Skip to content

package.json 里的 scripts 配置 dev dev:test dev:prod ,通过 --mode xxx 来执行不同环境

  • 通过 yarn dev 启动本地环境参数 , 执行 development
  • 通过 yarn dev:test 启动测试环境参数 , 执行 test
  • 通过 yarn dev:prod 启动正式环境参数 , 执行 prod
javascript
"scripts": {
     "dev": "vite",
     "dev:test": "vite --mode test",
     "dev:prod": "vite --mode production",
 }
-

Released under the MIT License.

- - +

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue3/i18n.html b/guide/vue3/i18n.html index 066b04f..fbdb8ed 100644 --- a/guide/vue3/i18n.html +++ b/guide/vue3/i18n.html @@ -6,16 +6,16 @@ i18n 文本多语言解决方案 | Vue-H5-Template - - - - + + + + -
Skip to content
On this page

i18n 文本多语言解决方案

javascript
import { createI18n } from 'vue-i18n'; // 引入第三方最新的i18n注意版本
+    
-    
-    
+

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue3/lint.html b/guide/vue3/lint.html index 659e682..29cae7b 100644 --- a/guide/vue3/lint.html +++ b/guide/vue3/lint.html @@ -6,18 +6,18 @@ Eslint+Pettier+stylelint 统一开发规范 | Vue-H5-Template - - - - + + + + - - - + + + \ No newline at end of file diff --git a/guide/vue3/pinia.html b/guide/vue3/pinia.html index 1f3f6ae..4663a47 100644 --- a/guide/vue3/pinia.html +++ b/guide/vue3/pinia.html @@ -6,16 +6,16 @@ Pinia 状态管理 | Vue-H5-Template - - - - + + + + -
Skip to content
On this page

Pinia 状态管理

下一代 vuex,使用极其方便,ts 兼容好

目录结构

bash
├── store
+    
-    
-    
+

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue3/proxy.html b/guide/vue3/proxy.html index be9f54a..3f0da32 100644 --- a/guide/vue3/proxy.html +++ b/guide/vue3/proxy.html @@ -6,16 +6,16 @@ proxy 跨域 | Vue-H5-Template - - - - + + + + -
Skip to content

proxy 跨域

javascript
server: {
+    
-    
-    
+

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue3/router.html b/guide/vue3/router.html index abbea04..b5a26fb 100644 --- a/guide/vue3/router.html +++ b/guide/vue3/router.html @@ -6,16 +6,16 @@ vue-router | Vue-H5-Template - - - - + + + + -
Skip to content

vue-router

本案例采用 hash 模式,开发者根据需求修改 mode base

注意:如果你使用了 history 模式, vue.config.js 中的 publicPath 要做对应的修改

前往:vue.config.js 基础配置

javascript
import Vue from "vue";
+    
-    
-    
+

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue3/start.html b/guide/vue3/start.html index b4edba9..52e9129 100644 --- a/guide/vue3/start.html +++ b/guide/vue3/start.html @@ -6,16 +6,16 @@ 启动项目 | Vue-H5-Template - - - - + + + + -
Skip to content

启动项目

js

+    
-    
-    
+

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue3/ui.html b/guide/vue3/ui.html index aaa02e2..3e4d2ed 100644 --- a/guide/vue3/ui.html +++ b/guide/vue3/ui.html @@ -6,16 +6,16 @@ 多 UI 组件库供选择 | Vue-H5-Template - - - - + + + + -
Skip to content
On this page

多 UI 组件库供选择

Vite 构建工具,使用 vite-plugin-style-import 和 unplugin-vue-components/vite 实现按需引入。

安装插件

bash
yarn add vite-plugin-style-import -D
+    
Skip to content
On this page

多 UI 组件库供选择

Vite 构建工具,使用 vite-plugin-style-import 和 unplugin-vue-components/vite 实现按需引入。

安装插件

bash
yarn add vite-plugin-style-import -D
 yarn add unplugin-vue-components/vite -D
 

使用组件库

nutUI 没有按需加载的 resolvers,style 需要自己配置按需加载

config/vite/plugins/styleImport.ts 设置

javascript
  // 按需加载样式文件
   ...
@@ -36,9 +36,9 @@
 ...
 resolvers: [VantResolver(), VarletUIResolver()],
 ...
-

不需要某个组件库

nutUI 需删除src/plugins/nutUI.tsmain.ts文件下的引入

vant 和 varlet 只需删除对应的 resolvers 即可

删除后需全局搜索删除不需要的组件,避免报错

Released under the MIT License.

- - +

不需要某个组件库

nutUI 需删除src/plugins/nutUI.tsmain.ts文件下的引入

vant 和 varlet 只需删除对应的 resolvers 即可

删除后需全局搜索删除不需要的组件,避免报错

参考文档

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue3/viewport.html b/guide/vue3/viewport.html index f44cb25..d8e2cac 100644 --- a/guide/vue3/viewport.html +++ b/guide/vue3/viewport.html @@ -6,16 +6,16 @@ viewport 适配方案 | Vue-H5-Template - - - - + + + + -
Skip to content
On this page

viewport 适配方案

不用担心,项目已经配置好了 viewport 适配,下面仅做介绍:

  • cnjm-postcss-px-to-viewport 是一款 postcss 插件,用于将单位转化为 vw, 现在很多浏览器对vw的支持都很好,适配首选方案。

PostCSS 配置

下面提供了一份基本的 postcss 配置,可以在此配置的基础上根据项目需求进行修改

javascript
// https://github.com/michael-ciniawsky/postcss-load-config
+    
Skip to content
On this page

viewport 适配方案

不用担心,项目已经配置好了 viewport 适配,下面仅做介绍:

  • cnjm-postcss-px-to-viewport 是一款 postcss 插件,用于将单位转化为 vw, 现在很多浏览器对vw的支持都很好,适配首选方案。

PostCSS 配置

下面提供了一份基本的 postcss 配置,可以在此配置的基础上根据项目需求进行修改

javascript
// https://github.com/michael-ciniawsky/postcss-load-config
 module.exports = {
   plugins: {
     autoprefixer: { overrideBrowserslist: ['Android 4.1', 'iOS 7.1', 'Chrome > 31', 'ff > 31', 'ie >= 8'] },
@@ -54,9 +54,9 @@
     height: 667px;
   }
 </style>
-

Released under the MIT License.

- - +

Released under the MIT License.

+ + \ No newline at end of file diff --git a/guide/vue3/vite.html b/guide/vue3/vite.html index 95bff43..8a59f5f 100644 --- a/guide/vue3/vite.html +++ b/guide/vue3/vite.html @@ -6,18 +6,18 @@ vite | Vue-H5-Template - - - - + + + + -
Skip to content

vite

基于原生 ES 模块提供了丰富的内建功能,如速度快到惊人的模块热更新(HMR),使用 Rollup 打包你的代码,并且它是预配置的,可输出用于生产环境的高度优化过的静态资源。更多关于vite

模版集成了如下的 vite 插件

  • unplugin-auto-import(按需加载,自动引入)
  • unplugin-vue-components(按需加载,自动引入组件)
  • vite-plugin-compression(开启.gz 压缩)
  • vite-plugin-eruda(控制台,方便移动端调试)
  • vite-plugin-imagemin(图片压缩)
  • vite-plugin-mock(引入 mockjs,本地模拟接口)
  • vite-plugin-pages(动态生成路由)
  • vite-plugin-progress(构建显示进度条)
  • vite-plugin-restart(监听配置文件修改自动重启 Vite)
  • vite-plugin-style-import(按需引入样式文件)
  • vite-plugin-svg-icons(加载 SVG 文件,自动引入)

Released under the MIT License.

- - +
Skip to content

vite

基于原生 ES 模块提供了丰富的内建功能,如速度快到惊人的模块热更新(HMR),使用 Rollup 打包你的代码,并且它是预配置的,可输出用于生产环境的高度优化过的静态资源。更多关于vite

模版集成了如下的 vite 插件

  • unplugin-auto-import(按需加载,自动引入)
  • unplugin-vue-components(按需加载,自动引入组件)
  • vite-plugin-compression(开启.gz 压缩)
  • vite-plugin-eruda(控制台,方便移动端调试)
  • vite-plugin-imagemin(图片压缩)
  • vite-plugin-mock(引入 mockjs,本地模拟接口)
  • vite-plugin-pages(动态生成路由)
  • vite-plugin-progress(构建显示进度条)
  • vite-plugin-restart(监听配置文件修改自动重启 Vite)
  • vite-plugin-style-import(按需引入样式文件)
  • vite-plugin-svg-icons(加载 SVG 文件,自动引入)

Released under the MIT License.

+ + \ No newline at end of file diff --git a/hashmap.json b/hashmap.json index a4f15a1..cec84aa 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"guide_edit.md":"e5ba72e3","guide_index.md":"9ccf5801","guide_start.md":"9aaeea2d","guide_vue2_alias.md":"0ca1d795","guide_vue2_axios.md":"895ce132","guide_vue2_base.md":"45cc6a7c","guide_vue2_bundle.md":"fb533ae1","guide_vue2_chunks.md":"767cc8d2","guide_vue2_console.md":"17071fdb","guide_vue2_env.md":"46266d20","guide_vue2_externals.md":"f9fa4262","guide_vue2_ie.md":"16580015","guide_vue2_lint.md":"02135409","guide_vue2_proxy.md":"e2d9b251","guide_vue2_rem.md":"642649e3","guide_vue2_router.md":"01504303","guide_vue2_sass.md":"58a47cb4","guide_vue2_start.md":"61d51e5e","guide_vue2_vant.md":"48caa2a2","guide_vue2_vuex.md":"c92bff1a","guide_vue2_vw.md":"15e9dd21","guide_vue3_alias.md":"5f962e00","guide_vue3_axios.md":"a638023a","guide_vue3_base.md":"b806d388","guide_vue3_env.md":"40fffc2e","guide_vue3_i18n.md":"81964715","guide_vue3_lint.md":"ff017f99","guide_vue3_pinia.md":"92167b16","guide_vue3_proxy.md":"67e42e50","guide_vue3_router.md":"ed9784a2","guide_vue3_start.md":"34bca610","guide_vue3_ui.md":"45c48bf7","guide_vue3_viewport.md":"cf8ce157","guide_vue3_vite.md":"2d8528d7","index.md":"7e1757ee"} +{"guide_edit.md":"cbc1bb6f","guide_index.md":"238c0c40","guide_start.md":"681e1c3b","guide_vue2_alias.md":"902808c7","guide_vue2_axios.md":"1a9d585f","guide_vue2_base.md":"002d38ce","guide_vue2_bundle.md":"7a02028b","guide_vue2_chunks.md":"95a5c778","guide_vue2_console.md":"8c2b8150","guide_vue2_env.md":"2366ba54","guide_vue2_externals.md":"ecc69934","guide_vue2_ie.md":"4dd19ff1","guide_vue2_lint.md":"5047741d","guide_vue2_proxy.md":"7949d9af","guide_vue2_rem.md":"0120d753","guide_vue2_router.md":"3cb2df4b","guide_vue2_sass.md":"b00fddec","guide_vue2_start.md":"d71d4d28","guide_vue2_vant.md":"8c1780fc","guide_vue2_vuex.md":"f157623b","guide_vue2_vw.md":"12aede97","guide_vue3_alias.md":"254da981","guide_vue3_axios.md":"85d52416","guide_vue3_base.md":"a523080b","guide_vue3_env.md":"3e2dfd29","guide_vue3_i18n.md":"1299a9d2","guide_vue3_lint.md":"67b8bd6e","guide_vue3_pinia.md":"650c43bd","guide_vue3_proxy.md":"5b264ce5","guide_vue3_router.md":"b8f070a9","guide_vue3_start.md":"adc66eab","guide_vue3_ui.md":"05f726dc","guide_vue3_viewport.md":"a4eaefb3","guide_vue3_vite.md":"9b825c43","index.md":"24c2bd87"} diff --git a/index.html b/index.html index 45ebe13..00c8e6a 100644 --- a/index.html +++ b/index.html @@ -6,18 +6,18 @@ Vue-H5-Template | 一个快速开发的vue h5移动端脚手架 - - - - + + + + -
Skip to content

Vue-H5-Template

一个快速开发的Vue H5移动端脚手架

sunnie
💡

开箱即用

集成vue2、vue3的移动端快速开发模版,学习成本低,易上手

📦

代码规范

完整的eslint、prettier、stylelint规范,加上husky,帮助你更好的管理代码

🛠️

配置优化

完整配置的vue脚手架插件和优化,让你专注于业务开发,更高效

⚙️

More

加入我们,更多能力等你挖掘....

Released under the MIT License.

- - +
Skip to content

Vue-H5-Template

一个快速开发的Vue H5移动端脚手架

sunnie
💡

开箱即用

集成vue2、vue3的移动端快速开发模版,学习成本低,易上手

📦

代码规范

完整的eslint、prettier、stylelint规范,加上husky,帮助你更好的管理代码

🛠️

配置优化

完整配置的vue脚手架插件和优化,让你专注于业务开发,更高效

⚙️

More

加入我们,更多能力等你挖掘....

Released under the MIT License.

+ + \ No newline at end of file