wevu 6.16.4 → 6.16.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ import"./chunk-CbfVNrr-.mjs";import{A as e,C as t,D as n,M as r,N as i,P as a,a as o,b as s,d as c,g as l,h as u,i as d,j as f,k as p,l as m,m as h,n as g,o as _,p as v,r as y,s as b,t as x,v as S,w as C,x as w,y as T}from"./ref-B6CIXciv.mjs";import{i as E}from"./store-C-7rPMM3.mjs";import{C as D,D as O,E as k,H as A,M as j,N as M,O as N,S as P,T as F,V as I,X as L,_t as R,at as z,b as ee,ct as te,dt as B,et as V,ft as H,it as U,k as ne,lt as re,mt as W,nt as G,ot as K,pt as ie,rt as ae,st as oe,tt as q,ut as se,w as ce,x as le,y as ue}from"./router-Cm3FUnTw.mjs";import{WEVU_ATTRS_KEY as de,WEVU_EFFECT_SCOPE_KEY as J,WEVU_EXPOSED_KEY as fe,WEVU_HOOKS_KEY as pe,WEVU_INLINE_HANDLER as me,WEVU_INLINE_MAP_KEY as Y,WEVU_IS_APP_INSTANCE_KEY as he,WEVU_LAYOUT_BRIDGE_PAGE_KEYS as ge,WEVU_LAYOUT_HOST_BRIDGE_KEY as _e,WEVU_MODEL_HANDLER as ve,WEVU_NATIVE_INSTANCE_KEY as X,WEVU_ON_BEFORE_UPDATE_HOOK as ye,WEVU_ON_LOAD_CALLED_KEY as be,WEVU_ON_UPDATED_HOOK as xe,WEVU_OWNER_HANDLER as Se,WEVU_PAGE_LAYOUT_NAME_KEY as Ce,WEVU_PAGE_LAYOUT_NONE as we,WEVU_PAGE_LAYOUT_PROPS_KEY as Te,WEVU_PAGE_LAYOUT_SETTER_KEY as Ee,WEVU_PAGE_SCROLL_HOOK_DEPTH_KEY as De,WEVU_PARENT_INSTANCE_KEY as Oe,WEVU_PENDING_PROP_VALUES_KEY as ke,WEVU_PROPS_KEY as Z,WEVU_PROP_KEYS_KEY as Ae,WEVU_PUBLIC_RUNTIME_KEY as je,WEVU_READY_CALLED_KEY as Me,WEVU_RESERVED_METHOD_PREFIX as Ne,WEVU_ROUTE_DONE_CALLED_KEY as Pe,WEVU_ROUTE_DONE_IN_TICK_KEY as Fe,WEVU_RUNTIME_APP_KEY as Ie,WEVU_RUNTIME_KEY as Le,WEVU_SCOPED_SLOT_CREATOR_KEY as Re,WEVU_SETUP_CONTEXT_INSTANCE_KEY as ze,WEVU_SLOT_NAMES_PROP as Be,WEVU_SLOT_OWNER_ID_KEY as Ve,WEVU_SLOT_OWNER_ID_PROP as He,WEVU_SLOT_OWNER_KEY as Ue,WEVU_SLOT_PROPS_DATA_KEY as We,WEVU_SLOT_PROPS_KEY as Ge,WEVU_SLOT_SCOPE_KEY as Ke,WEVU_TEMPLATE_REFS_CALLBACKS_KEY as qe,WEVU_TEMPLATE_REFS_KEY as Je,WEVU_TEMPLATE_REFS_PENDING_KEY as Ye,WEVU_TEMPLATE_REF_MAP_KEY as Xe,WEVU_WATCH_STOPS_KEY as Ze}from"@weapp-core/constants";import{resolveMiniProgramPageKeys as Qe}from"@weapp-core/shared";import{wpi as $e}from"@wevu/api";function et(e,t){return x((t,n)=>({get(){return t(),e},set(t){Object.is(e,t)||(e=t,n())}}),t)}function tt(e){return g(e)&&typeof e.value!=`function`}function nt(e){if(g(e)){let t=e.dep;if(t){r(t);return}e.value=e.value}}function rt(e,t,n){let r=e[t];return g(r)?r:x((n,r)=>({get(){return n(),e[t]},set(n){e[t]=n,r()}}),n)}function it(e){m(e)||console.warn(`toRefs() 需要响应式对象,但收到的是普通对象。`);let t=Array.isArray(e)?Array.from({length:e.length}):{};for(let n in e)t[n]=rt(e,n);return t}function at(e,t=1/0,n=new Map){if(t<=0||!S(e))return e;if(g(e))return at(e.value,t-1,n),e;if(e.__r_skip)return e;let r=n.get(e);if(r!==void 0&&r>=t)return e;n.set(e,t);let i=t-1;if(Array.isArray(e)||e instanceof Map||e instanceof Set)return e.forEach(e=>at(e,i,n)),e;let a=m(e)&&t!==1/0?T(e):e;for(let t in a)at(e[t],i,n);return e}function ot(e){K(q(`onMounted`),`onReady`,e)}function st(e){K(q(`onUpdated`),xe,e)}function ct(e){q(`onBeforeUnmount`),e()}function lt(e){K(q(`onUnmounted`),`onUnload`,e)}function ut(e){q(`onBeforeMount`),e()}function dt(e){K(q(`onBeforeUpdate`),ye,e)}function ft(e){let t=q(`onErrorCaptured`);K(t,`onError`,n=>e(n,t,``))}function pt(e){K(q(`onActivated`),`onShow`,e)}function mt(e){K(q(`onDeactivated`),`onHide`,e)}function ht(e){q(`onServerPrefetch`)}function gt(e,t){G(e,t===`before`?ye:xe)}let _t=`version`;function vt(e){_t=e}function yt(){return _t}function bt(e){if(typeof e==`function`)return e();if(g(e))return e.value;if(m(e))return e;throw Error(`无效的 watch 源`)}function xt(e){let t=m(e),n=Array.isArray(e)&&!t,r;if(n){let t=e;r=()=>t.map(e=>bt(e))}else if(typeof e==`function`)r=e;else if(g(e))r=()=>e.value;else if(t)r=()=>e;else throw Error(`无效的 watch 源`);return{getter:r,isMultiSource:n,isReactiveSource:t}}function St(e,t,n,r,i){let a=n?t.some(e=>m(e)):r,o=i==null?a:i;if(!(o===!0||typeof o==`number`))return e;let s=typeof o==`number`?o:o?1/0:0;return()=>{let t=e(),r=yt();return n&&Array.isArray(t)?t.map(e=>r===`version`&&m(e)?(l(e),e):at(e,s)):r===`version`&&m(t)?(l(t),t):at(t,s)}}function Ct(e,t,n,r){if(r){r(e,n);return}if(t===`sync`){e();return}if(t===`post`){i(()=>a(e));return}n?e():a(e)}function wt(e,r,i={}){var a;let o=U(),s=xt(e),c=St(s.getter,e,s.isMultiSource,s.isReactiveSource,i.deep),l,u=e=>{l=e},d,f,m=!1,h=0,g=h,_,v=i.once?(e,t,n)=>{r(e,t,n),_()}:r,y=(a=i.flush)==null?`pre`:a,b=e=>{if(!f.active||m||e!==h)return;let t=f();l==null||l();let n=U();oe(o);try{v(t,d,u)}finally{oe(n)}d=t},x=()=>b(g),S=e=>{g=h,Ct(x,y,e,i.scheduler)};f=t(()=>c(),{scheduler:()=>{m||S(!1)},lazy:!0});let C=()=>{l==null||l(),l=void 0,p(f)};return _=C,_.stop=C,_.pause=()=>{m||(m=!0,h+=1)},_.resume=()=>{!m||!f.active||(m=!1,d=f())},i.immediate?b(h):d=f(),n(_),_}function Tt(e,r={}){var i;let a=U(),o,s=e=>{o=e},c,l=!1,u=0,d=u,f=(i=r.flush)==null?`pre`:i,m=e=>{!c.active||l||e!==u||c()},h=()=>m(d),g=e=>{d=u,Ct(h,f,e)};c=t(()=>{o==null||o(),o=void 0;let t=U();oe(a);try{e(s)}finally{oe(t)}},{lazy:!0,scheduler:()=>{l||g(!1)}}),g(!0);let _=()=>{o==null||o(),o=void 0,p(c)},v=_;return v.stop=_,v.pause=()=>{l||(l=!0,u+=1)},v.resume=()=>{!l||!c.active||(l=!1,g(!0))},n(v),v}function Et(e,t={}){return Tt(e,{...t,flush:`post`})}function Dt(e,t={}){return Tt(e,{...t,flush:`sync`})}const Ot=`6.16.6`;function kt(e){return e?e.charAt(0).toUpperCase()+e.slice(1):``}function At(e){return e?e.split(`.`).map(e=>e.trim()).filter(Boolean):[]}function Q(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function jt(e,t,n){let r=e[t];if(!r)throw Error(`计算属性 "${t}" 是只读的`);r(n)}function Mt(e){if(e==null)return e;if(typeof e==`object`){if(`detail`in e&&e.detail&&`value`in e.detail)return e.detail.value;if(`target`in e&&e.target&&`value`in e.target)return e.target.value}return e}function Nt(e,t,n){let r=e;for(let e=0;e<t.length-1;e++){let n=t[e];(r[n]==null||typeof r[n]!=`object`)&&(r[n]={}),r=r[n]}r[t[t.length-1]]=n}function Pt(e,t,n,r,i){if(!r.length)return;let[a,...o]=r;if(!o.length){if(t[a])jt(n,a,i);else{let t=e[a];g(t)?t.value=i:e[a]=i}return}if(t[a]){jt(n,a,i);return}(e[a]==null||typeof e[a]!=`object`)&&(e[a]={}),Nt(e[a],o,i)}function Ft(e,t){return t.reduce((e,t)=>e==null?e:e[t],e)}function It(e){return Mt(e)}function Lt(e,t,n,r){return(i,a)=>{let o=At(i);if(!o.length)throw Error(`bindModel 需要非空路径`);let s=()=>Ft(e,o),c=e=>{Pt(t,n,r,o,e)},l={event:`input`,valueProp:`value`,parser:It,formatter:e=>e,...a};return{get value(){return s()},set value(e){c(e)},update(e){c(e)},model(e){let t={...l,...e},n=`on${kt(t.event)}`,r=e=>{c(t.parser(e))};return{[t.valueProp]:t.formatter(s()),[n]:r}}}}}function Rt(e){if(Object.prototype.toString.call(e)!==`[object Object]`)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function zt(e){return Array.isArray(e)||Rt(e)}function Bt(e){if(Array.isArray(e))return e;let t=[];for(let n of Object.keys(e)){let r=Object.getOwnPropertyDescriptor(e,n);!r||typeof r.get==`function`||t.push(r.value)}return t}function Vt(e,t=new WeakSet){return g(e)||m(e)?!0:!e||typeof e!=`object`||t.has(e)||(t.add(e),!zt(e))?!1:Bt(e).some(e=>Vt(e,t))}function Ht(e,t=new WeakSet){if(g(e)){let n=e.value;m(n)&&l(n),Ht(n,t);return}if(m(e)){l(e),Ht(T(e),t);return}!e||typeof e!=`object`||t.has(e)||!zt(e)||(t.add(e),Bt(e).forEach(e=>Ht(e,t)))}const Ut=`__wevu_native_bridge__`;function Wt(e){try{Object.defineProperty(e,Ut,{value:!0,configurable:!1,enumerable:!1,writable:!1})}catch(t){e[Ut]=!0}}function Gt(e){return typeof e==`function`&&!!e[Ut]}function Kt(n){let r=Object.create(null),i=Object.create(null),a=new Set;return{computedRefs:r,computedSetters:i,dirtyComputedKeys:a,createTrackedComputed:(r,i,o)=>{let s,c=!0,l,u={get value(){return c&&(s=l(),c=!1),e(u,`value`),s},set value(e){if(!o)throw Error(`计算属性是只读的`);o(e)}};return y(u),l=t(i,{lazy:!0,scheduler:()=>{c||(c=!0,n.setDataStrategy===`patch`&&n.includeComputed&&a.add(r),f(u,`value`))}}),u},computedProxy:new Proxy({},{get(e,t){if(typeof t==`string`&&r[t])return r[t].value},has(e,t){return typeof t==`string`&&!!r[t]},ownKeys(){return Object.keys(r)},getOwnPropertyDescriptor(e,t){if(typeof t==`string`&&r[t])return{configurable:!0,enumerable:!0,value:r[t].value}}})}}function qt(e){let{state:t,computedDefs:n,methodDefs:r,appConfig:i,includeComputed:a,setDataStrategy:o}=e,s={},{computedRefs:c,computedSetters:l,dirtyComputedKeys:u,createTrackedComputed:f,computedProxy:p}=Kt({includeComputed:a,setDataStrategy:o}),m=d(0),h=(e,t)=>{let n=T(e),r=n[Le],i=r==null?void 0:r.proxy,a=(e,t)=>{let n=e[t];return Gt(n)},o=n=>!(!n||typeof n!=`object`||n===e||n===t||n===i||a(n,`triggerEvent`)||a(n,`createSelectorQuery`)||a(n,`createIntersectionObserver`)||a(n,`setData`)),s=n[X];if(o(s))return s;let c=r==null?void 0:r.instance;if(o(c))return c},g=e=>{if(Q(s,e))return;let n=(...n)=>{let r=h(t,t);if(!r)return;let i=Reflect.get(r,e);if(typeof i==`function`)return i.apply(r,n)};Wt(n),s[e]=n},_=new Proxy(t,{get(e,n,r){if(typeof n==`string`){if(m.value,n===`data`||n===`$state`)return t;if(n===`$computed`)return p;if(Q(s,n))return s[n];if(c[n])return c[n].value;if(Q(i.globalProperties,n))return i.globalProperties[n]}if(!Reflect.has(e,n)){let t=h(e,r);if(t&&Reflect.has(t,n)){let e=Reflect.get(t,n);return typeof e==`function`?e.bind(t):e}}return Reflect.get(e,n,r)},set(e,t,n,r){if(typeof t==`string`&&c[t])return jt(l,t,n),!0;if(Reflect.has(e,t))return Reflect.set(e,t,n,r);let i=h(e,r);return i&&Reflect.has(i,t)?Reflect.set(i,t,n):Reflect.set(e,t,n,r)},has(e,t){if(t===`data`||typeof t==`string`&&(c[t]||Q(s,t)))return!0;let n=h(e,e);return n&&Reflect.has(n,t)?!0:Reflect.has(e,t)},ownKeys(e){let t=new Set;return Reflect.ownKeys(e).forEach(e=>{t.add(e)}),Object.keys(s).forEach(e=>t.add(e)),Object.keys(c).forEach(e=>t.add(e)),[...t]},getOwnPropertyDescriptor(e,n){if(Reflect.has(e,n))return Object.getOwnPropertyDescriptor(e,n);if(typeof n==`string`){if(n===`data`)return{configurable:!0,enumerable:!1,get(){return t}};if(c[n])return{configurable:!0,enumerable:!0,get(){return c[n].value},set(e){jt(l,n,e)}};if(Q(s,n))return{configurable:!0,enumerable:!1,value:s[n]}}}});return Object.keys(r).forEach(e=>{let t=r[e];if(typeof t==`function`){s[e]=(...e)=>t.apply(_,e);return}e===Y&&t&&typeof t==`object`&&(s[e]=t)}),g(`triggerEvent`),g(`createSelectorQuery`),g(`createIntersectionObserver`),g(`setData`),Object.keys(n).forEach(e=>{let t=n[e];if(typeof t==`function`)c[e]=f(e,()=>t.call(_));else{var r,i;let n=(r=t.get)==null?void 0:r.bind(_);if(!n)throw Error(`计算属性 "${e}" 需要提供 getter`);let a=(i=t.set)==null?void 0:i.bind(_);a?(l[e]=a,c[e]=f(e,n,a)):c[e]=f(e,n)}}),{boundMethods:s,computedRefs:c,computedSetters:l,dirtyComputedKeys:u,computedProxy:p,publicInstance:_,touchSetupMethodsVersion(){m.value+=1}}}function Jt(e){return e!==`patch`&&e!==`diff`}function Yt(e){if(e!==`off`)return t=>{if(e===`fallback`&&!Jt(t.reason))return;let n=typeof t.bytes==`number`?t.bytes:t.estimatedBytes,r=typeof n==`number`?`${n}B`:`unknown`,i=[`mode=${t.mode}`,`reason=${t.reason}`,`pending=${t.pendingPatchKeys}`,`keys=${t.payloadKeys}`,`bytes=${r}`];typeof t.mergedSiblingParents==`number`&&i.push(`mergedParents=${t.mergedSiblingParents}`),typeof t.computedDirtyKeys==`number`&&i.push(`computedDirty=${t.computedDirtyKeys}`);let a=`[wevu:setData] ${i.join(` `)}`;if(Jt(t.reason)){console.warn(a);return}console.info(a)}}const Xt=Symbol(`wevu.noSetData`);function $(e){return Object.defineProperty(e,Xt,{value:!0,configurable:!0,enumerable:!1,writable:!1}),e}function Zt(e){return typeof e==`object`&&!!e&&e[Xt]===!0}function Qt(e){if(Object.prototype.toString.call(e)!==`[object Object]`)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function $t(e,t,n,r,i){let a=_(e);if(typeof a==`bigint`){let e=Number(a);return Number.isSafeInteger(e)?e:a.toString()}if(typeof a==`symbol`)return a.toString();if(typeof a==`function`)return;if(typeof a!=`object`||!a)return a;if(Zt(a))return;let o=m(a)?T(a):a,s=n&&(m(a)||!Vt(o))?n:void 0;if(r<=0||i.keys<=0)return o;if(s){let e=b(o),t=s.get(o);if(t&&t.version===e)return t.value}if(t.has(o))return t.get(o);if(o instanceof Date)return o.getTime();if(o instanceof RegExp)return o.toString();if(o instanceof Map){let e=[];return t.set(o,e),o.forEach((n,r)=>{e.push([$t(r,t,void 0,1/0,{keys:1/0}),$t(n,t,void 0,1/0,{keys:1/0})])}),e}if(o instanceof Set){let e=[];return t.set(o,e),o.forEach(n=>{e.push($t(n,t,void 0,1/0,{keys:1/0}))}),e}if(typeof ArrayBuffer<`u`){if(o instanceof ArrayBuffer)return o.byteLength;if(ArrayBuffer.isView(o)){let e=o;if(typeof e[Symbol.iterator]==`function`){let n=[...e];return t.set(o,n),n.map(e=>$t(e,t,void 0,1/0,{keys:1/0}))}let n=[...new Uint8Array(e.buffer,e.byteOffset,e.byteLength)];return t.set(o,n),n}}if(o instanceof Error)return{name:o.name,message:o.message};if(Array.isArray(o)){let e=[];t.set(o,e);let a=r-1;for(let r=0;r<o.length;r+=1){let s=$t(o[r],t,n,a,i);e[r]=s===void 0?null:s}return s&&s.set(o,{version:b(o),value:e}),e}let c={};t.set(o,c);let l=r-1;for(let e of Object.keys(o)){if(--i.keys,i.keys<=0)break;let r=$t(o[e],t,n,l,i);r!==void 0&&(c[e]=r)}return s&&s.set(o,{version:b(o),value:c}),c}function en(e,t=new WeakMap,n){var r,i;let a=(r=n==null?void 0:n._depth)==null?typeof(n==null?void 0:n.maxDepth)==`number`?Math.max(0,Math.floor(n.maxDepth)):1/0:r,o=(i=n==null?void 0:n._budget)==null?typeof(n==null?void 0:n.maxKeys)==`number`?{keys:Math.max(0,Math.floor(n.maxKeys))}:{keys:1/0}:i;return $t(e,t,n==null?void 0:n.cache,a,o)}function tn(e,t,n){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!n(e[r],t[r]))return!1;return!0}function nn(e,t,n){let r=Object.keys(e),i=Object.keys(t);if(r.length!==i.length)return!1;for(let i of r)if(!Q(t,i)||!n(e[i],t[i]))return!1;return!0}function rn(e,t){return Object.is(e,t)?!0:Array.isArray(e)&&Array.isArray(t)?tn(e,t,rn):Qt(e)&&Qt(t)?nn(e,t,rn):!1}function an(e){return e===void 0?null:e}function on(e,t,n,r){if(!rn(e,t)){if(Qt(e)&&Qt(t)){for(let i of Object.keys(t)){if(!Q(e,i)){r[`${n}.${i}`]=an(t[i]);continue}on(e[i],t[i],`${n}.${i}`,r)}for(let i of Object.keys(e))Q(t,i)||(r[`${n}.${i}`]=null);return}if(Array.isArray(e)&&Array.isArray(t)){tn(e,t,rn)||(r[n]=an(t));return}r[n]=an(t)}}function sn(e,t,n){let r={},i=n==null?void 0:n.skipKeys;for(let n of Object.keys(t))i!=null&&i.has(n)||on(e[n],t[n],n,r);for(let n of Object.keys(e))i!=null&&i.has(n)||Q(t,n)||(r[n]=null);return r}function cn(e){let t=Object.keys(e).sort();if(t.length<=1)return e;let n={},r=[];for(let i of t){for(;r.length;){let e=r[r.length-1];if(i.startsWith(e))break;r.pop()}r.length||(n[i]=e[i],r.push(`${i}.`))}return n}function ln(e,t,n){if(t<=0)return t+1;if(e===null)return 4;let r=typeof e;if(r===`string`)return 2+e.length;if(r===`number`)return Number.isFinite(e)?String(e).length:4;if(r===`boolean`)return e?4:5;if(r===`undefined`||r===`function`||r===`symbol`||r!==`object`||n.has(e))return 4;if(n.add(e),Array.isArray(e)){let r=2;for(let i=0;i<e.length;i++)if(i&&(r+=1),r+=ln(e[i],t-r,n),r>t)return r;return r}let i=2;for(let[r,a]of Object.entries(e))if(i>2&&(i+=1),i+=2+r.length+1,i+=ln(a,t-i,n),i>t)return i;return i}function un(e,t){if(t===1/0)return{fallback:!1,estimatedBytes:void 0,bytes:void 0};let n=t,r=Object.keys(e).length,i=ln(e,n+1,new WeakSet);if(i>n)return{fallback:!0,estimatedBytes:i,bytes:void 0};if(i>=n*.85&&r>2)try{let t=JSON.stringify(e).length;return{fallback:t>n,estimatedBytes:i,bytes:t}}catch(e){return{fallback:!1,estimatedBytes:i,bytes:void 0}}return{fallback:!1,estimatedBytes:i,bytes:void 0}}function dn(e){let{input:t,entryMap:n,getPlainByPath:r,mergeSiblingThreshold:i,mergeSiblingSkipArray:a,mergeSiblingMaxParentBytes:o,mergeSiblingMaxInflationRatio:s}=e;if(!i)return{out:t,merged:0};let c=Object.keys(t);if(c.length<i)return{out:t,merged:0};let l=new Map,u=new Set;for(let e of c){var d;let r=n.get(e);if(!r)continue;if(t[e]===null||r.op===`delete`){let t=e.lastIndexOf(`.`);t>0&&u.add(e.slice(0,t));continue}let i=e.lastIndexOf(`.`);if(i<=0)continue;let a=e.slice(0,i),o=(d=l.get(a))==null?[]:d;o.push(e),l.set(a,o)}let f=[...l.entries()].filter(([e,t])=>t.length>=i&&!u.has(e)).sort((e,t)=>t[0].split(`.`).length-e[0].split(`.`).length);if(!f.length)return{out:t,merged:0};let p={};Object.assign(p,t);let m=0,h=new WeakMap,g=e=>{if(e&&typeof e==`object`){let t=h.get(e);if(t!==void 0)return t;let n=ln(e,1/0,new WeakSet);return h.set(e,n),n}return ln(e,1/0,new WeakSet)},_=(e,t)=>2+e.length+1+g(t);for(let[e,t]of f){if(Q(p,e))continue;let n=t.filter(e=>Q(p,e));if(n.length<i)continue;let c=r(e);if(!(a&&Array.isArray(c))&&!(o!==1/0&&_(e,c)>o)){if(s!==1/0){let t=0;for(let e of n)t+=_(e,p[e]);if(_(e,c)>t*s)continue}p[e]=c;for(let e of n)delete p[e];m+=1}}return{out:p,merged:m}}function fn(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function pn(e){return e===void 0?null:e}function mn(e){if(Array.isArray(e))return e.map(e=>mn(e));if(!fn(e))return e;let t={};for(let n of Object.keys(e))t[n]=mn(e[n]);return t}function hn(e,t){if(Object.is(e,t))return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Object.is(e[n],t[n]))return!1;return!0}if(!fn(e)||!fn(t))return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!Q(t,r)||!Object.is(e[r],t[r]))return!1;return!0}function gn(e,t,n,r){if(Object.is(e,t))return!0;if(n<=0)return!1;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!gn(e[i],t[i],n-1,r))return!1;return!0}if(!fn(e)||!fn(t))return!1;let i=Object.keys(e),a=Object.keys(t);if(i.length!==a.length)return!1;for(let a of i)if(--r.keys,r.keys<=0||!Q(t,a)||!gn(e[a],t[a],n-1,r))return!1;return!0}function _n(e,t,n,r,i){var a;let o=(a=i==null?void 0:i.cloneValue)==null?!0:a,s=t.split(`.`).filter(Boolean);if(!s.length)return;let c=e;for(let e=0;e<s.length-1;e++){let t=s[e];(!Q(c,t)||c[t]==null||typeof c[t]!=`object`)&&(c[t]={}),c=c[t]}let l=s[s.length-1];if(r===`delete`)try{delete c[l]}catch(e){c[l]=null}else c[l]=o?mn(n):n}function vn(e){let{state:t,computedRefs:n,includeComputed:r,shouldIncludeKey:i,plainCache:a,toPlainMaxDepth:o,toPlainMaxKeys:s}=e,c=new WeakMap,l={},u=Number.isFinite(s)?{keys:s}:void 0,d=m(t)?T(t):t,f=Object.keys(d),p=r?Object.keys(n):[];for(let e of f)i(e)&&(l[e]=en(d[e],c,{cache:a,maxDepth:o,_budget:u}));for(let e of p)i(e)&&(l[e]=en(n[e].value,c,{cache:a,maxDepth:o,_budget:u}));return l}function yn(e){let{state:t,computedRefs:n,dirtyComputedKeys:r,includeComputed:i,computedCompare:a,computedCompareMaxDepth:o,computedCompareMaxKeys:s,currentAdapter:c,shouldIncludeKey:l,maxPatchKeys:u,maxPayloadBytes:d,mergeSiblingThreshold:f,mergeSiblingMaxInflationRatio:p,mergeSiblingMaxParentBytes:m,mergeSiblingSkipArray:h,elevateTopKeyThreshold:g,toPlainMaxDepth:_,toPlainMaxKeys:v,plainCache:y,pendingPatches:b,fallbackTopKeys:x,latestSnapshot:S,latestComputedSnapshot:C,needsFullSnapshot:w,emitDebug:T,runDiffUpdate:E}=e;if(b.size>u){w.value=!0;let e=b.size;b.clear(),r.clear(),T({mode:`diff`,reason:`maxPatchKeys`,pendingPatchKeys:e,payloadKeys:0}),E(`maxPatchKeys`);return}let D=new WeakMap,O=new Map,k=Object.create(null),A=[...b.entries()];if(Number.isFinite(g)&&g>0){let e=new Map;for(let[t]of A){var j;let n=t.split(`.`,1)[0];e.set(n,((j=e.get(n))==null?0:j)+1)}for(let[t,n]of e)n>=g&&x.add(t)}let M=A.filter(([e])=>{for(let t of x)if(e===t||e.startsWith(`${t}.`))return!1;return!0}),N=new Map(M);b.clear();let P=e=>{let n=e.split(`.`).filter(Boolean),r=t;for(let e of n){if(r==null)return r;r=r[e]}return r},F=e=>{if(O.has(e))return O.get(e);let t=pn(en(P(e),D,{cache:y,maxDepth:_,maxKeys:v}));return O.set(e,t),t};if(x.size){for(let e of x)l(e)&&(k[e]=F(e),N.set(e,{kind:`property`,op:`set`}));x.clear()}for(let[e,t]of M){if((t.kind===`array`?`set`:t.op)===`delete`){k[e]=null;continue}k[e]=F(e)}let I=0;if(i&&r.size){let e=Object.create(null),t=[...r];r.clear(),I=t.length;for(let r of t){if(!l(r))continue;let t=en(n[r].value,D,{cache:y,maxDepth:_,maxKeys:v}),i=C[r];(a===`deep`?gn(i,t,o,{keys:s}):a===`shallow`?hn(i,t):Object.is(i,t))||(e[r]=pn(t),C[r]=mn(t))}Object.assign(k,e)}let L=cn(k),R=0;if(f){let e=dn({input:L,entryMap:N,getPlainByPath:F,mergeSiblingThreshold:f,mergeSiblingSkipArray:h,mergeSiblingMaxParentBytes:m,mergeSiblingMaxInflationRatio:p});R=e.merged,L=cn(e.out)}let z=un(L,d),ee=z.fallback;if(T({mode:ee?`diff`:`patch`,reason:ee?`maxPayloadBytes`:`patch`,pendingPatchKeys:M.length,payloadKeys:Object.keys(L).length,mergedSiblingParents:R||void 0,computedDirtyKeys:I||void 0,estimatedBytes:z.estimatedBytes,bytes:z.bytes}),ee){w.value=!0,b.clear(),r.clear(),E(`maxPayloadBytes`);return}if(Object.keys(L).length){for(let[e,t]of Object.entries(L)){let n=N.get(e);n?_n(S,e,t,n.kind===`array`?`set`:n.op,{cloneValue:!1}):_n(S,e,t,`set`,{cloneValue:!1})}if(typeof c.setData==`function`){let e=c.setData(L);e&&typeof e.then==`function`&&e.catch(()=>{})}T({mode:`patch`,reason:`patch`,pendingPatchKeys:M.length,payloadKeys:Object.keys(L).length})}}function bn(e){let{state:t,computedRefs:n,dirtyComputedKeys:r,includeComputed:i,setDataStrategy:a,computedCompare:o,computedCompareMaxDepth:s,computedCompareMaxKeys:c,currentAdapter:l,shouldIncludeKey:u,maxPatchKeys:d,maxPayloadBytes:f,mergeSiblingThreshold:p,mergeSiblingMaxInflationRatio:h,mergeSiblingMaxParentBytes:_,mergeSiblingSkipArray:v,elevateTopKeyThreshold:y,toPlainMaxDepth:x,toPlainMaxKeys:S,debug:C,debugWhen:w,debugSampleRate:E,runTracker:D,isMounted:O}=e,k=new WeakMap,A={},j=Object.create(null),M=Object.create(null),N=Object.create(null),P={value:a===`patch`},F=new Map,I=new Set,L=e=>{if(Object.prototype.toString.call(e)!==`[object Object]`)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype},R=(e,t)=>{if(Object.is(e,t))return!0;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length?e.every((e,n)=>R(e,t[n])):!1;if(L(e)&&L(t)){let n=Object.keys(e),r=Object.keys(t);return n.length===r.length?n.every(n=>Q(t,n)&&R(e[n],t[n])):!1}return!1},z=e=>{let t=g(e)?e.value:e;if(typeof t!=`object`||!t)return t;if(!m(t)&&Vt(t))return{snapshot:en(t,new WeakMap,{maxDepth:x,maxKeys:S})};let n=m(t)?T(t):t;return{raw:n,version:b(n)}},ee=(e,t)=>Object.is(e,t)?!0:!e||!t||typeof e!=`object`||typeof t!=`object`||!Q(e,`raw`)||!Q(t,`raw`)?e&&t&&typeof e==`object`&&typeof t==`object`&&Q(e,`snapshot`)&&Q(t,`snapshot`)?R(e.snapshot,t.snapshot):!1:e.raw===t.raw&&e.version===t.version,te=e=>{let n=[];for(let r of Object.keys(t)){if(!u(r))continue;let i=t[r],a=g(i)?i.value:i;!a||typeof a!=`object`||T(a)===e&&n.push(r)}return n},B=e=>{if(!C)return;let t=e.reason!==`patch`&&e.reason!==`diff`;if(!(w===`fallback`&&!t)&&!(E<1&&Math.random()>E))try{C(e)}catch(e){}},V=()=>vn({state:t,computedRefs:n,includeComputed:i,shouldIncludeKey:u,plainCache:k,toPlainMaxDepth:x,toPlainMaxKeys:S}),H=()=>{let e=m(t)?T(t):t,r={...A},a=new WeakMap,o=new Set,s=new Set,c=new Set;for(let t of Object.keys(e)){if(!u(t))continue;o.add(t);let n=z(e[t]),i=M[t];i&&n&&typeof i==`object`&&typeof n==`object`&&Q(i,`raw`)&&Q(n,`raw`)&&Array.isArray(i.raw)&&Array.isArray(n.raw)&&i.raw!==n.raw&&c.add(t),(!ee(i,n)||!Q(A,t))&&(r[t]=en(e[t],a,{cache:k,maxDepth:x,maxKeys:S})),M[t]=n}for(let e of Object.keys(M))o.has(e)||(delete M[e],(!i||!Q(n,e))&&delete r[e]);if(!i){for(let e of Object.keys(N))delete N[e];return{snapshot:r,replacedTopLevelKeys:c}}for(let e of Object.keys(n)){if(!u(e))continue;s.add(e);let t=n[e].value,i=z(t);(!ee(N[e],i)||!Q(A,e))&&(r[e]=en(t,a,{cache:k,maxDepth:x,maxKeys:S})),N[e]=i}for(let t of Object.keys(N))s.has(t)||(delete N[t],(!Q(e,t)||!u(t))&&delete r[t]);return{snapshot:r,replacedTopLevelKeys:c}},U=(e=`diff`)=>{var t;let o=a===`diff`?H():void 0,s=(t=o==null?void 0:o.snapshot)==null?V():t,c=o?(()=>{let e={};for(let t of o.replacedTopLevelKeys)e[t]=s[t];return{...sn(A,s,{skipKeys:o.replacedTopLevelKeys}),...e}})():sn(A,s);if(A=s,P.value=!1,F.clear(),a===`patch`&&i){j=Object.create(null);for(let e of Object.keys(n))u(e)&&(j[e]=s[e]);r.clear()}if(Object.keys(c).length){if(typeof l.setData==`function`){let e=l.setData(c);e&&typeof e.then==`function`&&e.catch(()=>{})}B({mode:`diff`,reason:e,pendingPatchKeys:0,payloadKeys:Object.keys(c).length})}};return{job:e=>{if(O())if(D(),a===`patch`&&!P.value){if(!(F.size>0||I.size>0||i&&r.size>0)){U(`diff`);return}yn({state:t,computedRefs:n,dirtyComputedKeys:r,includeComputed:i,computedCompare:o,computedCompareMaxDepth:s,computedCompareMaxKeys:c,currentAdapter:l,shouldIncludeKey:u,maxPatchKeys:d,maxPayloadBytes:f,mergeSiblingThreshold:p,mergeSiblingMaxInflationRatio:h,mergeSiblingMaxParentBytes:_,mergeSiblingSkipArray:v,elevateTopKeyThreshold:y,toPlainMaxDepth:x,toPlainMaxKeys:S,plainCache:k,pendingPatches:F,fallbackTopKeys:I,latestSnapshot:A,latestComputedSnapshot:j,needsFullSnapshot:P,emitDebug:B,runDiffUpdate:U})}else U(P.value?`needsFullSnapshot`:`diff`)},mutationRecorder:(e,t)=>{if(!O())return;if(e.root!==t){let t=te(e.root);if(t.length)for(let e of t)I.add(e);return}if(!e.path){if(Array.isArray(e.fallbackTopKeys)&&e.fallbackTopKeys.length)for(let t of e.fallbackTopKeys)I.add(t);else P.value=!0;return}let n=e.path.split(`.`,1)[0];u(n)&&F.set(e.path,{kind:e.kind,op:e.op})},snapshot:()=>a===`patch`?V():{...A},cloneLatestSnapshot:()=>({...A}),getLatestSnapshot:()=>A}}function xn(e){var t,n,r,i,a,o,s;let c=(t=e==null?void 0:e.includeComputed)==null?!0:t,l=(n=e==null?void 0:e.suspendWhenHidden)==null?!1:n,u=(r=e==null?void 0:e.strategy)==null?`diff`:r,d=typeof(e==null?void 0:e.maxPatchKeys)==`number`?Math.max(0,e.maxPatchKeys):1/0,f=typeof(e==null?void 0:e.maxPayloadBytes)==`number`?Math.max(0,e.maxPayloadBytes):1/0,p=typeof(e==null?void 0:e.mergeSiblingThreshold)==`number`?Math.max(2,Math.floor(e.mergeSiblingThreshold)):0,m=typeof(e==null?void 0:e.mergeSiblingMaxInflationRatio)==`number`?Math.max(0,e.mergeSiblingMaxInflationRatio):1.25,h=typeof(e==null?void 0:e.mergeSiblingMaxParentBytes)==`number`?Math.max(0,e.mergeSiblingMaxParentBytes):1/0,g=(i=e==null?void 0:e.mergeSiblingSkipArray)==null?!0:i,_=(a=e==null?void 0:e.computedCompare)==null?u===`patch`?`deep`:`reference`:a,v=typeof(e==null?void 0:e.computedCompareMaxDepth)==`number`?Math.max(0,Math.floor(e.computedCompareMaxDepth)):4,y=typeof(e==null?void 0:e.computedCompareMaxKeys)==`number`?Math.max(0,Math.floor(e.computedCompareMaxKeys)):200,b=e==null?void 0:e.prelinkMaxDepth,x=e==null?void 0:e.prelinkMaxKeys,S=e==null?void 0:e.debug,C=(o=e==null?void 0:e.diagnostics)==null?`off`:o,w=(s=e==null?void 0:e.debugWhen)==null?`fallback`:s,T=typeof(e==null?void 0:e.debugSampleRate)==`number`?Math.min(1,Math.max(0,e.debugSampleRate)):1,E=typeof(e==null?void 0:e.elevateTopKeyThreshold)==`number`?Math.max(0,Math.floor(e.elevateTopKeyThreshold)):1/0,D=typeof(e==null?void 0:e.toPlainMaxDepth)==`number`?Math.max(0,Math.floor(e.toPlainMaxDepth)):1/0,O=typeof(e==null?void 0:e.toPlainMaxKeys)==`number`?Math.max(0,Math.floor(e.toPlainMaxKeys)):1/0,k=Array.isArray(e==null?void 0:e.pick)&&e.pick.length>0?new Set(e.pick):void 0,A=Array.isArray(e==null?void 0:e.omit)&&e.omit.length>0?new Set(e.omit):void 0;return{includeComputed:c,suspendWhenHidden:l,setDataStrategy:u,maxPatchKeys:d,maxPayloadBytes:f,mergeSiblingThreshold:p,mergeSiblingMaxInflationRatio:m,mergeSiblingMaxParentBytes:h,mergeSiblingSkipArray:g,computedCompare:_,computedCompareMaxDepth:v,computedCompareMaxKeys:y,prelinkMaxDepth:b,prelinkMaxKeys:x,debug:S,diagnostics:C,debugWhen:w,debugSampleRate:T,elevateTopKeyThreshold:E,toPlainMaxDepth:D,toPlainMaxKeys:O,pickSet:k,omitSet:A,shouldIncludeKey:e=>!(k&&!k.has(e)||A&&A.has(e))}}function Sn(e,t){let n=(()=>{e()});return n.stop=()=>n(),n.pause=()=>{var e;t==null||(e=t.pause)==null||e.call(t)},n.resume=()=>{var e;t==null||(e=t.resume)==null||e.call(t)},n}function Cn(e){return typeof e==`function`?e():e==null?{}:e}function wn(e){let{data:n,resolvedComputed:r,resolvedMethods:i,appConfig:o,setDataOptions:d}=e;return e=>{let f=Cn(n);if(f&&typeof f==`object`&&!Q(f,Z))try{Object.defineProperty(f,Z,{value:v(Object.create(null)),configurable:!0,enumerable:!1,writable:!1})}catch(e){}let g=c(f),_=r,y=i,b=!0,x=[],S=new Set;Object.keys(g).forEach(e=>{let t=g[e];Vt(t)&&S.add(e)});let{includeComputed:C,setDataStrategy:E,maxPatchKeys:D,maxPayloadBytes:O,mergeSiblingThreshold:k,mergeSiblingMaxInflationRatio:A,mergeSiblingMaxParentBytes:j,mergeSiblingSkipArray:M,computedCompare:N,computedCompareMaxDepth:P,computedCompareMaxKeys:F,prelinkMaxDepth:I,prelinkMaxKeys:L,debug:R,diagnostics:z,debugWhen:ee,debugSampleRate:te,elevateTopKeyThreshold:B,toPlainMaxDepth:V,toPlainMaxKeys:H,shouldIncludeKey:U}=xn(d),ne=Yt(z),re=R||ne?e=>{typeof R==`function`&&R(e),ne==null||ne(e)}:void 0,W=z===`always`?`always`:ee,{boundMethods:G,computedRefs:K,computedSetters:ie,dirtyComputedKeys:ae,computedProxy:oe,publicInstance:q,touchSetupMethodsVersion:se}=qt({state:g,computedDefs:_,methodDefs:y,appConfig:o,includeComputed:C,setDataStrategy:E}),ce=e==null?{setData:()=>{}}:e,le=T(g),ue,J=bn({state:g,computedRefs:K,dirtyComputedKeys:ae,includeComputed:C,setDataStrategy:E,computedCompare:N,computedCompareMaxDepth:P,computedCompareMaxKeys:F,currentAdapter:ce,shouldIncludeKey:U,maxPatchKeys:D,maxPayloadBytes:O,mergeSiblingThreshold:k,mergeSiblingMaxInflationRatio:A,mergeSiblingMaxParentBytes:j,mergeSiblingSkipArray:M,elevateTopKeyThreshold:B,toPlainMaxDepth:V,toPlainMaxKeys:H,debug:re,debugWhen:W,debugSampleRate:te,runTracker:()=>ue==null?void 0:ue(),isMounted:()=>b}),fe=()=>J.job(le),pe=e=>J.mutationRecorder(e,le);ue=t(()=>{l(g);let e=g[Z];m(e)&&l(e);let t=g[de];m(t)&&l(t),S.forEach(e=>{let t=g[e];Ht(t)})},{lazy:!0,scheduler:()=>a(fe)}),fe(),x.push(Sn(()=>p(ue))),E===`patch`&&(u(g,{shouldIncludeTopKey:U,maxDepth:I,maxKeys:L}),s(pe),x.push(Sn(()=>w(pe))),x.push(Sn(()=>h(g))));function me(e,t,n){let r=wt(e,(e,n)=>t(e,n),n);return x.push(r),Sn(()=>{r();let e=x.indexOf(r);e>=0&&x.splice(e,1)},r)}let Y={get state(){return g},get proxy(){return q},get methods(){return G},get computed(){return oe},get adapter(){return ce},bindModel:Lt(q,g,K,ie),watch:me,snapshot:()=>J.snapshot(),unmount:()=>{b&&(b=!1,x.forEach(e=>{try{e()}catch(e){}}),x.length=0)}};try{Object.defineProperty(Y,`__wevu_touchSetupMethodsVersion`,{value:se,configurable:!0,enumerable:!1,writable:!1})}catch(e){Y.__wevu_touchSetupMethodsVersion=se}try{Object.defineProperty(Y,`__wevu_flushSetupSnapshotSync`,{value:fe,configurable:!0,enumerable:!1,writable:!1})}catch(e){Y.__wevu_flushSetupSnapshotSync=fe}try{Object.defineProperty(Y,`__wevu_cloneLatestSnapshot`,{value:J.cloneLatestSnapshot,configurable:!0,enumerable:!1,writable:!1})}catch(e){Y.__wevu_cloneLatestSnapshot=J.cloneLatestSnapshot}try{Object.defineProperty(Y,`__wevu_trackSetupReactiveKey`,{value:e=>{S.add(e)},configurable:!0,enumerable:!1,writable:!1})}catch(e){Y.__wevu_trackSetupReactiveKey=e=>{S.add(e)}}return Y}}const Tn=`__wevuDefaultsScope`;let En={};function Dn(e){if(!(!e||typeof e!=`object`||Array.isArray(e)))return e}function On(e,t){if(!e)return t;if(!t)return e;let n={...e,...t},r=Dn(e.setData),i=Dn(t.setData);(r||i)&&(n.setData={...r==null?{}:r,...i==null?{}:i});let a=Dn(e.options),o=Dn(t.options);return(a||o)&&(n.options={...a==null?{}:a,...o==null?{}:o}),n}function kn(e,t){return On(e,t)}function An(e,t){return{app:On(e.app,t.app),component:On(e.component,t.component)}}function jn(e){En=An(En,e)}function Mn(){En={}}function Nn(e){return kn(En.app,e)}function Pn(e){return kn(En.component,e)}const Fn=/&amp;/g,In=/&quot;/g,Ln=/&#34;/g,Rn=/&apos;/g,zn=/&#39;/g,Bn=/&lt;/g,Vn=/&gt;/g;function Hn(e){return e.replace(Fn,`&`).replace(In,`"`).replace(Ln,`"`).replace(Rn,`'`).replace(zn,`'`).replace(Bn,`<`).replace(Vn,`>`)}function Un(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`&&e.trim()){let t=Number(e);if(Number.isFinite(t))return t}}const Wn=/[^a-z0-9]+/gi,Gn=/^-+|-+$/g;function Kn(e){return e.trim().replace(Wn,`-`).replace(Gn,``).toLowerCase()}const qn=/-([a-z0-9])/g;function Jn(e,t){let n=Kn(typeof(t==null?void 0:t.type)==`string`?t.type:``);if(!n)return;let r=n.replace(qn,(e,t)=>t.toUpperCase());if(r)return`${e}${r[0].toUpperCase()}${r.slice(1)}`}const Yn={wvEventDetail:[`wd`,`wvEventDetail`],wvHandler:[`wh`,`wvHandler`],wvInlineId:[`wi`,`wvInlineId`]};function Xn(e,t,n){var r;let i=(r=Yn[t])==null?[t]:r;for(let t of i){let r=Jn(t,n);if(r&&(e==null?void 0:e[r])!==void 0)return e[r]}for(let t of i)if((e==null?void 0:e[t])!==void 0)return e[t]}function Zn(e,t,n){return Xn(e,t,n)}function Qn(e,t){let n=Zn(e,`wvEventDetail`,t);return n===!0||n===1||n===`1`||n===`true`}function $n(e,t){if(!Qn(t,e))return e;if(!(!e||typeof e!=`object`||!(`detail`in e)))return e.detail}function er(e,t){if(!t)return;let n=t.split(`.`).filter(Boolean),r=g(e)?e.value:e;for(let e of n){if(g(r)&&(r=r.value),r==null)return;r=r[e]}return g(r)?r.value:r}function tr(e){if(typeof e!=`object`||!e||g(e)||m(e))return e;try{return c(e)}catch(t){return e}}function nr(e,t,n,r){var i,a,o,s;let c=(i=(a=n==null||(o=n.currentTarget)==null?void 0:o.dataset)==null?n==null||(s=n.target)==null?void 0:s.dataset:a)==null?{}:i,l=$n(n,c),u=Zn(c,`wvInlineId`,n);if(u&&r){let t=r[u];if(t&&typeof t.fn==`function`){let n={},r=Array.isArray(t.keys)?t.keys:[];for(let e=0;e<r.length;e+=1){let t=r[e];n[t]=c==null?void 0:c[`wvS${e}`]}let i=Array.isArray(t.indexKeys)?t.indexKeys:[];for(let e=0;e<i.length;e+=1){let t=i[e],r=Un(c==null?void 0:c[`wvI${e}`]);r!==void 0&&(n[t]=r)}let a=Array.isArray(t.scopeResolvers)?t.scopeResolvers:[];for(let t=0;t<r.length;t+=1){let i=r[t],o=a[t];try{let t;if(typeof o==`function`)t=o(e,n,l);else if(o&&typeof o==`object`&&o.type===`for-item`){let r=n[o.indexKey],i=er(e,o.path);t=i==null?void 0:i[r]}else continue;t!==void 0&&(n[i]=tr(t))}catch(e){}}let o=t.fn(e,n,l);return typeof o==`function`?o.call(e,l):o}}let d=Zn(c,`wvHandler`,n),f=typeof t==`string`&&t?t:typeof d==`string`?d:void 0;if(!f)return;let p=Zn(c,`wvArgs`,n),m=[];if(Array.isArray(p))m=p;else if(typeof p==`string`)try{m=JSON.parse(p)}catch(e){try{m=JSON.parse(Hn(p))}catch(e){m=[]}}Array.isArray(m)||(m=[]);let h=m.map(e=>e===`$event`?l:e),g=e==null?void 0:e[f];if(typeof g==`function`)return g.apply(e,h)}function rr(){let e=P();if(e)return e;let t=se();return t[t.length-1]}function ir(e){return e===we?!1:e}function ar(){var e,t;if(!z())throw Error(`usePageLayout() 必须在 setup() 的同步阶段调用`);let n=U(),r=n==null||(e=n.__wevu)==null?void 0:e.state,i=c({name:ir(r==null?void 0:r[Ce]),props:{...(t=r==null?void 0:r[Te])==null?{}:t}});return n&&(n.__wevuPageLayoutState=i),R(i)}function or(e,t,n){let r=e.__wevuPageLayoutState;r&&(r.name=t,r.props={...n})}function sr(e){var t,n;let r=e.__wevuPageLayoutState,i=(t=e.__wevu)==null?void 0:t.state;!r||!i||(r.name=ir(i[Ce]),r.props={...(n=i[Te])==null?{}:n})}function cr(e,t){let n=U(),r=n==null?void 0:n[Ee];if(typeof r==`function`){r(e,t);return}let i=rr(),a=i==null?void 0:i[Ee];if(typeof a==`function`){a(e,t);return}throw Error(`setPageLayout() 未找到当前页面实例。请在页面 setup()、事件回调或当前页面上下文中调用。`)}function lr(e){return e===!1?we:e}const ur=new Map;let dr=0;function fr(){return dr+=1,`wv${dr}`}function pr(e,t,n){var r;let i=(r=ur.get(e))==null?{snapshot:{},proxy:n,subscribers:new Set}:r;if(i.snapshot=t,i.proxy=n,ur.set(e,i),i.subscribers.size)for(let e of i.subscribers)try{e(t,n)}catch(e){}}function mr(e){ur.delete(e)}function hr(e,t){var n;let r=(n=ur.get(e))==null?{snapshot:{},proxy:void 0,subscribers:new Set}:n;return r.subscribers.add(t),ur.set(e,r),()=>{let n=ur.get(e);n&&n.subscribers.delete(t)}}function gr(e){var t;return(t=ur.get(e))==null?void 0:t.proxy}function _r(e){var t;return(t=ur.get(e))==null?void 0:t.snapshot}function vr(e){let t=e.__wevu_cloneLatestSnapshot;return typeof t==`function`?t():typeof e.snapshot==`function`?e.snapshot():{}}function yr(e,t,n){var r;try{t.state[Ve]=n}catch(e){}try{e[Ve]=n}catch(e){}let i=vr(t),a=(r=e[Z])==null?e.properties:r;if(a&&typeof a==`object`)for(let[e,t]of Object.entries(a))i[e]=t;pr(n,i,t.proxy)}function br(e){return e.kind===`component`}function xr(e){return new Proxy(e,{get(e,t,n){let r=Reflect.get(e,t,n);return g(r)?r.value:r},set(e,t,n,r){let i=e[t];return g(i)&&!g(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}})}function Sr(e,t){let n=e.__wevuExposeProxy;if(n&&e.__wevuExposeRaw===t)return n;let r=xr(t);try{Object.defineProperty(e,`__wevuExposeProxy`,{value:r,configurable:!0,enumerable:!1,writable:!1}),Object.defineProperty(e,`__wevuExposeRaw`,{value:t,configurable:!0,enumerable:!1,writable:!1})}catch(n){e.__wevuExposeProxy=r,e.__wevuExposeRaw=t}return r}function Cr(e,t){if(!t||typeof t!=`object`)return e;let n=t;return $(new Proxy(e,{get(e,t,r){if(Reflect.has(e,t))return Reflect.get(e,t,r);let i=n[t];return typeof i==`function`?i.bind(n):i},set(e,t,r,i){return Reflect.has(e,t)?Reflect.set(e,t,r,i):(t in n,n[t]=r,!0)},has(e,t){return Reflect.has(e,t)||t in n},ownKeys(e){return[...new Set([...Reflect.ownKeys(e),...Reflect.ownKeys(n)])]},getOwnPropertyDescriptor(e,t){if(Reflect.has(e,t))return Object.getOwnPropertyDescriptor(e,t);let r=Object.getOwnPropertyDescriptor(n,t);return r&&{...r,configurable:!0}}}))}function wr(e){var t;if(!e||typeof e!=`object`)return e==null?null:e;let n=e,r=n[fe];return r&&typeof r==`object`?Sr(n,r):(t=n[je])!=null&&t.proxy?n[je].proxy:e}function Tr(e){return e[Xe]}function Er(e,t,n){if(!e)return;let r=e.get(t);r&&(r.value=n)}function Dr(e,t){var n,r;let i=(n=(r=e.__wevu)==null?void 0:r.proxy)==null?e:n,a;if(t.get)try{a=t.get.call(i)}catch(e){a=void 0}return a==null&&t.name&&(a=t.name),typeof a==`function`?{type:`function`,fn:a}:g(a)?{type:`ref`,ref:a}:typeof a==`string`&&a?{type:`name`,name:a}:t.name?{type:`name`,name:t.name}:{type:`skip`}}function Or(e){var t,n;let r=(t=(n=e.__wevu)==null?void 0:n.state)==null?e:t,i=r.$refs;if(i&&typeof i==`object`)return i;let a=$(Object.create(null));return Object.defineProperty(r,`$refs`,{value:a,configurable:!0,enumerable:!1,writable:!1}),a}function kr(e){let t=e;if(t&&typeof t.createSelectorQuery==`function`)return t.createSelectorQuery();if(!W(`globalCreateSelectorQuery`))return null;let n=H();if(n&&typeof n.createSelectorQuery==`function`){let e=n.createSelectorQuery();return e?B().selectorQueryScopeByIn&&typeof e.in==`function`?e.in(t):e:null}return null}function Ar(e,t,n,r,i){let a=kr(e);return a?(r(n.multiple?a.selectAll(t):a.select(t)),new Promise(e=>{a.exec(t=>{var r;let a=Array.isArray(t)?t[0]:null;if(n.index!=null&&Array.isArray(a)){var o;a=(o=a[n.index])==null?null:o}if(i){var s;i((s=a)==null?null:s)}e((r=a)==null?null:r)})})):(i&&i(null),Promise.resolve(null))}function jr(e,t,n){return $({selector:t,boundingClientRect:r=>Ar(e,t,n,e=>e.boundingClientRect(),r),scrollOffset:r=>Ar(e,t,n,e=>e.scrollOffset(),r),fields:(r,i)=>Ar(e,t,n,e=>e.fields(r),i),node:r=>Ar(e,t,n,e=>e.node(),r)})}function Mr(e,t){let n=e;if(!n)return t.inFor?$([]):null;if(t.inFor){if(typeof n.selectAllComponents==`function`){let r=n.selectAllComponents(t.selector);return $((Array.isArray(r)?r:[]).map((n,r)=>Cr(jr(e,t.selector,{multiple:!0,index:r}),wr(n))))}return $([])}let r=jr(e,t.selector,{multiple:!1});return typeof n.selectComponent==`function`?Cr(r,wr(n.selectComponent(t.selector))):r}function Nr(e,t,n){return t.inFor?$((Array.isArray(n)?n:[]).map((n,r)=>jr(e,t.selector,{multiple:!0,index:r}))):n?jr(e,t.selector,{multiple:!1}):null}function Pr(e,t){let n=e[Je];if(!n||!n.length){t==null||t();return}if(!e[Me]){t==null||t();return}if(!e.__wevu){t==null||t();return}let r=Tr(e),i=n.filter(e=>!br(e)),a=n.filter(e=>br(e)).map(t=>({binding:t,value:Mr(e,t)})),o=n=>{var i,a;let o=Or(e),s=new Map,c=new Set,l=(i=(a=e.__wevu)==null?void 0:a.proxy)==null?e:i;n.forEach(t=>{let n=t.binding,r=t.value,i=Dr(e,n);if(i.type===`function`){n.inFor&&Array.isArray(r)?r.length?r.forEach(e=>i.fn.call(l,e)):i.fn.call(l,null):i.fn.call(l,r==null?null:r);return}if(i.type===`ref`){i.ref.value=r;return}if(i.type===`name`){var a;c.add(i.name);let e=(a=s.get(i.name))==null?{values:[],count:0,hasFor:!1}:a;e.count+=1,e.hasFor=e.hasFor||n.inFor,n.inFor?Array.isArray(r)&&e.values.push(...r):r!=null&&e.values.push(r),s.set(i.name,e)}});for(let[e,t]of s){let n;n=t.values.length?t.hasFor||t.values.length>1||t.count>1?$(t.values):t.values[0]:t.hasFor?$([]):null,o[e]=n,Er(r,e,n)}for(let e of Object.keys(o))c.has(e)||delete o[e];t==null||t()};if(!i.length){o(a);return}let s=kr(e);if(!s){o(a);return}let c=[];for(let e of i)(e.inFor?s.selectAll(e.selector):s.select(e.selector)).boundingClientRect(),c.push({binding:e});s.exec(t=>{let n=c.map((n,r)=>{let i=Array.isArray(t)?t[r]:null;return{binding:n.binding,value:Nr(e,n.binding,i)}});o([...a,...n])})}function Fr(e,t){let n=e[Je];if(!n||!n.length){t==null||t();return}if(t){var r;let n=(r=e[qe])==null?[]:r;n.push(t),e[qe]||Object.defineProperty(e,qe,{value:n,configurable:!0,enumerable:!1,writable:!0})}e[Ye]||(e[Ye]=!0,i(()=>{e[Ye]=!1,Pr(e,()=>{let t=e[qe];!t||!t.length||t.splice(0).forEach(e=>{try{e()}catch(e){}})})}))}function Ir(e){var t,n;let r=e[Je];if(!r||!r.length)return;let i=Or(e),a=(t=(n=e.__wevu)==null?void 0:n.proxy)==null?e:t,o=new Set,s=Tr(e);for(let t of r){let n=Dr(e,t),r=t.inFor?$([]):null;if(n.type===`function`){n.fn.call(a,null);continue}if(n.type===`ref`){n.ref.value=r;continue}n.type===`name`&&(o.add(n.name),i[n.name]=r,Er(s,n.name,r))}for(let e of Object.keys(i))o.has(e)||delete i[e]}const Lr=[`triggerEvent`,`createSelectorQuery`,`createIntersectionObserver`,`setData`,`setUpdatePerformanceListener`];function Rr(){return Object.freeze(Object.create(null))}const zr=()=>[];function Br(e){return Array.isArray(e)?[...new Set(e.filter(e=>typeof e==`string`&&e.length>0))]:!e||typeof e!=`object`?[]:Object.entries(e).filter(([,e])=>!!e).map(([e])=>e)}function Vr(e){if(!Q(e,Be))return Rr();let t=()=>Br(e[Be]),n=e=>typeof e==`string`&&t().includes(e);return new Proxy(Object.create(null),{get(e,t){if(n(t))return zr},has(e,t){return n(t)},ownKeys(){return t()},getOwnPropertyDescriptor(e,t){if(n(t))return{configurable:!0,enumerable:!0,value:zr}},set(){return!1},deleteProperty(){return!1}})}function Hr(){let e=(()=>{});return e.stop=()=>{},e.pause=()=>{},e.resume=()=>{},e}function Ur(e){try{return $(e)}catch(t){return e}}function Wr(e){return!e||typeof e!=`object`||Array.isArray(e)?!1:Q(e,`bubbles`)||Q(e,`composed`)||Q(e,`capturePhase`)}function Gr(e){if(e.length===0)return{detail:void 0,options:void 0};if(e.length===1)return{detail:e[0],options:void 0};let t=e[e.length-1];if(Wr(t)){let n=e.slice(0,-1);return{detail:n.length<=1?n[0]:n,options:t}}return{detail:e,options:void 0}}function Kr(e,t,n){let r=e==null?void 0:e.state,i=r&&typeof r==`object`?T(r):void 0,a=e==null?void 0:e.proxy,o=e=>{let r=e[n];if(typeof r!=`function`)return!1;if(Gt(r))return!0;let i=t[n];return typeof i==`function`&&r===i},s=e=>!e||typeof e!=`object`||e===t||e===a||o(e)?!1:typeof e[n]==`function`,c=i?i[X]:void 0;if(s(c))return c;let l=e==null?void 0:e.instance;if(s(l))return l}function qr(e,t,n){Wt(n);try{Object.defineProperty(e,t,{value:n,configurable:!0,enumerable:!1,writable:!0})}catch(r){e[t]=n}}function Jr(e,t){let n=e[ze];if(n&&typeof n==`object`)return n;let r=Object.create(null),i=n=>{let r=Kr(t,e,n);if(r)return r;let i=e[n];if(typeof i==`function`&&!Gt(i))return e};qr(r,`triggerEvent`,(...e)=>{let[t,n,r]=e,a=i(`triggerEvent`);a&&typeof a.triggerEvent==`function`&&(e.length>=3?a.triggerEvent(t,n,r):a.triggerEvent(t,n))}),qr(r,`createSelectorQuery`,()=>{var n;let r=i(`createSelectorQuery`);if(r&&typeof r.createSelectorQuery==`function`)return r.createSelectorQuery();let a=H();if(!W(`globalCreateSelectorQuery`)||!a||typeof a.createSelectorQuery!=`function`)return;let o=a.createSelectorQuery();if(!o||!B().selectorQueryScopeByIn||typeof o.in!=`function`)return o;let s=(n=Kr(t,e,`setData`))==null?e:n;return o.in(s)}),qr(r,`createIntersectionObserver`,n=>{var r;let a=i(`createIntersectionObserver`);if(a&&typeof a.createIntersectionObserver==`function`)return a.createIntersectionObserver(n==null?{}:n);let o=H();if(!W(`globalCreateIntersectionObserver`)||!o||typeof o.createIntersectionObserver!=`function`)return;let s=(r=Kr(t,e,`setData`))==null?e:r;return B().intersectionObserverScopeByParameter?o.createIntersectionObserver(s,n==null?{}:n):o.createIntersectionObserver(n==null?{}:n)}),qr(r,`setData`,(e,n)=>{let r=i(`setData`);if(r&&typeof r.setData==`function`)return r.setData(e,n);let a=t==null?void 0:t.adapter,o=typeof(a==null?void 0:a.setData)==`function`?a.setData(e):void 0;return typeof n==`function`&&n(),o}),qr(r,`setUpdatePerformanceListener`,e=>{let t=i(`setUpdatePerformanceListener`);if(t&&typeof t.setUpdatePerformanceListener==`function`)return t.setUpdatePerformanceListener(e)});let a=Ur(new Proxy(r,{get(t,n,r){if(Reflect.has(t,n))return Reflect.get(t,n,r);let i=e[n];return typeof i==`function`?i.bind(e):i},has(t,n){return Reflect.has(t,n)||n in e},set(t,n,r){return Reflect.has(t,n)?(t[n]=r,!0):(e[n]=r,!0)}}));try{Object.defineProperty(e,ze,{value:a,configurable:!0,enumerable:!1,writable:!0})}catch(t){e[ze]=a}return a}function Yr(e,t){try{let n=t.methods;for(let t of Object.keys(n))Lr.includes(t)||typeof e[t]!=`function`&&(e[t]=function(...e){var n;let r=this[je],i=r==null||(n=r.methods)==null?void 0:n[t];if(typeof i==`function`)return i.apply(r.proxy,e)})}catch(e){}}let Xr=e=>e.startsWith(`layouts/`);function Zr(e){let t=e.is;return typeof t==`string`&&Xr(t,e)}function Qr(e){if(Zr(e))return;let t=e[Oe];if(t&&typeof t==`object`)return t;let n=e.selectOwnerComponent;if(typeof n==`function`)try{let t=n.call(e);if(t&&t!==e&&typeof t==`object`&&t.__wevu)return t}catch(e){}let r=se(),i=r[r.length-1];if(i&&i!==e&&typeof i==`object`&&i.__wevu)return i}function $r(e){if(!Zr(e))return;let t=se(),n=t[t.length-1];n&&n!==e&&typeof n==`object`&&n.__wevu&&k(e,n)}function ei(e,t){e[Ie]=t,O(e,t,Qr(e)),$r(e)}function ti(e,t,n){var r;if(typeof e!=`function`)return;let i=(r=n==null?void 0:n.runtime)==null?{methods:Object.create(null),state:{},proxy:{},watch:()=>()=>{},bindModel:()=>{}}:r;return n&&(n.runtime=i),e(t,{...n==null?{}:n,runtime:i})}function ni(e){let{target:t,runtime:n,runtimeWithDefaults:r,runtimeState:i,runtimeProxy:a,setup:o,syncRuntimeProps:s,attachRuntimeProxyProps:c}=e,l=t.properties||{},u=i&&typeof i==`object`?i[Z]:void 0,d=u&&typeof u==`object`?u:v({});s(d,l),i&&typeof i==`object`&&c(i,d);try{Object.defineProperty(t,Z,{value:d,configurable:!0,enumerable:!1,writable:!1})}catch(e){t[Z]=d}let f=v(Object.create(null)),p=new Set(Array.isArray(t[Ae])?t[Ae]:[]),h=e=>typeof i==`object`&&!!i&&Q(i,e);(()=>{let e=t.properties&&typeof t.properties==`object`?t.properties:void 0;for(let t of Object.keys(f))(!e||!Q(e,t)||p.has(t)||h(t))&&delete f[t];if(e)for(let[t,n]of Object.entries(e))p.has(t)||h(t)||(f[t]=n)})();try{Object.defineProperty(t,de,{value:f,configurable:!0,enumerable:!1,writable:!1})}catch(e){t[de]=f}let g=Jr(t,r),_=Vr(d);try{Object.defineProperty(i,`$slots`,{value:_,configurable:!0,enumerable:!1,writable:!1})}catch(e){i.$slots=_}let y=Ur({props:d,runtime:r,state:i,proxy:a,bindModel:n.bindModel.bind(r),watch:n.watch.bind(r),instance:g,emit:(e,...t)=>{let{detail:n,options:r}=Gr(t);g.triggerEvent(e,n,r)},expose:e=>{t[fe]=e},attrs:f,slots:_}),b=C(!0);t[J]=b,oe(t),te(y);try{let e=b.run(()=>ti(o,d,y)),t=!1;if(e&&typeof e==`object`){let r=m(n.state)?T(n.state):n.state;Object.keys(e).forEach(i=>{let a=e[i];if(typeof a==`function`)n.methods[i]=(...e)=>a.apply(n.proxy,e),t=!0;else{if(Vt(a)){var o;(o=n.__wevu_trackSetupReactiveKey)==null||o.call(n,i)}if(p.has(i)){let e=a;try{Object.defineProperty(r,i,{configurable:!0,enumerable:!1,get(){let t=r[Z];return t&&typeof t==`object`&&Q(t,i)?t[i]:e},set(t){e=t;let n=r[Z];if(!(!n||typeof n!=`object`))try{n[i]=t}catch(e){}}})}catch(e){n.state[i]=a}return}n.state[i]=a}})}if(t){var x;(x=n.__wevu_touchSetupMethodsVersion)==null||x.call(n)}}catch(e){throw b.stop(),t[J]=void 0,e}finally{te(void 0),oe(void 0)}}function ri(e,t){try{Object.defineProperty(e,Z,{value:t,configurable:!0,enumerable:!1,writable:!1})}catch(n){e[Z]=t}}function ii(e,t){try{Object.defineProperty(e,X,{value:t,configurable:!0,enumerable:!1,writable:!0})}catch(n){e[X]=t}}function ai(e,t){try{Object.defineProperty(e,Le,{value:t,configurable:!0,enumerable:!1,writable:!0})}catch(n){e[Le]=t}}function oi(e,t){try{Object.defineProperty(e,`instance`,{value:t,configurable:!0,enumerable:!1,writable:!0})}catch(n){try{e.instance=t}catch(e){}}}function si(e){let t=e[ze],n=t&&typeof t.setData==`function`?t.setData:void 0;if(typeof n==`function`&&!Gt(n))return n;let r=e.setData;if(typeof r==`function`&&!Gt(r))return r}function ci(e){let t=e.route;if(typeof t==`string`&&t)return t;let n=e.is;return typeof n==`string`&&n?n:`unknown`}function li(e,t,n){try{return t.call(e,n)}catch(t){let n=ci(e);throw Error(`[wevu] setData failed (${n}): ${t instanceof Error?t.message:String(t)}`)}}function ui(e,t){let n=Object.keys(e);for(let r of n)if(!Q(t,r))try{delete e[r]}catch(e){}for(let[n,r]of Object.entries(t))e[n]=r}function di(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function fi(e){var t,n,r;let i={devOnly:!0,sampleWindowMs:1e3,maxCalls:30,coolDownMs:5e3,warnOnPageScroll:!0,pageScrollCoolDownMs:2e3};return e===void 0||e===!1?{...i,enabled:!1}:e===!0?{...i,enabled:!0}:di(e)?{enabled:(t=e.enabled)==null?!0:t,devOnly:(n=e.devOnly)==null?i.devOnly:n,sampleWindowMs:typeof e.sampleWindowMs==`number`?Math.max(100,Math.floor(e.sampleWindowMs)):i.sampleWindowMs,maxCalls:typeof e.maxCalls==`number`?Math.max(1,Math.floor(e.maxCalls)):i.maxCalls,coolDownMs:typeof e.coolDownMs==`number`?Math.max(0,Math.floor(e.coolDownMs)):i.coolDownMs,warnOnPageScroll:(r=e.warnOnPageScroll)==null?i.warnOnPageScroll:r,pageScrollCoolDownMs:typeof e.pageScrollCoolDownMs==`number`?Math.max(0,Math.floor(e.pageScrollCoolDownMs)):i.pageScrollCoolDownMs}:{...i,enabled:!1}}function pi(){let e=re();if((e==null?void 0:e.debug)===!0||(e==null?void 0:e.envVersion)===`develop`)return!0;let t=H();try{var n;if((t==null||(n=t.getAccountInfoSync)==null||(n=n.call(t))==null||(n=n.miniProgram)==null?void 0:n.envVersion)===`develop`)return!0}catch(e){}return!1}function mi(e){var t,n;let r=fi(e.option);if(!r.enabled)return;let i=pi();if(r.devOnly&&!i)return;let a=(t=e.now)==null?(()=>Date.now()):t,o=(n=e.logger)==null?(e=>{var t;let n=(t=globalThis)==null||(t=t.console)==null?void 0:t.warn;typeof n==`function`&&n(e)}):n,s=[],c=-1/0,l=-1/0;return()=>{var t,n;let i=a();s.push(i);let u=i-r.sampleWindowMs;for(;s.length>0&&s[0]<u;)s.shift();let d=(t=(n=e.isInPageScrollHook)==null?void 0:n.call(e))==null?!1:t;r.warnOnPageScroll&&d&&(r.pageScrollCoolDownMs<=0||i-l>=r.pageScrollCoolDownMs)&&(l=i,o(`[wevu:setData] 检测到 onPageScroll 回调内调用 setData(${e.targetLabel})。建议改用 IntersectionObserver 监听可见性,或对滚动更新做节流。`)),!(s.length<=r.maxCalls)&&(r.coolDownMs>0&&i-c<r.coolDownMs||(c=i,o(`[wevu:setData] 检测到高频 setData 调用:${s.length} 次/${r.sampleWindowMs}ms(${e.targetLabel})。建议合并更新或降低调用频率。`)))}}function hi(e,t,n){if(typeof e==`function`)return{handler:e.bind(t.proxy),options:{}};if(typeof e==`string`){var r,i;let a=(r=(i=t.methods)==null?void 0:i[e])==null?n[e]:r;return typeof a==`function`?{handler:a.bind(t.proxy),options:{}}:void 0}if(!e||typeof e!=`object`)return;let a=hi(e.handler,t,n);if(!a)return;let o={...a.options};return e.immediate!==void 0&&(o.immediate=e.immediate),e.deep!==void 0&&(o.deep=e.deep),{handler:a.handler,options:o}}function gi(e,t){let n=t.split(`.`).map(e=>e.trim()).filter(Boolean);return n.length?()=>{let t=e;for(let e of n){if(t==null)return t;t=t[e]}return t}:()=>e}function _i(e,t,n){let r=[],i=e.proxy;for(let[a,o]of Object.entries(t)){let t=hi(o,e,n);if(!t)continue;let s=gi(i,a),c=e.watch(s,t.handler,t.options);r.push(c)}return r}function vi(e){typeof e.route!=`string`||!e.route||(e[Ee]=(t,n)=>{var r;let i=(r=e.__wevu)==null?void 0:r.state;if(!i||typeof i!=`object`)return;i[Ce]=lr(t);let a=t===!1||n==null?{}:n;i[Te]=a,or(e,t,a)})}function yi(e,t,n,r,i){var a,o,s,c,l,u,d,f,p,m;if(e.__wevu)return e.__wevu;ei(e,t),Ur(e);let h=fr(),g=!!(!(t==null||(a=t.__wevuSetDataOptions)==null)&&a.suspendWhenHidden),_=typeof e.route==`string`&&e.route?`page:${e.route}`:typeof e.is==`string`&&e.is?`component:${e.is}`:`unknown-target`,v=mi({option:t==null||(o=t.__wevuSetDataOptions)==null?void 0:o.highFrequencyWarning,targetLabel:_,isInPageScrollHook:()=>{var t;return Number((t=e[De])==null?0:t)>0}}),y=i!=null&&i.deferSetData?(e=>{let t,n=!1,r={setData(r){if(!n){var i;t={...(i=t)==null?{}:i,...r};return}let a=si(e);if(a)return li(e,a,r)}};return r.__wevu_enableSetData=()=>{n=!0;let r=si(e);if(t&&Object.keys(t).length&&r){let n=t;t=void 0,li(e,r,n)}},r})(e):{setData(t){let n=si(e);if(n)return li(e,n,t)}},b,x=!0,S,C=(e,t)=>({...e==null?{}:e,...t}),w=()=>{var t;if(!b)return;let n=vr(b),r=(t=e[Z])==null?e.properties:t;if(r&&typeof r==`object`)for(let[e,t]of Object.entries(r))n[e]=t;pr(h,n,b.proxy)},T={...y,setData(t){if(v==null||v(),g&&!x){S=C(S,t),w(),Fr(e);return}let n=y.setData(t);return w(),Fr(e),n},__wevu_setVisibility(t){if(x=t,!x||!S)return;let n=S;S=void 0;let r=y.setData(n);return w(),Fr(e),r}},E=t.mount({...T});b=E,oi(E,e);let D=(s=E==null?void 0:E.proxy)==null?{}:s,O=(c=E==null?void 0:E.state)==null?{}:c;O&&typeof O==`object`&&(ai(O,E),ii(O,e));let k=(l=E==null?void 0:E.computed)==null?Object.create(null):l;if(!(E!=null&&E.methods))try{E.methods=Object.create(null)}catch(e){}let A=(u=E==null?void 0:E.methods)==null?Object.create(null):u,j=(d=E==null?void 0:E.watch)==null?(()=>Hr()):d,M=(f=E==null?void 0:E.bindModel)==null?(()=>{}):f,N={...E==null?{}:E,state:O,proxy:D,methods:A,computed:k,watch:j,bindModel:M,snapshot:(p=E==null?void 0:E.snapshot)==null?(()=>Object.create(null)):p,unmount:(m=E==null?void 0:E.unmount)==null?(()=>{}):m},P=N,F={__wevu_flushSetupSnapshotSync:E.__wevu_flushSetupSnapshotSync,__wevu_touchSetupMethodsVersion:E.__wevu_touchSetupMethodsVersion,__wevu_trackSetupReactiveKey:E.__wevu_trackSetupReactiveKey};for(let[e,t]of Object.entries(F))t&&Object.defineProperty(N,e,{configurable:!0,enumerable:!1,value:t,writable:!0});if(Object.defineProperty(e,je,{value:N,configurable:!0,enumerable:!1,writable:!1}),e.__wevu=N,vi(e),yr(e,N,h),n){let t=_i(N,n,e);t.length&&(e[Ze]=t)}if(r){var I;ni({target:e,runtime:E,runtimeWithDefaults:N,runtimeState:O,runtimeProxy:D,setup:r,syncRuntimeProps:ui,attachRuntimeProxyProps:ri}),(I=P.__wevu_flushSetupSnapshotSync)==null||I.call(P)}return Yr(e,E),E}function bi(e){var t;let n=(t=e.__wevu)==null?void 0:t.adapter;n&&typeof n.__wevu_enableSetData==`function`&&n.__wevu_enableSetData()}function xi(e,t){var n;let r=(n=e.__wevu)==null?void 0:n.adapter;r&&typeof r.__wevu_setVisibility==`function`&&r.__wevu_setVisibility(t)}function Si(e){var t;let n=e.__wevu,r=e[Ve];r&&mr(r),Ir(e),n&&e[pe]&&G(e,`onUnload`,[]),e[pe]&&(e[pe]=void 0);let i=e[Ze];if(Array.isArray(i))for(let e of i)try{e()}catch(e){}e[Ze]=void 0,(t=e[J])==null||t.stop(),e[J]=void 0,n&&n.unmount(),delete e.__wevu,je in e&&delete e[je]}const Ci=`__wevuAppGlobalListeners`,wi=`__wevuOnMemoryWarningListener`;function Ti(e){let t=e[pe],n=!!(t!=null&&t.onMemoryWarning);if(!W(`appMemoryWarningListener`)){delete e[wi];return}let r=H(),i=r==null?void 0:r.onMemoryWarning,a=r==null?void 0:r.offMemoryWarning;if(typeof i!=`function`)return;let o=e[wi];if(typeof o==`function`&&typeof a==`function`)try{a(o)}catch(e){}if(!n){delete e[wi];return}let s=t=>{G(e,`onMemoryWarning`,[t])};e[wi]=s,i(s)}function Ei(e,t){var n,r;let{hookName:i,onApiName:a,offApiName:o,capabilityName:s,userHandler:c}=t,l=e[pe],u=!!(l!=null&&l[i]),d=(r=(n=e)[Ci])==null?n[Ci]=Object.create(null):r,f=d[i];if(!W(s)){delete d[i],delete e[i];return}let p=H(),m=p==null?void 0:p[a],h=p==null?void 0:p[o];if(typeof f==`function`&&typeof h==`function`)try{h(f)}catch(e){}if(!u&&typeof c!=`function`){delete d[i];return}let g=(...t)=>{G(e,i,t),typeof c==`function`&&c.apply(e,t)};e[i]=g,d[i]=g,typeof m==`function`&&m(g)}function Di(e,t){Ei(e,{hookName:`onError`,onApiName:`onError`,offApiName:`offError`,capabilityName:`appErrorListener`,userHandler:t.onError}),Ei(e,{hookName:`onPageNotFound`,onApiName:`onPageNotFound`,offApiName:`offPageNotFound`,capabilityName:`appPageNotFoundListener`,userHandler:t.onPageNotFound}),Ei(e,{hookName:`onUnhandledRejection`,onApiName:`onUnhandledRejection`,offApiName:`offUnhandledRejection`,capabilityName:`appUnhandledRejectionListener`,userHandler:t.onUnhandledRejection}),Ei(e,{hookName:`onThemeChange`,onApiName:`onThemeChange`,offApiName:`offThemeChange`,capabilityName:`appThemeChangeListener`,userHandler:t.onThemeChange})}function Oi(e,t,n,r,i){var a;if(typeof App!=`function`)throw TypeError(`createApp 需要全局 App 构造器可用`);let o=Object.keys(t==null?{}:t),s={...i};s.globalData=(a=s.globalData)==null?{}:a,s[me]||(s[me]=function(e){var t,n;let r=this.__wevu;return nr((t=r==null?void 0:r.proxy)==null?this:t,void 0,e,r==null||(n=r.methods)==null?void 0:n[Y])});let c=s.onLaunch,l=s.onError,u=s.onPageNotFound,d=s.onUnhandledRejection,f=s.onThemeChange;s.onLaunch=function(...t){this[he]=!0,yi(this,e,n,r),Ti(this),Di(this,{onError:l,onPageNotFound:u,onUnhandledRejection:d,onThemeChange:f}),G(this,`onLaunch`,t),typeof c==`function`&&c.apply(this,t)};let p=s.onShow;s.onShow=function(...e){G(this,`onShow`,e),typeof p==`function`&&p.apply(this,e)};let m=s.onHide;s.onHide=function(...e){G(this,`onHide`,e),typeof m==`function`&&m.apply(this,e)},delete s.onError,delete s.onPageNotFound,delete s.onUnhandledRejection,delete s.onThemeChange;for(let e of o){let t=s[e];s[e]=function(...n){var r;let i=this.__wevu,a,o=i==null||(r=i.methods)==null?void 0:r[e];return o&&(a=o.apply(i.proxy,n)),typeof t==`function`?t.apply(this,n):a}}App(s)}function ki(e){let{features:t,userOnSaveExitState:n,userOnPullDownRefresh:r,userOnReachBottom:i,userOnPageScroll:a,userOnRouteDone:o,userOnTabItemTap:s,userOnResize:c,userOnShareAppMessage:l,userOnShareTimeline:u,userOnAddToFavorites:d}=e,f=typeof r==`function`||!!t.enableOnPullDownRefresh,p=typeof i==`function`||!!t.enableOnReachBottom,m=typeof a==`function`||!!t.enableOnPageScroll,h=typeof o==`function`||!!t.enableOnRouteDone,g=!!t.enableOnRouteDoneFallback,_=typeof s==`function`||!!t.enableOnTabItemTap,v=typeof c==`function`||!!t.enableOnResize,y=typeof u==`function`||!!t.enableOnShareTimeline,b=typeof l==`function`||!!t.enableOnShareAppMessage,x=typeof d==`function`||!!t.enableOnAddToFavorites,S=typeof n==`function`||!!t.enableOnSaveExitState,C=()=>{};return{enableOnPullDownRefresh:f,enableOnReachBottom:p,enableOnPageScroll:m,enableOnRouteDone:h,enableOnRouteDoneFallback:g,enableOnTabItemTap:_,enableOnResize:v,enableOnShareAppMessage:b,enableOnShareTimeline:y,enableOnAddToFavorites:x,enableOnSaveExitState:S,effectiveOnSaveExitState:typeof n==`function`?n:(()=>({data:void 0})),effectiveOnPullDownRefresh:typeof r==`function`?r:C,effectiveOnReachBottom:typeof i==`function`?i:C,effectiveOnPageScroll:typeof a==`function`?a:C,effectiveOnRouteDone:typeof o==`function`?o:C,effectiveOnTabItemTap:typeof s==`function`?s:C,effectiveOnResize:typeof c==`function`?c:C,effectiveOnShareAppMessage:typeof l==`function`?l:C,effectiveOnShareTimeline:typeof u==`function`?u:C,effectiveOnAddToFavorites:typeof d==`function`?d:(()=>({}))}}function Ai(e,t){let{enableOnSaveExitState:n,enableOnPullDownRefresh:r,enableOnReachBottom:i,enableOnPageScroll:a,enableOnRouteDone:o,enableOnTabItemTap:s,enableOnResize:c,enableOnShareAppMessage:l,enableOnShareTimeline:u,enableOnAddToFavorites:d,effectiveOnSaveExitState:f,effectiveOnPullDownRefresh:p,effectiveOnReachBottom:m,effectiveOnPageScroll:h,effectiveOnRouteDone:g,effectiveOnTabItemTap:_,effectiveOnResize:v,effectiveOnShareAppMessage:y,effectiveOnShareTimeline:b,effectiveOnAddToFavorites:x,hasHook:S}=t;n&&(e.onSaveExitState=function(...e){let t=ae(this,`onSaveExitState`,e);return t===void 0?f.apply(this,e):t}),r&&(e.onPullDownRefresh=function(...e){if(G(this,`onPullDownRefresh`,e),!S(this,`onPullDownRefresh`))return p.apply(this,e)}),i&&(e.onReachBottom=function(...e){if(G(this,`onReachBottom`,e),!S(this,`onReachBottom`))return m.apply(this,e)}),a&&(e.onPageScroll=function(...e){return F(this,()=>{if(G(this,`onPageScroll`,e),!S(this,`onPageScroll`))return h.apply(this,e)})}),o&&(e.onRouteDone=function(...e){if(!this[Fe]&&(this[Fe]=!0,Promise.resolve().then(()=>{this[Fe]=!1}),this[Pe]=!0,G(this,`onRouteDone`,e),!S(this,`onRouteDone`)))return g.apply(this,e)}),s&&(e.onTabItemTap=function(...e){if(G(this,`onTabItemTap`,e),!S(this,`onTabItemTap`))return _.apply(this,e)}),c&&(e.onResize=function(...e){if(G(this,`onResize`,e),!S(this,`onResize`))return v.apply(this,e)}),l&&(e.onShareAppMessage=function(...e){let t=ae(this,`onShareAppMessage`,e);return t===void 0?y.apply(this,e):t}),u&&(e.onShareTimeline=function(...e){let t=ae(this,`onShareTimeline`,e);return t===void 0?b.apply(this,e):t}),d&&(e.onAddToFavorites=function(...e){let t=ae(this,`onAddToFavorites`,e);return t===void 0?x.apply(this,e):t})}function ji(e){let{runtimeApp:t,watch:n,setup:r,userOnLoad:i,userOnUnload:a,userOnShow:o,userOnHide:s,userOnReady:c,isPage:l,enableOnSaveExitState:u,enableOnPullDownRefresh:d,enableOnReachBottom:f,enableOnPageScroll:p,enableOnRouteDone:m,enableOnRouteDoneFallback:h,enableOnTabItemTap:g,enableOnResize:_,enableOnShareAppMessage:v,enableOnShareTimeline:y,enableOnAddToFavorites:b,effectiveOnSaveExitState:x,effectiveOnPullDownRefresh:S,effectiveOnReachBottom:C,effectiveOnPageScroll:w,effectiveOnRouteDone:T,effectiveOnTabItemTap:E,effectiveOnResize:O,effectiveOnShareAppMessage:k,effectiveOnShareTimeline:A,effectiveOnAddToFavorites:j,hasHook:M}=e,N={onLoad(...e){if(!this[be]&&(this[be]=!0,yi(this,t,n,r),bi(this),l&&le({enableOnShareAppMessage:v,enableOnShareTimeline:y}),G(this,`onLoad`,e),typeof i==`function`))return i.apply(this,e)},onUnload(...e){if(l&&D(this),Si(this),typeof a==`function`)return a.apply(this,e)},onShow(...e){if(l&&(ee(),ue(this),this[be]||N.onLoad.call(this,ce(this)),le({enableOnShareAppMessage:v,enableOnShareTimeline:y}),this[Pe]=!1),xi(this,!0),G(this,`onShow`,e),typeof o==`function`)return o.apply(this,e)},onHide(...e){if(l&&D(this),xi(this,!1),G(this,`onHide`,e),typeof s==`function`)return s.apply(this,e)},onReady(...e){if(l&&(this[be]||N.onLoad.call(this,ce(this)),le({enableOnShareAppMessage:v,enableOnShareTimeline:y})),!this[Me]){if(this[Me]=!0,l&&m&&h){let e=this;setTimeout(()=>{if(!e[Pe]){var t;(t=N.onRouteDone)==null||t.call(e)}},0)}Fr(this,()=>{G(this,`onReady`,e),typeof c==`function`&&c.apply(this,e)});return}if(typeof c==`function`)return c.apply(this,e)}};return Ai(N,{enableOnSaveExitState:u,enableOnPullDownRefresh:d,enableOnReachBottom:f,enableOnPageScroll:p,enableOnRouteDone:m,enableOnTabItemTap:g,enableOnResize:_,enableOnShareAppMessage:v,enableOnShareTimeline:y,enableOnAddToFavorites:b,effectiveOnSaveExitState:x,effectiveOnPullDownRefresh:S,effectiveOnReachBottom:C,effectiveOnPageScroll:w,effectiveOnRouteDone:T,effectiveOnTabItemTap:E,effectiveOnResize:O,effectiveOnShareAppMessage:k,effectiveOnShareTimeline:A,effectiveOnAddToFavorites:j,hasHook:M}),N}function Mi(e){let{userMethods:t,runtimeMethods:n}=e,r={...t};r[me]||(r[me]=function(e){var t,n;let r=this.__wevu;return nr((t=r==null?void 0:r.proxy)==null?this:t,void 0,e,r==null||(n=r.methods)==null?void 0:n[Y])}),r[ve]||(r[ve]=function(e){var t,n,r;let i=(t=e==null||(n=e.currentTarget)==null||(n=n.dataset)==null?void 0:n.wvModel)==null?e==null||(r=e.target)==null||(r=r.dataset)==null?void 0:r.wvModel:t;if(typeof i!=`string`||!i)return;let a=this.__wevu;if(!a||typeof a.bindModel!=`function`)return;let o=Mt(e);try{a.bindModel(i).update(o)}catch(e){}}),!r[Se]&&typeof(n==null?void 0:n[Se])==`function`&&(r[Se]=n[Se]);let i=Object.keys(n==null?{}:n);function a(e){let t=e.__wevu;if(t)return t;let n=e.$state;if(n&&typeof n==`object`)return n[Le]}function o(e,t){if((e==null?void 0:e.proxy)===t)return;let n=e==null?void 0:e.proxy,r=e=>{let r=t[e];if(typeof r!=`function`)return!1;let i=n==null?void 0:n[e];return typeof i==`function`&&r===i};if(r(`triggerEvent`)||r(`createSelectorQuery`)||r(`createIntersectionObserver`)||r(`setData`)||!(typeof t.triggerEvent==`function`||typeof t.createSelectorQuery==`function`||typeof t.createIntersectionObserver==`function`||typeof t.setData==`function`))return;let i=e==null?void 0:e.state;if(!(!i||typeof i!=`object`)&&t.$state!==i)try{Object.defineProperty(i,X,{value:t,configurable:!0,enumerable:!1,writable:!0})}catch(e){i[X]=t}}for(let e of i){if(e===Y||e.startsWith(Ne))continue;let t=r[e];r[e]=function(...n){var r;let i=a(this);o(i,this);let s,c=i==null||(r=i.methods)==null?void 0:r[e];if(c&&(s=c.apply(i.proxy,n)),typeof t==`function`){let e=t.apply(this,n);return e===void 0?s:e}return s}}return{finalMethods:r}}function Ni(e,t=new WeakMap){if(!e||typeof e!=`object`)return e;if(t.has(e))return t.get(e);if(Array.isArray(e)){let n=[];t.set(e,n);for(let r of e)n.push(Ni(r,t));return n}let n={};t.set(e,n);for(let[r,i]of Object.entries(e))n[r]=Ni(i,t);return n}function Pi(e){let t=e.route;if(typeof t==`string`&&t)return t;let n=e.is;return typeof n==`string`&&n?n:`unknown`}function Fi(e){var t;let{methods:n={},lifetimes:r={},pageLifetimes:i={},options:a={},...o}=e,s=o.onLoad,c=o.onUnload,l=o.onShow,u=o.onHide,d=o.onReady,f=o.onSaveExitState,p=o.onPullDownRefresh,m=o.onReachBottom,h=o.onPageScroll,g=o.onRouteDone,_=o.onTabItemTap,v=o.onResize,y=o.onShareAppMessage,b=o.onShareTimeline,x=o.onAddToFavorites,S=(t=o.features)==null?{}:t,C=[s,c,l,u,d,f,p,m,h,g,_,v,y,b,x].some(e=>typeof e==`function`),w=!!o.__wevu_isPage||Object.keys(S==null?{}:S).length>0||C,T={...o},E=new Set([`data`,`behaviors`,`relations`,`externalClasses`,`options`,`properties`,`observers`,`pureDataPattern`,`virtualHost`,`definitionFilter`,`export`,`__wevuTemplateRefs`,`__wevuLayoutHosts`,`setupLifecycle`,`features`,`__wevu_isPage`]),D=[];for(let[e,t]of Object.entries(T))E.has(e)||typeof t!=`function`&&(D.push([e,t]),delete T[e]);let O=e=>{if(D.length){for(let[t,n]of D)if(!Q(e,t))try{e[t]=Ni(n)}catch(e){}}},k=new Set([`data`,`export`,`definitionFilter`,`onLoad`,`onUnload`,`onShow`,`onHide`,`onReady`,`onSaveExitState`,`onPullDownRefresh`,`onReachBottom`,`onPageScroll`,`onRouteDone`,`onTabItemTap`,`onResize`,`onShareAppMessage`,`onShareTimeline`,`onAddToFavorites`]),A={};for(let[e,t]of Object.entries(T))typeof t!=`function`||k.has(e)||(A[e]=t,delete T[e]);let j=T.__wevuTemplateRefs;delete T.__wevuTemplateRefs;let M=T.__wevuLayoutHosts;delete T.__wevuLayoutHosts;let N=T.observers,P=T.setupLifecycle===`created`?`created`:`attached`;delete T.setupLifecycle;let F=T.created;return delete T.features,delete T.created,delete T.onLoad,delete T.onUnload,delete T.onShow,delete T.onHide,delete T.onReady,{userMethods:n,userLifetimes:r,userPageLifetimes:i,userOptions:a,restOptions:T,topLevelMethods:A,templateRefs:j,layoutHosts:M,userObservers:N,setupLifecycle:P,legacyCreated:F,isPage:w,features:S,userOnLoad:s,userOnUnload:c,userOnShow:l,userOnHide:u,userOnReady:d,userOnSaveExitState:f,userOnPullDownRefresh:p,userOnReachBottom:m,userOnPageScroll:h,userOnRouteDone:g,userOnTabItemTap:_,userOnResize:v,userOnShareAppMessage:y,userOnShareTimeline:b,userOnAddToFavorites:x,applyExtraInstanceFields:O}}function Ii(e){var t;let n=e.__wevu,r=e[Ve];if(!n||!r||typeof n.snapshot!=`function`)return;let i=n.snapshot(),a=(t=e[Z])==null?e.properties:t;if(a&&typeof a==`object`)for(let[e,t]of Object.entries(a))i[e]=t;pr(r,i,n.proxy)}function Li(e){let{restOptions:t,userObservers:n}=e,r=t.properties&&typeof t.properties==`object`?Object.keys(t.properties):[],i=new Set(r),a=e=>{try{Object.defineProperty(e,Ae,{value:r,configurable:!0,enumerable:!1,writable:!1})}catch(t){e[Ae]=r}},o=e=>{let t=e[de];if(!t||typeof t!=`object`)return;let n=t=>{var n;let r=(n=e.__wevu)==null?void 0:n.state;return typeof r==`object`&&!!r&&Q(r,t)},r=e.properties,a=r&&typeof r==`object`?r:void 0,o=Object.keys(t);for(let e of o)if(!a||!Q(a,e)||i.has(e)||n(e))try{delete t[e]}catch(e){}if(!a){Ii(e);return}for(let[e,r]of Object.entries(a))if(!(i.has(e)||n(e)))try{t[e]=r}catch(e){}Ii(e)},s=e=>{let t=e[Z],n=e.properties,r=e[ke];if(t&&typeof t==`object`&&n&&typeof n==`object`){let i=n,a=Object.keys(t);for(let e of a)if(!Q(i,e))try{delete t[e]}catch(e){}for(let[e,n]of Object.entries(i)){let i=r&&Q(r,e)?r[e]:n;try{t[e]=i}catch(e){}}if(r){for(let[e,n]of Object.entries(r))if(!Q(i,e))try{t[e]=n}catch(e){}}Ii(e)}r&&delete e[ke],o(e)},c=(e,t,n)=>{var r,i;let a=e[Z];if(!a||typeof a!=`object`)return;try{a[t]=n}catch(e){}let s=(i=(r=e)[ke])==null?r[ke]=Object.create(null):i;s[t]=n,Ii(e),o(e)},l={};if(r.length)for(let e of r)l[e]=function(t){c(this,e,t)};let u={...n==null?{}:n};for(let[e,t]of Object.entries(l)){let n=u[e];typeof n==`function`?u[e]=function(...e){n.apply(this,e),t.apply(this,e)}:u[e]=t}let d=u[`**`];return u[`**`]=function(...e){typeof d==`function`&&d.apply(this,e),s(this)},{attachWevuPropKeys:a,syncWevuPropsFromInstance:s,finalObservers:u}}const Ri=new Map;function zi(){let e=se();return e[e.length-1]}function Bi(e){return Array.from(new Set(Array.isArray(e)?e:[e])).filter(e=>typeof e==`string`&&e.length>0)}function Vi(e){return Qe(e)}function Hi(e){return e&&typeof e.__wevuSetPageLayout==`function`?e:zi()}function Ui(e){var t,n;if(!e||typeof e!=`object`)return;let r=(t=e[je])==null||(t=t.state)==null?void 0:t[X];if(r&&typeof r==`object`)return r;let i=(n=e.$state)==null?void 0:n[X];return i&&typeof i==`object`?i:e[X]&&typeof e[X]==`object`?e[X]:e}function Wi(e){return typeof e==`function`?e():g(e)?e.value:e}function Gi(e,t){return e.find(e=>e.key===t)}function Ki(e,t){let n=e==null?void 0:e.selectComponent;if(typeof n!=`function`)return null;try{var r;return(r=n.call(e,t))==null?null:r}catch(e){return null}}function qi(e,t){var n,r,i,a,o,s,c,l;if(!e.refName)return null;let u=Tr(t),d=(n=(r=(i=(a=t[je])==null||(a=a.state)==null?void 0:a.$refs)==null?(o=t.__wevu)==null||(o=o.state)==null?void 0:o.$refs:i)==null?(s=t.$state)==null?void 0:s.$refs:r)==null?t.$refs:n,f=(c=u==null||(l=u.get(e.refName))==null?void 0:l.value)==null?d==null?void 0:d[e.refName]:c;if(Array.isArray(f)){var p;return(p=f[0])==null?null:p}return f==null?null:f}function Ji(e,t){let n=Ui(t);return Object.assign(n&&typeof n==`object`?Object.create(n):{},{selectComponent(r){let i=Gi(e,r);if(!i)return null;if(i.kind===`component`||!i.kind){var a,o;return qi(i,t)||((a=(o=Ki(n,i.selector))==null?Ki(zi(),i.selector):o)==null?null:a)}return null}})}function Yi(e,t){let n=t==null?U():t,r=Hi(n),i=Vi(r);if(!n||!r||i.length===0)return!1;for(let t of i){var a;let r=(a=Ri.get(t))==null?new Map:a;for(let t of Bi(e))r.set(t,n);Ri.set(t,r)}return n[ge]=i,!0}function Xi(e,t){var n;let r=t==null?U():t,i=Hi(r),a=(n=r==null?void 0:r[ge])==null?Vi(i):n;if(!r||!Array.isArray(a)||a.length===0)return!1;let o=!1;for(let t of a){let n=Ri.get(t);if(n){for(let t of Bi(e))n.get(t)===r&&(n.delete(t),o=!0);n.size===0&&Ri.delete(t)}}return delete r[ge],o}function Zi(e,t){var n,r;let i=Vi((n=zi())==null?Hi(t):n).map(t=>{var n;return(n=Ri.get(t))==null?void 0:n.get(e)}).find(Boolean);return(r=i==null?t:i)==null?U():r}function Qi(e,t={}){var n,r;let i=Zi(e,(n=t.context)==null?t.fallbackContext:n),a=i==null||(r=i.selectComponent)==null?void 0:r.call(i,e);return a==null?null:a}function $i(e,t={}){var n,r;let i=(n=t.retries)==null?20:n,a=(r=t.interval)==null?16:r,o=Qi(e,t);return o||i<=0?Promise.resolve(o):new Promise(n=>{setTimeout(()=>{n($i(e,{...t,retries:i-1}))},a)})}function ea(e,t={}){if(!z())throw Error(`useLayoutBridge() 必须在 setup() 的同步阶段调用`);let n=U(),r=Bi(e),i=t.resolveComponent,a=Ui(n),o=Object.assign(a&&typeof a==`object`?Object.create(a):{},{selectComponent(e){var t,a,o;if(!r.includes(e))return null;let s=i==null?void 0:i(e);if(s!==void 0)return s;let c=Ui(n),l=c==null||(t=c.selectComponent)==null?void 0:t.call(c,e);if(l)return l;let u=zi();return(a=u==null||(o=u.selectComponent)==null?void 0:o.call(u,e))==null?null:a}});Yi(r,o),j(()=>{Yi(r,o)}),M(()=>{Xi(r,o)})}function ta(e,t){if(!e.length)return null;let n=t==null?U():t;if(!n)return null;let r=Ji(e,n);return Yi(e.map(e=>e.key),r),r}function na(e,t){if(!e.length)return!1;let n=t==null?U():t;return n?Xi(e.map(e=>e.key),n):!1}function ra(e){ea(Object.keys(e),{resolveComponent(t){return Wi(e[t])}})}function ia(e){let{runtimeApp:t,watch:n,setup:r,restOptions:i,pageLifecycleHooks:a,finalObservers:o,userLifetimes:s,userPageLifetimes:c,finalMethods:l,finalOptions:u,applyExtraInstanceFields:d,templateRefs:f,layoutHosts:p,attachWevuPropKeys:m,setupLifecycle:h,syncWevuPropsFromInstance:g,isPage:_,legacyCreated:v,getRuntimeOwnerLabel:y}=e,b={},x=e=>{if(!Array.isArray(p)||!p.length||e[_e])return;let t=ta(p,e);t&&(e[_e]=t)},S=e=>{_&&(e[Ee]=(t,n)=>{var r;let i=(r=e.__wevu)==null?void 0:r.state;if(!i||typeof i!=`object`)return;i[Ce]=lr(t);let a=t===!1||n==null?{}:n;i[Te]=a,or(e,t,a)})};if(_)for(let e of[`onReachBottom`,`onShareAppMessage`,`onShareTimeline`,`onAddToFavorites`]){let t=a[e];typeof t==`function`&&typeof l[e]!=`function`&&(b[e]=function(...e){return t.apply(this,e)})}Component({...i,...a,observers:o,lifetimes:{...s,created:function(...e){if(d(this),Array.isArray(f)&&f.length&&Object.defineProperty(this,Je,{value:f,configurable:!0,enumerable:!1,writable:!1}),m(this),h===`created`){try{yi(this,t,n,r,{deferSetData:!0})}catch(e){let t=y(this);throw Error(`[wevu] mount runtime failed in created (${t}): ${e instanceof Error?e.message:String(e)}`)}g(this),S(this)}typeof v==`function`&&v.apply(this,e),typeof s.created==`function`&&s.created.apply(this,e)},moved:function(...e){G(this,`onMoved`,e),typeof s.moved==`function`&&s.moved.apply(this,e)},attached:function(...e){if(d(this),Array.isArray(f)&&f.length&&!this[Je]&&Object.defineProperty(this,Je,{value:f,configurable:!0,enumerable:!1,writable:!1}),m(this),h!==`created`||!this.__wevu)try{yi(this,t,n,r)}catch(e){let t=y(this);throw Error(`[wevu] mount runtime failed in attached (${t}): ${e instanceof Error?e.message:String(e)}`)}g(this),S(this),x(this),h===`created`&&bi(this),G(this,`onAttached`,e),typeof s.attached==`function`&&s.attached.apply(this,e)},ready:function(...e){if(_&&typeof a.onReady==`function`){a.onReady.call(this,...e),typeof s.ready==`function`&&s.ready.apply(this,e);return}if(!this[Me]){this[Me]=!0,g(this),Fr(this,()=>{G(this,`onReady`,e),typeof s.ready==`function`&&s.ready.apply(this,e)});return}typeof s.ready==`function`&&s.ready.apply(this,e)},detached:function(...e){if(G(this,`onDetached`,e),_&&typeof a.onUnload==`function`){a.onUnload.call(this,...e),typeof s.detached==`function`&&s.detached.apply(this,e);return}Ir(this),Array.isArray(p)&&p.length&&this[_e]&&(na(p,this[_e]),delete this[_e]),Si(this),typeof s.detached==`function`&&s.detached.apply(this,e)},error:function(...e){G(this,`onError`,e),typeof s.error==`function`&&s.error.apply(this,e)}},pageLifetimes:{...c,show:function(...e){if(_&&typeof a.onShow==`function`){a.onShow.call(this,...e),typeof c.show==`function`&&c.show.apply(this,e);return}xi(this,!0),G(this,`onShow`,e),typeof c.show==`function`&&c.show.apply(this,e)},hide:function(...e){if(_&&typeof a.onHide==`function`){a.onHide.call(this,...e),typeof c.hide==`function`&&c.hide.apply(this,e);return}xi(this,!1),G(this,`onHide`,e),typeof c.hide==`function`&&c.hide.apply(this,e)},resize:function(...e){if(_&&typeof a.onResize==`function`){a.onResize.call(this,...e),typeof c.resize==`function`&&c.resize.apply(this,e);return}G(this,`onResize`,e),typeof c.resize==`function`&&c.resize.apply(this,e)},routeDone:function(...e){if(_&&typeof a.onRouteDone==`function`){a.onRouteDone.call(this,...e),typeof c.routeDone==`function`&&c.routeDone.apply(this,e);return}G(this,`onRouteDone`,e),typeof c.routeDone==`function`&&c.routeDone.apply(this,e)}},methods:{...b,...l},options:u})}function aa(e,t,n,r,i){var a;let{userMethods:o,userLifetimes:s,userPageLifetimes:c,userOptions:l,restOptions:u,topLevelMethods:d,templateRefs:f,layoutHosts:p,userObservers:m,setupLifecycle:h,legacyCreated:g,isPage:_,features:v,userOnLoad:y,userOnUnload:b,userOnShow:x,userOnHide:S,userOnReady:C,userOnSaveExitState:w,userOnPullDownRefresh:T,userOnReachBottom:E,userOnPageScroll:D,userOnRouteDone:O,userOnTabItemTap:k,userOnResize:A,userOnShareAppMessage:j,userOnShareTimeline:M,userOnAddToFavorites:N,applyExtraInstanceFields:P}=Fi(i),{enableOnPullDownRefresh:F,enableOnReachBottom:I,enableOnPageScroll:L,enableOnRouteDone:R,enableOnRouteDoneFallback:z,enableOnTabItemTap:ee,enableOnResize:te,enableOnShareAppMessage:B,enableOnShareTimeline:V,enableOnAddToFavorites:H,enableOnSaveExitState:U,effectiveOnSaveExitState:ne,effectiveOnPullDownRefresh:re,effectiveOnReachBottom:W,effectiveOnPageScroll:G,effectiveOnRouteDone:K,effectiveOnTabItemTap:ie,effectiveOnResize:ae,effectiveOnShareAppMessage:oe,effectiveOnShareTimeline:q,effectiveOnAddToFavorites:se}=ki({features:v,userOnSaveExitState:w,userOnPullDownRefresh:T,userOnReachBottom:E,userOnPageScroll:D,userOnRouteDone:O,userOnTabItemTap:k,userOnResize:A,userOnShareAppMessage:j,userOnShareTimeline:M,userOnAddToFavorites:N}),ce=(e,t)=>{let n=e[pe];if(!n)return!1;let r=n[t];return r?Array.isArray(r)?r.length>0:typeof r==`function`:!1};{let e=u.export;u.export=function(){var t;let n=(t=this[fe])==null?{}:t,r=typeof e==`function`?e.call(this):{};return r&&typeof r==`object`&&!Array.isArray(r)?{...n,...r}:r==null?n:r}}let le={multipleSlots:(a=l.multipleSlots)==null?!0:a,...l},{attachWevuPropKeys:ue,syncWevuPropsFromInstance:de,finalObservers:J}=Li({restOptions:u,userObservers:m}),{finalMethods:me}=Mi({userMethods:{...d,...o},runtimeMethods:t});ia({runtimeApp:e,watch:n,setup:r,restOptions:u,pageLifecycleHooks:ji({runtimeApp:e,watch:n,setup:r,userOnLoad:y,userOnUnload:b,userOnShow:x,userOnHide:S,userOnReady:C,isPage:_,enableOnSaveExitState:U,enableOnPullDownRefresh:F,enableOnReachBottom:I,enableOnPageScroll:L,enableOnRouteDone:R,enableOnRouteDoneFallback:z,enableOnTabItemTap:ee,enableOnResize:te,enableOnShareAppMessage:B,enableOnShareTimeline:V,enableOnAddToFavorites:H,effectiveOnSaveExitState:ne,effectiveOnPullDownRefresh:re,effectiveOnReachBottom:W,effectiveOnPageScroll:G,effectiveOnRouteDone:K,effectiveOnTabItemTap:ie,effectiveOnResize:ae,effectiveOnShareAppMessage:oe,effectiveOnShareTimeline:q,effectiveOnAddToFavorites:se,hasHook:ce}),finalObservers:J,userLifetimes:s,userPageLifetimes:c,finalMethods:me,finalOptions:le,applyExtraInstanceFields:P,templateRefs:f,layoutHosts:p,attachWevuPropKeys:ue,setupLifecycle:h,syncWevuPropsFromInstance:de,isPage:_,legacyCreated:g,getRuntimeOwnerLabel:Pi})}function oa(e){let{[Tn]:t,data:n,computed:r,methods:i,setData:a,watch:o,setup:s,...c}=e.__wevuDefaultsScope===`component`?e:Nn(e),l=i==null?{}:i,u=r==null?{}:r,d=new Set,f=new Set,p=!1,m={globalProperties:{}},h={mount:wn({data:n,resolvedComputed:u,resolvedMethods:l,appConfig:m,setDataOptions:a}),use(e,...t){if(!e||d.has(e))return h;if(d.add(e),typeof e==`function`)e(h,...t);else if(typeof e.install==`function`)e.install(h,...t);else throw TypeError(`插件必须是函数,或包含 install 方法的对象`);return h},provide(e,t){return ne(h,e,t),h},onUnmount(e){if(typeof e!=`function`)throw TypeError(`onUnmount 只接受函数`);return p?(e(),h):(f.add(e),h)},unmount(){if(!p){p=!0;for(let e of f)e();f.clear()}},config:m,version:Ot},g=typeof App==`function`;try{N(h),Object.defineProperty(h,`__wevuSetDataOptions`,{value:a,configurable:!0,enumerable:!1,writable:!1})}catch(e){h.__wevuSetDataOptions=a}if(g){let e=H(),t=`__wevuAppRegistered`;e&&e[t]||(e&&(e[t]=!0),Oi(h,i==null?{}:i,o,s,c))}return h}const sa=`__wevu_allowNullPropInput`,ca=`allowNullPropInput`,la=new Map([[String,String],[Number,Number],[Boolean,Boolean],[Object,Object],[Array,Array],[`String`,String],[`Number`,Number],[`Boolean`,Boolean],[`Object`,Object],[`Array`,Array],[null,null],[`null`,null],[`Null`,null]]);function ua(e){return la.get(e)}function da(e){if(e===void 0)return[];let t=Array.isArray(e)?e:[e],n=[];t.forEach(e=>{let t=ua(e);t!==void 0&&(n.includes(t)||n.push(t))});let r=n.filter(e=>e!==null);return r.length>0?r:(n.includes(null),[null])}function fa(e,t){let n=da(t);if(n.length!==0&&(e.type=n[0],n.length>1)){let t=[];for(let e of n.slice(1))t.includes(e)||t.push(e);t.length>0&&(e.optionalTypes=t)}}function pa(e,t){if(t===void 0||e.type===t)return;let n=Array.isArray(e.optionalTypes)?[...e.optionalTypes]:[];n.includes(t)||(n.push(t),e.optionalTypes=n)}function ma(e){if(!Array.isArray(e))return[];let t=[];return e.forEach(e=>{let n=ua(e);n==null||t.includes(n)||t.push(n)}),t}function ha(e,t){if(e===void 0)return;if(e===null)return{type:null};if(Array.isArray(e)||typeof e==`function`){let n={};return fa(n,e),t&&n.type!==null&&pa(n,null),Q(n,`type`)||(n.type=null),n}if(typeof e!=`object`)return e;let n={...e};if(`type`in n){var r;let e=da(n.type);n.type=(r=e[0])==null?null:r;let t=ma(n.optionalTypes);for(let n of e.slice(1))n!==null&&!t.includes(n)&&t.push(n);t.length>0?n.optionalTypes=t:delete n.optionalTypes}return Q(n,`type`)||(n.type=null),t&&n.type!==null&&pa(n,null),n}function ga(e,t){let n={};return Object.entries(e).forEach(([e,r])=>{let i=ha(r,t);i!==void 0&&(n[e]=i)}),n}function _a(e,t,n){var r;let i=!!((r=e[sa])==null?e[ca]:r),{[sa]:a,[ca]:o,...s}=e,c=e.properties,l=n==null?c&&typeof c==`object`?c:void 0:n,u=e=>{let t={...e==null?{}:e};return Q(t,He)||(t[He]={type:String,value:``}),Q(t,Ke)||(t[Ke]={type:null,value:null}),Q(t,Be)||(t[Be]={type:null,value:null}),t};if(l||!t){let{properties:e,...t}=s,n=l?i?ga(l,i):l:void 0;return{...t,properties:u(n)}}let d={};return Object.entries(t).forEach(([e,t])=>{if(t!==void 0){if(t===null){d[e]={type:null};return}if(Array.isArray(t)||typeof t==`function`){let n={};fa(n,t),i&&n.type!==null&&pa(n,null),Q(n,`type`)||(n.type=null),d[e]=n;return}if(typeof t==`object`){if(e.endsWith(`Modifiers`)&&Object.keys(t).length===0){d[e]={type:Object,value:{}};return}let n={};if(`type`in t&&t.type!==void 0&&fa(n,t.type),Array.isArray(t.optionalTypes)){let e=t.optionalTypes.map(e=>ua(e)).filter(e=>e!=null);if(e.length>0){let t=Array.isArray(n.optionalTypes)?n.optionalTypes:[];for(let r of e)r!==n.type&&(t.includes(r)||t.push(r));t.length>0&&(n.optionalTypes=t)}}`observer`in t&&(typeof t.observer==`function`||typeof t.observer==`string`)&&(n.observer=t.observer);let r=`default`in t?t.default:t.value;r!==void 0&&(n.value=typeof r==`function`?r():r),i&&n.type!==null&&pa(n,null),Q(n,`type`)||(n.type=null),d[e]=n}}}),{...s,properties:u(d)}}const va=/&amp;/g,ya=/&quot;/g,ba=/&#34;/g,xa=/&apos;/g,Sa=/&#39;/g,Ca=/&lt;/g,wa=/&gt;/g;function Ta(e){return e.replace(va,`&`).replace(ya,`"`).replace(ba,`"`).replace(xa,`'`).replace(Sa,`'`).replace(Ca,`<`).replace(wa,`>`)}function Ea(e){var t,n,r,i;let a=Zn((t=(n=e==null||(r=e.currentTarget)==null?void 0:r.dataset)==null?e==null||(i=e.target)==null?void 0:i.dataset:n)==null?{}:t,`wvArgs`,e),o=[];if(Array.isArray(a))o=a;else if(typeof a==`string`)try{o=JSON.parse(a)}catch(e){try{o=JSON.parse(Ta(a))}catch(e){o=[]}}return Array.isArray(o)||(o=[]),o.map(t=>t===`$event`?e:t)}function Da(e){if(!e||typeof e!=`object`)return{};if(Array.isArray(e)){let t={};for(let n=0;n<e.length;n+=2){let r=e[n];typeof r==`string`&&r&&(t[r]=e[n+1])}return t}return e}function Oa(e,t){var n,r;let i=Q(t==null?{}:t,Ke)?t[Ke]:e==null||(n=e.properties)==null?void 0:n[Ke],a=Q(t==null?{}:t,Ge)?t[Ge]:e==null||(r=e.properties)==null?void 0:r[Ge],o=Da(i),s=Da(a),c={...o,...s};typeof(e==null?void 0:e.setData)==`function`&&e.setData({[We]:c})}function ka(e){let t={options:{virtualHost:!0},properties:{[Ve]:{type:String,value:``},[Ge]:{type:null,value:null,observer(e){Oa(this,{[Ge]:e})}},[Ke]:{type:null,value:null,observer(e){Oa(this,{[Ke]:e})}}},data:()=>({[Ue]:{},[We]:{}}),lifetimes:{attached(){var e,t;let n=(e=(t=this.properties)==null?void 0:t[Ve])==null?``:e;if(Oa(this),!n)return;let r=(e,t)=>{this.__wvOwnerProxy=t,typeof this.setData==`function`&&this.setData({[Ue]:e||{}})};this.__wvOwnerUnsub=hr(n,r);let i=_r(n);i&&r(i,gr(n))},detached(){typeof this.__wvOwnerUnsub==`function`&&this.__wvOwnerUnsub(),this.__wvOwnerUnsub=void 0,this.__wvOwnerProxy=void 0}},methods:{[Se](e){var t,n,r,i,a;let o=this.__wvOwnerProxy,s=nr(o,void 0,e,(t=this.__wevu)==null||(t=t.methods)==null?void 0:t[Y]);if(s!==void 0)return s;if(!o)return;let c=Zn((n=(r=e==null||(i=e.currentTarget)==null?void 0:i.dataset)==null?e==null||(a=e.target)==null?void 0:a.dataset:r)==null?{}:n,`wvHandler`,e);if(typeof c!=`string`||!c)return;let l=o==null?void 0:o[c];if(typeof l!=`function`)return;let u=Ea(e);return l.apply(o,u)}}};return e!=null&&e.computed&&Object.keys(e.computed).length>0&&(t.computed=e.computed),e!=null&&e.inlineMap&&Object.keys(e.inlineMap).length>0&&(t.methods={...t.methods,[Y]:e.inlineMap}),t}function Aa(e){if(Object.prototype.toString.call(e)!==`[object Object]`)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function ja(e){return typeof e!=`object`||!e||g(e)||m(e)||Array.isArray(e)?!0:Aa(e)}function Ma(e,t,n){var r,i;let a=new Set(Array.isArray(t==null?void 0:t[Ae])?t[Ae]:[]),o=(r=e==null?void 0:e.methods)==null?Object.create(null):r,s=(i=e==null?void 0:e.state)==null?Object.create(null):i,c=m(s)?T(s):s,l=!1;if(e&&!e.methods)try{e.methods=o}catch(e){}if(e&&!e.state)try{e.state=s}catch(e){}if(Object.keys(n).forEach(r=>{let i=n[r];if(typeof i==`function`)o[r]=(...t)=>{var n;return i.apply((n=e==null?void 0:e.proxy)==null?e:n,t)},l=!0;else{if(Vt(i)){var u;e==null||(u=e.__wevu_trackSetupReactiveKey)==null||u.call(e,r)}if(a.has(r)){let e=i;try{Object.defineProperty(c,r,{configurable:!0,enumerable:!1,get(){let t=c[Z];return t&&typeof t==`object`&&Q(t,r)?t[r]:e},set(t){e=t;let n=c[Z];if(!(!n||typeof n!=`object`))try{n[r]=t}catch(e){}}})}catch(e){s[r]=i}return}if(i===t||!ja(i))try{Object.defineProperty(c,r,{value:i,configurable:!0,enumerable:!1,writable:!0})}catch(e){s[r]=i}else s[r]=i}}),e){var u,d;if(e.methods=(u=e.methods)==null?o:u,e.state=(d=e.state)==null?s:d,l){var f;(f=e.__wevu_touchSetupMethodsVersion)==null||f.call(e)}}}let Na;function Pa(){let e=ie();if(!e)return;let t=e;!t[Re]&&Na&&(t[Re]=Na)}function Fa(e){Pa();let{__typeProps:t,data:n,computed:r,methods:i,setData:a,watch:o,setup:s,props:c,...l}=Pn(e),u=oa({data:n,computed:r,methods:i,setData:a,[Tn]:`component`}),d=typeof s==`function`?((e,t)=>{let n=ti(s,e,t);return n&&t&&Ma(t.runtime,t.instance,n),n}):void 0,f=typeof n==`function`?n():n,p=_a(f===void 0?l:{...l,data:f},c),m={data:n,computed:r,methods:i,setData:a,watch:o,setup:d,mpOptions:p};return aa(u,i==null?{}:i,o,d,p),{__wevu_runtime:u,__wevu_options:m}}function Ia(e){var t;Pa();let{properties:n,props:r,...i}=e;Fa(_a({...i,allowNullPropInput:(t=i.allowNullPropInput)==null?!0:t,__wevu_allowNullPropInput:!0},r,n))}function La(e){Ia(ka(e))}Na=La,Pa();const Ra=[`dispose`,`abort`,`cancel`,`stop`,`disconnect`,`destroy`,`close`];function za(e){if(e){if(typeof e==`function`)return e;for(let t of Ra){let n=e[t];if(typeof n==`function`)return()=>n.call(e)}}}function Ba(){if(!U())throw Error(`useDisposables() 必须在 setup() 的同步阶段调用`);let e=new Set,t=!1,n=n=>{let r=za(n);if(!r)return()=>{};if(t){try{r()}catch(e){}return()=>{}}return e.add(r),()=>{e.delete(r)}},r=()=>{if(t)return;t=!0;let n=[...e];e.clear();for(let e of n)try{e()}catch(e){}};return V(r),M(r),{add:n,dispose:r,setTimeout:(e,t,...r)=>{let i=setTimeout(e,t,...r);return n(()=>{clearTimeout(i)}),i},setInterval:(e,t,...r)=>{let i=setInterval(e,t,...r);return n(()=>{clearInterval(i)}),i}}}function Va(e,t){let n=e,r=n.createIntersectionObserver;if(typeof r==`function`)return r.call(n,t);if(!W(`globalCreateIntersectionObserver`))return;let i=H(),a=i==null?void 0:i.createIntersectionObserver;if(typeof a==`function`)return B().intersectionObserverScopeByParameter?a.call(i,e,t):a.call(i,t)}function Ha(e,t){var n;if(t===!1||typeof e.relativeToViewport!=`function`)return e;let r=t&&typeof t==`object`?t:void 0;return(n=e.relativeToViewport(r))==null?e:n}function Ua(e){var t;let n=(t=e.context)==null?U():t;if(!n||!z())throw Error(`useElementIntersectionObserver() 必须在 setup() 的同步阶段调用`);let r=null,i=()=>{if(r){try{r.disconnect()}catch(e){}r=null}},a=()=>{var t,a;i();let s=o(e.selector);if(!(e.enabled==null||o(e.enabled))||!s)return null;let c=Va(n,o((t=e.observerOptions)==null?{}:t));return!c||typeof c.observe!=`function`?null:(r=Ha(c,(a=e.relativeToViewport)==null?!0:a),r.observe(s,t=>{var n;return(n=e.onObserve)==null?void 0:n.call(e,t)}),r)};return wt(()=>{var t;return[o(e.selector),e.enabled==null?!0:o(e.enabled),o((t=e.observerOptions)==null?{}:t),e.relativeToViewport]},()=>{a()},{deep:!0}),ot(a),lt(i),V(i),M(i),{disconnect:i,observe:a,get observer(){return r}}}function Wa(e,t){let n=e,r=n.createIntersectionObserver;if(typeof r==`function`)return r.call(n,t)}function Ga(e,t){if(!W(`globalCreateIntersectionObserver`))return;let n=H(),r=n==null?void 0:n.createIntersectionObserver;if(typeof r==`function`)return B().intersectionObserverScopeByParameter?r.call(n,e,t):r.call(n,t)}function Ka(e={}){var t;let n=U();if(!n)throw Error(`useIntersectionObserver() 必须在 setup() 的同步阶段调用`);let r=(t=Wa(n,e))==null?Ga(n,e):t;if(!r||typeof r.disconnect!=`function`)throw Error(`当前运行环境不支持 IntersectionObserver,请检查基础库版本或平台能力`);let i=!1,a=()=>{if(!i){i=!0;try{r.disconnect()}catch(e){}}};return V(a),M(a),r}function qa(e){var t,n;return e?(t=(n=e.split(`?`)[0])==null?void 0:n.replace(/^\/+/,``))==null?``:t:``}function Ja(){let e=se(),t=e[e.length-1],n=e.length||1;return{canGoBack:n>1,currentRoute:qa(t==null?void 0:t.route),stackLength:n}}function Ya(e={}){var t;if(!z())throw Error(`usePageStack() 必须在 setup() 的同步阶段调用`);let n=Ja(),r=d(n.currentRoute),i=d(n.stackLength),a=E(()=>i.value>1),o=()=>{let e=Ja();r.value=e.currentRoute,i.value=e.stackLength};return((t=e.autoRefresh)==null||t)&&(j(o),L(o)),{canGoBack:a,currentRoute:r,refresh:o,stackLength:i}}function Xa(e={}){var t,n;let r=(t=e.defaultStatusBarHeight)==null?20:t,i=(n=e.defaultNavigationBarHeight)==null?44:n,a=H(),o=typeof(a==null?void 0:a.getSystemInfoSync)==`function`?a.getSystemInfoSync():{},s=Number((o==null?void 0:o.statusBarHeight)||r),c;try{c=typeof(a==null?void 0:a.getMenuButtonBoundingClientRect)==`function`?a.getMenuButtonBoundingClientRect():void 0}catch(e){}let l=Number((c==null?void 0:c.top)||0),u=Number((c==null?void 0:c.height)||0),d=l>s&&u>0?(l-s)*2+u:i;return{navigationBarHeight:d,navigationHeight:s+d,statusBarHeight:s}}function Za(e={}){var t;if(!z())throw Error(`useNavigationBarMetrics() 必须在 setup() 的同步阶段调用`);let n=Xa(e),r=d(n.statusBarHeight),i=d(n.navigationBarHeight),a=E(()=>r.value+i.value),o=()=>{let t=Xa(e);r.value=t.statusBarHeight,i.value=t.navigationBarHeight};return((t=e.autoRefresh)==null||t)&&j(o),{navigationBarHeight:i,navigationHeight:a,refresh:o,statusBarHeight:r}}function Qa(e){return typeof e!=`number`||!Number.isFinite(e)?80:Math.max(0,e)}function $a(e){if(!(typeof e!=`number`||!Number.isFinite(e)))return Math.max(0,e)}function eo(e,t={}){var n,r;if(!U())throw Error(`usePageScrollThrottle() 必须在 setup() 的同步阶段调用`);if(typeof e!=`function`)throw TypeError(`usePageScrollThrottle() 需要传入回调函数`);let i=Qa(t.interval),a=(n=t.leading)==null?!0:n,o=(r=t.trailing)==null?!0:r,s=$a(t.maxWait),c,l,u=!1,d=0,f,p=()=>{c&&(clearTimeout(c),c=void 0)},m=()=>{l&&(clearTimeout(l),l=void 0)},h=t=>{p(),m(),f=void 0,d=Date.now(),e(t)},g=()=>{let e=f;f=void 0,c=void 0,!(!e||u)&&h(e)},_=()=>{let e=f;l=void 0,!(!e||u)&&h(e)},v=e=>{if(!o||c)return;let t=Math.max(0,i-(e-(d===0?e:d)));c=setTimeout(g,t)},y=e=>{if(typeof s!=`number`||l)return;let t=s-(e-(d===0?e:d));if(t<=0){_();return}l=setTimeout(_,t)};I(e=>{if(u)return;if(i===0){h(e);return}let t=Date.now();if(f=e,a&&(d===0||t-d>=i)){h(e);return}if(typeof s==`number`&&t-(d===0?t:d)>=s){h(e);return}!o&&typeof s!=`number`||(v(t),y(t))});let b=()=>{u||(u=!0,f=void 0,p(),m())};return V(b),M(b),b}function to(e,t={}){A(async()=>{try{await e()}catch(e){var n;await((n=t.onError)==null?void 0:n.call(t,e))}finally{var r;await((r=t.stopPullDownRefresh)==null?(()=>$e.stopPullDownRefresh()):r)()}})}function no(e,t){let n=t==null?U():t;if(!n||!z())throw Error(`${e}() 必须在 setup() 的同步阶段调用`);return n}function ro(e,t,n,r){let i=kr(e);return!i||!t?Promise.resolve(null):(r(n?i.selectAll(t):i.select(t)),new Promise(e=>{i.exec(t=>{let n=Array.isArray(t)?t[0]:null;e(n==null?null:n)})}))}function io(e={}){let t=no(`useSelectorQuery`,e.context);return()=>kr(t)}function ao(e={}){var t;let n=no(`useBoundingClientRect`,e.context),r=(t=e.all)==null?!1:t;return e=>ro(n,e,r,e=>e.boundingClientRect())}function oo(e){var t;let n=no(`useSelectorFields`,e.context),r=(t=e.all)==null?!1:t;return t=>ro(n,t,r,t=>t.fields(e.fields))}function so(e={}){var t;let n=no(`useScrollOffset`,e.context),r=(t=e.all)==null?!1:t;return e=>ro(n,e,r,e=>e.scrollOffset())}const co=/\B([A-Z])/g;function lo(e){return e?e.startsWith(`--`)?e:e.replace(co,`-$1`).toLowerCase():``}function uo(e,t){if(!t)return e;if(!e)return t;let n=e;n.endsWith(`;`)||(n+=`;`);let r=t.startsWith(`;`)?t.slice(1):t;return n+r}function fo(e){let t=``;for(let n of Object.keys(e)){let r=_(e[n]);if(r==null)continue;let i=lo(n);if(Array.isArray(r))for(let e of r){let n=_(e);n!=null&&(t=uo(t,`${i}:${n}`))}else t=uo(t,`${i}:${r}`)}return t}function po(e){let t=_(e);if(t==null)return``;if(typeof t==`string`)return t;if(Array.isArray(t)){let e=``;for(let n of t){let t=po(n);t&&(e=uo(e,t))}return e}return typeof t==`object`?fo(t):``}function mo(e){let t=_(e),n=``;if(!t)return n;if(typeof t==`string`)return t;if(Array.isArray(t)){for(let e of t){let t=mo(e);t&&(n+=`${t} `)}return n.trim()}if(typeof t==`object`){for(let e of Object.keys(t))_(t[e])&&(n+=`${e} `);return n.trim()}return n}function ho(e){let t=e,n=t.setUpdatePerformanceListener;if(typeof n==`function`)return e=>{n.call(t,e)}}function go(e){let t=U();if(!t)throw Error(`useUpdatePerformanceListener() 必须在 setup() 的同步阶段调用`);if(typeof e!=`function`)throw TypeError(`useUpdatePerformanceListener() 需要传入监听函数`);let n=ho(t);if(!n)throw Error(`当前实例不支持 setUpdatePerformanceListener,请检查基础库版本或组件上下文`);n(e);let r=!1,i=()=>{if(!r){r=!0;try{n(void 0)}catch(e){}}};return V(i),M(i),i}function _o(){let e=U();if(e!=null&&e[he]&&e[Ie])return e[Ie];throw Error(`defineAppSetup() / use() 只能在 app setup 上下文中调用`)}function vo(e){return e(_o())}function yo(e,...t){return _o().use(e,...t)}const bo=Object.freeze(Object.create(null));function xo(){var e;let t=z();if(!t)throw Error(`useAttrs() 必须在 setup() 的同步阶段调用`);return(e=t.attrs)==null?{}:e}function So(){var e;let t=z();if(!t)throw Error(`useSlots() 必须在 setup() 的同步阶段调用`);return(e=t.slots)==null?bo:e}function Co(){let e=z();if(!(e!=null&&e.instance))throw Error(`useNativeInstance() 必须在 setup() 的同步阶段调用`);return e.instance}const wo=Object.freeze(Object.create(null));function To(e,t){let n=t===`modelValue`?`modelModifiers`:`${t}Modifiers`,r=e==null?void 0:e[n];return!r||typeof r!=`object`?wo:r}function Eo(e,t){let n=e;try{Object.defineProperty(n,Symbol.iterator,{configurable:!0,value:()=>{let e=0;return{next:()=>e===0?(e+=1,{value:n,done:!1}):e===1?(e+=1,{value:t(),done:!1}):{value:void 0,done:!0}}}})}catch(e){}return n}function Do(e,t,n={}){let r=z();if(!r)throw Error(`useModel() 必须在 setup() 的同步阶段调用`);let i=r.emit,a=`update:${t}`,o=()=>To(e,t);return Eo(x({get:()=>{let r=e==null?void 0:e[t];return n.get?n.get(r,o()):r},set:e=>{let t=n.set?n.set(e,o()):e;i==null||i(a,t)}}),o)}function Oo(e){let t=U();if(!(t!=null&&t.__wevu)||typeof t.__wevu.bindModel!=`function`)throw Error(`useBindModel() 必须在 setup() 的同步阶段调用`);let n=t.__wevu.bindModel.bind(t.__wevu),r=((t,r)=>e?n(t,{...e,...r}):n(t,r));return r.model=(e,t)=>r(e).model(t),r.value=(t,n)=>{var i;let a={...e,...n},o=(i=a==null?void 0:a.valueProp)==null?`value`:i;return r.model(t,n)[o]},r.on=(t,n)=>{var i;let a={...e,...n},o=`on${kt((i=a==null?void 0:a.event)==null?`input`:i)}`;return r.model(t,n)[o]},r}function ko(){let e=Oo({event:`change`});return function(t,n){return e.model(t,n)}}function Ao(e,t){return e==null?t:t==null?e:Array.isArray(e)&&Array.isArray(t)?[...new Set([...e,...t])]:typeof e==`object`&&typeof t==`object`?{...e,...t}:t}function jo(e){let t=e[Xe];if(t)return t;let n=new Map;try{Object.defineProperty(e,Xe,{value:n,configurable:!0,enumerable:!1,writable:!1})}catch(t){e[Xe]=n}return n}function Mo(e){let t=U();if(!t)throw Error(`useTemplateRef() 必须在 setup() 的同步阶段调用`);let n=typeof e==`string`?e.trim():``;if(!n)throw Error(`useTemplateRef() 需要传入有效的模板 ref 名称`);let r=jo(t),i=r.get(n);if(i)return i;let a=et(null);return r.set(n,a),a}export{Zt as $,oa as A,$i as B,Ya as C,et as Ct,Ia as D,Ba as E,Qi as F,ti as G,yi as H,Xi as I,or as J,lr as K,na as L,Yi as M,ta as N,La as O,Zi as P,jn as Q,ea as R,Za as S,tt as St,Ua as T,xi as U,Oi as V,Si as W,ar as X,sr as Y,Mn as Z,io as _,lt as _t,Do as a,Dt as at,Ja as b,rt as bt,So as c,gt as ct,go as d,ct as dt,$ as et,mo as f,dt as ft,oo as g,ht as gt,so as h,ot as ht,ko as i,Et as it,aa as j,Fa as k,vo as l,pt as lt,ao as m,ft as mt,Ao as n,wt as nt,xo as o,yt as ot,po as p,mt as pt,cr as q,Oo as r,Tt as rt,Co as s,vt as st,Mo as t,Ot as tt,yo as u,ut,to as v,st as vt,Ka as w,nt as wt,Xa as x,it as xt,eo as y,at as yt,ra as z};
@@ -1 +1 @@
1
- import{A as e,C as t,d as n,g as r,j as i,l as a,n as o,r as s,w as c,y as l}from"./ref-Bs--7iY3.mjs";function u(n){let r,a;typeof n==`function`?(r=n,a=()=>{throw Error(`计算属性是只读的`)}):(r=n.get,a=n.set);let o,c=!0,l,u={get value(){return c&&(o=l(),c=!1),e(u,`value`),o},set value(e){a(e)}};return s(u),l=t(r,{lazy:!0,scheduler:()=>{c||(c=!0,i(u,`value`))}}),u}function d(e,t,n,r){return function(...i){let a=[],o=[],s=e=>a.push(e),c=e=>o.push(e);r.forEach(n=>{try{n({name:t,store:e,args:i,after:s,onError:c})}catch(e){}});let l;try{l=n.apply(e,i)}catch(e){throw o.forEach(t=>t(e)),e}let u=e=>(a.forEach(t=>t(e)),e);return l&&typeof l.then==`function`?l.then(e=>u(e),e=>(o.forEach(t=>t(e)),Promise.reject(e))):u(l)}}function f(e){return typeof e==`object`&&!!e}function p(e){if(!f(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function m(e,t){for(let n in t)e[n]=t[n]}function h(e){if(Array.isArray(e))return e.map(e=>h(e));if(p(e)){let t={};for(let n in e)t[n]=h(e[n]);return t}return e}function g(e,t){if(Array.isArray(e)&&Array.isArray(t)){e.length=0,t.forEach((t,n)=>{e[n]=h(t)});return}if(f(t)){for(let n in e)n in t||delete e[n];for(let n in t){let r=t[n],i=e[n];if(Array.isArray(r)&&Array.isArray(i)){g(i,r);continue}if(p(r)&&p(i)){g(i,r);continue}e[n]=h(r)}}}function _(e,t,n,r){let i={$id:e};Object.defineProperty(i,`$state`,{get(){return t},set(e){t&&f(e)&&(m(t,e),n(`patch object`))}}),i.$patch=e=>{if(!t){typeof e==`function`?(e(i),n(`patch function`)):(m(i,e),n(`patch object`));return}typeof e==`function`?(e(t),n(`patch function`)):(m(t,e),n(`patch object`))},r&&(i.$reset=()=>r());let a=new Set;i.$subscribe=(e,t)=>(a.add(e),()=>a.delete(e));let o=new Set;return i.$onAction=e=>(o.add(e),()=>o.delete(e)),{api:i,subs:a,actionSubs:o}}const v=Object.prototype.hasOwnProperty;function y(e){return o(e)&&v.call(e,`dep`)}function b(e){return a(e)?h(l(e)):y(e)?h(e.value):h(e)}function x(e,t,n){let r=!1;return i=>{if(!r){r=!0;try{let r=n();t.forEach(t=>{try{t({type:i,storeId:e},r)}catch(e){}})}finally{r=!1}}}}function S(e,i,a){var o,s,c;let f=i.state?i.state():{},p=n(f),m=h(l(f)),v=()=>{},y=_(e,p,e=>v(e),()=>{g(p,m),v(`patch object`)}),b=!1,S=y.api.$patch;if(y.api.$patch=e=>{b=!0;try{S(e)}finally{b=!1}},typeof y.api.$reset==`function`){let e=y.api.$reset;y.api.$reset=()=>{b=!0;try{e()}finally{b=!1}}}v=x(e,y.subs,()=>p);let C={};for(let e of Object.getOwnPropertyNames(y.api)){let t=Object.getOwnPropertyDescriptor(y.api,e);t&&(e===`$state`?Object.defineProperty(C,e,{enumerable:t.enumerable,configurable:t.configurable,get(){return y.api.$state},set(e){b=!0;try{y.api.$state=e}finally{b=!1}}}):Object.defineProperty(C,e,t))}let w=(o=i.getters)==null?{}:o;Object.keys(w).forEach(e=>{let t=w[e];if(typeof t==`function`){let n=u(()=>t.call(C,p));Object.defineProperty(C,e,{enumerable:!0,configurable:!0,get(){return n.value}})}});let T=(s=i.actions)==null?{}:s;Object.keys(T).forEach(e=>{let t=T[e];typeof t==`function`&&(C[e]=d(C,e,(...e)=>t.apply(C,e),y.actionSubs))}),Object.keys(p).forEach(e=>{Object.defineProperty(C,e,{enumerable:!0,configurable:!0,get(){return p[e]},set(t){p[e]=t}})});let E=!1,D=!1;t(()=>{if(r(p),!E){E=!0;return}if(!(b||D)){D=!0;try{v(`direct`)}finally{D=!1}}});let O=(c=a==null?void 0:a._plugins)==null?[]:c;for(let e of O)try{e({store:C})}catch(e){}return C}function C(e,n,i){var s;let c=n(),l=()=>{},u=new Map;Object.keys(c).forEach(e=>{let t=c[e];typeof t==`function`||e.startsWith(`$`)||o(t)&&!y(t)||u.set(e,b(t))});let f={},p=_(e,void 0,e=>l(e),()=>{u.forEach((e,t)=>{let n=f[t];if(y(n)){n.value=h(e);return}if(a(n)){g(n,e);return}o(n)||(f[t]=h(e))}),l(`patch object`)}),m=!1,v=p.api.$patch;if(p.api.$patch=e=>{m=!0;try{v(e)}finally{m=!1}},typeof p.api.$reset==`function`){let e=p.api.$reset;p.api.$reset=()=>{m=!0;try{e()}finally{m=!1}}}f={...c},l=x(e,p.subs,()=>f);for(let e of Object.getOwnPropertyNames(p.api)){let t=Object.getOwnPropertyDescriptor(p.api,e);t&&(e===`$state`?Object.defineProperty(f,e,{enumerable:t.enumerable,configurable:t.configurable,get(){return p.api.$state},set(e){m=!0;try{p.api.$state=e}finally{m=!1}}}):Object.defineProperty(f,e,t))}let S=[];Object.keys(c).forEach(e=>{let t=c[e];if(typeof t==`function`&&!e.startsWith(`$`)){f[e]=d(f,e,t,p.actionSubs);return}if(y(t)){S.push(t);return}if(a(t)){S.push(t);return}if(!o(t)&&!e.startsWith(`$`)){let n=t;Object.defineProperty(f,e,{enumerable:!0,configurable:!0,get(){return n},set(e){n=e,m||l(`direct`)}})}});let C=!1;if(S.length>0){let e=!1;t(()=>{if(S.forEach(e=>{y(e)?e.value:r(e)}),!e){e=!0;return}if(!(m||C)){C=!0;try{l(`direct`)}finally{C=!1}}})}let w=(s=i==null?void 0:i._plugins)==null?[]:s;for(let e of w)try{e({store:f})}catch(e){}return f}function w(){let e={_stores:new Map,_plugins:[],install(e){},use(t){return typeof t==`function`&&e._plugins.push(t),e}};return w._instance=e,e}function T(e,t){let n,r=!1,i=w._instance;return function(){return r&&n?n:(r=!0,n=c(!0).run(()=>typeof t==`function`?C(e,t,i):S(e,t,i)),n)}}function E(e){let t={};for(let n in e){let r=e[n];if(typeof r==`function`){t[n]=r;continue}o(r)?t[n]=r:t[n]=u({get:()=>e[n],set:t=>{e[n]=t}})}return t}export{u as i,T as n,w as r,E as t};
1
+ import{A as e,C as t,d as n,g as r,j as i,l as a,n as o,r as s,w as c,y as l}from"./ref-B6CIXciv.mjs";function u(n){let r,a;typeof n==`function`?(r=n,a=()=>{throw Error(`计算属性是只读的`)}):(r=n.get,a=n.set);let o,c=!0,l,u={get value(){return c&&(o=l(),c=!1),e(u,`value`),o},set value(e){a(e)}};return s(u),l=t(r,{lazy:!0,scheduler:()=>{c||(c=!0,i(u,`value`))}}),u}function d(e,t,n,r){return function(...i){let a=[],o=[],s=e=>a.push(e),c=e=>o.push(e);r.forEach(n=>{try{n({name:t,store:e,args:i,after:s,onError:c})}catch(e){}});let l;try{l=n.apply(e,i)}catch(e){throw o.forEach(t=>t(e)),e}let u=e=>(a.forEach(t=>t(e)),e);return l&&typeof l.then==`function`?l.then(e=>u(e),e=>(o.forEach(t=>t(e)),Promise.reject(e))):u(l)}}function f(e){return typeof e==`object`&&!!e}function p(e){if(!f(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function m(e,t){for(let n in t)e[n]=t[n]}function h(e){if(Array.isArray(e))return e.map(e=>h(e));if(p(e)){let t={};for(let n in e)t[n]=h(e[n]);return t}return e}function g(e,t){if(Array.isArray(e)&&Array.isArray(t)){e.length=0,t.forEach((t,n)=>{e[n]=h(t)});return}if(f(t)){for(let n in e)n in t||delete e[n];for(let n in t){let r=t[n],i=e[n];if(Array.isArray(r)&&Array.isArray(i)){g(i,r);continue}if(p(r)&&p(i)){g(i,r);continue}e[n]=h(r)}}}function _(e,t,n,r){let i={$id:e};Object.defineProperty(i,`$state`,{get(){return t},set(e){t&&f(e)&&(m(t,e),n(`patch object`))}}),i.$patch=e=>{if(!t){typeof e==`function`?(e(i),n(`patch function`)):(m(i,e),n(`patch object`));return}typeof e==`function`?(e(t),n(`patch function`)):(m(t,e),n(`patch object`))},r&&(i.$reset=()=>r());let a=new Set;i.$subscribe=(e,t)=>(a.add(e),()=>a.delete(e));let o=new Set;return i.$onAction=e=>(o.add(e),()=>o.delete(e)),{api:i,subs:a,actionSubs:o}}const v=Object.prototype.hasOwnProperty;function y(e){return o(e)&&v.call(e,`dep`)}function b(e){return a(e)?h(l(e)):y(e)?h(e.value):h(e)}function x(e,t,n){let r=!1;return i=>{if(!r){r=!0;try{let r=n();t.forEach(t=>{try{t({type:i,storeId:e},r)}catch(e){}})}finally{r=!1}}}}function S(e,i,a){var o,s,c;let f=i.state?i.state():{},p=n(f),m=h(l(f)),v=()=>{},y=_(e,p,e=>v(e),()=>{g(p,m),v(`patch object`)}),b=!1,S=y.api.$patch;if(y.api.$patch=e=>{b=!0;try{S(e)}finally{b=!1}},typeof y.api.$reset==`function`){let e=y.api.$reset;y.api.$reset=()=>{b=!0;try{e()}finally{b=!1}}}v=x(e,y.subs,()=>p);let C={};for(let e of Object.getOwnPropertyNames(y.api)){let t=Object.getOwnPropertyDescriptor(y.api,e);t&&(e===`$state`?Object.defineProperty(C,e,{enumerable:t.enumerable,configurable:t.configurable,get(){return y.api.$state},set(e){b=!0;try{y.api.$state=e}finally{b=!1}}}):Object.defineProperty(C,e,t))}let w=(o=i.getters)==null?{}:o;Object.keys(w).forEach(e=>{let t=w[e];if(typeof t==`function`){let n=u(()=>t.call(C,p));Object.defineProperty(C,e,{enumerable:!0,configurable:!0,get(){return n.value}})}});let T=(s=i.actions)==null?{}:s;Object.keys(T).forEach(e=>{let t=T[e];typeof t==`function`&&(C[e]=d(C,e,(...e)=>t.apply(C,e),y.actionSubs))}),Object.keys(p).forEach(e=>{Object.defineProperty(C,e,{enumerable:!0,configurable:!0,get(){return p[e]},set(t){p[e]=t}})});let E=!1,D=!1;t(()=>{if(r(p),!E){E=!0;return}if(!(b||D)){D=!0;try{v(`direct`)}finally{D=!1}}});let O=(c=a==null?void 0:a._plugins)==null?[]:c;for(let e of O)try{e({store:C})}catch(e){}return C}function C(e,n,i){var s;let c=n(),l=()=>{},u=new Map;Object.keys(c).forEach(e=>{let t=c[e];typeof t==`function`||e.startsWith(`$`)||o(t)&&!y(t)||u.set(e,b(t))});let f={},p=_(e,void 0,e=>l(e),()=>{u.forEach((e,t)=>{let n=f[t];if(y(n)){n.value=h(e);return}if(a(n)){g(n,e);return}o(n)||(f[t]=h(e))}),l(`patch object`)}),m=!1,v=p.api.$patch;if(p.api.$patch=e=>{m=!0;try{v(e)}finally{m=!1}},typeof p.api.$reset==`function`){let e=p.api.$reset;p.api.$reset=()=>{m=!0;try{e()}finally{m=!1}}}f={...c},l=x(e,p.subs,()=>f);for(let e of Object.getOwnPropertyNames(p.api)){let t=Object.getOwnPropertyDescriptor(p.api,e);t&&(e===`$state`?Object.defineProperty(f,e,{enumerable:t.enumerable,configurable:t.configurable,get(){return p.api.$state},set(e){m=!0;try{p.api.$state=e}finally{m=!1}}}):Object.defineProperty(f,e,t))}let S=[];Object.keys(c).forEach(e=>{let t=c[e];if(typeof t==`function`&&!e.startsWith(`$`)){f[e]=d(f,e,t,p.actionSubs);return}if(y(t)){S.push(t);return}if(a(t)){S.push(t);return}if(!o(t)&&!e.startsWith(`$`)){let n=t;Object.defineProperty(f,e,{enumerable:!0,configurable:!0,get(){return n},set(e){n=e,m||l(`direct`)}})}});let C=!1;if(S.length>0){let e=!1;t(()=>{if(S.forEach(e=>{y(e)?e.value:r(e)}),!e){e=!0;return}if(!(m||C)){C=!0;try{l(`direct`)}finally{C=!1}}})}let w=(s=i==null?void 0:i._plugins)==null?[]:s;for(let e of w)try{e({store:f})}catch(e){}return f}function w(){let e={_stores:new Map,_plugins:[],install(e){},use(t){return typeof t==`function`&&e._plugins.push(t),e}};return w._instance=e,e}function T(e,t){let n,r=!1,i=w._instance;return function(){return r&&n?n:(r=!0,n=c(!0).run(()=>typeof t==`function`?C(e,t,i):S(e,t,i)),n)}}function E(e){let t={};for(let n in e){let r=e[n];if(typeof r==`function`){t[n]=r;continue}o(r)?t[n]=r:t[n]=u({get:()=>e[n],set:t=>{e[n]=t}})}return t}export{u as i,T as n,w as r,E as t};
package/dist/store.mjs CHANGED
@@ -1 +1 @@
1
- import{n as e,r as t,t as n}from"./store-B63-EIon.mjs";export{t as createStore,e as defineStore,n as storeToRefs};
1
+ import{n as e,r as t,t as n}from"./store-C-7rPMM3.mjs";export{t as createStore,e as defineStore,n as storeToRefs};
package/dist/vue-demi.mjs CHANGED
@@ -1 +1 @@
1
- import"./chunk-CbfVNrr-.mjs";import{C as e,D as t,E as n,N as r,O as i,S as a,T as o,a as s,b as c,c as l,d as u,f as d,g as f,h as p,i as m,k as h,l as g,n as _,o as v,p as y,s as b,t as x,u as S,w as C,x as w,y as T}from"./ref-Bs--7iY3.mjs";import{i as E,n as D,r as O,t as k}from"./store-B63-EIon.mjs";import{A,B as j,C as M,D as N,E as P,F,G as I,H as L,I as R,K as z,L as B,M as V,N as H,O as U,P as W,Q as G,R as K,T as q,U as J,V as Y,W as X,X as Z,Y as Q,Z as $,_ as ee,ct as te,dt as ne,et as re,g as ie,h as ae,j as oe,k as se,lt as ce,m as le,n as ue,q as de,t as fe,tt as pe,ut as me,v as he,w as ge,z as _e}from"./router-BtpVtHM4.mjs";import{$ as ve,A as ye,B as be,C as xe,Ct as Se,D as Ce,E as we,F as Te,G as Ee,H as De,I as Oe,J as ke,K as Ae,L as je,M as Me,N as Ne,O as Pe,P as Fe,Q as Ie,R as Le,S as Re,St as ze,T as Be,U as Ve,V as He,W as Ue,X as We,Y as Ge,Z as Ke,_ as qe,_t as Je,a as Ye,at as Xe,b as Ze,bt as Qe,c as $e,ct as et,d as tt,dt as nt,et as rt,f as it,ft as at,g as ot,gt as st,h as ct,ht as lt,i as ut,it as dt,j as ft,k as pt,l as mt,lt as ht,m as gt,mt as _t,n as vt,nt as yt,o as bt,ot as xt,p as St,pt as Ct,q as wt,r as Tt,rt as Et,s as Dt,st as Ot,t as kt,tt as At,u as jt,ut as Mt,v as Nt,vt as Pt,w as Ft,wt as It,x as Lt,xt as Rt,y as zt,yt as Bt,z as Vt}from"./src-BGx2SrdP.mjs";export*from"@wevu/web-apis";const Ht=!1,Ut=!0,Wt=void 0;function Gt(){}export{Wt as Vue2,c as addMutationRecorder,a as batch,Q as callHookList,Z as callHookReturn,et as callUpdateHooks,E as computed,ye as createApp,O as createStore,Ce as createWevuComponent,Pe as createWevuScopedSlotComponent,x as customRef,mt as defineAppSetup,pt as defineComponent,D as defineStore,e as effect,C as effectScope,o as endBatch,$ as getCurrentInstance,Ze as getCurrentPageStackSnapshot,n as getCurrentScope,G as getCurrentSetupContext,xt as getDeepWatchStrategy,Lt as getNavigationBarMetrics,b as getReactiveVersion,le as hasInjectionContext,ae as inject,ie as injectGlobal,Gt as install,ve as isNoSetData,te as isProxy,l as isRaw,g as isReactive,ce as isReadonly,_ as isRef,d as isShallowReactive,ze as isShallowRef,Ht as isVue2,Ut as isVue3,rt as markNoSetData,S as markRaw,vt as mergeModels,De as mountRuntimeInstance,r as nextTick,it as normalizeClass,St as normalizeStyle,ht as onActivated,ge as onAddToFavorites,q as onAttached,Mt as onBeforeMount,nt as onBeforeUnmount,at as onBeforeUpdate,Ct as onDeactivated,P as onDetached,N as onError,_t as onErrorCaptured,U as onHide,se as onLaunch,A as onLoad,oe as onMemoryWarning,lt as onMounted,V as onMoved,H as onPageNotFound,W as onPageScroll,F as onPullDownRefresh,R as onReachBottom,B as onReady,K as onResize,_e as onRouteDone,j as onSaveExitState,t as onScopeDispose,st as onServerPrefetch,Y as onShareAppMessage,L as onShareTimeline,J as onShow,X as onTabItemTap,I as onThemeChange,z as onUnhandledRejection,de as onUnload,Je as onUnmounted,Pt as onUpdated,p as prelinkReactiveTree,ee as provide,he as provideGlobal,u as reactive,me as readonly,m as ref,He as registerApp,ft as registerComponent,Me as registerPageLayoutBridge,Ne as registerRuntimeLayoutHosts,w as removeMutationRecorder,Ke as resetWevuDefaults,Fe as resolveLayoutBridge,Te as resolveLayoutHost,Ae as resolveRuntimePageLayoutName,Ee as runSetupFunction,re as setCurrentInstance,pe as setCurrentSetupContext,Ot as setDeepWatchStrategy,M as setGlobalProvidedValue,wt as setPageLayout,Ve as setRuntimeSetDataVisibility,Ie as setWevuDefaults,y as shallowReactive,ne as shallowReadonly,Se as shallowRef,i as startBatch,h as stop,k as storeToRefs,ke as syncRuntimePageLayoutState,Ge as syncRuntimePageLayoutStateFromRuntime,Ue as teardownRuntimeInstance,T as toRaw,Qe as toRef,Rt as toRefs,s as toValue,f as touchReactive,Bt as traverse,It as triggerRef,v as unref,Oe as unregisterPageLayoutBridge,je as unregisterRuntimeLayoutHosts,jt as use,Nt as useAsyncPullDownRefresh,bt as useAttrs,Tt as useBindModel,gt as useBoundingClientRect,ut as useChangeModel,we as useDisposables,Be as useElementIntersectionObserver,Ft as useIntersectionObserver,Le as useLayoutBridge,Vt as useLayoutHosts,Ye as useModel,Dt as useNativeInstance,fe as useNativePageRouter,ue as useNativeRouter,Re as useNavigationBarMetrics,We as usePageLayout,zt as usePageScrollThrottle,xe as usePageStack,ct as useScrollOffset,ot as useSelectorFields,qe as useSelectorQuery,$e as useSlots,kt as useTemplateRef,tt as useUpdatePerformanceListener,At as version,be as waitForLayoutHost,yt as watch,Et as watchEffect,dt as watchPostEffect,Xe as watchSyncEffect};
1
+ import"./chunk-CbfVNrr-.mjs";import{C as e,D as t,E as n,N as r,O as i,S as a,T as o,a as s,b as c,c as l,d as u,f as d,g as f,h as p,i as m,k as h,l as g,n as _,o as v,p as y,s as b,t as x,u as S,w as C,x as w,y as T}from"./ref-B6CIXciv.mjs";import{i as E,n as D,r as O,t as k}from"./store-C-7rPMM3.mjs";import{$ as A,A as j,B as M,F as N,G as P,H as F,I,J as L,K as R,L as z,M as B,N as V,P as H,Q as U,R as W,U as G,V as K,W as q,X as J,Y,Z as X,_ as Z,_t as Q,at as $,ct as ee,et as te,g as ne,gt as re,h as ie,ht as ae,it as oe,j as se,m as ce,n as le,nt as ue,q as de,rt as fe,st as pe,t as me,v as he,vt as ge,z as _e}from"./router-Cm3FUnTw.mjs";import{$ as ve,A as ye,B as be,C as xe,Ct as Se,D as Ce,E as we,F as Te,G as Ee,H as De,I as Oe,J as ke,K as Ae,L as je,M as Me,N as Ne,O as Pe,P as Fe,Q as Ie,R as Le,S as Re,St as ze,T as Be,U as Ve,V as He,W as Ue,X as We,Y as Ge,Z as Ke,_ as qe,_t as Je,a as Ye,at as Xe,b as Ze,bt as Qe,c as $e,ct as et,d as tt,dt as nt,et as rt,f as it,ft as at,g as ot,gt as st,h as ct,ht as lt,i as ut,it as dt,j as ft,k as pt,l as mt,lt as ht,m as gt,mt as _t,n as vt,nt as yt,o as bt,ot as xt,p as St,pt as Ct,q as wt,r as Tt,rt as Et,s as Dt,st as Ot,t as kt,tt as At,u as jt,ut as Mt,v as Nt,vt as Pt,w as Ft,wt as It,x as Lt,xt as Rt,y as zt,yt as Bt,z as Vt}from"./src-BF-e4_0K.mjs";export*from"@wevu/web-apis";const Ht=!1,Ut=!0,Wt=void 0;function Gt(){}export{Wt as Vue2,c as addMutationRecorder,a as batch,ue as callHookList,fe as callHookReturn,et as callUpdateHooks,E as computed,ye as createApp,O as createStore,Ce as createWevuComponent,Pe as createWevuScopedSlotComponent,x as customRef,mt as defineAppSetup,pt as defineComponent,D as defineStore,e as effect,C as effectScope,o as endBatch,oe as getCurrentInstance,Ze as getCurrentPageStackSnapshot,n as getCurrentScope,$ as getCurrentSetupContext,xt as getDeepWatchStrategy,Lt as getNavigationBarMetrics,b as getReactiveVersion,ce as hasInjectionContext,ie as inject,ne as injectGlobal,Gt as install,ve as isNoSetData,ae as isProxy,l as isRaw,g as isReactive,re as isReadonly,_ as isRef,d as isShallowReactive,ze as isShallowRef,Ht as isVue2,Ut as isVue3,rt as markNoSetData,S as markRaw,vt as mergeModels,De as mountRuntimeInstance,r as nextTick,it as normalizeClass,St as normalizeStyle,ht as onActivated,se as onAddToFavorites,B as onAttached,Mt as onBeforeMount,nt as onBeforeUnmount,at as onBeforeUpdate,Ct as onDeactivated,V as onDetached,H as onError,_t as onErrorCaptured,N as onHide,I as onLaunch,z as onLoad,W as onMemoryWarning,lt as onMounted,_e as onMoved,M as onPageNotFound,K as onPageScroll,F as onPullDownRefresh,G as onReachBottom,q as onReady,P as onResize,R as onRouteDone,de as onSaveExitState,t as onScopeDispose,st as onServerPrefetch,L as onShareAppMessage,Y as onShareTimeline,J as onShow,X as onTabItemTap,U as onThemeChange,A as onUnhandledRejection,te as onUnload,Je as onUnmounted,Pt as onUpdated,p as prelinkReactiveTree,Z as provide,he as provideGlobal,u as reactive,Q as readonly,m as ref,He as registerApp,ft as registerComponent,Me as registerPageLayoutBridge,Ne as registerRuntimeLayoutHosts,w as removeMutationRecorder,Ke as resetWevuDefaults,Fe as resolveLayoutBridge,Te as resolveLayoutHost,Ae as resolveRuntimePageLayoutName,Ee as runSetupFunction,pe as setCurrentInstance,ee as setCurrentSetupContext,Ot as setDeepWatchStrategy,j as setGlobalProvidedValue,wt as setPageLayout,Ve as setRuntimeSetDataVisibility,Ie as setWevuDefaults,y as shallowReactive,ge as shallowReadonly,Se as shallowRef,i as startBatch,h as stop,k as storeToRefs,ke as syncRuntimePageLayoutState,Ge as syncRuntimePageLayoutStateFromRuntime,Ue as teardownRuntimeInstance,T as toRaw,Qe as toRef,Rt as toRefs,s as toValue,f as touchReactive,Bt as traverse,It as triggerRef,v as unref,Oe as unregisterPageLayoutBridge,je as unregisterRuntimeLayoutHosts,jt as use,Nt as useAsyncPullDownRefresh,bt as useAttrs,Tt as useBindModel,gt as useBoundingClientRect,ut as useChangeModel,we as useDisposables,Be as useElementIntersectionObserver,Ft as useIntersectionObserver,Le as useLayoutBridge,Vt as useLayoutHosts,Ye as useModel,Dt as useNativeInstance,me as useNativePageRouter,le as useNativeRouter,Re as useNavigationBarMetrics,We as usePageLayout,zt as usePageScrollThrottle,xe as usePageStack,ct as useScrollOffset,ot as useSelectorFields,qe as useSelectorQuery,$e as useSlots,kt as useTemplateRef,tt as useUpdatePerformanceListener,At as version,be as waitForLayoutHost,yt as watch,Et as watchEffect,dt as watchPostEffect,Xe as watchSyncEffect};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "wevu",
3
3
  "type": "module",
4
- "version": "6.16.4",
4
+ "version": "6.16.6",
5
5
  "description": "Vue 3 风格的小程序运行时,包含响应式、diff+setData 与轻量状态管理",
6
6
  "author": "ice breaker <1324318532@qq.com>",
7
7
  "license": "MIT",
@@ -180,12 +180,12 @@
180
180
  "miniprogram-api-typings": "^5.0.0"
181
181
  },
182
182
  "dependencies": {
183
- "vue": "^3.5.33",
183
+ "vue": "^3.5.34",
184
184
  "@weapp-core/constants": "^0.1.4",
185
185
  "@weapp-core/shared": "3.0.4",
186
- "@wevu/api": "0.2.6",
187
- "@wevu/compiler": "6.16.4",
188
- "@wevu/web-apis": "1.2.10"
186
+ "@wevu/api": "0.2.8",
187
+ "@wevu/compiler": "6.16.6",
188
+ "@wevu/web-apis": "1.2.12"
189
189
  },
190
190
  "scripts": {
191
191
  "dev": "tsdown -w",
@@ -1 +0,0 @@
1
- {"version":3,"file":"ref-BTTXccLL.mjs","names":[],"sources":["../../src/scheduler.ts","../../src/reactivity/core.ts","../../src/reactivity/reactive/mutation.ts","../../src/reactivity/reactive/patchState.ts","../../src/reactivity/reactive/shared.ts","../../src/reactivity/reactive/state.ts","../../src/reactivity/reactive/patch.ts","../../src/reactivity/reactive/shallow.ts","../../src/reactivity/reactive.ts","../../src/reactivity/ref.ts"],"sourcesContent":["const resolvedPromise: Promise<void> = Promise.resolve()\n\ntype Job = () => void\n\nconst jobQueue = new Set<Job>()\nlet isFlushing = false\nlet isFlushPending = false\n\nfunction flushJobs() {\n isFlushPending = false\n isFlushing = true\n try {\n jobQueue.forEach(job => job())\n }\n finally {\n jobQueue.clear()\n isFlushing = false\n }\n}\n\nexport function queueJob(job: Job) {\n jobQueue.add(job)\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true\n resolvedPromise.then(flushJobs)\n }\n}\n\nexport function nextTick<T>(fn?: () => T): Promise<T> {\n return fn ? resolvedPromise.then(fn) : (resolvedPromise as unknown as Promise<T>)\n}\n","import { queueJob } from '../scheduler'\n\nexport type EffectScheduler = () => void\n\nexport type Dep = Set<ReactiveEffect>\n\nexport interface ReactiveEffect<T = any> {\n (): T\n deps: Dep[]\n scheduler?: EffectScheduler\n active: boolean\n _running: boolean\n _fn: () => T\n onStop?: () => void\n}\n\nconst targetMap = new WeakMap<object, Map<PropertyKey, Dep>>()\n\nlet activeEffect: ReactiveEffect | null = null\nconst effectStack: ReactiveEffect[] = []\n\nlet batchDepth = 0\nconst batchedEffects = new Set<ReactiveEffect>()\n\nexport function startBatch() {\n batchDepth++\n}\n\nfunction flushBatchedEffects() {\n while (batchedEffects.size) {\n const effects = [...batchedEffects]\n batchedEffects.clear()\n for (const ef of effects) {\n ef()\n }\n }\n}\n\nexport function endBatch() {\n if (batchDepth === 0) {\n return\n }\n batchDepth--\n if (batchDepth === 0) {\n flushBatchedEffects()\n }\n}\n\nexport function batch<T>(fn: () => T): T {\n startBatch()\n try {\n return fn()\n }\n finally {\n endBatch()\n }\n}\n\nfunction cleanupEffect(effect: ReactiveEffect) {\n const { deps } = effect\n for (let i = 0; i < deps.length; i++) {\n deps[i].delete(effect)\n }\n deps.length = 0\n}\n\nexport function stop(runner: ReactiveEffect) {\n if (!runner.active) {\n return\n }\n runner.active = false\n cleanupEffect(runner)\n runner.onStop?.()\n}\n\nexport interface EffectScope {\n active: boolean\n effects: ReactiveEffect[]\n cleanups: (() => void)[]\n run: <T>(fn: () => T) => T | undefined\n stop: () => void\n}\n\nlet activeEffectScope: EffectScopeImpl | undefined\n\nclass EffectScopeImpl implements EffectScope {\n active = true\n effects: ReactiveEffect[] = []\n cleanups: (() => void)[] = []\n private parent: EffectScopeImpl | undefined\n private scopes: EffectScopeImpl[] | undefined\n\n constructor(private detached = false) {\n if (!detached && activeEffectScope) {\n this.parent = activeEffectScope\n ;(activeEffectScope.scopes ||= []).push(this)\n }\n }\n\n run<T>(fn: () => T): T | undefined {\n if (!this.active) {\n return\n }\n const prev = activeEffectScope\n // eslint-disable-next-line ts/no-this-alias -- 允许 this 临时别名\n activeEffectScope = this\n try {\n return fn()\n }\n finally {\n activeEffectScope = prev\n }\n }\n\n stop(): void {\n if (!this.active) {\n return\n }\n this.active = false\n\n for (const effect of this.effects) {\n stop(effect)\n }\n this.effects.length = 0\n\n for (const cleanup of this.cleanups) {\n cleanup()\n }\n this.cleanups.length = 0\n\n if (this.scopes) {\n for (const scope of this.scopes) {\n scope.stop()\n }\n this.scopes.length = 0\n }\n\n if (this.parent?.scopes) {\n const index = this.parent.scopes.indexOf(this)\n if (index >= 0) {\n this.parent.scopes.splice(index, 1)\n }\n }\n this.parent = undefined\n }\n}\n\nexport function effectScope(detached = false): EffectScope {\n return new EffectScopeImpl(detached)\n}\n\nexport function getCurrentScope(): EffectScope | undefined {\n return activeEffectScope\n}\n\nexport function onScopeDispose(fn: () => void): void {\n if (activeEffectScope?.active) {\n activeEffectScope.cleanups.push(fn)\n }\n}\n\nfunction recordEffectScope(effect: ReactiveEffect) {\n if (activeEffectScope?.active) {\n activeEffectScope.effects.push(effect)\n }\n}\n\nexport interface EffectOptions {\n scheduler?: EffectScheduler\n lazy?: boolean\n onStop?: () => void\n}\n\nexport function createReactiveEffect<T>(fn: () => T, options: EffectOptions = {}): ReactiveEffect<T> {\n const effect = function reactiveEffect() {\n if (!effect.active) {\n return fn()\n }\n if (effect._running) {\n return fn()\n }\n cleanupEffect(effect)\n try {\n effect._running = true\n effectStack.push(effect)\n activeEffect = effect\n return fn()\n }\n finally {\n effectStack.pop()\n activeEffect = effectStack.at(-1) ?? null\n effect._running = false\n }\n } as ReactiveEffect<T>\n\n effect.deps = []\n effect.scheduler = options.scheduler\n effect.onStop = options.onStop\n effect.active = true\n effect._running = false\n effect._fn = fn\n\n return effect\n}\n\nexport function effect<T = any>(fn: () => T, options: EffectOptions = {}): ReactiveEffect<T> {\n const _effect = createReactiveEffect(fn, options)\n recordEffectScope(_effect)\n if (!options.lazy) {\n _effect()\n }\n return _effect\n}\n\nexport function track(target: object, key: PropertyKey) {\n if (!activeEffect) {\n return\n }\n let depsMap = targetMap.get(target)\n if (!depsMap) {\n depsMap = new Map()\n targetMap.set(target, depsMap)\n }\n let dep = depsMap.get(key)\n if (!dep) {\n dep = new Set()\n depsMap.set(key, dep)\n }\n if (!dep.has(activeEffect)) {\n dep.add(activeEffect)\n activeEffect.deps.push(dep)\n }\n}\n\nfunction scheduleEffect(ef: ReactiveEffect) {\n if (ef.scheduler) {\n ef.scheduler()\n return\n }\n if (batchDepth > 0) {\n batchedEffects.add(ef)\n return\n }\n ef()\n}\n\nexport function trigger(target: object, key: PropertyKey) {\n const depsMap = targetMap.get(target)\n if (!depsMap) {\n return\n }\n const effects = depsMap.get(key)\n if (!effects) {\n return\n }\n const effectsToRun = new Set<ReactiveEffect>()\n effects.forEach((ef) => {\n if (ef !== activeEffect) {\n effectsToRun.add(ef)\n }\n })\n effectsToRun.forEach(scheduleEffect)\n}\n\nexport function trackEffects(dep: Dep) {\n if (!activeEffect) {\n return\n }\n if (!dep.has(activeEffect)) {\n dep.add(activeEffect)\n activeEffect.deps.push(dep)\n }\n}\n\nexport function triggerEffects(dep: Dep) {\n // 迭代时复制依赖集合,避免遍历过程中被重新加入导致死循环。\n const effectsToRun = new Set(dep)\n effectsToRun.forEach(scheduleEffect)\n}\n\n// 导出队列调度工具,供 watch/watchEffect 等高层 API 复用同一批处理逻辑\nexport { queueJob }\n","export type MutationOp = 'set' | 'delete'\nexport type MutationKind = 'property' | 'array'\nexport interface MutationRecord {\n root: object\n kind: MutationKind\n op: MutationOp\n /**\n * 点路径(例如 `a.b.c`);当路径不可靠时为 undefined。\n */\n path?: string\n /**\n * 当路径不唯一时回退使用的顶层键列表。\n */\n fallbackTopKeys?: string[]\n}\n\ntype MutationRecorder = (record: MutationRecord) => void\n\nexport const mutationRecorders = new Set<MutationRecorder>()\n\nexport function addMutationRecorder(recorder: MutationRecorder) {\n mutationRecorders.add(recorder)\n}\n\nexport function removeMutationRecorder(recorder: MutationRecorder) {\n mutationRecorders.delete(recorder)\n}\n","import { mutationRecorders } from './mutation'\n\nexport const rawRootMap = new WeakMap<object, object>()\nexport const rawVersionMap = new WeakMap<object, number>()\nexport const rawParentMap = new WeakMap<object, { parent: object, key: PropertyKey }>()\nexport const rawParentsMap = new WeakMap<object, Map<object, Set<PropertyKey>>>()\nexport const rawMultiParentSet = new WeakSet<object>()\nexport const rawPathMap = new WeakMap<object, string>()\nexport const rootPatchNodesMap = new WeakMap<object, Set<object>>()\n\nfunction getRootPatchNodes(root: object) {\n let nodes = rootPatchNodesMap.get(root)\n if (!nodes) {\n nodes = new Set()\n rootPatchNodesMap.set(root, nodes)\n }\n return nodes\n}\n\nexport function indexPatchNode(root: object, node: object) {\n getRootPatchNodes(root).add(node)\n}\n\nexport function bumpRawVersion(target: object) {\n rawVersionMap.set(target, (rawVersionMap.get(target) ?? 0) + 1)\n}\n\nexport function getRawVersion(target: object) {\n return rawVersionMap.get(target) ?? 0\n}\n\nexport function bumpAncestorVersions(target: object) {\n const visited = new Set<object>()\n const stack: object[] = [target]\n for (let i = 0; i < 2000 && stack.length; i++) {\n const current = stack.pop()!\n const parents = rawParentsMap.get(current)\n if (!parents) {\n continue\n }\n for (const parent of parents.keys()) {\n if (visited.has(parent)) {\n continue\n }\n visited.add(parent)\n bumpRawVersion(parent)\n stack.push(parent)\n }\n }\n}\n\nfunction refreshPathUniqueness(child: object) {\n const parents = rawParentsMap.get(child)\n if (!parents) {\n rawMultiParentSet.delete(child)\n rawParentMap.delete(child)\n return\n }\n\n let uniqueParent: object | undefined\n let uniqueKey: PropertyKey | undefined\n let total = 0\n for (const [parent, keys] of parents) {\n for (const k of keys) {\n total += 1\n if (total > 1) {\n break\n }\n uniqueParent = parent\n uniqueKey = k\n }\n if (total > 1) {\n break\n }\n }\n\n if (total === 1 && uniqueParent && uniqueKey) {\n rawMultiParentSet.delete(child)\n rawParentMap.set(child, { parent: uniqueParent, key: uniqueKey })\n return\n }\n\n rawMultiParentSet.add(child)\n rawParentMap.delete(child)\n}\n\nexport function recordParentLink(child: object, parent: object, key: PropertyKey) {\n if (typeof key !== 'string') {\n rawMultiParentSet.add(child)\n rawParentMap.delete(child)\n return\n }\n\n if (mutationRecorders.size) {\n const root = rawRootMap.get(parent) ?? parent\n indexPatchNode(root, parent)\n indexPatchNode(root, child)\n }\n\n let parents = rawParentsMap.get(child)\n if (!parents) {\n parents = new Map()\n rawParentsMap.set(child, parents)\n }\n\n let keys = parents.get(parent)\n if (!keys) {\n keys = new Set()\n parents.set(parent, keys)\n }\n\n keys.add(key)\n refreshPathUniqueness(child)\n}\n\nexport function removeParentLink(child: object, parent: object, key: PropertyKey) {\n const parents = rawParentsMap.get(child)\n if (!parents) {\n return\n }\n const keys = parents.get(parent)\n if (!keys) {\n return\n }\n keys.delete(key)\n if (!keys.size) {\n parents.delete(parent)\n }\n if (!parents.size) {\n rawParentsMap.delete(child)\n }\n refreshPathUniqueness(child)\n}\n\nexport function resolvePathToTarget(root: object, target: object): string[] | undefined {\n if (target === root) {\n return []\n }\n if (rawMultiParentSet.has(target)) {\n return undefined\n }\n const segments: string[] = []\n let current: object = target\n for (let i = 0; i < 2000; i++) {\n if (current === root) {\n return segments.reverse()\n }\n if (rawMultiParentSet.has(current)) {\n return undefined\n }\n const info = rawParentMap.get(current)\n if (!info) {\n return undefined\n }\n if (typeof info.key !== 'string') {\n return undefined\n }\n segments.push(info.key)\n current = info.parent\n }\n return undefined\n}\n","export enum ReactiveFlags {\n IS_REACTIVE = '__r_isReactive',\n IS_READONLY = '__r_isReadonly',\n RAW = '__r_raw',\n SKIP = '__r_skip', // 标记此对象无需转换为响应式(用于 markRaw)\n}\n\nexport enum TargetType {\n INVALID = 0,\n COMMON = 1,\n}\n\nexport function isObject(value: unknown): value is object {\n return typeof value === 'object' && value !== null\n}\n\nexport function toRawType(value: unknown) {\n return Object.prototype.toString.call(value).slice(8, -1)\n}\n\nfunction targetTypeMap(rawType: string) {\n switch (rawType) {\n case 'Object':\n case 'Array':\n return TargetType.COMMON\n case 'Map':\n case 'Set':\n case 'WeakMap':\n case 'WeakSet':\n // TODO: 后续如需支持集合响应式,需要引入专门的 collection handlers。\n return TargetType.INVALID\n default:\n return TargetType.INVALID\n }\n}\n\nexport function getTargetType(value: object) {\n return (value as any)[ReactiveFlags.SKIP]\n ? TargetType.INVALID\n : targetTypeMap(toRawType(value))\n}\n\n// 版本键(VERSION_KEY)表示“任意字段发生变化”,用于订阅整体版本避免深度遍历跟踪\nexport const VERSION_KEY: unique symbol = Symbol('wevu.version')\n\nexport function isArrayIndexKey(key: string) {\n if (!key) {\n return false\n }\n const code0 = key.charCodeAt(0)\n if (code0 < 48 || code0 > 57) {\n return false\n }\n const n = Number(key)\n return Number.isInteger(n) && n >= 0 && String(n) === key\n}\n\nexport function toRaw<T>(observed: T): T {\n return ((observed as any)?.[ReactiveFlags.RAW] ?? observed) as T\n}\n","export const reactiveMap = new WeakMap<object, any>()\nexport const rawMap = new WeakMap<any, object>()\nexport const shallowReactiveMap = new WeakMap<object, any>()\n","import { track } from '../core'\nimport {\n indexPatchNode,\n rawMultiParentSet,\n rawParentMap,\n rawParentsMap,\n rawPathMap,\n rawRootMap,\n rawVersionMap,\n recordParentLink,\n rootPatchNodesMap,\n} from './patchState'\nimport { isObject, ReactiveFlags, toRaw, VERSION_KEY } from './shared'\n\nexport interface PrelinkReactiveTreeOptions {\n shouldIncludeTopKey?: (key: string) => boolean\n maxDepth?: number\n maxKeys?: number\n}\n\n/**\n * 预链接响应式树结构,供运行时差量路径追踪使用。\n * @internal\n */\nexport function prelinkReactiveTree(root: object, options?: PrelinkReactiveTreeOptions) {\n const rootRaw = toRaw(root as any) as object\n rawPathMap.set(rootRaw, '')\n indexPatchNode(rootRaw, rootRaw)\n\n const shouldIncludeTopKey = options?.shouldIncludeTopKey\n const maxDepth = typeof options?.maxDepth === 'number' ? Math.max(0, Math.floor(options!.maxDepth!)) : Number.POSITIVE_INFINITY\n const maxKeys = typeof options?.maxKeys === 'number' ? Math.max(0, Math.floor(options!.maxKeys!)) : Number.POSITIVE_INFINITY\n\n const visited = new WeakSet<object>()\n const stack: Array<{ current: object, path: string, depth: number }> = [{ current: rootRaw, path: '', depth: 0 }]\n let indexed = 0\n\n while (stack.length) {\n const node = stack.pop()!\n if (visited.has(node.current)) {\n continue\n }\n visited.add(node.current)\n rawPathMap.set(node.current, node.path)\n indexPatchNode(rootRaw, node.current)\n indexed += 1\n if (indexed >= maxKeys) {\n continue\n }\n\n if (node.depth >= maxDepth) {\n continue\n }\n if (Array.isArray(node.current)) {\n // 数组不预先展开子元素:大列表场景避免 O(n) 初始化开销。\n continue\n }\n\n const entries = Object.entries(node.current as any)\n for (const [key, value] of entries) {\n if (node.path === '' && shouldIncludeTopKey && !shouldIncludeTopKey(key)) {\n continue\n }\n if (!isObject(value)) {\n continue\n }\n if ((value as any)[ReactiveFlags.SKIP]) {\n continue\n }\n const childRaw = toRaw(value as any) as object\n if (!rawRootMap.has(childRaw)) {\n rawRootMap.set(childRaw, rootRaw)\n }\n recordParentLink(childRaw, node.current, key)\n if (!rawMultiParentSet.has(childRaw)) {\n const childPath = node.path ? `${node.path}.${key}` : key\n rawPathMap.set(childRaw, childPath)\n }\n indexPatchNode(rootRaw, childRaw)\n stack.push({ current: childRaw, path: node.path ? `${node.path}.${key}` : key, depth: node.depth + 1 })\n }\n }\n}\n\n/**\n * 清理预链接阶段建立的路径与父子索引。\n * @internal\n */\nexport function clearPatchIndices(root: object) {\n const rootRaw = toRaw(root as any) as object\n const nodes = rootPatchNodesMap.get(rootRaw)\n if (!nodes) {\n rawPathMap.delete(rootRaw)\n return\n }\n\n for (const node of nodes) {\n rawParentMap.delete(node)\n rawParentsMap.delete(node)\n rawPathMap.delete(node)\n rawMultiParentSet.delete(node)\n rawRootMap.delete(node)\n rawVersionMap.delete(node)\n }\n\n rootPatchNodesMap.delete(rootRaw)\n}\n\n/**\n * 让 effect 订阅整个对象的“版本号”,无需深度遍历即可对任何字段变化做出响应。\n * @internal\n */\nexport function touchReactive(target: object) {\n const raw = toRaw(target as any) as object\n track(raw, VERSION_KEY)\n}\n","import { track, trigger } from '../core'\nimport { bumpRawVersion, rawVersionMap } from './patchState'\nimport { getTargetType, isObject, ReactiveFlags, TargetType, toRaw, VERSION_KEY } from './shared'\nimport { rawMap, shallowReactiveMap } from './state'\n\nconst shallowHandlers: ProxyHandler<any> = {\n get(target, key, receiver) {\n if (key === ReactiveFlags.IS_REACTIVE) {\n return true\n }\n if (key === ReactiveFlags.RAW) {\n return target\n }\n const res = Reflect.get(target, key, receiver)\n track(target, key)\n // 浅层模式:不对嵌套对象做自动响应式转换\n return res\n },\n set(target, key, value, receiver) {\n const oldValue = Reflect.get(target, key, receiver)\n const result = Reflect.set(target, key, value, receiver)\n if (!Object.is(oldValue, value)) {\n trigger(target, key)\n // 浅层同样维护通用版本号\n trigger(target, VERSION_KEY)\n bumpRawVersion(target)\n }\n return result\n },\n deleteProperty(target, key) {\n const hadKey = Object.hasOwn(target, key)\n const result = Reflect.deleteProperty(target, key)\n if (hadKey && result) {\n trigger(target, key)\n // 删除时也同步通用版本号\n trigger(target, VERSION_KEY)\n bumpRawVersion(target)\n }\n return result\n },\n ownKeys(target) {\n track(target, Symbol.iterator)\n // 遍历时订阅通用版本号\n track(target, VERSION_KEY)\n return Reflect.ownKeys(target)\n },\n}\n\n/**\n * 创建一个浅层响应式代理:仅跟踪第一层属性变更,不深度递归嵌套对象。\n *\n * @param target 待转换的对象\n * @returns 浅层响应式代理\n *\n * @example\n * ```ts\n * const state = shallowReactive({ nested: { count: 0 } })\n *\n * state.nested.count++ // 不会触发 effect(嵌套对象未深度代理)\n * state.nested = { count: 1 } // 会触发 effect(顶层属性变更)\n * ```\n */\nexport function shallowReactive<T extends object>(target: T): T {\n if (!isObject(target)) {\n return target\n }\n if ((target as any)[ReactiveFlags.IS_REACTIVE]) {\n return target\n }\n const existingProxy = shallowReactiveMap.get(target)\n if (existingProxy) {\n return existingProxy\n }\n if (getTargetType(target) === TargetType.INVALID) {\n return target\n }\n const proxy = new Proxy(target, shallowHandlers)\n shallowReactiveMap.set(target, proxy)\n rawMap.set(proxy, target)\n if (!rawVersionMap.has(target)) {\n rawVersionMap.set(target, 0)\n }\n // 浅层响应式不初始化根映射,避免误导深度版本追踪\n return proxy\n}\n\n/**\n * 判断一个值是否为 shallowReactive 创建的浅层响应式对象\n */\nexport function isShallowReactive(value: unknown): boolean {\n const raw = toRaw(value as any)\n return shallowReactiveMap.has(raw)\n}\n","import type { MutationKind, MutationOp } from './reactive/mutation'\nimport { track, trigger } from './core'\nimport { mutationRecorders } from './reactive/mutation'\nimport {\n bumpAncestorVersions,\n bumpRawVersion,\n getRawVersion,\n rawMultiParentSet,\n rawParentsMap,\n rawPathMap,\n rawRootMap,\n rawVersionMap,\n recordParentLink,\n removeParentLink,\n resolvePathToTarget,\n} from './reactive/patchState'\nimport { getTargetType, isArrayIndexKey, isObject, ReactiveFlags, TargetType, toRaw, VERSION_KEY } from './reactive/shared'\nimport { rawMap, reactiveMap } from './reactive/state'\n\nexport { addMutationRecorder, removeMutationRecorder } from './reactive/mutation'\nexport type { MutationKind, MutationOp, MutationRecord } from './reactive/mutation'\nexport type { PrelinkReactiveTreeOptions } from './reactive/patch'\nexport { clearPatchIndices, prelinkReactiveTree, touchReactive } from './reactive/patch'\nexport { isShallowReactive, shallowReactive } from './reactive/shallow'\nexport { isObject, ReactiveFlags, toRaw } from './reactive/shared'\n\n/**\n * 读取响应式版本号(框架内部调试能力)。\n * @internal\n */\nexport function getReactiveVersion(target: object) {\n const raw = toRaw(target as any) as object\n return getRawVersion(raw)\n}\n\nfunction emitMutation(target: object, key: PropertyKey, op: MutationOp) {\n if (!mutationRecorders.size) {\n return\n }\n if (typeof key !== 'string') {\n return\n }\n if (key.startsWith('__r_')) {\n return\n }\n const root = rawRootMap.get(target) ?? target\n const isArray = Array.isArray(target)\n const kind: MutationKind = isArray && (key === 'length' || isArrayIndexKey(key)) ? 'array' : 'property'\n\n const baseSegments = resolvePathToTarget(root, target)\n if (!baseSegments) {\n // 路径不唯一/无法解析:尝试从父引用收集可能的顶层 key,供 patch 模式做“局部回退”。\n const fallback = new Set<string>()\n const parents = rawParentsMap.get(target)\n if (parents) {\n for (const [parent, keys] of parents) {\n const parentPath = rawPathMap.get(parent)\n const topFromParentPath = parentPath ? parentPath.split('.', 1)[0] : undefined\n const topFromResolve = !topFromParentPath\n ? (resolvePathToTarget(root, parent)?.[0] as string | undefined)\n : undefined\n for (const k of keys) {\n if (typeof k !== 'string') {\n continue\n }\n fallback.add(topFromParentPath ?? topFromResolve ?? k)\n }\n }\n }\n else {\n // 若目标就是 root 的直接子属性(未记录 parent link),仍可用 key 作为顶层回退\n fallback.add(key)\n }\n for (const recorder of mutationRecorders) {\n recorder({ root, kind, op, path: undefined, fallbackTopKeys: fallback.size ? [...fallback] : undefined })\n }\n return\n }\n\n // 若目标位于数组内部(例如 arr[0].x),直接回退到数组本身的路径,保持“数组整体替换”的策略。\n const arrayIndexPos = baseSegments.findIndex(seg => isArrayIndexKey(seg))\n if (arrayIndexPos !== -1) {\n const arrayPath = baseSegments.slice(0, arrayIndexPos).join('.')\n const path = arrayPath || undefined\n for (const recorder of mutationRecorders) {\n recorder({ root, kind: 'array', op, path })\n }\n return\n }\n\n const basePath = baseSegments.length ? baseSegments.join('.') : ''\n const path = kind === 'array' ? (basePath || undefined) : (basePath ? `${basePath}.${key}` : (key as string))\n\n for (const recorder of mutationRecorders) {\n recorder({\n root,\n kind,\n op,\n path,\n })\n }\n}\n\nconst mutableHandlers: ProxyHandler<any> = {\n get(target, key, receiver) {\n if (key === ReactiveFlags.IS_REACTIVE) {\n return true\n }\n if (key === ReactiveFlags.RAW) {\n return target\n }\n const res = Reflect.get(target, key, receiver)\n track(target, key)\n if (isObject(res)) {\n // 检查返回值是否被 markRaw 标记为跳过响应式\n if ((res as any)[ReactiveFlags.SKIP]) {\n return res\n }\n // 确保子对象的根引用与当前目标一致,便于版本号级联\n const parentRoot = rawRootMap.get(target) ?? target\n const childRaw = ((res as any)?.[ReactiveFlags.RAW] ?? res) as object\n if (!rawRootMap.has(childRaw)) {\n rawRootMap.set(childRaw, parentRoot)\n }\n recordParentLink(childRaw, target, key)\n const parentPath = rawPathMap.get(target)\n if (mutationRecorders.size && typeof key === 'string' && parentPath != null && !rawMultiParentSet.has(childRaw)) {\n const nextPath = parentPath ? `${parentPath}.${key}` : key\n rawPathMap.set(childRaw, nextPath)\n }\n // eslint-disable-next-line ts/no-use-before-define -- 避免递归调用的顺序警告\n return reactive(res)\n }\n return res\n },\n set(target, key, value, receiver) {\n const isArr = Array.isArray(target)\n const oldLength = isArr ? target.length : 0\n const oldValue = Reflect.get(target, key, receiver)\n const result = Reflect.set(target, key, value, receiver)\n if (!Object.is(oldValue, value)) {\n const oldRaw = isObject(oldValue) ? (((oldValue as any)?.[ReactiveFlags.RAW] ?? oldValue) as object) : undefined\n if (oldRaw) {\n removeParentLink(oldRaw, target, key)\n }\n if (isObject(value) && !(value as any)[ReactiveFlags.SKIP]) {\n const root = rawRootMap.get(target) ?? target\n const childRaw = ((value as any)?.[ReactiveFlags.RAW] ?? value) as object\n if (!rawRootMap.has(childRaw)) {\n rawRootMap.set(childRaw, root)\n }\n recordParentLink(childRaw, target, key)\n const parentPath = rawPathMap.get(target)\n if (mutationRecorders.size && typeof key === 'string' && parentPath != null && !rawMultiParentSet.has(childRaw)) {\n const nextPath = parentPath ? `${parentPath}.${key}` : key\n rawPathMap.set(childRaw, nextPath)\n }\n }\n trigger(target, key)\n if (isArr && typeof key === 'string' && isArrayIndexKey(key) && Number(key) >= oldLength) {\n trigger(target, 'length')\n }\n // 任意写操作都提升通用版本号\n trigger(target, VERSION_KEY)\n bumpRawVersion(target)\n bumpAncestorVersions(target)\n const root = rawRootMap.get(target)\n if (root && root !== target) {\n trigger(root, VERSION_KEY)\n bumpRawVersion(root)\n }\n emitMutation(target, key, 'set')\n }\n return result\n },\n deleteProperty(target, key) {\n const hadKey = Object.hasOwn(target, key)\n const oldValue = hadKey ? (target as any)[key] : undefined\n const result = Reflect.deleteProperty(target, key)\n if (hadKey && result) {\n const oldRaw = isObject(oldValue) ? (((oldValue as any)?.[ReactiveFlags.RAW] ?? oldValue) as object) : undefined\n if (oldRaw) {\n removeParentLink(oldRaw, target, key)\n }\n trigger(target, key)\n // 删除同样提升通用版本号\n trigger(target, VERSION_KEY)\n bumpRawVersion(target)\n bumpAncestorVersions(target)\n const root = rawRootMap.get(target)\n if (root && root !== target) {\n trigger(root, VERSION_KEY)\n bumpRawVersion(root)\n }\n emitMutation(target, key, 'delete')\n }\n return result\n },\n ownKeys(target) {\n track(target, Symbol.iterator)\n // 遍历时也订阅通用版本号,确保新增/删除键可触发\n track(target, VERSION_KEY)\n return Reflect.ownKeys(target)\n },\n}\n\nexport function reactive<T extends object>(target: T): T {\n if (!isObject(target)) {\n return target\n }\n if ((target as any)[ReactiveFlags.IS_REACTIVE]) {\n return target\n }\n const existingProxy = reactiveMap.get(target)\n if (existingProxy) {\n return existingProxy\n }\n if (getTargetType(target) === TargetType.INVALID) {\n return target\n }\n const proxy = new Proxy(target, mutableHandlers)\n reactiveMap.set(target, proxy)\n rawMap.set(proxy, target)\n if (!rawVersionMap.has(target)) {\n rawVersionMap.set(target, 0)\n }\n // 新的原始对象在被观察时初始化根节点映射\n if (!rawRootMap.has(target)) {\n rawRootMap.set(target, target)\n }\n return proxy\n}\n\nexport function isReactive(value: unknown): boolean {\n return Boolean(value && (value as any)[ReactiveFlags.IS_REACTIVE])\n}\n\nexport function convertToReactive<T>(value: T): T {\n return isObject(value) ? reactive(value as any) : value\n}\n\n// ============================================================================\n// 标记对象跳过响应式转换(markRaw)\n// ============================================================================\n\n/**\n * 标记对象为“原始”状态,后续不会被转换为响应式,返回原对象本身。\n *\n * @param value 需要标记的对象\n * @returns 带有跳过标记的原对象\n *\n * @example\n * ```ts\n * const foo = markRaw({\n * nested: {}\n * })\n *\n * const state = reactive({\n * foo\n * })\n *\n * state.foo // 不是响应式对象\n * ```\n */\nexport function markRaw<T extends object>(value: T): T {\n if (!isObject(value)) {\n return value\n }\n Object.defineProperty(value, ReactiveFlags.SKIP, {\n value: true,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n return value\n}\n\n/**\n * 判断某个值是否被标记为原始(即不应转换为响应式)。\n *\n * @param value 待检测的值\n * @returns 若含有跳过标记则返回 true\n */\nexport function isRaw(value: unknown): boolean {\n return isObject(value) && ReactiveFlags.SKIP in (value as object)\n}\n","import type { Ref as VueRef, ShallowRef as VueShallowRef } from '../vue-types'\nimport type { ComputedRef, WritableComputedRef } from './computed'\nimport type { Dep } from './core'\nimport { trackEffects, triggerEffects } from './core'\nimport { convertToReactive, markRaw } from './reactive'\n\n// 类型对齐 @vue/reactivity.Ref:\n// - 用于 Volar 模板自动解包(UnwrapRef 依赖 RefSymbol 品牌标记)。\n// - 运行时仍使用 wevu 自己的 ref 实现,不依赖 Vue。\nexport type Ref<T = any, S = T> = VueRef<T, S>\nexport type ShallowRef<T = any> = VueShallowRef<T>\nexport type MaybeRef<T = any> = T | Ref<T> | ShallowRef<T> | WritableComputedRef<T>\nexport type MaybeRefOrGetter<T = any> = MaybeRef<T> | ComputedRef<T> | (() => T)\n\nexport const RefFlag = '__v_isRef' as const\n\nexport function markAsRef<T extends object>(target: T): T {\n try {\n Object.defineProperty(target, RefFlag, {\n value: true,\n configurable: true,\n })\n }\n catch {\n ;(target as any)[RefFlag] = true\n }\n return target\n}\n\nexport function isRef(value: unknown): value is Ref<any> {\n return Boolean(value && typeof value === 'object' && (value as any)[RefFlag] === true)\n}\n\nclass RefImpl<T> {\n private _value: T\n private _rawValue: T\n public dep: Dep | undefined\n constructor(value: T) {\n markAsRef(this)\n this._rawValue = value\n this._value = convertToReactive(value)\n }\n\n get value(): T {\n if (!this.dep) {\n this.dep = new Set()\n }\n trackEffects(this.dep)\n return this._value\n }\n\n set value(newValue: T) {\n if (!Object.is(newValue, this._rawValue)) {\n this._rawValue = newValue\n this._value = convertToReactive(newValue)\n if (this.dep) {\n triggerEffects(this.dep)\n }\n }\n }\n}\n\nexport function ref<T = any>(): Ref<T | undefined>\nexport function ref<T>(value: T): Ref<T>\nexport function ref<T>(value?: T): Ref<T | undefined> {\n if (isRef(value)) {\n return value\n }\n return markRaw(new RefImpl(value as T | undefined)) as any\n}\n\nexport function unref<T>(value: MaybeRef<T> | ComputedRef<T>): T {\n return isRef(value) ? value.value : value\n}\n\nexport function toValue<T>(source: MaybeRefOrGetter<T>): T {\n return typeof source === 'function' ? (source as () => T)() : unref(source)\n}\n\n/**\n * 自定义 ref 工厂:用于创建可显式控制 track/trigger 的自定义 ref\n */\nexport type CustomRefFactory<T> = (\n track: () => void,\n trigger: () => void,\n) => {\n get: () => T\n set: (value: T) => void\n}\n\nexport interface CustomRefOptions<T> {\n get: () => T\n set: (value: T) => void\n}\n\nexport type CustomRefSource<T> = CustomRefFactory<T> | CustomRefOptions<T>\n\nclass CustomRefImpl<T> {\n private _getValue: () => T\n private _setValue: (value: T) => void\n public dep: Dep | undefined\n\n constructor(factory: CustomRefSource<T>, defaultValue?: T) {\n markAsRef(this)\n const fallbackValue = defaultValue\n const track = () => {\n if (!this.dep) {\n this.dep = new Set()\n }\n trackEffects(this.dep)\n }\n const trigger = () => {\n if (this.dep) {\n triggerEffects(this.dep)\n }\n }\n\n const withFallback = (value: T) => (value === undefined && fallbackValue !== undefined ? fallbackValue as T : value)\n\n if (typeof factory === 'function') {\n const handlers = factory(track, trigger)\n this._getValue = () => withFallback(handlers.get())\n this._setValue = value => handlers.set(value)\n return\n }\n\n const handlers = factory\n this._getValue = () => {\n track()\n return withFallback(handlers.get())\n }\n this._setValue = (value: T) => {\n handlers.set(value)\n trigger()\n }\n }\n\n get value(): T {\n return this._getValue()\n }\n\n set value(newValue: T) {\n this._setValue(newValue)\n }\n}\n\nexport function customRef<T>(factory: CustomRefSource<T>, defaultValue?: T): Ref<T> {\n return markRaw(new CustomRefImpl(factory, defaultValue)) as any\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"router-BZZnIx32.mjs","names":[],"sources":["../../src/reactivity/readonly.ts","../../src/runtime/platform.ts","../../src/runtime/hooks/base.ts","../../src/runtime/hooks/register.ts","../../src/runtime/provideStore.ts","../../src/runtime/provideContext.ts","../../src/runtime/provide.ts","../../src/routerInternal/path.ts","../../src/routerInternal/query.ts","../../src/routerInternal/location.ts","../../src/runtime/vueCompat/router.ts"],"sourcesContent":["import type { Ref } from './ref'\nimport { isObject, isReactive } from './reactive'\nimport { getTargetType, ReactiveFlags, TargetType } from './reactive/shared'\nimport { isRef, markAsRef } from './ref'\n\nfunction createReadonlyWrapper(target: any): any {\n if (isRef(target)) {\n const source = target\n const readonlyRef = markAsRef({\n get value() {\n return source.value\n },\n set value(_v: any) {\n throw new Error('无法给只读 ref 赋值')\n },\n })\n Object.defineProperties(readonlyRef, {\n [ReactiveFlags.IS_READONLY]: {\n value: true,\n configurable: true,\n },\n [ReactiveFlags.RAW]: {\n value: source,\n configurable: true,\n },\n })\n return readonlyRef\n }\n if (!isObject(target)) {\n return target\n }\n if (getTargetType(target as object) === TargetType.INVALID) {\n return target\n }\n return new Proxy(target as object, {\n set() {\n throw new Error('无法在只读对象上设置属性')\n },\n deleteProperty() {\n throw new Error('无法在只读对象上删除属性')\n },\n defineProperty() {\n throw new Error('无法在只读对象上定义属性')\n },\n get(target, key, receiver) {\n if (key === ReactiveFlags.IS_READONLY) {\n return true\n }\n if (key === ReactiveFlags.RAW) {\n return target\n }\n const res = Reflect.get(target, key, receiver)\n // 仅处理顶层属性,嵌套对象维持原引用以避免深拷贝和额外代理\n return res\n },\n })\n}\n\n/**\n * readonly 会为对象/数组创建一个“浅层”只读代理,并为 Ref 创建只读包装。\n * 选择浅层而非深层递归,是为了在小程序环境中保持实现和运行时开销最小,\n * 仅阻止直接属性写入/删除,嵌套对象仍按原样透传。\n */\nexport function readonly<T extends object>(target: T): T\nexport function readonly<T>(target: Ref<T>): Readonly<Ref<T>>\nexport function readonly(target: any): any {\n return createReadonlyWrapper(target)\n}\n\n/**\n * 与 Vue 3 的 `shallowReadonly()` 对齐。\n *\n * 当前 wevu 的只读语义本身就是浅层只读,因此这里直接复用同一套实现,\n * 让依赖 Vue 兼容 API 的代码可以无缝迁移。\n */\nexport function shallowReadonly<T extends object>(target: T): Readonly<T>\nexport function shallowReadonly<T>(target: Ref<T>): Readonly<Ref<T>>\nexport function shallowReadonly(target: any): any {\n return createReadonlyWrapper(target)\n}\n\n/**\n * 判断值是否为只读代理或只读 ref 包装。\n */\nexport function isReadonly(value: unknown): boolean {\n return Boolean(value && (value as any)[ReactiveFlags.IS_READONLY])\n}\n\n/**\n * 判断值是否为响应式代理或只读代理。\n */\nexport function isProxy(value: unknown): boolean {\n return isReactive(value) || isReadonly(value)\n}\n","import type { MiniProgramRuntimeCapabilities, MiniProgramRuntimeCapabilityName } from '@weapp-core/shared'\nimport {\n getMiniProgramPlatformByRuntimeGlobalKey,\n getMiniProgramRuntimeCapabilities,\n getMiniProgramRuntimeGlobalKey,\n getMiniProgramRuntimeGlobalKeys,\n getMiniProgramRuntimeHostConfigKey,\n resolveMiniProgramPlatform,\n supportsMiniProgramRuntimeCapability,\n} from '@weapp-core/shared'\n\ntype MiniProgramGlobal = Record<string, any>\ntype MiniProgramHostConfig = Record<string, any>\ntype MiniProgramGlobalRouterMethodName = 'switchTab' | 'reLaunch' | 'redirectTo' | 'navigateTo' | 'navigateBack'\ntype MiniProgramGlobalRouter = Record<MiniProgramGlobalRouterMethodName, (...args: any[]) => any>\ntype ImportMetaWithEnv = ImportMeta & {\n env?: {\n PLATFORM?: string\n }\n}\nconst MINI_PROGRAM_GLOBAL_ROUTER_METHODS: readonly MiniProgramGlobalRouterMethodName[] = [\n 'switchTab',\n 'reLaunch',\n 'redirectTo',\n 'navigateTo',\n 'navigateBack',\n]\n\nfunction getGlobalRuntime() {\n if (typeof globalThis === 'undefined') {\n return undefined\n }\n return globalThis as MiniProgramGlobal\n}\n\nexport function resolveCurrentMiniProgramPlatform() {\n const globalRuntime = getGlobalRuntime()\n const compiledPlatform = (import.meta as ImportMetaWithEnv).env?.PLATFORM\n\n // 优先命中编译期平台分支,便于构建阶段做 dead-code elimination。\n const resolvedCompiledPlatform = resolveMiniProgramPlatform(compiledPlatform)\n if (resolvedCompiledPlatform) {\n return resolvedCompiledPlatform\n }\n\n for (const globalKey of getMiniProgramRuntimeGlobalKeys()) {\n if (globalRuntime?.[globalKey]) {\n return getMiniProgramPlatformByRuntimeGlobalKey(globalKey)\n }\n }\n\n return undefined\n}\n\nexport function getCurrentMiniProgramRuntimeCapabilities(): MiniProgramRuntimeCapabilities {\n return getMiniProgramRuntimeCapabilities(resolveCurrentMiniProgramPlatform())\n}\n\nexport function supportsCurrentMiniProgramRuntimeCapability(capabilityName: MiniProgramRuntimeCapabilityName): boolean {\n return supportsMiniProgramRuntimeCapability(resolveCurrentMiniProgramPlatform(), capabilityName)\n}\n\nexport function getCurrentMiniProgramPages(): Array<Record<string, any>> {\n if (!supportsCurrentMiniProgramRuntimeCapability('globalPageStack')) {\n return []\n }\n const getCurrentPagesFn = (globalThis as Record<string, unknown>).getCurrentPages\n if (typeof getCurrentPagesFn !== 'function') {\n return []\n }\n try {\n const pages = getCurrentPagesFn()\n return Array.isArray(pages) ? pages as Array<Record<string, any>> : []\n }\n catch {\n return []\n }\n}\n\nexport function getCurrentMiniProgramHostConfig(): MiniProgramHostConfig | undefined {\n const globalRuntime = getGlobalRuntime()\n const hostConfigKey = getMiniProgramRuntimeHostConfigKey(resolveCurrentMiniProgramPlatform())\n const hostConfig = globalRuntime?.[hostConfigKey]\n return hostConfig && typeof hostConfig === 'object' ? hostConfig as MiniProgramHostConfig : undefined\n}\n\nexport function getMiniProgramGlobalObject(platformInput?: string): MiniProgramGlobal | undefined {\n const globalRuntime = getGlobalRuntime()\n const compiledPlatform = platformInput ?? (import.meta as ImportMetaWithEnv).env?.PLATFORM\n const resolvedCompiledPlatform = resolveMiniProgramPlatform(compiledPlatform)\n\n if (resolvedCompiledPlatform) {\n const globalKey = getMiniProgramRuntimeGlobalKey(resolvedCompiledPlatform)\n return globalRuntime?.[globalKey] as MiniProgramGlobal | undefined\n }\n\n for (const globalKey of getMiniProgramRuntimeGlobalKeys()) {\n const candidate = globalRuntime?.[globalKey]\n if (candidate) {\n return candidate as MiniProgramGlobal\n }\n }\n return undefined\n}\n\nexport function getCurrentMiniProgramGlobalRouter(): MiniProgramGlobalRouter | undefined {\n if (!supportsCurrentMiniProgramRuntimeCapability('globalRouterApi')) {\n return undefined\n }\n const miniProgramGlobal = getMiniProgramGlobalObject()\n if (!miniProgramGlobal) {\n return undefined\n }\n const routerMethods = Object.create(null) as Partial<MiniProgramGlobalRouter>\n for (const methodName of MINI_PROGRAM_GLOBAL_ROUTER_METHODS) {\n const handler = miniProgramGlobal[methodName]\n if (typeof handler !== 'function') {\n return undefined\n }\n routerMethods[methodName] = (...args: any[]) => handler.apply(miniProgramGlobal, args)\n }\n return routerMethods as MiniProgramGlobalRouter\n}\n\nexport function getScopedSlotHostGlobalObject(): MiniProgramGlobal | undefined {\n return getMiniProgramGlobalObject() ?? getGlobalRuntime()\n}\n","import type { InternalRuntimeState } from '../types'\nimport { WEVU_HOOKS_KEY } from '@weapp-core/constants'\nimport { getCurrentMiniProgramRuntimeCapabilities, getMiniProgramGlobalObject, supportsCurrentMiniProgramRuntimeCapability } from '../platform'\n\n// 仅供同步 setup() 调用期间使用的当前实例引用\nlet __currentInstance: InternalRuntimeState | undefined\nlet __currentSetupContext: any | undefined\n\nexport function getCurrentInstance<T extends InternalRuntimeState = InternalRuntimeState>(): T | undefined {\n return __currentInstance as T | undefined\n}\n\n/**\n * 设置当前运行时实例(框架内部使用)。\n * @internal\n */\nexport function setCurrentInstance(inst: InternalRuntimeState | undefined) {\n __currentInstance = inst\n}\n\nexport function getCurrentSetupContext<T = any>(): T | undefined {\n return __currentSetupContext as T | undefined\n}\n\n/**\n * 设置当前 setup 上下文(框架内部使用)。\n * @internal\n */\nexport function setCurrentSetupContext(ctx: any | undefined) {\n __currentSetupContext = ctx\n}\n\nexport function assertInSetup(name: string): InternalRuntimeState {\n if (!__currentInstance) {\n throw new Error(`${name}() 必须在 setup() 的同步阶段调用`)\n }\n return __currentInstance\n}\n\nfunction ensureHookBucket(target: InternalRuntimeState): Record<string, any> {\n if (!target[WEVU_HOOKS_KEY]) {\n target[WEVU_HOOKS_KEY] = Object.create(null)\n }\n return target[WEVU_HOOKS_KEY] as Record<string, any>\n}\n\ntype ShareMenuName = 'shareAppMessage' | 'shareTimeline'\n\nfunction buildShareMenus(\n enableOnShareAppMessage: boolean,\n enableOnShareTimeline: boolean,\n): ShareMenuName[] {\n const runtimeCapabilities = getCurrentMiniProgramRuntimeCapabilities()\n const shouldShowShareAppMessage = runtimeCapabilities.shareTimelineRequiresShareAppMessage\n ? (enableOnShareAppMessage || enableOnShareTimeline)\n : enableOnShareAppMessage\n\n const menus: ShareMenuName[] = []\n if (shouldShowShareAppMessage) {\n menus.push('shareAppMessage')\n }\n if (enableOnShareTimeline) {\n menus.push('shareTimeline')\n }\n return menus\n}\n\nfunction tryShowShareMenu(showShareMenu: (...args: any[]) => unknown, menus: ShareMenuName[]) {\n const payloads = [\n { withShareTicket: true, menus },\n { menus },\n menus.includes('shareTimeline') ? { withShareTicket: true } : undefined,\n menus.includes('shareTimeline') ? {} : undefined,\n undefined,\n ]\n\n for (const payload of payloads) {\n try {\n if (payload === undefined) {\n showShareMenu()\n }\n else {\n showShareMenu(payload as any)\n }\n return\n }\n catch {\n // 继续尝试更保守的 payload,兼容不同宿主的 showShareMenu 参数形态。\n }\n }\n}\n\nexport function pushHook(\n target: InternalRuntimeState,\n name: string,\n handler: (...args: any[]) => any,\n { single = false } = {},\n) {\n const bucket = ensureHookBucket(target)\n if (single) {\n bucket[name] = handler\n }\n else {\n const list: Array<(...args: any[]) => any> = bucket[name] ?? (bucket[name] = [])\n list.push(handler)\n }\n}\n\nexport function ensureSinglePageHookOnInstance(target: InternalRuntimeState, name: 'onShareAppMessage' | 'onShareTimeline' | 'onAddToFavorites') {\n const bridges = ((target as any).__wevuShareHookBridges ??= Object.create(null)) as Record<string, (...args: any[]) => any>\n if (typeof bridges[name] === 'function') {\n return\n }\n\n const original = (target as any)[name]\n const bridge = function onWevuShareHookBridge(this: InternalRuntimeState, ...args: any[]) {\n const hooks = this[WEVU_HOOKS_KEY] as Record<string, any> | undefined\n const entry = hooks?.[name]\n const runtime = this.__wevu\n const ctx = runtime?.proxy ?? this\n let ret: any\n\n if (typeof entry === 'function') {\n try {\n ret = entry.apply(ctx, args)\n }\n catch {\n ret = undefined\n }\n }\n else if (Array.isArray(entry)) {\n for (const fn of entry) {\n try {\n ret = fn.apply(ctx, args)\n }\n catch {\n // 忽略单个 hook 抛出的异常,继续执行后续 hook\n }\n }\n }\n\n if (ret !== undefined) {\n return ret\n }\n if (typeof original === 'function') {\n return original.apply(this, args)\n }\n return undefined\n }\n\n bridges[name] = bridge\n ;(target as any)[name] = bridge\n}\n\nexport function ensurePageShareMenusOnSetup(target: InternalRuntimeState) {\n if (!supportsCurrentMiniProgramRuntimeCapability('pageShareMenu')) {\n return\n }\n const miniProgramGlobal = getMiniProgramGlobalObject()\n if (!miniProgramGlobal || typeof miniProgramGlobal.showShareMenu !== 'function') {\n return\n }\n\n const hooks = (target[WEVU_HOOKS_KEY] ?? {}) as Record<string, any>\n const hasShareAppMessage = typeof hooks.onShareAppMessage === 'function'\n const hasShareTimeline = typeof hooks.onShareTimeline === 'function'\n\n if (!hasShareAppMessage && !hasShareTimeline) {\n return\n }\n\n const menus = buildShareMenus(hasShareAppMessage, hasShareTimeline)\n if (!menus.length) {\n return\n }\n\n tryShowShareMenu(miniProgramGlobal.showShareMenu.bind(miniProgramGlobal), menus)\n}\n\n/**\n * 调用批量 hook(框架内部调度入口)。\n * @internal\n */\nexport function callHookList(target: InternalRuntimeState, name: string, args: any[] = []) {\n const hooks = target[WEVU_HOOKS_KEY]\n if (!hooks) {\n return\n }\n const list = hooks[name]\n if (!list) {\n return\n }\n const runtime = target.__wevu\n const ctx = runtime?.proxy ?? target\n if (Array.isArray(list)) {\n for (const fn of list) {\n try {\n fn.apply(ctx, args)\n }\n catch {\n // 忽略单个 hook 抛出的异常,防止阻塞其他监听\n }\n }\n }\n else if (typeof list === 'function') {\n try {\n list.apply(ctx, args)\n }\n catch {\n // 忽略单个 hook 抛出的异常,防止阻塞其他监听\n }\n }\n}\n\nexport function ensurePageHookOnInstance(target: InternalRuntimeState, name: 'onPageScroll') {\n const bridges = ((target as any).__wevuPageHookBridges ??= Object.create(null)) as Record<string, (...args: any[]) => any>\n if (typeof bridges[name] === 'function') {\n return\n }\n\n const original = (target as any)[name]\n const bridge = function onWevuPageHookBridge(this: InternalRuntimeState, ...args: any[]) {\n callHookList(this, name, args)\n if (typeof original === 'function') {\n return original.apply(this, args)\n }\n return undefined\n }\n\n bridges[name] = bridge\n ;(target as any)[name] = bridge\n}\n\n/**\n * 调用返回值型 hook(框架内部调度入口)。\n * @internal\n */\nexport function callHookReturn(target: InternalRuntimeState, name: string, args: any[] = []) {\n const hooks = target[WEVU_HOOKS_KEY]\n if (!hooks) {\n return undefined\n }\n const entry = hooks[name]\n if (!entry) {\n return undefined\n }\n const runtime = target.__wevu\n const ctx = runtime?.proxy ?? target\n if (typeof entry === 'function') {\n try {\n return entry.apply(ctx, args)\n }\n catch {\n return undefined\n }\n }\n if (Array.isArray(entry)) {\n let out: any\n for (const fn of entry) {\n try {\n out = fn.apply(ctx, args)\n }\n catch {\n // 忽略单个 hook 抛出的异常,继续执行后续 hook\n }\n }\n return out\n }\n return undefined\n}\n","import type {\n MiniProgramAddToFavoritesOption,\n MiniProgramLaunchOptions,\n MiniProgramMemoryWarningResult,\n MiniProgramPageLifetime,\n MiniProgramPageNotFoundOptions,\n MiniProgramPageResizeOption,\n MiniProgramPageScrollOption,\n MiniProgramSaveExitState,\n MiniProgramShareAppMessageOption,\n MiniProgramTabItemTapOption,\n MiniProgramThemeChangeResult,\n MiniProgramUnhandledRejectionResult,\n} from '../types'\nimport { assertInSetup, ensurePageHookOnInstance, ensurePageShareMenusOnSetup, ensureSinglePageHookOnInstance, pushHook } from './base'\n\nfunction registerHook(name: string, handler: (...args: any[]) => any, options?: { single?: boolean }) {\n pushHook(assertInSetup(name), name, handler as any, options as any)\n}\n\n// 生命周期注册辅助方法:必须在 setup() 同步执行阶段调用\nexport function onLaunch(handler: (options: MiniProgramLaunchOptions) => void) {\n registerHook('onLaunch', handler as any)\n}\n\nexport function onPageNotFound(handler: (options: MiniProgramPageNotFoundOptions) => void) {\n registerHook('onPageNotFound', handler as any)\n}\n\nexport function onUnhandledRejection(handler: (options: MiniProgramUnhandledRejectionResult) => void) {\n registerHook('onUnhandledRejection', handler as any)\n}\n\nexport function onThemeChange(handler: (options: MiniProgramThemeChangeResult) => void) {\n registerHook('onThemeChange', handler as any)\n}\n\nexport function onMemoryWarning(handler: (options: MiniProgramMemoryWarningResult) => void) {\n registerHook('onMemoryWarning', handler as any)\n}\n\nexport function onShow(handler: () => void): void\nexport function onShow(handler: (options: MiniProgramLaunchOptions) => void): void\nexport function onShow(handler: ((options?: any) => void)) {\n registerHook('onShow', handler as any)\n}\n\nexport function onLoad(handler: MiniProgramPageLifetime['onLoad']) {\n registerHook('onLoad', handler as any)\n}\n\nexport function onHide(handler: () => void) {\n registerHook('onHide', handler as any)\n}\n\nexport function onUnload(handler: () => void) {\n registerHook('onUnload', handler as any)\n}\n\nexport function onReady(handler: () => void) {\n registerHook('onReady', handler as any)\n}\n\nexport function onPullDownRefresh(handler: MiniProgramPageLifetime['onPullDownRefresh']) {\n registerHook('onPullDownRefresh', handler as any)\n}\n\nexport function onReachBottom(handler: MiniProgramPageLifetime['onReachBottom']) {\n registerHook('onReachBottom', handler as any)\n}\n\nexport function onPageScroll(handler: (opt: MiniProgramPageScrollOption) => void) {\n const instance = assertInSetup('onPageScroll')\n pushHook(instance, 'onPageScroll', handler as any)\n ensurePageHookOnInstance(instance, 'onPageScroll')\n}\n\nexport function onRouteDone(handler: MiniProgramPageLifetime['onRouteDone'] | ((opt?: unknown) => void)) {\n registerHook('onRouteDone', handler as any)\n}\n\nexport function onTabItemTap(handler: (opt: MiniProgramTabItemTapOption) => void) {\n registerHook('onTabItemTap', handler as any)\n}\n\nexport function onResize(handler: (opt: MiniProgramPageResizeOption) => void) {\n registerHook('onResize', handler as any)\n}\n\nexport function onMoved(handler: () => void) {\n registerHook('onMoved', handler as any)\n}\n\nexport function onAttached(handler: () => void) {\n registerHook('onAttached', handler as any)\n}\n\nexport function onDetached(handler: () => void) {\n registerHook('onDetached', handler as any)\n}\n\nexport function onError(handler: (err: any) => void) {\n registerHook('onError', handler as any)\n}\n\nexport function onSaveExitState(handler: () => MiniProgramSaveExitState) {\n registerHook('onSaveExitState', handler as any, { single: true })\n}\n\nexport function onShareAppMessage(handler: (options: MiniProgramShareAppMessageOption) => Record<string, any> | void) {\n const instance = assertInSetup('onShareAppMessage')\n pushHook(instance, 'onShareAppMessage', handler as any, { single: true } as any)\n ensureSinglePageHookOnInstance(instance, 'onShareAppMessage')\n ensurePageShareMenusOnSetup(instance)\n}\n\nexport function onShareTimeline(handler: MiniProgramPageLifetime['onShareTimeline']) {\n const instance = assertInSetup('onShareTimeline')\n pushHook(instance, 'onShareTimeline', handler as any, { single: true } as any)\n ensureSinglePageHookOnInstance(instance, 'onShareTimeline')\n ensurePageShareMenusOnSetup(instance)\n}\n\nexport function onAddToFavorites(handler: (options: MiniProgramAddToFavoritesOption) => Record<string, any> | void) {\n const instance = assertInSetup('onAddToFavorites')\n pushHook(instance, 'onAddToFavorites', handler as any, { single: true } as any)\n ensureSinglePageHookOnInstance(instance, 'onAddToFavorites')\n}\n","const wevuGlobalProvideStore = new Map<any, any>()\n\n/**\n * 写入全局 provide 存储,供运行时内部与兼容层复用。\n */\nexport function setGlobalProvidedValue<T>(key: any, value: T): void {\n wevuGlobalProvideStore.set(key, value)\n}\n\nexport function hasGlobalProvidedValue(key: any): boolean {\n return wevuGlobalProvideStore.has(key)\n}\n\nexport function getGlobalProvidedValue<T>(key: any): T {\n return wevuGlobalProvideStore.get(key) as T\n}\n","import type { InternalRuntimeState, RuntimeApp } from './types'\nimport {\n WEVU_APP_PROVIDES_KEY,\n WEVU_IS_APP_INSTANCE_KEY,\n WEVU_PARENT_INSTANCE_KEY,\n WEVU_PROVIDES_KEY,\n WEVU_RUNTIME_APP_KEY,\n} from '@weapp-core/constants'\nimport { setGlobalProvidedValue } from './provideStore'\n\nexport function isRuntimeAppInstance(instance: unknown): boolean {\n return Boolean(\n instance\n && typeof instance === 'object'\n && (instance as { [WEVU_IS_APP_INSTANCE_KEY]?: boolean })[WEVU_IS_APP_INSTANCE_KEY] === true,\n )\n}\n\nfunction createProvides(parent?: Record<PropertyKey, any>) {\n return Object.create(parent ?? null) as Record<PropertyKey, any>\n}\n\nfunction getRuntimeAppProvides(runtimeApp: RuntimeApp<any, any, any> | undefined): Record<PropertyKey, any> {\n if (!runtimeApp) {\n return createProvides()\n }\n const existing = runtimeApp[WEVU_APP_PROVIDES_KEY]\n if (existing && typeof existing === 'object') {\n return existing\n }\n const provides = createProvides()\n try {\n Object.defineProperty(runtimeApp, WEVU_APP_PROVIDES_KEY, {\n value: provides,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n }\n catch {\n ;(runtimeApp as any)[WEVU_APP_PROVIDES_KEY] = provides\n }\n return provides\n}\n\nexport function attachInstanceProvides(\n instance: InternalRuntimeState,\n provides: Record<PropertyKey, any>,\n): void {\n try {\n Object.defineProperty(instance, WEVU_PROVIDES_KEY, {\n value: provides,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n }\n catch {\n ;(instance as any)[WEVU_PROVIDES_KEY] = provides\n }\n}\n\nexport function getInstanceProvides(instance: InternalRuntimeState): Record<PropertyKey, any> {\n const existing = instance[WEVU_PROVIDES_KEY]\n if (existing && typeof existing === 'object') {\n return existing\n }\n\n const runtimeApp = instance[WEVU_RUNTIME_APP_KEY]\n const parentProvides = instance[WEVU_PARENT_INSTANCE_KEY]?.[WEVU_PROVIDES_KEY]\n ?? getRuntimeAppProvides(runtimeApp)\n const provides = isRuntimeAppInstance(instance)\n ? getRuntimeAppProvides(runtimeApp)\n : createProvides(parentProvides)\n attachInstanceProvides(instance, provides)\n return provides\n}\n\nexport function ensureRuntimeAppProvides(runtimeApp: RuntimeApp<any, any, any>): Record<PropertyKey, any> {\n return getRuntimeAppProvides(runtimeApp)\n}\n\nexport function setRuntimeAppProvidedValue<T>(runtimeApp: RuntimeApp<any, any, any>, key: any, value: T): void {\n getRuntimeAppProvides(runtimeApp)[key as PropertyKey] = value\n setGlobalProvidedValue(key, value)\n}\n\nexport function attachRuntimeProvideContext(\n instance: InternalRuntimeState,\n runtimeApp: RuntimeApp<any, any, any>,\n parentInstance?: InternalRuntimeState,\n): void {\n const appProvides = getRuntimeAppProvides(runtimeApp)\n const parentProvides = parentInstance?.[WEVU_PROVIDES_KEY] ?? appProvides\n const provides = isRuntimeAppInstance(instance)\n ? appProvides\n : createProvides(parentProvides)\n\n if (parentInstance) {\n try {\n Object.defineProperty(instance, WEVU_PARENT_INSTANCE_KEY, {\n value: parentInstance,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n }\n catch {\n ;(instance as any)[WEVU_PARENT_INSTANCE_KEY] = parentInstance\n }\n }\n\n attachInstanceProvides(instance, provides)\n}\n\nfunction isPrototypeInChain(target: Record<PropertyKey, any>, candidate: Record<PropertyKey, any>) {\n let current = Object.getPrototypeOf(target)\n while (current) {\n if (current === candidate) {\n return true\n }\n current = Object.getPrototypeOf(current)\n }\n return false\n}\n\nexport function attachRuntimeLayoutProvideContext(\n layoutInstance: InternalRuntimeState,\n pageInstance: InternalRuntimeState,\n): void {\n const layoutProvides = getInstanceProvides(layoutInstance)\n const pageProvides = getInstanceProvides(pageInstance)\n if (\n layoutProvides === pageProvides\n || isPrototypeInChain(layoutProvides, pageProvides)\n || isPrototypeInChain(pageProvides, layoutProvides)\n ) {\n return\n }\n\n Object.setPrototypeOf(pageProvides, layoutProvides)\n\n try {\n Object.defineProperty(pageInstance, WEVU_PARENT_INSTANCE_KEY, {\n value: layoutInstance,\n configurable: true,\n enumerable: false,\n writable: true,\n })\n }\n catch {\n ;(pageInstance as any)[WEVU_PARENT_INSTANCE_KEY] = layoutInstance\n }\n}\n","import { getCurrentInstance } from './hooks'\nimport {\n getInstanceProvides,\n isRuntimeAppInstance,\n} from './provideContext'\nimport {\n getGlobalProvidedValue,\n hasGlobalProvidedValue,\n setGlobalProvidedValue,\n} from './provideStore'\n\n// ============================================================================\n// 分层的 provide/inject 机制\n// 用于在组件树内维护依赖注入关系,支持组件与全局两种作用域\n// ============================================================================\n\nexport { setGlobalProvidedValue } from './provideStore'\n\n/**\n * 判断当前是否存在可用的注入上下文。\n *\n * wevu 的依赖注入上下文来自同步 `setup()` 阶段的当前实例。\n */\nexport function hasInjectionContext(): boolean {\n return Boolean(getCurrentInstance())\n}\n\n/**\n * 在组件上下文中向后代注入值(与 Vue 3 行为兼容),若没有当前实例则回落到全局存储。\n *\n * @param key 注入键,可为字符串、Symbol 或对象\n * @param value 提供的值\n *\n * @example\n * ```ts\n * defineComponent({\n * setup() {\n * provide(TOKEN_KEY, { data: 'value' })\n * }\n * })\n * ```\n */\nexport function provide<T>(key: any, value: T): void {\n const instance = getCurrentInstance()\n\n if (instance) {\n getInstanceProvides(instance)[key as PropertyKey] = value\n if (isRuntimeAppInstance(instance)) {\n setGlobalProvidedValue(key, value)\n }\n }\n else {\n // 全局模式:无组件实例时,兼容旧代码和纯函数场景\n setGlobalProvidedValue(key, value)\n }\n}\n\n/**\n * 从祖先组件(或全局存储)读取提供的值。\n *\n * @param key 注入键,需与 provide 使用的键保持一致\n * @param defaultValue 未找到提供者时的默认值\n * @returns 匹配到的值或默认值\n *\n * @example\n * ```ts\n * defineComponent({\n * setup() {\n * const data = inject(TOKEN_KEY)\n * const value = inject('key', 'default')\n * }\n * })\n * ```\n */\nexport function inject<T>(key: any, defaultValue: T): T\nexport function inject<T>(key: any): T | undefined\nexport function inject<T>(key: any, defaultValue?: T): T | undefined {\n const instance = getCurrentInstance()\n\n // 优先尝试基于实例的注入,找不到再回退全局\n if (instance) {\n const provides = getInstanceProvides(instance)\n if (key in provides) {\n return provides[key as PropertyKey] as T\n }\n }\n\n // 兼容性回退:尝试读取全局存储\n if (hasGlobalProvidedValue(key)) {\n return getGlobalProvidedValue(key)\n }\n\n // 使用默认值兜底\n if (arguments.length >= 2) {\n return defaultValue as T\n }\n\n const warn = globalThis.console?.warn\n if (typeof warn === 'function') {\n warn(`wevu.inject:未找到对应 key 的值:${String(key)}`)\n }\n\n return undefined\n}\n\n// ============================================================================\n// 显式的全局 provide/inject API\n// ============================================================================\n\n/**\n * 全局注入值,适用于历史兼容场景。\n *\n * @deprecated 已弃用,仅用于兼容/过渡。推荐优先使用 `provide()`,\n * 在无实例上下文时 `provide()` 会自动回落到全局存储。\n */\nexport function provideGlobal<T>(key: any, value: T): void {\n setGlobalProvidedValue(key, value)\n}\n\n/**\n * 从全局存储读取值,适用于历史兼容场景。\n *\n * @deprecated 已弃用,仅用于兼容/过渡。推荐优先使用 `inject()`,\n * 在无实例上下文时 `inject()` 会自动从全局存储读取。\n */\nexport function injectGlobal<T>(key: any, defaultValue?: T): T {\n if (hasGlobalProvidedValue(key)) {\n return getGlobalProvidedValue(key)\n }\n if (arguments.length >= 2) {\n return defaultValue as T\n }\n throw new Error(`injectGlobal():未找到对应 key 的 provider:${String(key)}`)\n}\n","function normalizePathSegments(path: string): string[] {\n const segments: string[] = []\n for (const segment of path.split('/')) {\n if (!segment || segment === '.') {\n continue\n }\n if (segment === '..') {\n if (segments.length > 0) {\n segments.pop()\n }\n continue\n }\n segments.push(segment)\n }\n return segments\n}\n\nexport function resolvePath(path: string, currentPath: string): string {\n if (!path) {\n return normalizePathSegments(currentPath).join('/')\n }\n\n if (path.startsWith('/')) {\n return normalizePathSegments(path).join('/')\n }\n\n if (path.startsWith('./') || path.startsWith('../')) {\n const baseSegments = normalizePathSegments(currentPath)\n if (baseSegments.length > 0) {\n baseSegments.pop()\n }\n\n for (const segment of path.split('/')) {\n if (!segment || segment === '.') {\n continue\n }\n if (segment === '..') {\n if (baseSegments.length > 0) {\n baseSegments.pop()\n }\n continue\n }\n baseSegments.push(segment)\n }\n\n return baseSegments.join('/')\n }\n\n return normalizePathSegments(path).join('/')\n}\n\nexport function createAbsoluteRoutePath(path: string): string {\n return path ? `/${path}` : '/'\n}\n\nconst DYNAMIC_ROUTE_RE = /(?:^|\\/):/\n\nexport function isDynamicRoutePath(path: string): boolean {\n return DYNAMIC_ROUTE_RE.test(path)\n}\n","import type {\n LocationQuery,\n LocationQueryRaw,\n LocationQueryValue,\n LocationQueryValueRaw,\n RouteParams,\n RouteParamsRaw,\n RouteParamValue,\n RouteParamValueRaw,\n} from '../router'\n\nconst PLUS_RE = /\\+/g\n\nfunction decodeQuerySegment(value: string): string {\n return decodeURIComponent(value.replace(PLUS_RE, ' '))\n}\n\nfunction encodeQuerySegment(value: string): string {\n return encodeURIComponent(value)\n}\n\nfunction pushQueryValue(target: LocationQuery, key: string, value: LocationQueryValue) {\n const previous = target[key]\n if (previous === undefined) {\n target[key] = value\n return\n }\n if (Array.isArray(previous)) {\n previous.push(value)\n return\n }\n target[key] = [previous, value]\n}\n\nfunction pushRouteParamValue(target: RouteParams, key: string, value: RouteParamValue) {\n const previous = target[key]\n if (previous === undefined) {\n target[key] = value\n return\n }\n if (Array.isArray(previous)) {\n previous.push(value)\n return\n }\n target[key] = [previous, value]\n}\n\nfunction normalizeQueryValue(value: LocationQueryValueRaw): LocationQueryValue | undefined {\n if (value === undefined) {\n return undefined\n }\n if (value === null) {\n return null\n }\n return String(value)\n}\n\nexport function normalizeQuery(query: LocationQueryRaw | LocationQuery): LocationQuery {\n const normalized: LocationQuery = {}\n for (const key of Object.keys(query)) {\n const rawValue = (query as Record<string, LocationQueryValueRaw | LocationQueryValueRaw[]>)[key]\n if (Array.isArray(rawValue)) {\n for (const item of rawValue) {\n const next = normalizeQueryValue(item)\n if (next !== undefined) {\n pushQueryValue(normalized, key, next)\n }\n }\n continue\n }\n const next = normalizeQueryValue(rawValue)\n if (next !== undefined) {\n pushQueryValue(normalized, key, next)\n }\n }\n return normalized\n}\n\nfunction normalizeRouteParamValue(value: RouteParamValueRaw): RouteParamValue | undefined {\n if (value === undefined || value === null) {\n return undefined\n }\n return String(value)\n}\n\nexport function normalizeRouteParams(params: RouteParamsRaw | RouteParams): RouteParams {\n const normalized: RouteParams = {}\n for (const key of Object.keys(params)) {\n const rawValue = (params as Record<string, RouteParamValueRaw | RouteParamValueRaw[]>)[key]\n if (Array.isArray(rawValue)) {\n for (const item of rawValue) {\n const next = normalizeRouteParamValue(item)\n if (next !== undefined) {\n pushRouteParamValue(normalized, key, next)\n }\n }\n continue\n }\n const next = normalizeRouteParamValue(rawValue)\n if (next !== undefined) {\n pushRouteParamValue(normalized, key, next)\n }\n }\n return normalized\n}\n\nexport function normalizeHash(rawHash?: string): string {\n if (!rawHash) {\n return ''\n }\n return rawHash.startsWith('#') ? rawHash : `#${rawHash}`\n}\n\nexport function parseQuery(search: string): LocationQuery {\n const normalizedSearch = search.startsWith('?') ? search.slice(1) : search\n const query: LocationQuery = {}\n\n if (!normalizedSearch) {\n return query\n }\n\n for (const segment of normalizedSearch.split('&')) {\n if (!segment) {\n continue\n }\n\n const equalIndex = segment.indexOf('=')\n const rawKey = equalIndex >= 0 ? segment.slice(0, equalIndex) : segment\n if (!rawKey) {\n continue\n }\n\n const key = decodeQuerySegment(rawKey)\n const value = equalIndex >= 0\n ? decodeQuerySegment(segment.slice(equalIndex + 1))\n : null\n\n pushQueryValue(query, key, value)\n }\n\n return query\n}\n\nexport function stringifyQuery(query: LocationQueryRaw | LocationQuery = {}): string {\n const normalizedQuery = normalizeQuery(query)\n const segments: string[] = []\n\n for (const key of Object.keys(normalizedQuery)) {\n const encodedKey = encodeQuerySegment(key)\n const rawValue = normalizedQuery[key]\n\n if (Array.isArray(rawValue)) {\n for (const item of rawValue) {\n if (item === null) {\n segments.push(encodedKey)\n }\n else {\n segments.push(`${encodedKey}=${encodeQuerySegment(item)}`)\n }\n }\n continue\n }\n\n if (rawValue === null) {\n segments.push(encodedKey)\n continue\n }\n\n segments.push(`${encodedKey}=${encodeQuerySegment(rawValue)}`)\n }\n\n return segments.join('&')\n}\n","import type {\n LocationQuery,\n LocationQueryRaw,\n RouteLocationNormalizedLoaded,\n RouteParams,\n RouteQueryStringifier,\n} from '../router'\nimport type { MiniProgramPageLike, RouteResolveCodec } from './types'\nimport { getCurrentMiniProgramPages } from '../runtime/platform'\nimport { createAbsoluteRoutePath, resolvePath } from './path'\nimport { normalizeHash, normalizeQuery, parseQuery, stringifyQuery } from './query'\n\nconst DEFAULT_ROUTE_RESOLVE_CODEC: RouteResolveCodec = {\n parseQuery,\n stringifyQuery,\n}\n\nexport function parsePathInput(\n input: string,\n codec: RouteResolveCodec = DEFAULT_ROUTE_RESOLVE_CODEC,\n): { path: string, query: LocationQuery, hash: string } {\n const hashIndex = input.indexOf('#')\n const withoutHash = hashIndex >= 0 ? input.slice(0, hashIndex) : input\n const hash = hashIndex >= 0 ? normalizeHash(input.slice(hashIndex + 1)) : ''\n const queryIndex = withoutHash.indexOf('?')\n\n if (queryIndex < 0) {\n return {\n path: withoutHash,\n query: {},\n hash,\n }\n }\n\n return {\n path: withoutHash.slice(0, queryIndex),\n query: normalizeQuery(codec.parseQuery(withoutHash.slice(queryIndex + 1))),\n hash,\n }\n}\n\nexport function createRouteLocation(\n path: string,\n query: LocationQuery,\n hash = '',\n name?: string,\n params: RouteParams = {},\n queryStringifier: RouteQueryStringifier = stringifyQuery,\n): RouteLocationNormalizedLoaded {\n const normalizedPath = resolvePath(path, '')\n const queryString = queryStringifier(query)\n const fullPathBase = createAbsoluteRoutePath(normalizedPath)\n const normalizedHash = normalizeHash(hash)\n const fullPath = queryString ? `${fullPathBase}?${queryString}` : fullPathBase\n const location: RouteLocationNormalizedLoaded = {\n path: normalizedPath,\n fullPath: normalizedHash ? `${fullPath}${normalizedHash}` : fullPath,\n query,\n hash: normalizedHash,\n params,\n }\n if (name !== undefined) {\n location.name = name\n }\n\n return location\n}\n\nfunction getCurrentMiniProgramPage(): MiniProgramPageLike | undefined {\n const pages = getCurrentMiniProgramPages() as MiniProgramPageLike[]\n if (!Array.isArray(pages) || pages.length === 0) {\n return undefined\n }\n return pages.at(-1)\n}\n\nexport function resolveCurrentRoute(queryOverride?: LocationQueryRaw): RouteLocationNormalizedLoaded {\n const currentPage = getCurrentMiniProgramPage()\n if (!currentPage) {\n return createRouteLocation('', {})\n }\n\n const rawPath = typeof currentPage.route === 'string'\n ? currentPage.route\n : typeof currentPage.__route__ === 'string'\n ? currentPage.__route__\n : ''\n\n const querySource = queryOverride ?? ((currentPage.options ?? {}) as LocationQueryRaw)\n const query = normalizeQuery(querySource)\n return createRouteLocation(rawPath, query, '', undefined, {})\n}\n","import type { SetupContextRouter } from '../types'\nimport { parsePathInput } from '../../routerInternal/location'\nimport { createAbsoluteRoutePath, resolvePath, stringifyQuery } from '../../routerInternal/shared'\nimport { getCurrentSetupContext } from '../hooks'\nimport { getCurrentMiniProgramGlobalRouter } from '../platform'\n\ntype RuntimeRouter = SetupContextRouter\ntype RuntimeRouterMethodName = 'switchTab' | 'reLaunch' | 'redirectTo' | 'navigateTo' | 'navigateBack'\ntype RuntimeRouterAccessor = 'router' | 'pageRouter'\n\nconst RUNTIME_ROUTER_METHODS: RuntimeRouterMethodName[] = ['switchTab', 'reLaunch', 'redirectTo', 'navigateTo', 'navigateBack']\nconst runtimeRouterWrapperCache = new WeakMap<RuntimeRouter, Map<string, RuntimeRouter>>()\n\nfunction isRuntimeRouter(candidate: unknown): candidate is RuntimeRouter {\n if (!candidate || typeof candidate !== 'object') {\n return false\n }\n return RUNTIME_ROUTER_METHODS.every((methodName) => {\n return typeof (candidate as Record<string, any>)[methodName] === 'function'\n })\n}\n\nfunction createGlobalRouterFallback(): RuntimeRouter | undefined {\n return getCurrentMiniProgramGlobalRouter()\n}\n\nfunction resolveBasePathCandidate(candidate: unknown): string | undefined {\n if (typeof candidate !== 'string' || !candidate) {\n return undefined\n }\n const normalized = resolvePath(candidate, '')\n return normalized || undefined\n}\n\nfunction resolveRouterBasePath(\n nativeInstance: Record<string, any>,\n accessor: RuntimeRouterAccessor,\n): string | undefined {\n const candidates = accessor === 'pageRouter'\n ? [nativeInstance.route, nativeInstance.__route__, nativeInstance.is]\n : [nativeInstance.is, nativeInstance.route, nativeInstance.__route__]\n\n for (const candidate of candidates) {\n const resolved = resolveBasePathCandidate(candidate)\n if (resolved) {\n return resolved\n }\n }\n\n return undefined\n}\n\nfunction resolveScopedRouterUrl(url: string, basePath?: string): string {\n if (!basePath || (!url.startsWith('./') && !url.startsWith('../'))) {\n return url\n }\n\n const { path, query, hash } = parsePathInput(url)\n const resolvedPath = createAbsoluteRoutePath(resolvePath(path, basePath))\n const queryString = stringifyQuery(query)\n return `${resolvedPath}${queryString ? `?${queryString}` : ''}${hash}`\n}\n\nfunction createScopedRuntimeRouter(rawRouter: RuntimeRouter, basePath?: string): RuntimeRouter {\n const cacheKey = basePath ?? ''\n const cachedByBasePath = runtimeRouterWrapperCache.get(rawRouter)\n const cachedRouter = cachedByBasePath?.get(cacheKey)\n if (cachedRouter) {\n return cachedRouter\n }\n\n const scopedRouter = Object.create(null) as RuntimeRouter\n for (const methodName of RUNTIME_ROUTER_METHODS) {\n ;(scopedRouter as Record<string, any>)[methodName] = (option: Record<string, any>) => {\n const rawMethod = (rawRouter as Record<string, any>)[methodName]\n if (methodName === 'navigateBack' || !option || typeof option !== 'object') {\n return rawMethod.call(rawRouter, option)\n }\n\n const nextUrl = typeof option.url === 'string'\n ? resolveScopedRouterUrl(option.url, basePath)\n : option.url\n const nextOption = nextUrl === option.url\n ? option\n : { ...option, url: nextUrl }\n return rawMethod.call(rawRouter, nextOption)\n }\n }\n\n const nextCache = cachedByBasePath ?? new Map<string, RuntimeRouter>()\n nextCache.set(cacheKey, scopedRouter)\n runtimeRouterWrapperCache.set(rawRouter, nextCache)\n return scopedRouter\n}\n\nfunction useRuntimeRouterByAccessor(\n primaryAccessor: RuntimeRouterAccessor,\n fallbackAccessor: RuntimeRouterAccessor,\n helperName: 'useNativeRouter' | 'useNativePageRouter',\n): RuntimeRouter {\n const ctx = getCurrentSetupContext<any>()\n if (!ctx?.instance) {\n throw new Error(`${helperName}() 必须在 setup() 的同步阶段调用`)\n }\n\n const nativeInstance = ctx.instance as Record<string, any>\n const basePath = resolveRouterBasePath(nativeInstance, primaryAccessor)\n const primaryRouter = nativeInstance[primaryAccessor]\n if (isRuntimeRouter(primaryRouter)) {\n return createScopedRuntimeRouter(primaryRouter, basePath)\n }\n\n const fallbackRouter = nativeInstance[fallbackAccessor]\n if (isRuntimeRouter(fallbackRouter)) {\n return createScopedRuntimeRouter(fallbackRouter, basePath)\n }\n\n const globalFallbackRouter = createGlobalRouterFallback()\n if (globalFallbackRouter) {\n return createScopedRuntimeRouter(globalFallbackRouter, basePath)\n }\n\n throw new Error('当前运行环境不支持 Router,请升级宿主基础库或检查平台路由能力')\n}\n\n/**\n * 在 setup 中获取与当前组件路径语义一致的原生 Router 对象。\n *\n * - 优先使用实例上的 `this.router`(组件路径语义)。\n * - 不可用时回退到 `this.pageRouter`。\n * - 低版本基础库再回退到宿主全局路由方法。\n *\n * 如需更贴近 Vue Router 的高阶能力(导航守卫、失败类型、统一解析),\n * 推荐改用 `wevu/router` 子入口的 `useRouter()`。\n */\nexport function useNativeRouter(): RuntimeRouter {\n return useRuntimeRouterByAccessor('router', 'pageRouter', 'useNativeRouter')\n}\n\n/**\n * 在 setup 中获取与当前页面路径语义一致的原生 Router 对象。\n *\n * - 优先使用实例上的 `this.pageRouter`(页面路径语义)。\n * - 不可用时回退到 `this.router`。\n * - 低版本基础库再回退到宿主全局路由方法。\n *\n * 如需更贴近 Vue Router 的高阶能力(导航守卫、失败类型、统一解析),\n * 推荐改用 `wevu/router` 子入口的 `useRouter()`。\n */\nexport function useNativePageRouter(): RuntimeRouter {\n return useRuntimeRouterByAccessor('pageRouter', 'router', 'useNativePageRouter')\n}\n"],"mappings":"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"}