diff --git a/miniprogram/unpackage/dist/build/mp-weixin/api/cart.js b/miniprogram/unpackage/dist/build/mp-weixin/api/cart.js deleted file mode 100644 index 255f6ba1..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/api/cart.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const t=require("../utils/request.js");exports.addToCart=e=>t.post("/api/cart",e),exports.deleteCartItem=e=>t.del(`/api/cart/${e}`),exports.getCartList=()=>t.get("/api/cart"),exports.updateCartItem=(e,r)=>t.put(`/api/cart/${e}`,r); diff --git a/miniprogram/unpackage/dist/build/mp-weixin/api/order.js b/miniprogram/unpackage/dist/build/mp-weixin/api/order.js deleted file mode 100644 index 6b7982d7..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/api/order.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("../utils/request.js");exports.cancelOrder=r=>e.put(`/api/orders/${r}/cancel`),exports.createOrder=r=>e.post("/api/orders",r),exports.getOrderDetail=r=>e.get(`/api/orders/${r}`),exports.getOrderList=()=>e.get("/api/orders"); diff --git a/miniprogram/unpackage/dist/build/mp-weixin/api/product.js b/miniprogram/unpackage/dist/build/mp-weixin/api/product.js deleted file mode 100644 index b4253bb1..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/api/product.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const t=require("../utils/request.js");exports.getCategories=()=>t.get("/api/categories"),exports.getProductDetail=e=>t.get(`/api/products/${e}`),exports.getProductSpecs=e=>t.get(`/api/products/${e}/specs`),exports.getProducts=e=>t.get("/api/products",e),exports.getSpecDataList=(e,s)=>t.post(`/api/products/${e}/spec-data`,s||{}); diff --git a/miniprogram/unpackage/dist/build/mp-weixin/api/user.js b/miniprogram/unpackage/dist/build/mp-weixin/api/user.js deleted file mode 100644 index 5a2158db..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/api/user.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("../utils/request.js");exports.addAddress=s=>e.post("/api/user/addresses",s),exports.deleteAddress=s=>e.del(`/api/user/addresses/${s}`),exports.getAddressList=()=>e.get("/api/user/addresses"),exports.getUserProfile=()=>e.get("/api/user/profile"),exports.updateAddress=(s,r)=>e.put(`/api/user/addresses/${s}`,r); diff --git a/miniprogram/unpackage/dist/build/mp-weixin/app.js b/miniprogram/unpackage/dist/build/mp-weixin/app.js deleted file mode 100644 index c793e0bb..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/app.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./common/vendor.js");Math;const e={onLaunch(){console.log("App Launch")},onShow(){console.log("App Show")},onHide(){console.log("App Hide")}};function n(){const n=o.createSSRApp(e),p=o.createPinia();return n.use(p),{app:n}}n().app.mount("#app"),exports.createApp=n; diff --git a/miniprogram/unpackage/dist/build/mp-weixin/app.json b/miniprogram/unpackage/dist/build/mp-weixin/app.json deleted file mode 100644 index ebaf25be..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/app.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "pages": [ - "pages/index/index", - "pages/category/index", - "pages/product/detail", - "pages/cart/index", - "pages/order/submit", - "pages/order/detail", - "pages/order/list", - "pages/mold/index", - "pages/calculator/index", - "pages/mine/index", - "pages/address/index", - "pages/search/index", - "pages/login/index" - ], - "window": { - "navigationBarTextStyle": "black", - "navigationBarTitleText": "珠宝商城", - "navigationBarBackgroundColor": "#F8F8F8", - "backgroundColor": "#F8F8F8" - }, - "tabBar": { - "color": "#999", - "selectedColor": "#e4393c", - "backgroundColor": "#fff", - "list": [ - { - "pagePath": "pages/index/index", - "iconPath": "static/tab/home.png", - "selectedIconPath": "static/tab/home_s.png", - "text": "首页" - }, - { - "pagePath": "pages/mold/index", - "iconPath": "static/tab/model_house.png", - "selectedIconPath": "static/tab/model_house_s.png", - "text": "版房" - }, - { - "pagePath": "pages/cart/index", - "iconPath": "static/tab/car.png", - "selectedIconPath": "static/tab/car_s.png", - "text": "购物车" - }, - { - "pagePath": "pages/mine/index", - "iconPath": "static/tab/me.png", - "selectedIconPath": "static/tab/me_s.png", - "text": "我的" - } - ] - }, - "permission": {}, - "usingComponents": {} -} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/app.wxss b/miniprogram/unpackage/dist/build/mp-weixin/app.wxss deleted file mode 100644 index c1b62518..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/app.wxss +++ /dev/null @@ -1 +0,0 @@ -page{--status-bar-height:25px;--top-window-height:0px;--window-top:0px;--window-bottom:0px;--window-left:0px;--window-right:0px;--window-magin:0px}[data-c-h="true"]{display: none !important;} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/common/assets.js b/miniprogram/unpackage/dist/build/mp-weixin/common/assets.js deleted file mode 100644 index 80efe0d3..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/common/assets.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";exports._imports_0="/static/ic_search.png",exports._imports_0$1="/static/ic_none.png",exports._imports_0$2="/static/ic_back.png",exports._imports_0$3="/static/tab/me_s.png",exports._imports_0$4="/static/logo.png",exports._imports_0$5="/static/ic_notice.png",exports._imports_1="/static/ic_jz.png",exports._imports_1$1="/static/ic_address.png",exports._imports_1$2="/static/ic_address2.png",exports._imports_1$3="/static/ic_empty.png",exports._imports_2="/static/ic_kf.png",exports._imports_2$1="/static/ic_customer.png",exports._imports_2$2="/static/tab/car.png",exports._imports_2$3="/static/ic_tip.png",exports._imports_2$4="/static/ic_phone.png",exports._imports_3="/static/ic_time.png",exports._imports_3$1="/static/ic_about.png",exports._imports_4="/static/ic_agreement1.png",exports._imports_5="/static/ic_agreement2.png",exports._imports_6="/static/ic_loginout.png"; diff --git a/miniprogram/unpackage/dist/build/mp-weixin/common/vendor.js b/miniprogram/unpackage/dist/build/mp-weixin/common/vendor.js deleted file mode 100644 index 34bc7ffd..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/common/vendor.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; -/** -* @vue/shared v3.4.21 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/ -function e(e,t){const n=new Set(e.split(","));return t?e=>n.has(e.toLowerCase()):e=>n.has(e)}const t={},n=[],o=()=>{},r=()=>!1,s=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),i=e=>e.startsWith("onUpdate:"),c=Object.assign,a=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},u=Object.prototype.hasOwnProperty,l=(e,t)=>u.call(e,t),f=Array.isArray,p=e=>"[object Map]"===x(e),d=e=>"[object Set]"===x(e),h=e=>"function"==typeof e,g=e=>"string"==typeof e,m=e=>"symbol"==typeof e,v=e=>null!==e&&"object"==typeof e,_=e=>(v(e)||h(e))&&h(e.then)&&h(e.catch),y=Object.prototype.toString,x=e=>y.call(e),b=e=>"[object Object]"===x(e),w=e=>g(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,$=e(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),S=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},k=/-(\w)/g,O=S((e=>e.replace(k,((e,t)=>t?t.toUpperCase():"")))),P=/\B([A-Z])/g,E=S((e=>e.replace(P,"-$1").toLowerCase())),C=S((e=>e.charAt(0).toUpperCase()+e.slice(1))),I=S((e=>e?`on${C(e)}`:"")),A=(e,t)=>!Object.is(e,t),j=(e,t)=>{for(let n=0;n{const t=parseFloat(e);return isNaN(t)?e:t},L=(e,t)=>t&&t.__v_isRef?L(e,t.value):p(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n],o)=>(e[M(t,o)+" =>"]=n,e)),{})}:d(t)?{[`Set(${t.size})`]:[...t.values()].map((e=>M(e)))}:m(t)?M(t):!v(t)||f(t)||b(t)?t:String(t),M=(e,t="")=>{var n;return m(e)?`Symbol(${null!=(n=e.description)?n:t})`:e};function T(e,t=null){let n;return(...o)=>(e&&(n=e.apply(t,o),e=null),n)}function V(e,t){if(!g(t))return;const n=(t=t.replace(/\[(\d+)\]/g,".$1")).split(".");let o=n[0];return e||(e={}),1===n.length?e[o]:V(e[o],n.slice(1).join("."))}function H(e){let t={};return b(e)&&Object.keys(e).sort().forEach((n=>{const o=n;t[o]=e[o]})),Object.keys(t)?t:e}const D=/:/g;const N=encodeURIComponent;function B(e,t=N){const n=e?Object.keys(e).map((n=>{let o=e[n];return void 0===typeof o||null===o?o="":b(o)&&(o=JSON.stringify(o)),t(n)+"="+t(o)})).filter((e=>e.length>0)).join("&"):null;return n?`?${n}`:""}const U=["onInit","onLoad","onShow","onHide","onUnload","onBackPress","onPageScroll","onTabItemTap","onReachBottom","onPullDownRefresh","onShareTimeline","onShareAppMessage","onShareChat","onAddToFavorites","onSaveExitState","onNavigationBarButtonTap","onNavigationBarSearchInputClicked","onNavigationBarSearchInputChanged","onNavigationBarSearchInputConfirmed","onNavigationBarSearchInputFocusChanged"];const W=["onShow","onHide","onLaunch","onError","onThemeChange","onPageNotFound","onUnhandledRejection","onExit","onInit","onLoad","onReady","onUnload","onResize","onBackPress","onPageScroll","onTabItemTap","onReachBottom","onPullDownRefresh","onShareTimeline","onAddToFavorites","onShareAppMessage","onShareChat","onSaveExitState","onNavigationBarButtonTap","onNavigationBarSearchInputClicked","onNavigationBarSearchInputChanged","onNavigationBarSearchInputConfirmed","onNavigationBarSearchInputFocusChanged"],z=(()=>({onPageScroll:1,onShareAppMessage:2,onShareTimeline:4,onShareChat:8}))();function F(e,t,n=!0){return!(n&&!h(t))&&(W.indexOf(e)>-1||0===e.indexOf("on"))}let K;const q=[];const J=T(((e,t)=>t(e))),G=function(){};G.prototype={_id:1,on:function(e,t,n){var o=this.e||(this.e={});return(o[e]||(o[e]=[])).push({fn:t,ctx:n,_id:this._id}),this._id++},once:function(e,t,n){var o=this;function r(){o.off(e,r),t.apply(n,arguments)}return r._=t,this.on(e,r,n)},emit:function(e){for(var t=[].slice.call(arguments,1),n=((this.e||(this.e={}))[e]||[]).slice(),o=0,r=n.length;o=0;s--)if(o[s].fn===t||o[s].fn._===t||o[s]._id===t){o.splice(s,1);break}r=o}return r.length?n[e]=r:delete n[e],this}};var Z=G;function Q(e,t){if(!e)return;if(e=e.trim().replace(/_/g,"-"),t&&t[e])return e;if("chinese"===(e=e.toLowerCase()))return"zh-Hans";if(0===e.indexOf("zh"))return e.indexOf("-hans")>-1?"zh-Hans":e.indexOf("-hant")>-1?"zh-Hant":(n=e,["-tw","-hk","-mo","-cht"].find((e=>-1!==n.indexOf(e)))?"zh-Hant":"zh-Hans");var n;let o=["en","fr","es"];t&&Object.keys(t).length>0&&(o=Object.keys(t));const r=function(e,t){return t.find((t=>0===e.indexOf(t)))}(e,o);return r||void 0}function X(e){return function(){try{return e.apply(e,arguments)}catch(t){console.error(t)}}}let Y=1;const ee={};function te(e,t,n){if("number"==typeof e){const o=ee[e];if(o)return o.keepAlive||delete ee[e],o.callback(t,n)}return t}const ne="success",oe="fail",re="complete";function se(e,t={},{beforeAll:n,beforeSuccess:o}={}){b(t)||(t={});const{success:r,fail:s,complete:i}=function(e){const t={};for(const n in e){const o=e[n];h(o)&&(t[n]=X(o),delete e[n])}return t}(t),c=h(r),a=h(s),u=h(i),l=Y++;return function(e,t,n,o=!1){ee[e]={name:t,keepAlive:o,callback:n}}(l,e,(l=>{(l=l||{}).errMsg=function(e,t){return e&&-1!==e.indexOf(":fail")?t+e.substring(e.indexOf(":fail")):t+":ok"}(l.errMsg,e),h(n)&&n(l),l.errMsg===e+":ok"?(h(o)&&o(l,t),c&&r(l)):a&&s(l),u&&i(l)})),l}const ie="success",ce="fail",ae="complete",ue={},le={};function fe(e,t){return function(n){return e(n,t)||n}}function pe(e,t,n){let o=!1;for(let r=0;re(t),catch(){}}}function de(e,t={}){return[ie,ce,ae].forEach((n=>{const o=e[n];if(!f(o))return;const r=t[n];t[n]=function(e){pe(o,e,t).then((e=>h(r)&&r(e)||e))}})),t}function he(e,t){const n=[];f(ue.returnValue)&&n.push(...ue.returnValue);const o=le[e];return o&&f(o.returnValue)&&n.push(...o.returnValue),n.forEach((e=>{t=e(t)||t})),t}function ge(e){const t=Object.create(null);Object.keys(ue).forEach((e=>{"returnValue"!==e&&(t[e]=ue[e].slice())}));const n=le[e];return n&&Object.keys(n).forEach((e=>{"returnValue"!==e&&(t[e]=(t[e]||[]).concat(n[e]))})),t}function me(e,t,n,o){const r=ge(e);if(r&&Object.keys(r).length){if(f(r.invoke)){return pe(r.invoke,n).then((n=>t(de(ge(e),n),...o)))}return t(de(r,n),...o)}return t(n,...o)}function ve(e,t){return(n={},...o)=>function(e){return!(!b(e)||![ne,oe,re].find((t=>h(e[t]))))}(n)?he(e,me(e,t,c({},n),o)):he(e,new Promise(((r,s)=>{me(e,t,c({},n,{success:r,fail:s}),o)})))}function _e(e,t,n,o={}){const r=t+":fail";let s="";return s=n?0===n.indexOf(r)?n:r+" "+n:r,delete o.errCode,te(e,c({errMsg:s},o))}function ye(e,t,n,o){const r=function(e,t){e[0]}(t);if(r)return r}function xe(e,t,n,o){return n=>{const r=se(e,n,o),s=ye(0,[n]);return s?_e(r,e,s):t(n,{resolve:t=>function(e,t,n){return te(e,c(n||{},{errMsg:t+":ok"}))}(r,e,t),reject:(t,n)=>_e(r,e,function(e){return!e||g(e)?e:e.stack?("undefined"!=typeof globalThis&&globalThis.harmonyChannel||console.error(e.message+"\n"+e.stack),e.message):e}(t),n)})}}function be(e,t,n,o){return function(e,t,n,o){return(...e)=>{const n=ye(0,e);if(n)throw new Error(n);return t.apply(null,e)}}(0,t)}let we=!1,$e=0,Se=0;const ke=be(0,((e,t)=>{if(0===$e&&function(){var e,t;let n,o,r;{const s=(null===(e=wx.getWindowInfo)||void 0===e?void 0:e.call(wx))||wx.getSystemInfoSync(),i=(null===(t=wx.getDeviceInfo)||void 0===t?void 0:t.call(wx))||wx.getSystemInfoSync();n=s.windowWidth,o=s.pixelRatio,r=i.platform}$e=n,Se=o,we="ios"===r}(),0===(e=Number(e)))return 0;let n=e/750*(t||$e);return n<0&&(n=-n),n=Math.floor(n+1e-4),0===n&&(n=1!==Se&&we?.5:1),e<0?-n:n}));function Oe(e,t){Object.keys(t).forEach((n=>{h(t[n])&&(e[n]=function(e,t){const n=t?e?e.concat(t):f(t)?t:[t]:e;return n?function(e){const t=[];for(let n=0;n{const o=e[n],r=t[n];f(o)&&h(r)&&a(o,r)}))}const Ee=be(0,((e,t)=>{g(e)&&b(t)?Oe(le[e]||(le[e]={}),t):b(e)&&Oe(ue,e)})),Ce=be(0,((e,t)=>{g(e)?b(t)?Pe(le[e],t):delete le[e]:b(e)&&Pe(ue,e)}));const Ie=new class{constructor(){this.$emitter=new Z}on(e,t){return this.$emitter.on(e,t)}once(e,t){return this.$emitter.once(e,t)}off(e,t){e?this.$emitter.off(e,t):this.$emitter.e={}}emit(e,...t){this.$emitter.emit(e,...t)}},Ae=be(0,((e,t)=>(Ie.on(e,t),()=>Ie.off(e,t)))),je=be(0,((e,t)=>(Ie.once(e,t),()=>Ie.off(e,t)))),Re=be(0,((e,t)=>{f(e)||(e=e?[e]:[]),e.forEach((e=>{Ie.off(e,t)}))})),Le=be(0,((e,...t)=>{Ie.emit(e,...t)}));let Me,Te,Ve;function He(e){try{return JSON.parse(e)}catch(t){}return e}const De=[];function Ne(e,t){De.forEach((n=>{n(e,t)})),De.length=0}const Be=ve(Ue="getPushClientId",function(e,t,n,o){return xe(e,t,0,o)}(Ue,((e,{resolve:t,reject:n})=>{Promise.resolve().then((()=>{void 0===Ve&&(Ve=!1,Me="",Te="uniPush is not enabled"),De.push(((e,o)=>{e?t({cid:e}):n(o)})),void 0!==Me&&Ne(Me,Te)}))}),0,We));var Ue,We;const ze=[],Fe=/^\$|__f__|getLocale|setLocale|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|rpx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getDeviceInfo|getAppBaseInfo|getWindowInfo|getSystemSetting|getAppAuthorizeSetting/,Ke=/^create|Manager$/,qe=["createBLEConnection"],Je=["request","downloadFile","uploadFile","connectSocket"],Ge=["createBLEConnection"],Ze=/^on|^off/;function Qe(e){return Ke.test(e)&&-1===qe.indexOf(e)}function Xe(e){return Fe.test(e)&&-1===Ge.indexOf(e)}function Ye(e){return-1!==Je.indexOf(e)}function et(e){return!(Qe(e)||Xe(e)||function(e){return Ze.test(e)&&"onPush"!==e}(e))}function tt(e,t){return et(e)&&h(t)?function(n={},...o){return h(n.success)||h(n.fail)||h(n.complete)?he(e,me(e,t,c({},n),o)):he(e,new Promise(((r,s)=>{me(e,t,c({},n,{success:r,fail:s}),o)})))}:t}Promise.prototype.finally||(Promise.prototype.finally=function(e){const t=this.constructor;return this.then((n=>t.resolve(e&&e()).then((()=>n))),(n=>t.resolve(e&&e()).then((()=>{throw n}))))});const nt=["success","fail","cancel","complete"];const ot=()=>{const e=h(getApp)&&getApp({allowDefault:!0});return e&&e.$vm?e.$vm.$locale:function(){var e;let t="";{const n=(null===(e=wx.getAppBaseInfo)||void 0===e?void 0:e.call(wx))||wx.getSystemInfoSync();t=Q(n&&n.language?n.language:"en")||"en"}return t}()},rt=[];"undefined"!=typeof global&&(global.getLocale=ot);let st;function it(e=wx){return function(t,n){st=st||e.getStorageSync("__DC_STAT_UUID"),st||(st=Date.now()+""+Math.floor(1e7*Math.random()),wx.setStorage({key:"__DC_STAT_UUID",data:st})),n.deviceId=st}}function ct(e,t){if(e.safeArea){const n=e.safeArea;t.safeAreaInsets={top:n.top,left:n.left,right:e.windowWidth-n.right,bottom:e.screenHeight-n.bottom}}}function at(e,t){let n="",o="";switch(n=e.split(" ")[0]||t,o=e.split(" ")[1]||"",n=n.toLowerCase(),n){case"harmony":case"ohos":case"openharmony":n="harmonyos";break;case"iphone os":n="ios";break;case"mac":case"darwin":n="macos";break;case"windows_nt":n="windows"}return{osName:n,osVersion:o}}function ut(e,t){let n=e.deviceType||"phone";{const e={ipad:"pad",windows:"pc",mac:"pc"},o=Object.keys(e),r=t.toLowerCase();for(let t=0;t{ct(e,t),it()(e,t),function(e,t){const{brand:n="",model:o="",system:r="",language:s="",theme:i,version:a,platform:u,fontSizeSetting:l,SDKVersion:f,pixelRatio:p,deviceOrientation:d}=e,{osName:h,osVersion:g}=at(r,u);let m=a,v=ut(e,o),_=lt(n),y=pt(e),x=d,b=p,w=f;const $=(s||"").replace(/_/g,"-"),S={appId:"__UNI__325B000",appName:"钻石流",appVersion:"1.0.0",appVersionCode:"100",appLanguage:ft($),uniCompileVersion:"4.87",uniCompilerVersion:"4.87",uniRuntimeVersion:"4.87",uniPlatform:"mp-weixin",deviceBrand:_,deviceModel:o,deviceType:v,devicePixelRatio:b,deviceOrientation:x,osName:h,osVersion:g,hostTheme:i,hostVersion:m,hostLanguage:$,hostName:y,hostSDKVersion:w,hostFontSizeSetting:l,windowTop:0,windowBottom:0,osLanguage:void 0,osTheme:void 0,ua:void 0,hostPackageName:void 0,browserName:void 0,browserVersion:void 0,isUniAppX:!1};c(t,S)}(e,t)}},ht=dt,gt={args(e,t){let n=parseInt(e.current);if(isNaN(n))return;const o=e.urls;if(!f(o))return;const r=o.length;return r?(n<0?n=0:n>=r&&(n=r-1),n>0?(t.current=o[n],t.urls=o.filter(((e,t)=>!(t{const{brand:n,model:o,system:r="",platform:s=""}=e;let i=ut(e,o),a=lt(n);it()(e,t);const{osName:u,osVersion:l}=at(r,s);t=H(c(t,{deviceType:i,deviceBrand:a,deviceModel:o,osName:u,osVersion:l}))}},_t={returnValue:(e,t)=>{const{version:n,language:o,SDKVersion:r,theme:s}=e;let i=pt(e),a=(o||"").replace(/_/g,"-");const u={hostVersion:n,hostLanguage:a,hostName:i,hostSDKVersion:r,hostTheme:s,appId:"__UNI__325B000",appName:"钻石流",appVersion:"1.0.0",appVersionCode:"100",appLanguage:ft(a),isUniAppX:!1,uniPlatform:"mp-weixin",uniCompileVersion:"4.87",uniCompilerVersion:"4.87",uniRuntimeVersion:"4.87"};c(t,u)}},yt={returnValue:(e,t)=>{ct(e,t),t=H(c(t,{windowTop:0,windowBottom:0}))}},xt={args(e){const t=getApp({allowDefault:!0})||{};t.$vm?or("onError",e,t.$vm.$):(wx.$onErrorHandlers||(wx.$onErrorHandlers=[]),wx.$onErrorHandlers.push(e))}},bt={args(e){const t=getApp({allowDefault:!0})||{};if(t.$vm){if(e.__weh){const n=t.$vm.$.onError;if(n){const t=n.indexOf(e.__weh);t>-1&&n.splice(t,1)}}}else{if(!wx.$onErrorHandlers)return;const t=wx.$onErrorHandlers.findIndex((t=>t===e));-1!==t&&wx.$onErrorHandlers.splice(t,1)}}},wt={args(){if(wx.__uni_console__){if(wx.__uni_console_warned__)return;wx.__uni_console_warned__=!0,console.warn("开发模式下小程序日志回显会使用 socket 连接,为了避免冲突,建议使用 SocketTask 的方式去管理 WebSocket 或手动关闭日志回显功能。[详情](https://uniapp.dcloud.net.cn/tutorial/run/mp-log.html)")}}},$t=wt,St={$on:Ae,$off:Re,$once:je,$emit:Le,upx2px:ke,rpx2px:ke,interceptors:{},addInterceptor:Ee,removeInterceptor:Ce,onCreateVueApp:function(e){if(K)return e(K);q.push(e)},invokeCreateVueAppHook:function(e){K=e,q.forEach((t=>t(e)))},getLocale:ot,setLocale:e=>{const t=h(getApp)&&getApp();if(!t)return!1;return t.$vm.$locale!==e&&(t.$vm.$locale=e,rt.forEach((t=>t({locale:e}))),!0)},onLocaleChange:e=>{-1===rt.indexOf(e)&&rt.push(e)},getPushClientId:Be,onPushMessage:e=>{-1===ze.indexOf(e)&&ze.push(e)},offPushMessage:e=>{if(e){const t=ze.indexOf(e);t>-1&&ze.splice(t,1)}else ze.length=0},invokePushCallback:function(e){if("enabled"===e.type)Ve=!0;else if("clientId"===e.type)Me=e.cid,Te=e.errMsg,Ne(Me,e.errMsg);else if("pushMsg"===e.type){const t={type:"receive",data:He(e.message)};for(let e=0;e{t({type:"click",data:He(e.message)})}))},__f__:function(e,t,...n){t&&n.push(t),console[e].apply(console,n)}};const kt=["qy","env","error","version","lanDebug","cloud","serviceMarket","router","worklet","__webpack_require_UNI_MP_PLUGIN__"],Ot=["lanDebug","router","worklet"],Pt=wx.getLaunchOptionsSync?wx.getLaunchOptionsSync():null;function Et(e){return(!Pt||1154!==Pt.scene||!Ot.includes(e))&&(kt.indexOf(e)>-1||"function"==typeof wx[e])}function Ct(){const e={};for(const t in wx)Et(t)&&(e[t]=wx[t]);return"undefined"!=typeof globalThis&&"undefined"==typeof requireMiniProgram&&(globalThis.wx=e),e}const It=["__route__","__wxExparserNodeId__","__wxWebviewId__"],At=(jt={oauth:["weixin"],share:["weixin"],payment:["wxpay"],push:["weixin"]},function({service:e,success:t,fail:n,complete:o}){let r;jt[e]?(r={errMsg:"getProvider:ok",service:e,provider:jt[e]},h(t)&&t(r)):(r={errMsg:"getProvider:fail:服务["+e+"]不存在"},h(n)&&n(r)),h(o)&&o(r)});var jt;const Rt=Ct();Rt.canIUse("getAppBaseInfo")||(Rt.getAppBaseInfo=Rt.getSystemInfoSync),Rt.canIUse("getWindowInfo")||(Rt.getWindowInfo=Rt.getSystemInfoSync),Rt.canIUse("getDeviceInfo")||(Rt.getDeviceInfo=Rt.getSystemInfoSync);let Lt=Rt.getAppBaseInfo&&Rt.getAppBaseInfo();Lt||(Lt=Rt.getSystemInfoSync());const Mt=Lt?Lt.host:null,Tt=Mt&&"SAAASDK"===Mt.env?Rt.miniapp.shareVideoMessage:Rt.shareVideoMessage;var Vt=Object.freeze({__proto__:null,createSelectorQuery:function(){const e=Rt.createSelectorQuery(),t=e.in;return e.in=function(e){return e.$scope?t.call(this,e.$scope):t.call(this,function(e){const t=Object.create(null);return It.forEach((n=>{t[n]=e[n]})),t}(e))},e},getProvider:At,shareVideoMessage:Tt});const Ht={args(e,t){e.compressedHeight&&!t.compressHeight&&(t.compressHeight=e.compressedHeight),e.compressedWidth&&!t.compressWidth&&(t.compressWidth=e.compressedWidth)}};var Dt=function(e,t,n=wx){const o=function(e){function t(e,t,n){return function(r){return t(o(e,r,n))}}function n(e,n,o={},r={},s=!1){if(b(n)){const i=!0===s?n:{};h(o)&&(o=o(n,i)||{});for(const c in n)if(l(o,c)){let t=o[c];h(t)&&(t=t(n[c],n,i)),t?g(t)?i[t]=n[c]:b(t)&&(i[t.name?t.name:c]=t.value):console.warn(`微信小程序 ${e} 暂不支持 ${c}`)}else if(-1!==nt.indexOf(c)){const o=n[c];h(o)&&(i[c]=t(e,o,r))}else s||l(i,c)||(i[c]=n[c]);return i}return h(n)&&(h(o)&&o(n,{}),n=t(e,n,r)),n}function o(t,o,r,s=!1){return h(e.returnValue)&&(o=e.returnValue(t,o)),n(t,o,r,{},s||!1)}return function(t,r){const s=l(e,t);if(!s&&"function"!=typeof wx[t])return r;const i=s||h(e.returnValue)||Qe(t)||Ye(t),c=s||h(r);if(!s&&!r)return function(){console.error(`微信小程序 暂不支持${t}`)};if(!i||!c)return r;const a=e[t];return function(e,r){let s=a||{};h(a)&&(s=a(e));const i=[e=n(t,e,s.args,s.returnValue)];void 0!==r&&i.push(r);const c=wx[s.name||t].apply(wx,i);return(Qe(t)||Ye(t))&&c&&!c.__v_skip&&(c.__v_skip=!0),Xe(t)?o(t,c,s.returnValue,Qe(t)):c}}}(t);return new Proxy({},{get:(t,r)=>l(t,r)?t[r]:l(e,r)?tt(r,e[r]):l(St,r)?tt(r,St[r]):tt(r,o(r,n[r]))})}(Vt,Object.freeze({__proto__:null,compressImage:Ht,getAppAuthorizeSetting:{returnValue:function(e,t){const{locationReducedAccuracy:n}=e;t.locationAccuracy="unsupported",!0===n?t.locationAccuracy="reduced":!1===n&&(t.locationAccuracy="full")}},getAppBaseInfo:_t,getDeviceInfo:vt,getSystemInfo:dt,getSystemInfoSync:ht,getWindowInfo:yt,offError:bt,onError:xt,onSocketMessage:$t,onSocketOpen:wt,previewImage:gt,redirectTo:{},showActionSheet:mt}),Ct());let Nt,Bt;class Ut{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Nt,!e&&Nt&&(this.index=(Nt.scopes||(Nt.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const t=Nt;try{return Nt=this,e()}finally{Nt=t}}}on(){Nt=this}off(){Nt=this.parent}stop(e){if(this._active){let t,n;for(t=0,n=this.effects.length;t=4))break}1===this._dirtyLevel&&(this._dirtyLevel=0),Yt()}return this._dirtyLevel>=4}set dirty(e){this._dirtyLevel=e?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let e=Gt,t=Bt;try{return Gt=!0,Bt=this,this._runnings++,Kt(this),this.fn()}finally{qt(this),this._runnings--,Bt=t,Gt=e}}stop(){var e;this.active&&(Kt(this),qt(this),null==(e=this.onStop)||e.call(this),this.active=!1)}}function Kt(e){e._trackId++,e._depsLength=0}function qt(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},cn=new WeakMap,an=Symbol(""),un=Symbol("");function ln(e,t,n){if(Gt&&Bt){let t=cn.get(e);t||cn.set(e,t=new Map);let o=t.get(n);o||t.set(n,o=sn((()=>t.delete(n)))),nn(Bt,o)}}function fn(e,t,n,o,r,s){const i=cn.get(e);if(!i)return;let c=[];if("clear"===t)c=[...i.values()];else if("length"===n&&f(e)){const e=Number(o);i.forEach(((t,n)=>{("length"===n||!m(n)&&n>=e)&&c.push(t)}))}else switch(void 0!==n&&c.push(i.get(n)),t){case"add":f(e)?w(n)&&c.push(i.get("length")):(c.push(i.get(an)),p(e)&&c.push(i.get(un)));break;case"delete":f(e)||(c.push(i.get(an)),p(e)&&c.push(i.get(un)));break;case"set":p(e)&&c.push(i.get(an))}en();for(const a of c)a&&rn(a,4);tn()}const pn=e("__proto__,__v_isRef,__isVue"),dn=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(m)),hn=gn();function gn(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(...e){const n=to(this);for(let t=0,r=this.length;t{e[t]=function(...e){Xt(),en();const n=to(this)[t].apply(this,e);return tn(),Yt(),n}})),e}function mn(e){const t=to(this);return ln(t,0,e),t.hasOwnProperty(e)}class vn{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){const o=this._isReadonly,r=this._isShallow;if("__v_isReactive"===t)return!o;if("__v_isReadonly"===t)return o;if("__v_isShallow"===t)return r;if("__v_raw"===t)return n===(o?r?qn:Kn:r?Fn:zn).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const s=f(e);if(!o){if(s&&l(hn,t))return Reflect.get(hn,t,n);if("hasOwnProperty"===t)return mn}const i=Reflect.get(e,t,n);return(m(t)?dn.has(t):pn(t))?i:(o||ln(e,0,t),r?i:ao(i)?s&&w(t)?i:i.value:v(i)?o?Zn(i):Gn(i):i)}}class _n extends vn{constructor(e=!1){super(!1,e)}set(e,t,n,o){let r=e[t];if(!this._isShallow){const t=Yn(r);if(eo(n)||Yn(n)||(r=to(r),n=to(n)),!f(e)&&ao(r)&&!ao(n))return!t&&(r.value=n,!0)}const s=f(e)&&w(t)?Number(t)e,Sn=e=>Reflect.getPrototypeOf(e);function kn(e,t,n=!1,o=!1){const r=to(e=e.__v_raw),s=to(t);n||(A(t,s)&&ln(r,0,t),ln(r,0,s));const{has:i}=Sn(r),c=o?$n:n?ro:oo;return i.call(r,t)?c(e.get(t)):i.call(r,s)?c(e.get(s)):void(e!==r&&e.get(t))}function On(e,t=!1){const n=this.__v_raw,o=to(n),r=to(e);return t||(A(e,r)&&ln(o,0,e),ln(o,0,r)),e===r?n.has(e):n.has(e)||n.has(r)}function Pn(e,t=!1){return e=e.__v_raw,!t&&ln(to(e),0,an),Reflect.get(e,"size",e)}function En(e){e=to(e);const t=to(this);return Sn(t).has.call(t,e)||(t.add(e),fn(t,"add",e,e)),this}function Cn(e,t){t=to(t);const n=to(this),{has:o,get:r}=Sn(n);let s=o.call(n,e);s||(e=to(e),s=o.call(n,e));const i=r.call(n,e);return n.set(e,t),s?A(t,i)&&fn(n,"set",e,t):fn(n,"add",e,t),this}function In(e){const t=to(this),{has:n,get:o}=Sn(t);let r=n.call(t,e);r||(e=to(e),r=n.call(t,e)),o&&o.call(t,e);const s=t.delete(e);return r&&fn(t,"delete",e,void 0),s}function An(){const e=to(this),t=0!==e.size,n=e.clear();return t&&fn(e,"clear",void 0,void 0),n}function jn(e,t){return function(n,o){const r=this,s=r.__v_raw,i=to(s),c=t?$n:e?ro:oo;return!e&&ln(i,0,an),s.forEach(((e,t)=>n.call(o,c(e),c(t),r)))}}function Rn(e,t,n){return function(...o){const r=this.__v_raw,s=to(r),i=p(s),c="entries"===e||e===Symbol.iterator&&i,a="keys"===e&&i,u=r[e](...o),l=n?$n:t?ro:oo;return!t&&ln(s,0,a?un:an),{next(){const{value:e,done:t}=u.next();return t?{value:e,done:t}:{value:c?[l(e[0]),l(e[1])]:l(e),done:t}},[Symbol.iterator](){return this}}}}function Ln(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function Mn(){const e={get(e){return kn(this,e)},get size(){return Pn(this)},has:On,add:En,set:Cn,delete:In,clear:An,forEach:jn(!1,!1)},t={get(e){return kn(this,e,!1,!0)},get size(){return Pn(this)},has:On,add:En,set:Cn,delete:In,clear:An,forEach:jn(!1,!0)},n={get(e){return kn(this,e,!0)},get size(){return Pn(this,!0)},has(e){return On.call(this,e,!0)},add:Ln("add"),set:Ln("set"),delete:Ln("delete"),clear:Ln("clear"),forEach:jn(!0,!1)},o={get(e){return kn(this,e,!0,!0)},get size(){return Pn(this,!0)},has(e){return On.call(this,e,!0)},add:Ln("add"),set:Ln("set"),delete:Ln("delete"),clear:Ln("clear"),forEach:jn(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((r=>{e[r]=Rn(r,!1,!1),n[r]=Rn(r,!0,!1),t[r]=Rn(r,!1,!0),o[r]=Rn(r,!0,!0)})),[e,n,t,o]}const[Tn,Vn,Hn,Dn]=Mn();function Nn(e,t){const n=t?e?Dn:Hn:e?Vn:Tn;return(t,o,r)=>"__v_isReactive"===o?!e:"__v_isReadonly"===o?e:"__v_raw"===o?t:Reflect.get(l(n,o)&&o in t?n:t,o,r)}const Bn={get:Nn(!1,!1)},Un={get:Nn(!1,!0)},Wn={get:Nn(!0,!1)},zn=new WeakMap,Fn=new WeakMap,Kn=new WeakMap,qn=new WeakMap;function Jn(e){return e.__v_skip||!Object.isExtensible(e)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((e=>x(e).slice(8,-1))(e))}function Gn(e){return Yn(e)?e:Qn(e,!1,xn,Bn,zn)}function Zn(e){return Qn(e,!0,bn,Wn,Kn)}function Qn(e,t,n,o,r){if(!v(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const s=r.get(e);if(s)return s;const i=Jn(e);if(0===i)return e;const c=new Proxy(e,2===i?o:n);return r.set(e,c),c}function Xn(e){return Yn(e)?Xn(e.__v_raw):!(!e||!e.__v_isReactive)}function Yn(e){return!(!e||!e.__v_isReadonly)}function eo(e){return!(!e||!e.__v_isShallow)}function to(e){const t=e&&e.__v_raw;return t?to(t):e}function no(e){return Object.isExtensible(e)&&((e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})})(e,"__v_skip",!0),e}const oo=e=>v(e)?Gn(e):e,ro=e=>v(e)?Zn(e):e;class so{constructor(e,t,n,o){this.getter=e,this._setter=t,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Ft((()=>e(this._value)),(()=>co(this,2===this.effect._dirtyLevel?2:3))),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=n}get value(){const e=to(this);return e._cacheable&&!e.effect.dirty||!A(e._value,e._value=e.effect.run())||co(e,4),io(e),e.effect._dirtyLevel>=2&&co(e,2),e._value}set value(e){this._setter(e)}get _dirty(){return this.effect.dirty}set _dirty(e){this.effect.dirty=e}}function io(e){var t;Gt&&Bt&&(e=to(e),nn(Bt,null!=(t=e.dep)?t:e.dep=sn((()=>e.dep=void 0),e instanceof so?e:void 0)))}function co(e,t=4,n){const o=(e=to(e)).dep;o&&rn(o,t)}function ao(e){return!(!e||!0!==e.__v_isRef)}function uo(e){return function(e,t){if(ao(e))return e;return new lo(e,t)}(e,!1)}class lo{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:to(e),this._value=t?e:oo(e)}get value(){return io(this),this._value}set value(e){const t=this.__v_isShallow||eo(e)||Yn(e);e=t?e:to(e),A(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:oo(e),co(this,4))}}function fo(e){return ao(e)?e.value:e}const po={get:(e,t,n)=>fo(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const r=e[t];return ao(r)&&!ao(n)?(r.value=n,!0):Reflect.set(e,t,n,o)}};function ho(e){return Xn(e)?e:new Proxy(e,po)}class go{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0}get value(){const e=this._object[this._key];return void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return e=to(this._object),t=this._key,null==(n=cn.get(e))?void 0:n.get(t);var e,t,n}}function mo(e,t,n){const o=e[t];return ao(o)?o:new go(e,t,n)}function vo(e,t,n,o){try{return o?e(...o):e()}catch(r){yo(r,t,n)}}function _o(e,t,n,o){if(h(e)){const r=vo(e,t,n,o);return r&&_(r)&&r.catch((e=>{yo(e,t,n)})),r}const r=[];for(let s=0;s>>1,r=$o[o],s=Mo(r);snull==e.id?1/0:e.id,To=(e,t)=>{const n=Mo(e)-Mo(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Vo(e){wo=!1,bo=!0,$o.sort(To);try{for(So=0;So<$o.length;So++){const e=$o[So];e&&!1!==e.active&&vo(e,null,14)}}finally{So=0,$o.length=0,function(e){if(ko.length){const e=[...new Set(ko)].sort(((e,t)=>Mo(e)-Mo(t)));if(ko.length=0,Oo)return void Oo.push(...e);for(Oo=e,Po=0;Pog(e)?e.trim():e))),n&&(s=o.map(R))}let a,u=r[a=I(n)]||r[a=I(O(n))];!u&&i&&(u=r[a=I(E(n))]),u&&_o(u,e,6,s);const l=r[a+"Once"];if(l){if(e.emitted){if(e.emitted[a])return}else e.emitted={};e.emitted[a]=!0,_o(l,e,6,s)}}function Do(e,t,n=!1){const o=t.emitsCache,r=o.get(e);if(void 0!==r)return r;const s=e.emits;let i={},a=!1;if(!h(e)){const o=e=>{const n=Do(e,t,!0);n&&(a=!0,c(i,n))};!n&&t.mixins.length&&t.mixins.forEach(o),e.extends&&o(e.extends),e.mixins&&e.mixins.forEach(o)}return s||a?(f(s)?s.forEach((e=>i[e]=null)):c(i,s),v(e)&&o.set(e,i),i):(v(e)&&o.set(e,null),null)}function No(e,t){return!(!e||!s(t))&&(t=t.slice(2).replace(/Once$/,""),l(e,t[0].toLowerCase()+t.slice(1))||l(e,E(t))||l(e,t))}let Bo=null;function Uo(e){const t=Bo;return Bo=e,e&&e.type.__scopeId,t}const Wo={};function zo(e,t,n){return Fo(e,t,n)}function Fo(e,n,{immediate:r,deep:s,flush:i,once:c,onTrack:u,onTrigger:l}=t){if(n&&c){const e=n;n=(...t)=>{e(...t),k()}}const p=Fr,d=e=>!0===s?e:Jo(e,!1===s?1:void 0);let g,m,v=!1,_=!1;if(ao(e)?(g=()=>e.value,v=eo(e)):Xn(e)?(g=()=>d(e),v=!0):f(e)?(_=!0,v=e.some((e=>Xn(e)||eo(e))),g=()=>e.map((e=>ao(e)?e.value:Xn(e)?d(e):h(e)?vo(e,p,2):void 0))):g=h(e)?n?()=>vo(e,p,2):()=>(m&&m(),_o(e,p,3,[y])):o,n&&s){const e=g;g=()=>Jo(e())}let y=e=>{m=$.onStop=()=>{vo(e,p,4),m=$.onStop=void 0}},x=_?new Array(e.length).fill(Wo):Wo;const b=()=>{if($.active&&$.dirty)if(n){const e=$.run();(s||v||(_?e.some(((e,t)=>A(e,x[t]))):A(e,x)))&&(m&&m(),_o(n,p,3,[e,x===Wo?void 0:_&&x[0]===Wo?[]:x,y]),x=e)}else $.run()};let w;b.allowRecurse=!!n,"sync"===i?w=b:"post"===i?w=()=>Nr(b,p&&p.suspense):(b.pre=!0,p&&(b.id=p.uid),w=()=>Ao(b));const $=new Ft(g,o,w),S=zt(),k=()=>{$.stop(),S&&a(S.effects,$)};return n?r?b():x=$.run():"post"===i?Nr($.run.bind($),p&&p.suspense):$.run(),k}function Ko(e,t,n){const o=this.proxy,r=g(e)?e.includes(".")?qo(o,e):()=>o[e]:e.bind(o,o);let s;h(t)?s=t:(s=t.handler,n=t);const i=Gr(this),c=Fo(r,s.bind(o),n);return i(),c}function qo(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e0){if(n>=t)return e;n++}if((o=o||new Set).has(e))return e;if(o.add(e),ao(e))Jo(e.value,t,n,o);else if(f(e))for(let r=0;r{Jo(e,t,n,o)}));else if(b(e))for(const r in e)Jo(e[r],t,n,o);return e}function Go(){return{app:null,config:{isNativeTag:r,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Zo=0;let Qo=null;function Xo(e,t,n=!1){const o=Fr||Bo;if(o||Qo){const r=o?null==o.parent?o.vnode.appContext&&o.vnode.appContext.provides:o.parent.provides:Qo._context.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&h(t)?t.call(o&&o.proxy):t}}function Yo(e,t){tr(e,"a",t)}function er(e,t){tr(e,"da",t)}function tr(e,t,n=Fr){const o=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(or(t,o,n),n){let e=n.parent;for(;e&&e.parent;)e.parent.vnode.type.__isKeepAlive&&nr(o,t,n,e),e=e.parent}}function nr(e,t,n,o){const r=or(t,e,o,!0);lr((()=>{a(o[t],r)}),n)}function or(e,t,n=Fr,o=!1){if(n){(function(e){return U.indexOf(e)>-1})(e)&&(n=n.root);const r=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;Xt();const r=Gr(n),s=_o(t,n,e,o);return r(),Yt(),s});return o?r.unshift(s):r.push(s),s}}const rr=e=>(t,n=Fr)=>(!Xr||"sp"===e)&&or(e,((...e)=>t(...e)),n),sr=rr("bm"),ir=rr("m"),cr=rr("bu"),ar=rr("u"),ur=rr("bum"),lr=rr("um"),fr=rr("sp"),pr=rr("rtg"),dr=rr("rtc");function hr(e,t=Fr){or("ec",e,t)}const gr=e=>e?Qr(e)?ts(e)||e.proxy:gr(e.parent):null;const mr=c(Object.create(null),{$:function(e){return e},$el:e=>e.__$el||(e.__$el={}),$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>gr(e.parent),$root:e=>gr(e.root),$emit:e=>e.emit,$options:e=>Sr(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Ao(e.update)}),$watch:e=>Ko.bind(e)}),vr=(e,n)=>e!==t&&!e.__isScriptSetup&&l(e,n),_r={get({_:e},n){const{ctx:o,setupState:r,data:s,props:i,accessCache:c,type:a,appContext:u}=e;let f;if("$"!==n[0]){const a=c[n];if(void 0!==a)switch(a){case 1:return r[n];case 2:return s[n];case 4:return o[n];case 3:return i[n]}else{if(vr(r,n))return c[n]=1,r[n];if(s!==t&&l(s,n))return c[n]=2,s[n];if((f=e.propsOptions[0])&&l(f,n))return c[n]=3,i[n];if(o!==t&&l(o,n))return c[n]=4,o[n];xr&&(c[n]=0)}}const p=mr[n];let d,h;return p?("$attrs"===n&&ln(e,0,n),p(e)):(d=a.__cssModules)&&(d=d[n])?d:o!==t&&l(o,n)?(c[n]=4,o[n]):(h=u.config.globalProperties,l(h,n)?h[n]:void 0)},set({_:e},n,o){const{data:r,setupState:s,ctx:i}=e;return vr(s,n)?(s[n]=o,!0):r!==t&&l(r,n)?(r[n]=o,!0):!l(e.props,n)&&(("$"!==n[0]||!(n.slice(1)in e))&&(i[n]=o,!0))},has({_:{data:e,setupState:n,accessCache:o,ctx:r,appContext:s,propsOptions:i}},c){let a;return!!o[c]||e!==t&&l(e,c)||vr(n,c)||(a=i[0])&&l(a,c)||l(r,c)||l(mr,c)||l(s.config.globalProperties,c)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:l(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function yr(e){return f(e)?e.reduce(((e,t)=>(e[t]=null,e)),{}):e}let xr=!0;function br(e){const t=Sr(e),n=e.proxy,r=e.ctx;xr=!1,t.beforeCreate&&wr(t.beforeCreate,e,"bc");const{data:s,computed:i,methods:c,watch:a,provide:u,inject:l,created:p,beforeMount:d,mounted:g,beforeUpdate:m,updated:_,activated:y,deactivated:x,beforeDestroy:b,beforeUnmount:w,destroyed:$,unmounted:S,render:k,renderTracked:O,renderTriggered:P,errorCaptured:E,serverPrefetch:C,expose:I,inheritAttrs:A,components:j,directives:R,filters:L}=t;if(l&&function(e,t,n=o){f(e)&&(e=Er(e));for(const o in e){const n=e[o];let r;r=v(n)?"default"in n?Xo(n.from||o,n.default,!0):Xo(n.from||o):Xo(n),ao(r)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>r.value,set:e=>r.value=e}):t[o]=r}}(l,r,null),c)for(const o in c){const e=c[o];h(e)&&(r[o]=e.bind(n))}if(s){const t=s.call(n,n);v(t)&&(e.data=Gn(t))}if(xr=!0,i)for(const f in i){const e=i[f],t=h(e)?e.bind(n,n):h(e.get)?e.get.bind(n,n):o,s=!h(e)&&h(e.set)?e.set.bind(n):o,c=ns({get:t,set:s});Object.defineProperty(r,f,{enumerable:!0,configurable:!0,get:()=>c.value,set:e=>c.value=e})}if(a)for(const o in a)$r(a[o],r,n,o);function M(e,t){f(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(function(){if(u){const e=h(u)?u.call(n):u;Reflect.ownKeys(e).forEach((t=>{!function(e,t){if(Fr){let n=Fr.provides;const o=Fr.parent&&Fr.parent.provides;o===n&&(n=Fr.provides=Object.create(o)),n[e]=t,"app"===Fr.type.mpType&&Fr.appContext.app.provide(e,t)}}(t,e[t])}))}}(),p&&wr(p,e,"c"),M(sr,d),M(ir,g),M(cr,m),M(ar,_),M(Yo,y),M(er,x),M(hr,E),M(dr,O),M(pr,P),M(ur,w),M(lr,S),M(fr,C),f(I))if(I.length){const t=e.exposed||(e.exposed={});I.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})}))}else e.exposed||(e.exposed={});k&&e.render===o&&(e.render=k),null!=A&&(e.inheritAttrs=A),j&&(e.components=j),R&&(e.directives=R),e.ctx.$onApplyOptions&&e.ctx.$onApplyOptions(t,e,n)}function wr(e,t,n){_o(f(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function $r(e,t,n,o){const r=o.includes(".")?qo(n,o):()=>n[o];if(g(e)){const n=t[e];h(n)&&zo(r,n)}else if(h(e))zo(r,e.bind(n));else if(v(e))if(f(e))e.forEach((e=>$r(e,t,n,o)));else{const o=h(e.handler)?e.handler.bind(n):t[e.handler];h(o)&&zo(r,o,e)}}function Sr(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,c=s.get(t);let a;return c?a=c:r.length||n||o?(a={},r.length&&r.forEach((e=>kr(a,e,i,!0))),kr(a,t,i)):a=t,v(t)&&s.set(t,a),a}function kr(e,t,n,o=!1){const{mixins:r,extends:s}=t;s&&kr(e,s,n,!0),r&&r.forEach((t=>kr(e,t,n,!0)));for(const i in t)if(o&&"expose"===i);else{const o=Or[i]||n&&n[i];e[i]=o?o(e[i],t[i]):t[i]}return e}const Or={data:Pr,props:Ar,emits:Ar,methods:Ir,computed:Ir,beforeCreate:Cr,created:Cr,beforeMount:Cr,mounted:Cr,beforeUpdate:Cr,updated:Cr,beforeDestroy:Cr,beforeUnmount:Cr,destroyed:Cr,unmounted:Cr,activated:Cr,deactivated:Cr,errorCaptured:Cr,serverPrefetch:Cr,components:Ir,directives:Ir,watch:function(e,t){if(!e)return t;if(!t)return e;const n=c(Object.create(null),e);for(const o in t)n[o]=Cr(e[o],t[o]);return n},provide:Pr,inject:function(e,t){return Ir(Er(e),Er(t))}};function Pr(e,t){return t?e?function(){return c(h(e)?e.call(this,this):e,h(t)?t.call(this,this):t)}:t:e}function Er(e){if(f(e)){const t={};for(let n=0;n{d=!0;const[t,n]=Mr(e,o,!0);c(u,t),n&&p.push(...n)};!r&&o.mixins.length&&o.mixins.forEach(t),e.extends&&t(e.extends),e.mixins&&e.mixins.forEach(t)}if(!a&&!d)return v(e)&&s.set(e,n),n;if(f(a))for(let n=0;n-1,o[1]=n<0||t-1||l(o,"default"))&&p.push(e)}}}const g=[u,p];return v(e)&&s.set(e,g),g}function Tr(e){return"$"!==e[0]&&!$(e)}function Vr(e){if(null===e)return"null";if("function"==typeof e)return e.name||"";if("object"==typeof e){return e.constructor&&e.constructor.name||""}return""}function Hr(e,t){return Vr(e)===Vr(t)}function Dr(e,t){return f(t)?t.findIndex((t=>Hr(t,e))):h(t)&&Hr(t,e)?0:-1}const Nr=Ro;function Br(e){return e?Xn(t=e)||Yn(t)||"__vInternal"in e?c({},e):e:null;var t}const Ur=Go();let Wr=0;function zr(e,n,o){const r=e.type,s=(n?n.appContext:e.appContext)||Ur,i={uid:Wr++,vnode:e,type:r,parent:n,appContext:s,root:null,next:null,subTree:null,effect:null,update:null,scope:new Ut(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:n?n.provides:Object.create(s.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Mr(r,s),emitsOptions:Do(r,s),emit:null,emitted:null,propsDefaults:t,inheritAttrs:r.inheritAttrs,ctx:t,data:t,props:t,attrs:t,slots:t,refs:t,setupState:t,setupContext:null,attrsProxy:null,slotsProxy:null,suspense:o,suspenseId:o?o.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null,$uniElements:new Map,$templateUniElementRefs:[],$templateUniElementStyles:{},$eS:{},$eA:{}};return i.ctx={_:i},i.root=n?n.root:i,i.emit=Ho.bind(null,i),e.ce&&e.ce(i),i}let Fr=null;const Kr=()=>Fr||Bo;let qr,Jr;qr=e=>{Fr=e},Jr=e=>{Xr=e};const Gr=e=>{const t=Fr;return qr(e),e.scope.on(),()=>{e.scope.off(),qr(t)}},Zr=()=>{Fr&&Fr.scope.off(),qr(null)};function Qr(e){return 4&e.vnode.shapeFlag}let Xr=!1;function Yr(e,t=!1){t&&Jr(t);const{props:n}=e.vnode,o=Qr(e);jr(e,n,o,t);const r=o?function(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=no(new Proxy(e.ctx,_r));const{setup:o}=n;if(o){const t=e.setupContext=o.length>1?function(e){const t=t=>{e.exposed=t||{}};return{get attrs(){return function(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get:(t,n)=>(ln(e,0,"$attrs"),t[n])}))}(e)},slots:e.slots,emit:e.emit,expose:t}}(e):null,n=Gr(e);Xt();const r=vo(o,e,0,[e.props,t]);Yt(),n(),_(r)?r.then(Zr,Zr):function(e,t,n){h(t)?e.render=t:v(t)&&(e.setupState=ho(t));es(e)}(e,r)}else es(e)}(e):void 0;return t&&Jr(!1),r}function es(e,t,n){const r=e.type;e.render||(e.render=r.render||o);{const t=Gr(e);Xt();try{br(e)}finally{Yt(),t()}}}function ts(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(ho(no(e.exposed)),{get:(t,n)=>n in t?t[n]:e.proxy[n],has:(e,t)=>t in e||t in mr}))}const ns=(e,t)=>{const n=function(e,t,n=!1){let r,s;const i=h(e);return i?(r=e,s=o):(r=e.get,s=e.set),new so(r,s,i||!s,n)}(e,0,Xr);return n},os="3.4.21";function rs(e){return fo(e)}const ss="[object Array]",is="[object Object]";function cs(e,t){const n={};return as(e,t),us(e,t,"",n),n}function as(e,t){if((e=rs(e))===t)return;const n=x(e),o=x(t);if(n==is&&o==is)for(let r in t){const n=e[r];void 0===n?e[r]=null:as(n,t[r])}else n==ss&&o==ss&&e.length>=t.length&&t.forEach(((t,n)=>{as(e[n],t)}))}function us(e,t,n,o){if((e=rs(e))===t)return;const r=x(e),s=x(t);if(r==is)if(s!=is||Object.keys(e).length{us(e,s[t],(""==n?"":n+".")+i+"["+t+"]",o)}));else if(c==is)if(a!=is||Object.keys(r).length{us(e,t[r],n+"["+r+"]",o)})):ls(o,n,e)}function ls(e,t,n){e[t]=n}function fs(e){const t=e.ctx.__next_tick_callbacks;if(t&&t.length){const e=t.slice(0);t.length=0;for(let t=0;t{t?vo(t.bind(e.proxy),e,14):o&&o(e.proxy)})),new Promise((e=>{o=e}))}function ds(e,t){const n=typeof(e=rs(e));if("object"===n&&null!==e){let n=t.get(e);if(void 0!==n)return n;if(f(e)){const o=e.length;n=new Array(o),t.set(e,n);for(let r=0;r{o[e]=n[e]})),o}(r,s));Object.keys(i).length?(o.__next_tick_pending=!0,r.setData(i,(()=>{o.__next_tick_pending=!1,fs(e)})),Lo()):fs(e)}}function ms(e,t,n){t.appContext.config.globalProperties.$applyOptions(e,t,n);const o=e.computed;if(o){const e=Object.keys(o);if(e.length){const n=t.ctx;n.$computedKeys||(n.$computedKeys=[]),n.$computedKeys.push(...e)}}delete t.ctx.$onApplyOptions}function vs(e,t=!1){const{setupState:n,$templateRefs:o,$templateUniElementRefs:r,ctx:{$scope:s,$mpPlatform:i}}=e;if("mp-alipay"===i)return;if(!s||!o&&!r)return;if(t)return o&&o.forEach((e=>_s(e,null,n))),void(r&&r.forEach((e=>_s(e,null,n))));const c="mp-baidu"===i||"mp-toutiao"===i,a=e=>{if(0===e.length)return[];const t=(s.selectAllComponents(".r")||[]).concat(s.selectAllComponents(".r-i-f")||[]);return e.filter((e=>{const o=function(e,t){const n=e.find((e=>e&&(e.properties||e.props).uI===t));if(n){const e=n.$vm;return e?ts(e.$)||e:function(e){v(e)&&no(e);return e}(n)}return null}(t,e.i);return!(!c||null!==o)||(_s(e,o,n),!1)}))},u=()=>{if(o){const t=a(o);t.length&&e.proxy&&e.proxy.$scope&&e.proxy.$scope.setData({r1:1},(()=>{a(t)}))}};r&&r.length&&ps(e,(()=>{r.forEach((e=>{f(e.v)?e.v.forEach((t=>{_s(e,t,n)})):_s(e,e.v,n)}))})),s._$setRef?s._$setRef(u):ps(e,u)}function _s({r:e,f:t},n,o){if(h(e))e(n,{});else{const r=g(e),s=ao(e);if(r||s)if(t){if(!s)return;f(e.value)||(e.value=[]);const t=e.value;if(-1===t.indexOf(n)){if(t.push(n),!n)return;n.$&&ur((()=>a(t,n)),n.$)}}else r?l(o,e)&&(o[e]=n):ao(e)&&(e.value=n)}}const ys=Ro;function xs(e,t){const n=e.component=zr(e,t.parentComponent,null);return n.renderer=t.mpType?t.mpType:"component",n.ctx.$onApplyOptions=ms,n.ctx.$children=[],"app"===t.mpType&&(n.render=o),t.onBeforeSetup&&t.onBeforeSetup(n,t),Yr(n),t.parentComponent&&n.proxy&&t.parentComponent.ctx.$children.push(ts(n)||n.proxy),function(e){const t=$s.bind(e);e.$updateScopedSlots=()=>Io((()=>Ao(t)));const n=()=>{if(e.isMounted){const{next:t,bu:n,u:o}=e;Ss(e,!1),Xt(),Lo(),Yt(),n&&j(n),Ss(e,!0),gs(e,bs(e)),o&&ys(o)}else ur((()=>{vs(e,!0)}),e),gs(e,bs(e))},r=e.effect=new Ft(n,o,(()=>Ao(s)),e.scope),s=e.update=()=>{r.dirty&&r.run()};s.id=e.uid,Ss(e,!0),s()}(n),n.proxy}function bs(e){const{type:t,vnode:n,proxy:o,withProxy:r,props:i,propsOptions:[c],slots:a,attrs:u,emit:l,render:f,renderCache:p,data:d,setupState:h,ctx:g,uid:m,appContext:{app:{config:{globalProperties:{pruneComponentPropsCache:v}}}},inheritAttrs:_}=e;let y;e.$uniElementIds=new Map,e.$templateRefs=[],e.$templateUniElementRefs=[],e.$templateUniElementStyles={},e.$ei=0,v(m),e.__counter=0===e.__counter?1:0;const x=Uo(e);try{if(4&n.shapeFlag){ws(_,i,c,u);const e=r||o;y=f.call(e,e,p,i,h,d,g)}else{ws(_,i,c,t.props?u:(e=>{let t;for(const n in e)("class"===n||"style"===n||s(n))&&((t||(t={}))[n]=e[n]);return t})(u));const e=t;y=e.length>1?e(i,{attrs:u,slots:a,emit:l}):e(i,null)}}catch(b){yo(b,e,1),y=!1}return vs(e),Uo(x),y}function ws(e,t,n,o){if(t&&o&&!1!==e){const e=Object.keys(o).filter((e=>"class"!==e&&"style"!==e));if(!e.length)return;n&&e.some(i)?e.forEach((e=>{i(e)&&e.slice(9)in n||(t[e]=o[e])})):e.forEach((e=>t[e]=o[e]))}}function $s(){const e=this.$scopedSlotsData;if(!e||0===e.length)return;const t=this.ctx.$scope,n=t.data,o=Object.create(null);e.forEach((({path:e,index:t,data:r})=>{const s=V(n,e),i=g(t)?`${e}.${t}`:`${e}[${t}]`;if(void 0===s||void 0===s[t])o[i]=r;else{const e=cs(r,s[t]);Object.keys(e).forEach((t=>{o[i+"."+t]=e[t]}))}})),e.length=0,Object.keys(o).length&&t.setData(o)}function Ss({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}const ks=function(e,t=null){h(e)||(e=c({},e)),null==t||v(t)||(t=null);const n=Go(),o=new WeakSet,r=n.app={_uid:Zo++,_component:e,_props:t,_container:null,_context:n,_instance:null,version:os,get config(){return n.config},set config(e){},use:(e,...t)=>(o.has(e)||(e&&h(e.install)?(o.add(e),e.install(r,...t)):h(e)&&(o.add(e),e(r,...t))),r),mixin:e=>(n.mixins.includes(e)||n.mixins.push(e),r),component:(e,t)=>t?(n.components[e]=t,r):n.components[e],directive:(e,t)=>t?(n.directives[e]=t,r):n.directives[e],mount(){},unmount(){},provide:(e,t)=>(n.provides[e]=t,r),runWithContext(e){const t=Qo;Qo=r;try{return e()}finally{Qo=t}}};return r};function Os(e,t=null){("undefined"!=typeof window?window:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof my?my:void 0).__VUE__=!0;const n=ks(e,t),r=n._context;r.config.globalProperties.$nextTick=function(e){return ps(this.$,e)};const s=e=>(e.appContext=r,e.shapeFlag=6,e),i=function(e,t){return xs(s(e),t)},c=function(e){return e&&function(e){const{bum:t,scope:n,update:o,um:r}=e;t&&j(t);{const t=e.parent;if(t){const n=t.ctx.$children,o=ts(e)||e.proxy,r=n.indexOf(o);r>-1&&n.splice(r,1)}}n.stop(),o&&(o.active=!1),r&&ys(r),ys((()=>{e.isUnmounted=!0}))}(e.$)};return n.mount=function(){e.render=o;const t=xs(s({type:e}),{mpType:"app",mpInstance:null,parentComponent:null,slots:[],props:null});return n._instance=t.$,t.$app=n,t.$createComponent=i,t.$destroyComponent=c,r.$appInstance=t,t},n.unmount=function(){},n}function Ps(e,t,n,o){h(t)&&or(e,t.bind(n),o)}function Es(e,t,n){!function(e,t,n){const o=e.mpType||n.$mpType;!o||"component"===o||"page"===o&&"component"===t.renderer||Object.keys(e).forEach((o=>{if(F(o,e[o],!1)){const r=e[o];f(r)?r.forEach((e=>Ps(o,e,n,t))):Ps(o,r,n,t)}}))}(e,t,n)}function Cs(e,t,n){return e[t]=n}function Is(e,...t){const n=this[e];return n?n(...t):(console.error(`method ${e} not found`),null)}function As(e){const t=e.config.errorHandler;return function(n,o,r){t&&t(n,o,r);const s=e._instance;if(!s||!s.proxy)throw n;s.onError?s.proxy.$callHook("onError",n):xo(n,0,o&&o.$.vnode,!1)}}function js(e,t){return e?[...new Set([].concat(e,t))]:t}let Rs;const Ls="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Ms=/^(?:[A-Za-z\d+/]{4})*?(?:[A-Za-z\d+/]{2}(?:==)?|[A-Za-z\d+/]{3}=?)?$/;function Ts(){const e=Dt.getStorageSync("uni_id_token")||"",t=e.split(".");if(!e||3!==t.length)return{uid:null,role:[],permission:[],tokenExpired:0};let n;try{n=JSON.parse((o=t[1],decodeURIComponent(Rs(o).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""))))}catch(r){throw new Error("获取当前用户信息出错,详细错误信息为:"+r.message)}var o;return n.tokenExpired=1e3*n.exp,delete n.exp,delete n.iat,n}function Vs(e){const t=e.config;var n;t.errorHandler=J(e,As),n=t.optionMergeStrategies,W.forEach((e=>{n[e]=js}));const o=t.globalProperties;!function(e){e.uniIDHasRole=function(e){const{role:t}=Ts();return t.indexOf(e)>-1},e.uniIDHasPermission=function(e){const{permission:t}=Ts();return this.uniIDHasRole("admin")||t.indexOf(e)>-1},e.uniIDTokenValid=function(){const{tokenExpired:e}=Ts();return e>Date.now()}}(o),o.$set=Cs,o.$applyOptions=Es,o.$callMethod=Is,Dt.invokeCreateVueAppHook(e)}Rs="function"!=typeof atob?function(e){if(e=String(e).replace(/[\t\n\f\r ]+/g,""),!Ms.test(e))throw new Error("Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.");var t;e+="==".slice(2-(3&e.length));for(var n,o,r="",s=0;s>16&255):64===o?String.fromCharCode(t>>16&255,t>>8&255):String.fromCharCode(t>>16&255,t>>8&255,255&t);return r}:atob;const Hs=Object.create(null);function Ds(e){delete Hs[e]}function Ns(e){if(!e)return;const[t,n]=e.split(",");return Hs[t]?Hs[t][parseInt(n)]:void 0}var Bs={install(e){Vs(e),e.config.globalProperties.pruneComponentPropsCache=Ds;const t=e.mount;e.mount=function(n){const o=t.call(e,n),r=function(){const e="createApp";if("undefined"!=typeof global&&void 0!==global[e])return global[e];if("undefined"!=typeof my)return my[e]}();return r?r(o):"undefined"!=typeof createMiniProgramApp&&createMiniProgramApp(o),o}}};function Us(e,t){const n=Kr(),r=n.ctx,s=void 0===t||"mp-weixin"!==r.$mpPlatform&&"mp-qq"!==r.$mpPlatform&&"mp-xhs"!==r.$mpPlatform||!g(t)&&"number"!=typeof t?"":"_"+t,i="e"+n.$ei+++s,a=r.$scope;if(!e)return delete a[i],i;const u=a[i];return u?u.value=e:a[i]=function(e,t){const n=e=>{var r;(r=e).type&&r.target&&(r.preventDefault=o,r.stopPropagation=o,r.stopImmediatePropagation=o,l(r,"detail")||(r.detail={}),l(r,"markerId")&&(r.detail="object"==typeof r.detail?r.detail:{},r.detail.markerId=r.markerId),b(r.detail)&&l(r.detail,"checked")&&!l(r.detail,"value")&&(r.detail.value=r.detail.checked),b(r.detail)&&(r.target=c({},r.target,r.detail)));let s=[e];t&&t.ctx.$getTriggerEventDetail&&"number"==typeof e.detail&&(e.detail=t.ctx.$getTriggerEventDetail(e.detail)),e.detail&&e.detail.__args__&&(s=e.detail.__args__);const i=n.value,a=()=>_o(function(e,t){if(f(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n&&n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e(t)))}return t}(e,i),t,5,s),u=e.target,p=!!u&&(!!u.dataset&&"true"===String(u.dataset.eventsync));if(!Ws.includes(e.type)||p){const t=a();if("input"===e.type&&(f(t)||_(t)))return;return t}setTimeout(a)};return n.value=e,n}(e,n),i}const Ws=["tap","longpress","longtap","transitionend","animationstart","animationiteration","animationend","touchforcechange"];const zs=function(e,t=null){return e&&(e.mpType="app"),Os(e,t).use(Bs)};const Fs=["externalClasses"];const Ks=/_(.*)_worklet_factory_/;function qs(e,t){const n=e.$children;for(let r=n.length-1;r>=0;r--){const e=n[r];if(e.$scope._$vueId===t)return e}let o;for(let r=n.length-1;r>=0;r--)if(o=qs(n[r],t),o)return o}const Js=["createSelectorQuery","createIntersectionObserver","selectAllComponents","selectComponent"];function Gs(e,t){const n=e.ctx;n.mpType=t.mpType,n.$mpType=t.mpType,n.$mpPlatform="mp-weixin",n.$scope=t.mpInstance,Object.defineProperties(n,{virtualHostId:{get(){const e=this.$scope.data.virtualHostId;return void 0===e?"":e}}}),n.$mp={},n._self={},e.slots={},f(t.slots)&&t.slots.length&&(t.slots.forEach((t=>{e.slots[t]=!0})),e.slots.d&&(e.slots.default=!0)),n.getOpenerEventChannel=function(){return t.mpInstance.getOpenerEventChannel()},n.$hasHook=Zs,n.$callHook=Qs,e.emit=function(e,t){return function(n,...o){const r=t.$scope;if(r&&n){const e={__args__:o};r.triggerEvent(n,e)}return e.apply(this,[n,...o])}}(e.emit,n)}function Zs(e){const t=this.$[e];return!(!t||!t.length)}function Qs(e,t){"mounted"===e&&(Qs.call(this,"bm"),this.$.isMounted=!0,e="m");const n=this.$[e];return n&&((e,t)=>{let n;for(let o=0;o{F(n,e[n])&&t.add(n)}));{const{extends:n,mixins:o}=e;o&&o.forEach((e=>Ys(e,t))),n&&Ys(n,t)}}return t}function ei(e,t,n){-1!==n.indexOf(t)||l(e,t)||(e[t]=function(e){return this.$vm&&this.$vm.$callHook(t,e)})}const ti=["onReady"];function ni(e,t,n=ti){t.forEach((t=>ei(e,t,n)))}function oi(e,t,n=ti){Ys(t).forEach((t=>ei(e,t,n)))}const ri=T((()=>{const e=[],t=h(getApp)&&getApp({allowDefault:!0});if(t&&t.$vm&&t.$vm.$){const n=t.$vm.$.appContext.mixins;if(f(n)){const t=Object.keys(z);n.forEach((n=>{t.forEach((t=>{l(n,t)&&!e.includes(t)&&e.push(t)}))}))}}return e}));const si=["onShow","onHide","onError","onThemeChange","onPageNotFound","onUnhandledRejection"];function ii(e,t){const n=e.$,o={globalData:e.$options&&e.$options.globalData||{},$vm:e,onLaunch(t){this.$vm=e;const o=n.ctx;this.$vm&&o.$scope&&o.$callHook||(Gs(n,{mpType:"app",mpInstance:this,slots:[]}),o.globalData=this.globalData,e.$callHook("onLaunch",t))}},r=wx.$onErrorHandlers;r&&(r.forEach((e=>{or("onError",e,n)})),r.length=0),function(e){const t=uo(function(){var e;let t="";{const n=(null===(e=wx.getAppBaseInfo)||void 0===e?void 0:e.call(wx))||wx.getSystemInfoSync();t=Q(n&&n.language?n.language:"en")||"en"}return t}());Object.defineProperty(e,"$locale",{get:()=>t.value,set(e){t.value=e}})}(e);const s=e.$.type;ni(o,si),oi(o,s);{const e=s.methods;e&&c(o,e)}return o}function ci(e,t){if(h(e.onLaunch)){const t=wx.getLaunchOptionsSync&&wx.getLaunchOptionsSync();e.onLaunch(t)}h(e.onShow)&&wx.onAppShow&&wx.onAppShow((e=>{t.$callHook("onShow",e)})),h(e.onHide)&&wx.onAppHide&&wx.onAppHide((e=>{t.$callHook("onHide",e)}))}const ai=["eO","uR","uRIF","uI","uT","uP","uS"];function ui(e){e.properties||(e.properties={}),c(e.properties,function(e,t=!1){const n={};if(!t){let e=function(e){const t=Object.create(null);e&&e.forEach((e=>{t[e]=!0})),this.setData({$slots:t})};ai.forEach((e=>{n[e]={type:null,value:""}})),n.uS={type:null,value:[]},n.uS.observer=e}return e.behaviors&&e.behaviors.includes("wx://form-field")&&(e.properties&&e.properties.name||(n.name={type:null,value:""}),e.properties&&e.properties.value||(n.value={type:null,value:""})),n}(e),function(e){const t={};return e&&e.virtualHost&&(t.virtualHostStyle={type:null,value:""},t.virtualHostClass={type:null,value:""},t.virtualHostHidden={type:null,value:""},t.virtualHostId={type:null,value:""}),t}(e.options))}const li=[String,Number,Boolean,Object,Array,null];function fi(e,t){const n=function(e,t){return f(e)&&1===e.length?e[0]:e}(e);return-1!==li.indexOf(n)?n:null}function pi(e,t){return(t?function(e){const t={};b(e)&&Object.keys(e).forEach((n=>{-1===ai.indexOf(n)&&(t[n]=e[n])}));return t}(e):Ns(e.uP))||{}}function di(e){const t=function(){const e=this.properties.uP;e&&(this.$vm?function(e,t){const n=to(t.props),o=Ns(e)||{};hi(n,o)&&(!function(e,t,n,o){const{props:r,attrs:s,vnode:{patchFlag:i}}=e,c=to(r),[a]=e.propsOptions;let u=!1;if(!(o||i>0)||16&i){let o;Rr(e,t,r,s)&&(u=!0);for(const s in c)t&&(l(t,s)||(o=E(s))!==s&&l(t,o))||(a?!n||void 0===n[s]&&void 0===n[o]||(r[s]=Lr(a,c,s,void 0,e,!0)):delete r[s]);if(s!==c)for(const e in s)t&&l(t,e)||(delete s[e],u=!0)}else if(8&i){const n=e.vnode.dynamicProps;for(let o=0;o-1&&function(e){const t=$o.indexOf(e);t>So&&$o.splice(t,1)}(t.update),t.update());var r}(e,this.$vm.$):"m"===this.properties.uT&&function(e,t){const n=t.properties,o=Ns(e)||{};hi(n,o,!1)&&t.setData(o)}(e,this))};e.observers||(e.observers={}),e.observers.uP=t}function hi(e,t,n=!0){const o=Object.keys(t);if(n&&o.length!==Object.keys(e).length)return!0;for(let r=0;r{o.push(e.replace("uni://","wx://")),"uni://form-field"===e&&(f(n)?(n.push("name"),n.push("modelValue")):(n.name={type:String,default:""},n.modelValue={type:[String,Number,Boolean,Array,Object,Date],default:""}))})),o}(t)}function mi(e,{parse:t,mocks:n,isPage:o,isPageInProject:r,initRelation:s,handleLink:i,initLifetimes:a}){e=e.default||e;const u={multipleSlots:!0,addGlobalClass:!0,pureDataPattern:/^uP$/};f(e.mixins)&&e.mixins.forEach((e=>{v(e.options)&&c(u,e.options)})),e.options&&c(u,e.options);const p={options:u,lifetimes:a({mocks:n,isPage:o,initRelation:s,vueOptions:e}),pageLifetimes:{show(){this.$vm&&this.$vm.$callHook("onPageShow")},hide(){this.$vm&&this.$vm.$callHook("onPageHide")},resize(e){this.$vm&&this.$vm.$callHook("onPageResize",e)}},methods:{__l:i}};var d,h,g,m;return gi(p,e),ui(p),di(p),function(e,t){Fs.forEach((n=>{l(t,n)&&(e[n]=t[n])}))}(p,e),d=p.methods,h=e.wxsCallMethods,f(h)&&h.forEach((e=>{d[e]=function(t){return this.$vm[e](t)}})),g=p.methods,(m=e.methods)&&Object.keys(m).forEach((e=>{const t=e.match(Ks);if(t){const n=t[1];g[e]=m[e],g[n]=m[n]}})),t&&t(p,{handleLink:i}),p}let vi,_i;function yi(){return getApp().$vm}function xi(e,t){const{parse:n,mocks:o,isPage:r,initRelation:s,handleLink:i,initLifetimes:c}=t,a=mi(e,{mocks:o,isPage:r,isPageInProject:!0,initRelation:s,handleLink:i,initLifetimes:c});!function({properties:e},t){f(t)?t.forEach((t=>{e[t]={type:String,value:""}})):b(t)&&Object.keys(t).forEach((n=>{const o=t[n];if(b(o)){let t=o.default;h(t)&&(t=t());const r=o.type;o.type=fi(r),e[n]={type:o.type,value:t}}else e[n]={type:fi(o)}}))}(a,(e.default||e).props);const u=a.methods;return u.onLoad=function(e){var t;return this.options=e,this.$page={fullPath:(t=this.route+B(e),function(e){return 0===e.indexOf("/")}(t)?t:"/"+t)},this.$vm&&this.$vm.$callHook("onLoad",e)},ni(u,Xs),oi(u,e),function(e,t){if(!t)return;Object.keys(z).forEach((n=>{t&z[n]&&ei(e,n,[])}))}(u,e.__runtimeHooks),ni(u,ri()),n&&n(a,{handleLink:i}),a}const bi=Page,wi=Component;function $i(e){const t=e.triggerEvent,n=function(n,...o){return t.apply(e,[(r=n,O(r.replace(D,"-"))),...o]);var r};try{e.triggerEvent=n}catch(o){e._triggerEvent=n}}function Si(e,t,n){const o=t[e];t[e]=o?function(...e){return $i(this),o.apply(this,e)}:function(){$i(this)}}Page=function(e){return Si("onLoad",e),bi(e)},Component=function(e){Si("created",e);return e.properties&&e.properties.uP||(ui(e),di(e)),wi(e)};var ki=Object.freeze({__proto__:null,handleLink:function(e){const t=e.detail||e.value,n=t.vuePid;let o;n&&(o=qs(this.$vm,n)),o||(o=this.$vm),t.parent=o},initLifetimes:function({mocks:e,isPage:t,initRelation:n,vueOptions:o}){return{attached(){let r=this.properties;!function(e,t){if(!e)return;const n=e.split(","),o=n.length;1===o?t._$vueId=n[0]:2===o&&(t._$vueId=n[0],t._$vuePid=n[1])}(r.uI,this);const s={vuePid:this._$vuePid};n(this,s);const i=this,c=t(i);let a=r;this.$vm=function(e,t){vi||(vi=yi().$createComponent);const n=vi(e,t);return ts(n.$)||n}({type:o,props:pi(a,c)},{mpType:c?"page":"component",mpInstance:i,slots:r.uS||{},parentComponent:s.parent&&s.parent.$,onBeforeSetup(t,n){!function(e,t){Object.defineProperty(e,"refs",{get(){const e={};return function(e,t,n){e.selectAllComponents(t).forEach((e=>{const t=e.properties.uR;n[t]=e.$vm||e}))}(t,".r",e),t.selectAllComponents(".r-i-f").forEach((t=>{const n=t.properties.uR;n&&(e[n]||(e[n]=[]),e[n].push(t.$vm||t))})),e}})}(t,i),function(e,t,n){const o=e.ctx;n.forEach((n=>{l(t,n)&&(e[n]=o[n]=t[n])}))}(t,i,e),function(e,t){Gs(e,t);const n=e.ctx;Js.forEach((e=>{n[e]=function(...t){const o=n.$scope;if(o&&o[e])return o[e].apply(o,t)}}))}(t,n)}}),c||function(e){const t=e.$options;f(t.behaviors)&&t.behaviors.includes("uni://form-field")&&e.$watch("modelValue",(()=>{e.$scope&&e.$scope.setData({name:e.name,value:e.modelValue})}),{immediate:!0})}(this.$vm)},ready(){this.$vm&&(this.$vm.$callHook("mounted"),this.$vm.$callHook("onReady"))},detached(){var e;this.$vm&&(Ds(this.$vm.$.uid),e=this.$vm,_i||(_i=yi().$destroyComponent),_i(e))}}},initRelation:function(e,t){e.triggerEvent("__l",t)},isPage:function(e){return!!e.route},mocks:["__route__","__wxExparserNodeId__","__wxWebviewId__"]});const Oi=function(e){return App(ii(e))},Pi=(Ei=ki,function(e){return Component(xi(e,Ei))});var Ei;const Ci=function(e){return function(t){return Component(mi(t,e))}}(ki),Ii=function(e){ci(ii(e),e)},Ai=function(e){const t=ii(e),n=h(getApp)&&getApp({allowDefault:!0});if(!n)return;e.$.ctx.$scope=n;const o=n.globalData;o&&Object.keys(t.globalData).forEach((e=>{l(o,e)||(o[e]=t.globalData[e])})),Object.keys(t).forEach((e=>{l(n,e)||(n[e]=t[e])})),ci(t,e)};!function(){if(h(wx.preloadAssets)){const e=String.fromCharCode(99,100,110,49,46,100,99,108,111,117,100,46,110,101,116,46,99,110);setTimeout((()=>{wx.preloadAssets({data:[{type:"image",src:"https://"+e+"/4d7a4931516a41774d43556c643367314f4749774d6d49334d325135597a4932597a4577/img/shadow-grey.png"}]})}),3e3)}}(),wx.createApp=global.createApp=Oi,wx.createPage=Pi,wx.createComponent=Ci,wx.createPluginApp=global.createPluginApp=Ii,wx.createSubpackageApp=global.createSubpackageApp=Ai; -/*! - * pinia v2.1.7 - * (c) 2023 Eduardo San Martin Morote - * @license MIT - */ -let ji;const Ri=e=>ji=e,Li=Symbol();function Mi(e){return e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)&&"function"!=typeof e.toJSON}var Ti,Vi;(Vi=Ti||(Ti={})).direct="direct",Vi.patchObject="patch object",Vi.patchFunction="patch function";const Hi=()=>{};function Di(e,t,n,o=Hi){e.push(t);const r=()=>{const n=e.indexOf(t);n>-1&&(e.splice(n,1),o())};return!n&&zt()&&function(e){Nt&&Nt.cleanups.push(e)}(r),r}function Ni(e,...t){e.slice().forEach((e=>{e(...t)}))}const Bi=e=>e();function Ui(e,t){e instanceof Map&&t instanceof Map&&t.forEach(((t,n)=>e.set(n,t))),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const o=t[n],r=e[n];Mi(r)&&Mi(o)&&e.hasOwnProperty(n)&&!ao(o)&&!Xn(o)?e[n]=Ui(r,o):e[n]=o}return e}const Wi=Symbol();const{assign:zi}=Object;function Fi(e,t,n,o){const{state:r,actions:s,getters:i}=t,c=n.state.value[e];let a;return a=Ki(e,(function(){c||(n.state.value[e]=r?r():{});const t=function(e){const t=f(e)?new Array(e.length):{};for(const n in e)t[n]=mo(e,n);return t}(n.state.value[e]);return zi(t,s,Object.keys(i||{}).reduce(((t,o)=>(t[o]=no(ns((()=>{Ri(n);const t=n._s.get(e);return i[o].call(t,t)}))),t)),{}))}),t,n,o,!0),a}function Ki(e,t,n={},o,r,s){let i;const c=zi({actions:{}},n),a={deep:!0};let u,l,f,p=[],d=[];const h=o.state.value[e];let g;function m(t){let n;u=l=!1,"function"==typeof t?(t(o.state.value[e]),n={type:Ti.patchFunction,storeId:e,events:f}):(Ui(o.state.value[e],t),n={type:Ti.patchObject,payload:t,storeId:e,events:f});const r=g=Symbol();Io().then((()=>{g===r&&(u=!0)})),l=!0,Ni(p,n,o.state.value[e])}s||h||(o.state.value[e]={}),uo({});const v=s?function(){const{state:e}=n,t=e?e():{};this.$patch((e=>{zi(e,t)}))}:Hi;function _(t,n){return function(){Ri(o);const r=Array.from(arguments),s=[],i=[];function c(e){s.push(e)}function a(e){i.push(e)}let u;Ni(d,{args:r,name:t,store:y,after:c,onError:a});try{u=n.apply(this&&this.$id===e?this:y,r)}catch(l){throw Ni(i,l),l}return u instanceof Promise?u.then((e=>(Ni(s,e),e))).catch((e=>(Ni(i,e),Promise.reject(e)))):(Ni(s,u),u)}}const y=Gn({_p:o,$id:e,$onAction:Di.bind(null,d),$patch:m,$reset:v,$subscribe(t,n={}){const r=Di(p,t,n.detached,(()=>s())),s=i.run((()=>zo((()=>o.state.value[e]),(o=>{("sync"===n.flush?l:u)&&t({storeId:e,type:Ti.direct,events:f},o)}),zi({},a,n))));return r},$dispose:function(){i.stop(),p=[],d=[],o._s.delete(e)}});o._s.set(e,y);const x=(o._a&&o._a.runWithContext||Bi)((()=>o._e.run((()=>(i=Wt()).run(t)))));for(const $ in x){const t=x[$];if(ao(t)&&(!ao(w=t)||!w.effect)||Xn(t))s||(!h||Mi(b=t)&&b.hasOwnProperty(Wi)||(ao(t)?t.value=h[$]:Ui(t,h[$])),o.state.value[e][$]=t);else if("function"==typeof t){const e=_($,t);x[$]=e,c.actions[$]=t}}var b,w;return zi(y,x),zi(to(y),x),Object.defineProperty(y,"$state",{get:()=>o.state.value[e],set:e=>{m((t=>{zi(t,e)}))}}),o._p.forEach((e=>{zi(y,i.run((()=>e({store:y,app:o._a,pinia:o,options:c}))))})),h&&s&&n.hydrate&&n.hydrate(y.$state,h),u=!0,l=!0,y}const qi=((e,t=0)=>(t,n=Kr())=>{!Xr&&or(e,t,n)})("onShow",3);exports._export_sfc=(e,t)=>{const n=e.__vccOpts||e;for(const[o,r]of t)n[o]=r;return n},exports.computed=ns,exports.createPinia=function(){const e=Wt(!0),t=e.run((()=>uo({})));let n=[],o=[];const r=no({install(e){Ri(r),r._a=e,e.provide(Li,r),e.config.globalProperties.$pinia=r,o.forEach((e=>n.push(e))),o=[]},use(e){return this._a?n.push(e):o.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return r},exports.createSSRApp=zs,exports.defineComponent= -/*! #__NO_SIDE_EFFECTS__ */ -function(e,t){return h(e)?(()=>c({name:e.name},t,{setup:e}))():e},exports.defineStore=function(e,t,n){let o,r;const s="function"==typeof t;function i(e,n){(e=e||(!!(Fr||Bo||Qo)?Xo(Li,null):null))&&Ri(e),(e=ji)._s.has(o)||(s?Ki(o,t,r,e):Fi(o,r,e));return e._s.get(o)}return"string"==typeof e?(o=e,r=s?n:t):(r=e,o=e.id),i.$id=o,i},exports.e=(e,...t)=>c(e,...t),exports.f=(e,t)=>function(e,t){let n;if(f(e)||g(e)){n=new Array(e.length);for(let o=0,r=e.length;ot(e,n,n)));else{const o=Object.keys(e);n=new Array(o.length);for(let r=0,s=o.length;rUs(e,t),exports.onMounted=ir,exports.onShow=qi,exports.p=e=>function(e){const{uid:t,__counter:n}=Kr();return t+","+((Hs[t]||(Hs[t]=[])).push(Br(e))-1)+","+n}(e),exports.reactive=Gn,exports.ref=uo,exports.t=e=>(e=>g(e)?e:null==e?"":f(e)||v(e)&&(e.toString===y||!h(e.toString))?JSON.stringify(e,L,2):String(e))(e),exports.unref=fo; diff --git a/miniprogram/unpackage/dist/build/mp-weixin/components/BannerSwiper.js b/miniprogram/unpackage/dist/build/mp-weixin/components/BannerSwiper.js deleted file mode 100644 index 19b516e3..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/components/BannerSwiper.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("../common/vendor.js"),t=require("../utils/request.js"),r=e.defineComponent({__name:"BannerSwiper",props:{images:{},video:{}},setup(r){function o(e){return e?e.startsWith("http")?e:t.BASE_URL+e:""}return(t,r)=>e.e({a:t.video},t.video?{b:o(t.video)}:{},{c:e.f(t.images,((e,t,r)=>({a:o(e),b:t})))})}}),o=e._export_sfc(r,[["__scopeId","data-v-19403e73"]]);wx.createComponent(o); diff --git a/miniprogram/unpackage/dist/build/mp-weixin/components/BannerSwiper.json b/miniprogram/unpackage/dist/build/mp-weixin/components/BannerSwiper.json deleted file mode 100644 index e8cfaaf8..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/components/BannerSwiper.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "component": true, - "usingComponents": {} -} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/components/BannerSwiper.wxml b/miniprogram/unpackage/dist/build/mp-weixin/components/BannerSwiper.wxml deleted file mode 100644 index 6285f394..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/components/BannerSwiper.wxml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/components/BannerSwiper.wxss b/miniprogram/unpackage/dist/build/mp-weixin/components/BannerSwiper.wxss deleted file mode 100644 index abd2441e..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/components/BannerSwiper.wxss +++ /dev/null @@ -1 +0,0 @@ -.banner-swiper.data-v-19403e73,.banner-swiper__image.data-v-19403e73,.banner-swiper__video.data-v-19403e73{width:100%;height:600rpx} diff --git a/miniprogram/unpackage/dist/build/mp-weixin/components/CustomerServiceBtn.js b/miniprogram/unpackage/dist/build/mp-weixin/components/CustomerServiceBtn.js deleted file mode 100644 index 3e54fdf8..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/components/CustomerServiceBtn.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("../common/vendor.js"),o=require("../common/assets.js"),s=e.defineComponent({__name:"CustomerServiceBtn",props:{mode:{}},emits:["close"],setup:s=>(s,t)=>e.e({a:"qrcode"===s.mode},"qrcode"===s.mode?{b:o._imports_0$4,c:e.o((e=>s.$emit("close"))),d:e.o((()=>{})),e:e.o((e=>s.$emit("close")))}:{})}),t=e._export_sfc(s,[["__scopeId","data-v-be5777d5"]]);wx.createComponent(t); diff --git a/miniprogram/unpackage/dist/build/mp-weixin/components/CustomerServiceBtn.json b/miniprogram/unpackage/dist/build/mp-weixin/components/CustomerServiceBtn.json deleted file mode 100644 index e8cfaaf8..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/components/CustomerServiceBtn.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "component": true, - "usingComponents": {} -} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/components/CustomerServiceBtn.wxml b/miniprogram/unpackage/dist/build/mp-weixin/components/CustomerServiceBtn.wxml deleted file mode 100644 index c842caaa..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/components/CustomerServiceBtn.wxml +++ /dev/null @@ -1 +0,0 @@ -扫码添加客服微信关闭 \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/components/CustomerServiceBtn.wxss b/miniprogram/unpackage/dist/build/mp-weixin/components/CustomerServiceBtn.wxss deleted file mode 100644 index 4def6306..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/components/CustomerServiceBtn.wxss +++ /dev/null @@ -1 +0,0 @@ -.cs-mask.data-v-be5777d5{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:999}.cs-popup.data-v-be5777d5{background:#fff;border-radius:16rpx;padding:40rpx;text-align:center;width:500rpx}.cs-popup__title.data-v-be5777d5{font-size:30rpx;color:#333;font-weight:700;display:block;margin-bottom:24rpx}.cs-popup__img.data-v-be5777d5{width:360rpx;height:360rpx}.cs-popup__close.data-v-be5777d5{margin-top:24rpx;font-size:28rpx;color:#999}.cs-btn.data-v-be5777d5{background:#e4393c;color:#fff;font-size:26rpx;border:none;padding:16rpx 32rpx;border-radius:44rpx;line-height:1.4} diff --git a/miniprogram/unpackage/dist/build/mp-weixin/components/ProductCard.js b/miniprogram/unpackage/dist/build/mp-weixin/components/ProductCard.js deleted file mode 100644 index b3ec4a75..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/components/ProductCard.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const t=require("../common/vendor.js"),e=require("../utils/request.js"),o=t.defineComponent({__name:"ProductCard",props:{product:{}},setup(o){const r=o;function c(){var t;const o=r.product.thumb||(null==(t=r.product.bannerImages)?void 0:t[0]);return o?o.startsWith("http")?o:e.BASE_URL+o:"/static/logo.png"}function n(){t.index.navigateTo({url:`/pages/product/detail?id=${r.product.id}`})}return(e,o)=>({a:c(),b:t.t(e.product.name),c:t.t(e.product.styleNo),d:t.t(e.product.basePrice),e:t.t(e.product.stock),f:t.o(n)})}}),r=t._export_sfc(o,[["__scopeId","data-v-f1f5eb0c"]]);wx.createComponent(r); diff --git a/miniprogram/unpackage/dist/build/mp-weixin/components/ProductCard.json b/miniprogram/unpackage/dist/build/mp-weixin/components/ProductCard.json deleted file mode 100644 index e8cfaaf8..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/components/ProductCard.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "component": true, - "usingComponents": {} -} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/components/ProductCard.wxml b/miniprogram/unpackage/dist/build/mp-weixin/components/ProductCard.wxml deleted file mode 100644 index 21521597..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/components/ProductCard.wxml +++ /dev/null @@ -1 +0,0 @@ -{{b}}({{c}})¥{{d}}库存{{e}} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/components/ProductCard.wxss b/miniprogram/unpackage/dist/build/mp-weixin/components/ProductCard.wxss deleted file mode 100644 index 60454562..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/components/ProductCard.wxss +++ /dev/null @@ -1 +0,0 @@ -.product-card.data-v-f1f5eb0c{display:flex;flex-direction:column;background:#fff;border-radius:16rpx;overflow:hidden;width:100%}.product-card__image.data-v-f1f5eb0c{width:100%;height:340rpx}.product-card__info.data-v-f1f5eb0c{padding:16rpx 20rpx 20rpx}.product-card__name.data-v-f1f5eb0c{font-size:26rpx;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;line-height:1.5}.product-card__bottom.data-v-f1f5eb0c{display:flex;justify-content:space-between;align-items:center;margin-top:12rpx}.product-card__price-tag.data-v-f1f5eb0c{background:linear-gradient(135deg,#f5a0b8,#ff6d9b);border-radius:8rpx;padding:4rpx 16rpx}.product-card__price.data-v-f1f5eb0c{font-size:28rpx;color:#fff;font-weight:700}.product-card__stock.data-v-f1f5eb0c{font-size:22rpx;color:#999} diff --git a/miniprogram/unpackage/dist/build/mp-weixin/components/ShippingNotice.js b/miniprogram/unpackage/dist/build/mp-weixin/components/ShippingNotice.js deleted file mode 100644 index 2b37c652..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/components/ShippingNotice.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("../common/assets.js"),o={};const r=require("../common/vendor.js")._export_sfc(o,[["render",function(o,r){return{a:e._imports_0$5}}],["__scopeId","data-v-d7606e84"]]);wx.createComponent(r); diff --git a/miniprogram/unpackage/dist/build/mp-weixin/components/ShippingNotice.json b/miniprogram/unpackage/dist/build/mp-weixin/components/ShippingNotice.json deleted file mode 100644 index e8cfaaf8..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/components/ShippingNotice.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "component": true, - "usingComponents": {} -} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/components/ShippingNotice.wxml b/miniprogram/unpackage/dist/build/mp-weixin/components/ShippingNotice.wxml deleted file mode 100644 index d2702e09..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/components/ShippingNotice.wxml +++ /dev/null @@ -1 +0,0 @@ -发货公告:叶生珠宝-空托之城空托都是当天金工石结算客服微信:15920028399交易方式:加微信门店交易,支付宝,微信,银行卡转账公司地址:深圳市罗湖区水贝二路贝丽花园21栋108叶生珠宝 \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/components/ShippingNotice.wxss b/miniprogram/unpackage/dist/build/mp-weixin/components/ShippingNotice.wxss deleted file mode 100644 index 4a42b2ab..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/components/ShippingNotice.wxss +++ /dev/null @@ -1 +0,0 @@ -.shipping-notice.data-v-d7606e84{background:#fce4ec;border-radius:20rpx;padding:28rpx 30rpx;margin:20rpx 24rpx 0}.shipping-notice__header.data-v-d7606e84{display:flex;align-items:center;margin-bottom:20rpx}.shipping-notice__icon.data-v-d7606e84{width:36rpx;height:36rpx;margin-right:10rpx}.shipping-notice__title.data-v-d7606e84{font-size:28rpx;font-weight:600;color:#e91e63}.shipping-notice__body.data-v-d7606e84{display:flex;flex-direction:column;gap:8rpx}.shipping-notice__item.data-v-d7606e84{font-size:26rpx;color:#e91e63;line-height:1.6} diff --git a/miniprogram/unpackage/dist/build/mp-weixin/components/SpecPanel.js b/miniprogram/unpackage/dist/build/mp-weixin/components/SpecPanel.js deleted file mode 100644 index ed6a5815..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/components/SpecPanel.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("../common/vendor.js"),t=require("../api/product.js"),n=require("../store/cart.js"),i=e.defineComponent({__name:"SpecPanel",props:{productId:{}},emits:["close"],setup(i,{emit:a}){const o=i,l=a,s=e.ref(null),u=e.ref(!1),r=e.ref(!1),c=e.ref([]),d=e.ref(new Map),v=n.useCartStore(),g=e.reactive({fineness:"",mainStone:"",ringSize:""});function S(e,t){g[e]=g[e]===t?"":t,f()}function m(){0!==d.value.size&&(d.value.forEach((e=>{v.addToCart({id:Date.now()+e.id,userId:0,productId:o.productId,specDataId:e.id,quantity:1,product:{},specData:e,checked:!0})})),e.index.showToast({title:`已加入${d.value.size}件`,icon:"success"}),d.value=new Map,l("close"))}async function f(){r.value=!0;try{c.value=await t.getSpecDataList(o.productId,{fineness:g.fineness||void 0,mainStone:g.mainStone||void 0,ringSize:g.ringSize||void 0})}catch{}finally{r.value=!1}}return e.onMounted((async()=>{u.value=!0;try{s.value=await t.getProductSpecs(o.productId)}catch{}finally{u.value=!1}f()})),(t,n)=>e.e({a:u.value},u.value?{}:s.value?e.e({c:s.value.fineness.length},s.value.fineness.length?{d:e.f(s.value.fineness,((t,n,i)=>({a:e.t(t),b:t,c:g.fineness===t?1:"",d:e.o((e=>S("fineness",t)),t)})))}:{},{e:s.value.mainStone.length},s.value.mainStone.length?{f:e.f(s.value.mainStone,((t,n,i)=>({a:e.t(t),b:t,c:g.mainStone===t?1:"",d:e.o((e=>S("mainStone",t)),t)})))}:{},{g:s.value.ringSize.length},s.value.ringSize.length?{h:e.f(s.value.ringSize,((t,n,i)=>({a:e.t(t),b:t,c:g.ringSize===t?1:"",d:e.o((e=>S("ringSize",t)),t)})))}:{}):{},{b:s.value,i:r.value},r.value?{}:c.value.length?{k:e.f(c.value,((t,n,i)=>e.e({a:e.t(t.modelName),b:e.t(t.fineness),c:t.mainStone},t.mainStone?{d:e.t(t.mainStone)}:{},{e:t.ringSize},t.ringSize?{f:e.t(t.ringSize)}:{},{g:e.t(t.goldTotalWeight),h:e.t(t.goldNetWeight),i:e.t(t.loss),j:e.t(t.goldLoss),k:e.t(t.goldPrice),l:e.t(t.goldValue),m:e.t(t.mainStoneCount),n:e.t(t.mainStoneWeight),o:e.t(t.mainStoneUnitPrice),p:e.t(t.mainStoneAmount),q:e.t(t.sideStoneCount),r:e.t(t.sideStoneWeight),s:e.t(t.sideStoneUnitPrice),t:e.t(t.sideStoneAmount),v:e.t(t.accessoryAmount),w:e.t(t.processingFee),x:e.t(t.settingFee),y:e.t(t.totalLaborCost),z:e.t(t.totalPrice),A:t.id,B:d.value.has(t.id)?1:"",C:e.o((e=>function(e){d.value.has(e.id)?d.value.delete(e.id):d.value.set(e.id,e),d.value=new Map(d.value)}(t)),t.id)})))}:{},{j:c.value.length,l:d.value.size},d.value.size?{m:e.t(d.value.size)}:{},{n:0===d.value.size?1:"",o:e.o(m),p:e.o((()=>{})),q:e.o((e=>t.$emit("close")))})}}),a=e._export_sfc(i,[["__scopeId","data-v-0e22571c"]]);wx.createComponent(a); diff --git a/miniprogram/unpackage/dist/build/mp-weixin/components/SpecPanel.json b/miniprogram/unpackage/dist/build/mp-weixin/components/SpecPanel.json deleted file mode 100644 index e8cfaaf8..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/components/SpecPanel.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "component": true, - "usingComponents": {} -} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/components/SpecPanel.wxml b/miniprogram/unpackage/dist/build/mp-weixin/components/SpecPanel.wxml deleted file mode 100644 index 4f1b19ec..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/components/SpecPanel.wxml +++ /dev/null @@ -1 +0,0 @@ -加载中...成 色{{item.a}}主 石{{item.a}}手 寸{{item.a}}查询中...{{spec.a}}{{spec.b}}{{spec.d}}{{spec.f}}金料总重{{spec.g}}g金料净重{{spec.h}}g损耗{{spec.i}}%金耗{{spec.j}}g金价¥{{spec.k}}金值¥{{spec.l}}主石数量{{spec.m}}粒主石石重{{spec.n}}ct主石单价¥{{spec.o}}主石金额¥{{spec.p}}副石数量{{spec.q}}粒副石石重{{spec.r}}ct副石单价¥{{spec.s}}副石金额¥{{spec.t}}配件金额¥{{spec.v}}加工工费¥{{spec.w}}镶石工费¥{{spec.x}}总工费¥{{spec.y}}总价¥{{spec.z}} 加入购物车({{m}}) \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/components/SpecPanel.wxss b/miniprogram/unpackage/dist/build/mp-weixin/components/SpecPanel.wxss deleted file mode 100644 index 3c52b96e..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/components/SpecPanel.wxss +++ /dev/null @@ -1 +0,0 @@ -.spec-panel-mask.data-v-0e22571c{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:999;display:flex;align-items:flex-end}.spec-panel.data-v-0e22571c{background:#fff;width:100%;height:85vh;border-radius:24rpx 24rpx 0 0;display:flex;flex-direction:column}.spec-panel__scroll.data-v-0e22571c{flex:1;padding:32rpx 20rpx 0;overflow:hidden}.spec-panel__loading.data-v-0e22571c{text-align:center;padding:60rpx 0;color:#999;font-size:28rpx}.spec-group.data-v-0e22571c{margin-bottom:32rpx}.spec-group__label.data-v-0e22571c{font-size:30rpx;color:#333;font-weight:600;margin-bottom:20rpx;display:block;letter-spacing:8rpx}.spec-group__options.data-v-0e22571c{display:flex;flex-wrap:wrap;gap:16rpx}.spec-option.data-v-0e22571c{padding:14rpx 32rpx;font-size:26rpx;color:#333;background:#f5f5f5;border-radius:8rpx;border:2rpx solid #f5f5f5}.spec-option--active.data-v-0e22571c{color:#e91e63;background:#fce4ec;border-color:#e91e63}.spec-data-list.data-v-0e22571c{padding-bottom:20rpx}.spec-data-card.data-v-0e22571c{border:2rpx solid #f0e0e0;width:90%;border-radius:16rpx;padding:20rpx 16rpx;margin-bottom:20rpx;background:#fff}.spec-data-card--selected.data-v-0e22571c{border-color:#e91e63;background:#fff5f7}.spec-card__header.data-v-0e22571c{display:flex;justify-content:space-between;align-items:center;margin-bottom:16rpx;padding-bottom:14rpx;border-bottom:1rpx solid #f0f0f0}.spec-card__title.data-v-0e22571c{font-size:26rpx;color:#333;font-weight:600;flex-shrink:0}.spec-card__tags.data-v-0e22571c{display:flex;gap:8rpx;flex-wrap:wrap;justify-content:flex-end}.spec-card__tag.data-v-0e22571c{font-size:20rpx;color:#e91e63;background:#fce4ec;padding:4rpx 14rpx;border-radius:6rpx}.spec-card__grid.data-v-0e22571c{display:grid;grid-template-columns:repeat(2,1fr);gap:2rpx;background:#f5f5f5;border-radius:8rpx;overflow:hidden}.spec-card__cell.data-v-0e22571c{background:#fff;display:flex;justify-content:space-between;align-items:center;padding:14rpx 16rpx}.spec-card__label.data-v-0e22571c{font-size:22rpx;color:#999;flex-shrink:0}.spec-card__value.data-v-0e22571c{font-size:22rpx;color:#333;font-weight:500;margin-left:8rpx;text-align:right}.spec-card__footer.data-v-0e22571c{display:flex;justify-content:flex-end;align-items:center;margin-top:14rpx;padding-top:14rpx;border-top:1rpx solid #f0f0f0;gap:12rpx}.spec-card__total-label.data-v-0e22571c{font-size:26rpx;color:#e91e63}.spec-card__total-price.data-v-0e22571c{font-size:34rpx;color:#e91e63;font-weight:700}.spec-panel__bottom.data-v-0e22571c{padding:20rpx 28rpx;padding-bottom:calc(20rpx + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -2rpx 10rpx rgba(0,0,0,.05)}.spec-panel__cart-btn.data-v-0e22571c{background:linear-gradient(to right,#ffb6c8,#ff6d9b);color:#fff;text-align:center;padding:24rpx 0;border-radius:44rpx;font-size:30rpx;font-weight:500}.spec-panel__cart-btn--disabled.data-v-0e22571c{background:linear-gradient(to right,#ddd,#ccc)} diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/address/index.js b/miniprogram/unpackage/dist/build/mp-weixin/pages/address/index.js deleted file mode 100644 index fc2abce7..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/address/index.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("../../common/vendor.js"),t=require("../../common/assets.js"),i=require("../../store/user.js"),a=require("../../api/user.js"),n=e.defineComponent({__name:"index",setup(n){const s=e.ref(20),o=e.ref(44);try{const t=e.index.getSystemInfoSync();s.value=t.statusBarHeight||20;const i=e.index.getMenuButtonBoundingClientRect();o.value=2*(i.top-(t.statusBarHeight||20))+i.height}catch{}function c(){e.index.navigateBack({delta:1})}const d=i.useUserStore(),l=e.ref(!1),u=e.ref(null),r=e.reactive({name:"",phone:"",province:"",city:"",district:"",detail:"",isDefault:!1});function v(){r.name="",r.phone="",r.province="",r.city="",r.district="",r.detail="",r.isDefault=!1,u.value=null,l.value=!0}function f(e){u.value=e.id,r.name=e.name,r.phone=e.phone,r.province=e.province,r.city=e.city,r.district=e.district,r.detail=e.detail,r.isDefault=e.isDefault,l.value=!0}async function p(){if(r.name&&r.phone&&r.detail)try{const t={name:r.name,phone:r.phone,province:r.province,city:r.city,district:r.district,detail:r.detail,isDefault:r.isDefault};u.value?await a.updateAddress(u.value,t):await a.addAddress(t),l.value=!1,await h(),e.index.showToast({title:"保存成功",icon:"success"})}catch{e.index.showToast({title:"保存失败",icon:"none"})}else e.index.showToast({title:"请填写完整信息",icon:"none"})}async function h(){try{const e=await a.getAddressList();d.setAddresses(e)}catch{}}return e.onMounted((()=>{h()})),(i,n)=>e.e({a:t._imports_0$2,b:e.o(c),c:o.value+"px",d:s.value+"px",e:s.value+o.value+"px",f:!l.value},l.value?{}:e.e({g:e.f(e.unref(d).addresses,((t,i,n)=>e.e({a:e.t(t.name),b:e.t(t.phone),c:t.isDefault},(t.isDefault,{}),{d:e.t(t.province),e:e.t(t.city),f:e.t(t.district),g:e.t(t.detail),h:e.o((e=>f(t)),t.id),i:e.o((e=>f(t)),t.id),j:e.o((i=>async function(t){e.index.showModal({title:"提示",content:"确定要删除该地址吗?",success:async i=>{if(i.confirm)try{await a.deleteAddress(t),await h(),e.index.showToast({title:"已删除",icon:"success"})}catch{e.index.showToast({title:"删除失败",icon:"none"})}}})}(t.id)),t.id),k:t.id}))),h:0===e.unref(d).addresses.length},(e.unref(d).addresses.length,{}),{i:e.o(v)}),{j:l.value},l.value?{k:r.name,l:e.o((e=>r.name=e.detail.value)),m:r.phone,n:e.o((e=>r.phone=e.detail.value)),o:r.province,p:e.o((e=>r.province=e.detail.value)),q:r.city,r:e.o((e=>r.city=e.detail.value)),s:r.district,t:e.o((e=>r.district=e.detail.value)),v:r.detail,w:e.o((e=>r.detail=e.detail.value)),x:r.isDefault,y:e.o((e=>r.isDefault=e.detail.value)),z:e.o((e=>l.value=!1)),A:e.o(p)}:{})}}),s=e._export_sfc(n,[["__scopeId","data-v-9a0c8684"]]);wx.createPage(s); diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/address/index.json b/miniprogram/unpackage/dist/build/mp-weixin/pages/address/index.json deleted file mode 100644 index ced5b279..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/address/index.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "navigationStyle": "custom", - "usingComponents": {} -} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/address/index.wxml b/miniprogram/unpackage/dist/build/mp-weixin/pages/address/index.wxml deleted file mode 100644 index 84f4f185..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/address/index.wxml +++ /dev/null @@ -1 +0,0 @@ -收货地址{{addr.a}}{{addr.b}}默认{{addr.d}}{{addr.e}}{{addr.f}}{{addr.g}}编辑删除暂无收货地址+ 新增收货地址收货人手机号省份城市区县详细地址设为默认取消保存 \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/address/index.wxss b/miniprogram/unpackage/dist/build/mp-weixin/pages/address/index.wxss deleted file mode 100644 index 60a8aa5c..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/address/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.custom-navbar.data-v-9a0c8684{background:linear-gradient(to right,#ffcfde,#ffa6c4);position:fixed;top:0;left:0;right:0;z-index:100}.custom-navbar__content.data-v-9a0c8684{display:flex;align-items:center;padding:0 24rpx}.custom-navbar__back.data-v-9a0c8684{width:44rpx;height:44rpx}.custom-navbar__title.data-v-9a0c8684{flex:1;text-align:center;font-size:34rpx;font-weight:700;color:#333}.custom-navbar__placeholder.data-v-9a0c8684{width:44rpx}.address-page.data-v-9a0c8684{min-height:100vh;background:#f5f5f5}.address-card.data-v-9a0c8684{background:#fff;margin-bottom:16rpx;padding:24rpx 32rpx}.address-card__top.data-v-9a0c8684{display:flex;align-items:center;gap:16rpx;margin-bottom:8rpx}.address-card__name.data-v-9a0c8684{font-size:30rpx;color:#333;font-weight:700}.address-card__phone.data-v-9a0c8684{font-size:26rpx;color:#666}.address-card__default.data-v-9a0c8684{font-size:22rpx;color:#e4393c;border:1rpx solid #e4393c;border-radius:4rpx;padding:2rpx 8rpx}.address-card__detail.data-v-9a0c8684{font-size:26rpx;color:#666;line-height:40rpx}.address-card__actions.data-v-9a0c8684{display:flex;justify-content:flex-end;gap:32rpx;margin-top:16rpx;padding-top:16rpx;border-top:1rpx solid #f0f0f0}.address-card__edit.data-v-9a0c8684{font-size:26rpx;color:#1890ff}.address-card__delete.data-v-9a0c8684{font-size:26rpx;color:#e4393c}.empty-tip.data-v-9a0c8684{text-align:center;padding:80rpx 0;color:#999;font-size:28rpx}.add-btn.data-v-9a0c8684{margin:32rpx;background:#e4393c;color:#fff;text-align:center;padding:24rpx 0;border-radius:44rpx;font-size:30rpx}.address-form.data-v-9a0c8684{background:#fff;padding:24rpx 32rpx}.form-item.data-v-9a0c8684{display:flex;align-items:center;padding:20rpx 0;border-bottom:1rpx solid #f0f0f0}.form-item--switch.data-v-9a0c8684{justify-content:space-between}.form-label.data-v-9a0c8684{font-size:28rpx;color:#333;width:160rpx;flex-shrink:0}.form-input.data-v-9a0c8684{flex:1;font-size:28rpx;color:#333}.form-actions.data-v-9a0c8684{display:flex;gap:24rpx;margin-top:40rpx;padding-bottom:20rpx}.form-btn.data-v-9a0c8684{flex:1;text-align:center;padding:20rpx 0;border-radius:44rpx;font-size:28rpx}.form-btn--cancel.data-v-9a0c8684{border:1rpx solid #ddd;color:#666}.form-btn--save.data-v-9a0c8684{background:#e4393c;color:#fff} diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/calculator/index.js b/miniprogram/unpackage/dist/build/mp-weixin/pages/calculator/index.js deleted file mode 100644 index bd2977ce..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/calculator/index.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("../../common/vendor.js"),t=require("../../common/assets.js"),l=require("../../utils/calculator.js"),i=e.defineComponent({__name:"index",setup(i){const a=e.ref(20),n=e.ref(44);try{const t=e.index.getSystemInfoSync();a.value=t.statusBarHeight||20;const l=e.index.getMenuButtonBoundingClientRect();n.value=2*(l.top-(t.statusBarHeight||20))+l.height}catch{}function o(){e.index.navigateBack({delta:1})}const u=[{key:"goldWeight",label:"金重",unit:"g"},{key:"mainStoneWeight",label:"主石重",unit:"ct"},{key:"sideStoneWeight",label:"副石重",unit:"ct"},{key:"lossRate",label:"损耗",unit:"倍率"},{key:"moldGoldPrice",label:"倒模金价",unit:"元"}],r=[{key:"mainStoneUnitPrice",label:"主石单价",unit:"元"},{key:"sideStoneUnitPrice",label:"副石单价",unit:"元"},{key:"sideStoneCount",label:"副石粒数",unit:"p"},{key:"microSettingFee",label:"微镶费",unit:"元/粒"},{key:"mainStoneSettingFee",label:"主石镶费",unit:"元"},{key:"threeDFee",label:"3D起板费",unit:"元"},{key:"basicLaborCost",label:"基本工费",unit:"元"},{key:"otherCost",label:"其他费用",unit:"元"}],c=e.reactive({goldWeight:0,mainStoneWeight:0,sideStoneWeight:0,lossRate:1,moldGoldPrice:0,mainStoneUnitPrice:0,sideStoneUnitPrice:0,sideStoneCount:0,microSettingFee:0,mainStoneSettingFee:0,threeDFee:0,basicLaborCost:0,otherCost:0}),s=e.reactive({});function d(e,t){const l=t.detail.value,i=Number(l);if(""===l||"-"===l)return c[e]=0,void delete s[e];isNaN(i)?s[e]="请输入有效数字":i<0?s[e]="不能为负数":(delete s[e],c[e]=i)}const b=e.computed((()=>{if(Object.keys(s).length>0)return null;try{return l.calculateRing({...c})}catch{return null}})),g=e.computed((()=>{const e=b.value;return e?[{label:"净金重",value:e.netGoldWeight.toFixed(4)+" g"},{label:"含耗重",value:e.weightWithLoss.toFixed(4)+" g"},{label:"金值",value:"¥"+e.goldValue.toFixed(2)},{label:"主石总价",value:"¥"+e.mainStoneTotal.toFixed(2)},{label:"副石总价",value:"¥"+e.sideStoneTotal.toFixed(2)},{label:"微镶总价",value:"¥"+e.microSettingTotal.toFixed(2)},{label:"总价",value:"¥"+e.totalPrice.toFixed(2)}]:[]}));return(l,i)=>({a:t._imports_0$2,b:e.o(o),c:n.value+"px",d:a.value+"px",e:a.value+n.value+"px",f:e.f(u,((t,l,i)=>e.e({a:e.t(t.label),b:e.t(t.unit),c:"请输入"+t.label,d:String(c[t.key]),e:e.o((e=>d(t.key,e)),t.key),f:s[t.key]},s[t.key]?{g:e.t(s[t.key])}:{},{h:t.key}))),g:e.f(r,((t,l,i)=>e.e({a:e.t(t.label),b:e.t(t.unit),c:"请输入"+t.label,d:String(c[t.key]),e:e.o((e=>d(t.key,e)),t.key),f:s[t.key]},s[t.key]?{g:e.t(s[t.key])}:{},{h:t.key}))),h:e.f(g.value,((t,l,i)=>({a:e.t(t.label),b:e.t(t.value),c:t.label})))})}}),a=e._export_sfc(i,[["__scopeId","data-v-59aa3e7d"]]);wx.createPage(a); diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/calculator/index.json b/miniprogram/unpackage/dist/build/mp-weixin/pages/calculator/index.json deleted file mode 100644 index ced5b279..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/calculator/index.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "navigationStyle": "custom", - "usingComponents": {} -} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/calculator/index.wxml b/miniprogram/unpackage/dist/build/mp-weixin/pages/calculator/index.wxml deleted file mode 100644 index 62f50fec..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/calculator/index.wxml +++ /dev/null @@ -1 +0,0 @@ -钻戒计算器基础参数{{field.a}}({{field.b}}){{field.g}}费用参数{{field.a}}({{field.b}}){{field.g}}计算结果{{r.a}}{{r.b}} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/calculator/index.wxss b/miniprogram/unpackage/dist/build/mp-weixin/pages/calculator/index.wxss deleted file mode 100644 index 71bca2d9..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/calculator/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.custom-navbar.data-v-59aa3e7d{background:linear-gradient(to right,#ffcfde,#ffa6c4);position:fixed;top:0;left:0;right:0;z-index:100}.custom-navbar__content.data-v-59aa3e7d{display:flex;align-items:center;padding:0 24rpx}.custom-navbar__back.data-v-59aa3e7d{width:44rpx;height:44rpx}.custom-navbar__title.data-v-59aa3e7d{flex:1;text-align:center;font-size:34rpx;font-weight:700;color:#333}.custom-navbar__placeholder.data-v-59aa3e7d{width:44rpx}.calculator-page.data-v-59aa3e7d{min-height:100vh;background:#f5f5f5;padding:16rpx}.section.data-v-59aa3e7d{background:#fff;border-radius:16rpx;padding:24rpx;margin-bottom:16rpx}.section__title.data-v-59aa3e7d{font-size:30rpx;font-weight:700;color:#333;margin-bottom:20rpx}.form-item.data-v-59aa3e7d{margin-bottom:20rpx}.form-item__label.data-v-59aa3e7d{font-size:26rpx;color:#666;display:block;margin-bottom:8rpx}.form-item__input.data-v-59aa3e7d{border:1rpx solid #ddd;border-radius:8rpx;padding:16rpx;font-size:28rpx;color:#333}.form-item__error.data-v-59aa3e7d{font-size:22rpx;color:#e4393c;margin-top:4rpx;display:block}.result-section.data-v-59aa3e7d{background:#fff8f0}.result-row.data-v-59aa3e7d{display:flex;justify-content:space-between;padding:12rpx 0;border-bottom:1rpx solid #f0e8e0}.result-row.data-v-59aa3e7d:last-child{border-bottom:none;font-weight:700;font-size:32rpx;color:#e4393c}.result-row__label.data-v-59aa3e7d{font-size:26rpx;color:#666}.result-row__value.data-v-59aa3e7d{font-size:26rpx;color:#333} diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/cart/index.js b/miniprogram/unpackage/dist/build/mp-weixin/pages/cart/index.js deleted file mode 100644 index d68acd14..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/cart/index.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("../../common/vendor.js"),t=require("../../common/assets.js"),n=require("../../store/cart.js"),i=require("../../utils/request.js"),o=e.defineComponent({__name:"index",setup(o){const a=n.useCartStore(),c=e.ref(0),s=e.ref(44),r=e.computed((()=>a.items.length>0&&a.items.every((e=>e.checked))));function u(){if(0===a.checkedItems.length)return void e.index.showToast({title:"请先选择商品",icon:"none"});e.index.getStorageSync("token")?e.index.navigateTo({url:"/pages/order/submit"}):e.index.navigateTo({url:"/pages/login/index"})}return e.onMounted((()=>{const t=e.index.getSystemInfoSync();c.value=t.statusBarHeight||0;const n=e.index.getMenuButtonBoundingClientRect();s.value=n.height+2*(n.top-(t.statusBarHeight||0)),a.fetchCart()})),(n,o)=>e.e({a:s.value+"px",b:c.value+"px",c:c.value+s.value+"px",d:e.unref(a).items.length>0},e.unref(a).items.length>0?{e:e.f(e.unref(a).items,((t,n,o)=>{var c,s,r,u,l,d,g,m,h,p,v,f,_;return{a:t.checked?"/static/ic_check_s.png":"/static/ic_check.png",b:e.o((n=>e.unref(a).toggleCheck(t.id)),t.id),c:(_=(null==(c=t.product)?void 0:c.thumb)||(null==(r=null==(s=t.product)?void 0:s.bannerImages)?void 0:r[0])||"",_?_.startsWith("http")?_:i.BASE_URL+_:""),d:e.t((null==(u=t.product)?void 0:u.name)||(null==(l=t.specData)?void 0:l.modelName)),e:e.t(null==(d=t.product)?void 0:d.styleNo),f:e.t(null==(g=t.specData)?void 0:g.modelName),g:e.t(null==(m=t.specData)?void 0:m.ringSize),h:e.t(null==(h=t.specData)?void 0:h.ringSize),i:e.t(null==(p=t.specData)?void 0:p.goldTotalWeight),j:e.t(null==(v=t.specData)?void 0:v.fineness),k:e.t((null==(f=t.specData)?void 0:f.totalPrice)||0),l:e.o((n=>e.unref(a).removeFromCart(t.id)),t.id),m:t.id}}))}:{f:t._imports_0$1},{g:e.unref(a).items.length>0},e.unref(a).items.length>0?{h:r.value?"/static/ic_check_s.png":"/static/ic_check.png",i:e.o((t=>e.unref(a).toggleCheckAll())),j:e.t(e.unref(a).totalAmount.toFixed(2)),k:0===e.unref(a).checkedItems.length?1:"",l:e.o(u)}:{})}}),a=e._export_sfc(o,[["__scopeId","data-v-cf3ca7ee"]]);wx.createPage(a); diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/cart/index.json b/miniprogram/unpackage/dist/build/mp-weixin/pages/cart/index.json deleted file mode 100644 index ced5b279..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/cart/index.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "navigationStyle": "custom", - "usingComponents": {} -} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/cart/index.wxml b/miniprogram/unpackage/dist/build/mp-weixin/pages/cart/index.wxml deleted file mode 100644 index 853356a3..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/cart/index.wxml +++ /dev/null @@ -1 +0,0 @@ -购物车{{item.d}}款号:{{item.e}}条码号:{{item.f}}镶口:{{item.g}}分手寸:{{item.h}}金重:{{item.i}}g{{item.j}}¥{{item.k}}元删除购物车是空的全选合计:¥{{j}}开始下单 \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/cart/index.wxss b/miniprogram/unpackage/dist/build/mp-weixin/pages/cart/index.wxss deleted file mode 100644 index 88b82dcd..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/cart/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.cart-page.data-v-cf3ca7ee{min-height:100vh;background:#f5f5f5;padding-bottom:calc(120rpx + env(safe-area-inset-bottom))}.navbar.data-v-cf3ca7ee{position:fixed;top:0;left:0;right:0;z-index:100;background:linear-gradient(to right,#ffcfde,#ffa6c4)}.navbar__content.data-v-cf3ca7ee{display:flex;align-items:center;justify-content:center}.navbar__title.data-v-cf3ca7ee{font-size:34rpx;font-weight:600;color:#333}.cart-list.data-v-cf3ca7ee{padding:16rpx 20rpx}.cart-item.data-v-cf3ca7ee{display:flex;align-items:center;background:#fff;border-radius:16rpx;padding:28rpx 20rpx;margin-bottom:16rpx}.cart-item__check.data-v-cf3ca7ee{margin-right:16rpx;flex-shrink:0}.check-icon.data-v-cf3ca7ee{width:44rpx;height:44rpx}.cart-item__body.data-v-cf3ca7ee{flex:1;min-width:0}.cart-item__top.data-v-cf3ca7ee{display:flex}.cart-item__img.data-v-cf3ca7ee{width:200rpx;height:200rpx;border-radius:16rpx;margin-right:24rpx;flex-shrink:0}.cart-item__info.data-v-cf3ca7ee{flex:1;min-width:0}.cart-item__name.data-v-cf3ca7ee{font-size:32rpx;color:#333;font-weight:700;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:14rpx}.cart-item__specs.data-v-cf3ca7ee{display:grid;grid-template-columns:1fr 1fr;gap:6rpx 20rpx}.spec-tag.data-v-cf3ca7ee{font-size:24rpx;color:#666;line-height:1.7}.cart-item__bottom.data-v-cf3ca7ee{display:flex;align-items:center;justify-content:space-between;margin-top:16rpx}.cart-item__price.data-v-cf3ca7ee{font-size:34rpx;color:#e91e63;font-weight:700}.cart-item__delete.data-v-cf3ca7ee{font-size:24rpx;color:#bbb;padding:8rpx 0}.empty-cart.data-v-cf3ca7ee{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:280rpx}.empty-cart__icon.data-v-cf3ca7ee{width:360rpx;height:360rpx;margin-bottom:32rpx}.empty-cart__text.data-v-cf3ca7ee{font-size:30rpx;color:#bbb}.settle-bar.data-v-cf3ca7ee{position:fixed;bottom:0;left:0;right:0;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:16rpx 24rpx;box-shadow:0 -2rpx 16rpx rgba(0,0,0,.06)}.settle-bar__left.data-v-cf3ca7ee{display:flex;align-items:center}.settle-bar__all-text.data-v-cf3ca7ee{font-size:26rpx;color:#333;margin-left:10rpx}.settle-bar__right.data-v-cf3ca7ee{display:flex;align-items:center}.settle-bar__total.data-v-cf3ca7ee{margin-right:20rpx;display:flex;align-items:baseline}.settle-bar__total-label.data-v-cf3ca7ee{font-size:26rpx;color:#666}.settle-bar__price.data-v-cf3ca7ee{color:#e91e63;font-weight:700;font-size:38rpx}.settle-bar__btn.data-v-cf3ca7ee{background:linear-gradient(to right,#ffb6c8,#ff6d9b);color:#fff;font-size:28rpx;padding:18rpx 48rpx;border-radius:44rpx;font-weight:500}.settle-bar__btn--disabled.data-v-cf3ca7ee{background:linear-gradient(to right,#ddd,#ccc)} diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/category/index.js b/miniprogram/unpackage/dist/build/mp-weixin/pages/category/index.js deleted file mode 100644 index f587f992..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/category/index.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("../../common/vendor.js"),t=require("../../common/assets.js"),a=require("../../utils/request.js"),n=e.defineComponent({__name:"index",setup(n){const u=e.ref(0),i=e.ref(44),l=e.ref(""),r=e.ref(0),o=e.ref([]),s=e.reactive({}),v=e.ref([]),c=e.ref(!1);function d(){e.index.navigateBack()}async function f(){c.value=!0;try{const e={categoryId:r.value,pageSize:50};Object.keys(s).forEach((t=>{s[t]&&(e[t]=s[t])}));const t=await a.get("/api/products",e);v.value=(null==t?void 0:t.list)||[]}catch{v.value=[]}finally{c.value=!1}}return e.onMounted((()=>{var t,n;const s=e.index.getSystemInfoSync();u.value=s.statusBarHeight||0;const v=e.index.getMenuButtonBoundingClientRect();i.value=v.height+2*(v.top-(s.statusBarHeight||0));const c=getCurrentPages(),d=c[c.length-1];r.value=Number((null==(t=d.options)?void 0:t.id)||0),l.value=decodeURIComponent((null==(n=d.options)?void 0:n.name)||""),async function(){try{const e=await a.get(`/api/categories/${r.value}/filters`);o.value=e||[]}catch{o.value=[]}}(),f()})),(n,r)=>e.e({a:t._imports_0$2,b:e.o(d),c:e.t(l.value),d:i.value+"px",e:u.value+"px",f:u.value+i.value+"px",g:o.value.length},o.value.length?{h:e.f(o.value,((t,a,n)=>({a:e.t(t.filterName),b:e.f(t.options,((a,n,u)=>({a:e.t(a),b:a,c:s[t.filterKey]===a?1:"",d:e.o((e=>{return n=t.filterKey,u=a,s[n]===u?delete s[n]:s[n]=u,void f();var n,u}),a)}))),c:t.filterKey})))}:{},{i:v.value.length},v.value.length?{j:e.f(v.value,((t,n,u)=>{var i,l;return{a:(l=t.thumb||(null==(i=t.bannerImages)?void 0:i[0])||"",l?l.startsWith("http")?l:a.BASE_URL+l:""),b:e.t(t.name),c:e.t(t.basePrice),d:e.t(t.stock),e:t.id,f:e.o((a=>{return n=t.id,void e.index.navigateTo({url:`/pages/product/detail?id=${n}`});var n}),t.id)}}))}:c.value?{}:{l:t._imports_0$1},{k:!c.value,m:c.value},(c.value,{}))}}),u=e._export_sfc(n,[["__scopeId","data-v-e771590a"]]);wx.createPage(u); diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/category/index.json b/miniprogram/unpackage/dist/build/mp-weixin/pages/category/index.json deleted file mode 100644 index ced5b279..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/category/index.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "navigationStyle": "custom", - "usingComponents": {} -} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/category/index.wxml b/miniprogram/unpackage/dist/build/mp-weixin/pages/category/index.wxml deleted file mode 100644 index 03bd5978..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/category/index.wxml +++ /dev/null @@ -1 +0,0 @@ -{{c}}{{filter.a}}{{opt.a}}{{p.b}}¥{{p.c}}库存{{p.d}}暂无商品加载中... \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/category/index.wxss b/miniprogram/unpackage/dist/build/mp-weixin/pages/category/index.wxss deleted file mode 100644 index 742e06e0..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/category/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.category-page.data-v-e771590a{min-height:100vh;background:#f5f5f5}.navbar.data-v-e771590a{position:fixed;top:0;left:0;right:0;z-index:100;background:linear-gradient(135deg,#ffcfde,#ffa6c4)}.navbar__content.data-v-e771590a{display:flex;align-items:center;justify-content:space-between;padding:0 24rpx}.navbar__back.data-v-e771590a{padding:10rpx}.navbar__back-icon.data-v-e771590a{width:40rpx;height:40rpx}.navbar__title.data-v-e771590a{font-size:34rpx;font-weight:600;color:#000}.navbar__placeholder.data-v-e771590a{width:60rpx}.filter-section.data-v-e771590a{background:#fff;padding:20rpx 24rpx 8rpx}.filter-group.data-v-e771590a{display:flex;margin-bottom:16rpx}.filter-group__label.data-v-e771590a{font-size:26rpx;color:#666;font-weight:500;width:80rpx;flex-shrink:0;padding-top:10rpx;letter-spacing:4rpx}.filter-group__options.data-v-e771590a{display:flex;flex-wrap:wrap;gap:12rpx;flex:1}.filter-option.data-v-e771590a{padding:10rpx 24rpx;font-size:24rpx;color:#333;background:#f5f5f5;border-radius:8rpx;border:2rpx solid transparent}.filter-option--active.data-v-e771590a{color:#e91e63;background:#fce4ec;border-color:#e91e63}.product-grid.data-v-e771590a{display:flex;flex-wrap:wrap;padding:16rpx;gap:16rpx}.product-card.data-v-e771590a{width:calc(50% - 8rpx);background:#fff;border-radius:16rpx;overflow:hidden}.product-card__img.data-v-e771590a{width:100%;height:340rpx}.product-card__info.data-v-e771590a{padding:16rpx 20rpx 20rpx}.product-card__name.data-v-e771590a{font-size:26rpx;color:#333;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:10rpx}.product-card__bottom.data-v-e771590a{display:flex;align-items:center;justify-content:space-between}.product-card__price.data-v-e771590a{font-size:30rpx;font-weight:700;background:linear-gradient(to right,#ffb6c8,#ff6d9b);-webkit-background-clip:text;color:transparent;padding:4rpx 16rpx;background:linear-gradient(to right,#fce4ec,#f8bbd0);color:#e91e63;border-radius:6rpx;font-size:26rpx}.product-card__stock.data-v-e771590a{font-size:22rpx;color:#999}.empty-state.data-v-e771590a{display:flex;flex-direction:column;align-items:center;padding-top:200rpx}.empty-state__icon.data-v-e771590a{width:300rpx;height:300rpx;margin-bottom:20rpx}.empty-state__text.data-v-e771590a{font-size:28rpx;color:#bbb}.loading-text.data-v-e771590a{text-align:center;padding:40rpx;color:#999;font-size:26rpx} diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/index/index.js b/miniprogram/unpackage/dist/build/mp-weixin/pages/index/index.js deleted file mode 100644 index 344a92c9..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/index/index.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("../../common/vendor.js"),a=require("../../common/assets.js"),t=require("../../api/product.js"),n=require("../../utils/request.js");Math||(o+u)();const o=()=>"../../components/ProductCard.js",u=()=>"../../components/CustomerServiceBtn.js",i=e.defineComponent({__name:"index",setup(o){const u=e.ref([]),i=e.ref([]),r=e.ref(void 0),c=e.ref(!1),l=e.ref(!1),s=e.ref(1),v=e.ref(""),d=e.ref(20),p=e.ref(44);try{const a=e.index.getSystemInfoSync();d.value=a.statusBarHeight||20;const t=e.index.getMenuButtonBoundingClientRect();p.value=2*(t.top-(a.statusBarHeight||20))+t.height}catch{}function f(){v.value.trim()&&e.index.navigateTo({url:`/pages/search/index?keyword=${encodeURIComponent(v.value.trim())}`})}function g(){e.index.navigateTo({url:"/pages/calculator/index"})}return e.onMounted((()=>{!async function(){try{const e=await t.getCategories();i.value=e}catch{}}(),async function(e=!1){e&&(s.value=1,u.value=[]),c.value=!0;try{const a={page:s.value,pageSize:20};r.value&&(a.categoryId=r.value),v.value&&(a.keyword=v.value);const n=await t.getProducts(a);e?u.value=n.list:u.value.push(...n.list)}catch{}finally{c.value=!1}}(!0)})),(t,o)=>e.e({a:p.value+"px",b:d.value+"px",c:a._imports_0,d:v.value,e:e.o((e=>v.value=e.detail.value)),f:e.o(f),g:e.o(f),h:e.f(i.value,((a,t,o)=>{return e.e({a:a.icon},a.icon?{b:(u=a.icon,u?u.startsWith("http")?u:n.BASE_URL+u:"")}:{},{c:e.t(a.name),d:a.id,e:r.value===a.id?1:"",f:e.o((t=>function(a){const t=i.value.find((e=>e.id===a)),n=t?encodeURIComponent(t.name):"";e.index.navigateTo({url:`/pages/category/index?id=${a}&name=${n}`})}(a.id)),a.id)});var u})),i:a._imports_1,j:e.o(g),k:a._imports_2,l:e.o((e=>l.value=!0)),m:e.f(u.value,((a,t,n)=>({a:"449a819d-0-"+n,b:e.p({product:a}),c:a.id}))),n:!c.value&&0===u.value.length},(c.value||u.value.length,{}),{o:c.value},(c.value,{}),{p:l.value},l.value?{q:e.o((e=>l.value=!1)),r:e.p({mode:"qrcode"})}:{})}}),r=e._export_sfc(i,[["__scopeId","data-v-449a819d"]]);wx.createPage(r); diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/index/index.json b/miniprogram/unpackage/dist/build/mp-weixin/pages/index/index.json deleted file mode 100644 index 0fc044b6..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/index/index.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "navigationStyle": "custom", - "usingComponents": { - "product-card": "../../components/ProductCard", - "customer-service-btn": "../../components/CustomerServiceBtn" - } -} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/index/index.wxml b/miniprogram/unpackage/dist/build/mp-weixin/pages/index/index.wxml deleted file mode 100644 index dd03d3ff..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/index/index.wxml +++ /dev/null @@ -1 +0,0 @@ -凯缘钻之城搜索💎{{cat.c}}钻戒计算器客服找款暂无商品加载中... \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/index/index.wxss b/miniprogram/unpackage/dist/build/mp-weixin/pages/index/index.wxss deleted file mode 100644 index 7fc66228..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/index/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.home-page.data-v-449a819d{min-height:100vh;background:#f5f5f5}.custom-navbar.data-v-449a819d{background:linear-gradient(to right,#ffcfde,#ffa6c4)}.custom-navbar__content.data-v-449a819d{display:flex;align-items:center;justify-content:center}.custom-navbar__title.data-v-449a819d{font-size:34rpx;font-weight:700;color:#333}.search-bar.data-v-449a819d{display:flex;align-items:center;padding:16rpx 24rpx}.search-bar__input.data-v-449a819d{flex:1;display:flex;align-items:center;background:#fff;border-radius:40rpx;padding:16rpx 24rpx;height:72rpx;box-sizing:border-box}.search-bar__icon.data-v-449a819d{width:32rpx;height:32rpx;margin-right:12rpx;flex-shrink:0}.search-bar__field.data-v-449a819d{flex:1;font-size:24rpx;color:#333}.search-bar__btn.data-v-449a819d{margin-left:16rpx;font-size:28rpx;color:#333;font-weight:500}.category-section.data-v-449a819d{white-space:nowrap;padding:32rpx 0 24rpx;background:#fff}.category-section__inner.data-v-449a819d{display:inline-flex;padding:0 24rpx;gap:32rpx}.category-icon.data-v-449a819d{display:inline-flex;flex-direction:column;align-items:center;gap:12rpx;flex-shrink:0}.category-icon__circle.data-v-449a819d{width:120rpx;height:120rpx;border-radius:30rpx;background:linear-gradient(135deg,#fce4ec,#f8bbd0);display:flex;align-items:center;justify-content:center}.category-icon--active .category-icon__circle.data-v-449a819d{background:linear-gradient(135deg,#f48fb1,#e91e63);box-shadow:0 4rpx 16rpx rgba(233,30,99,.3)}.category-icon__emoji.data-v-449a819d{font-size:48rpx}.category-icon__img.data-v-449a819d{width:90rpx;height:90rpx}.category-icon__label.data-v-449a819d{font-size:24rpx;color:#333}.category-icon--active .category-icon__label.data-v-449a819d{color:#e91e63;font-weight:700}.quick-actions.data-v-449a819d{display:flex;gap:20rpx;padding:0 24rpx 24rpx;background-color:#fff}.quick-action.data-v-449a819d{flex:1;display:flex;align-items:center;justify-content:center;gap:16rpx;padding:28rpx 0;border-radius:16rpx;background:#fff}.quick-action--calc.data-v-449a819d{background:linear-gradient(135deg,#ffa4c3,#ffd2e0)}.quick-action--service.data-v-449a819d{background:linear-gradient(135deg,#e8f5e9,#fff)}.quick-action__icon.data-v-449a819d{width:44rpx;height:44rpx}.quick-action__text.data-v-449a819d{font-size:30rpx;color:#333;font-weight:600}.product-grid.data-v-449a819d{display:flex;flex-wrap:wrap;padding:0 24rpx;gap:16rpx}.product-grid__item.data-v-449a819d{width:calc(50% - 8rpx)}.empty-tip.data-v-449a819d,.loading-tip.data-v-449a819d{text-align:center;padding:60rpx 0;color:#999;font-size:28rpx} diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/login/index.js b/miniprogram/unpackage/dist/build/mp-weixin/pages/login/index.js deleted file mode 100644 index bf1c102b..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/login/index.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("../../common/vendor.js"),i=require("../../common/assets.js"),t=require("../../utils/request.js"),a=require("../../store/user.js"),n=e.defineComponent({__name:"index",setup(n){const s=e.ref(!1),o=a.useUserStore();async function r(){if(!s.value){s.value=!0;try{await t.autoLogin(),await o.fetchProfile(),e.index.showToast({title:"登录成功",icon:"success"}),setTimeout((()=>{e.index.navigateBack({delta:1,fail:()=>{e.index.switchTab({url:"/pages/index/index"})}})}),500)}catch{e.index.showToast({title:"登录失败,请重试",icon:"none"})}finally{s.value=!1}}}function c(){e.index.navigateBack({delta:1,fail:()=>{e.index.switchTab({url:"/pages/index/index"})}})}return(t,a)=>({a:i._imports_0$4,b:s.value,c:e.o(r),d:e.o(c)})}}),s=e._export_sfc(n,[["__scopeId","data-v-a280ea1c"]]);wx.createPage(s); diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/login/index.json b/miniprogram/unpackage/dist/build/mp-weixin/pages/login/index.json deleted file mode 100644 index e301e431..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/login/index.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "navigationBarTitleText": "登录", - "usingComponents": {} -} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/login/index.wxml b/miniprogram/unpackage/dist/build/mp-weixin/pages/login/index.wxml deleted file mode 100644 index 7dcb42d7..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/login/index.wxml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/login/index.wxss b/miniprogram/unpackage/dist/build/mp-weixin/pages/login/index.wxss deleted file mode 100644 index 5031a5b7..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/login/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.login-page.data-v-a280ea1c{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;padding:0 60rpx}.login-header.data-v-a280ea1c{display:flex;flex-direction:column;align-items:center;margin-bottom:120rpx}.login-logo.data-v-a280ea1c{width:160rpx;height:160rpx;margin-bottom:30rpx}.login-title.data-v-a280ea1c{font-size:40rpx;font-weight:700;color:#333;margin-bottom:16rpx}.login-desc.data-v-a280ea1c{font-size:26rpx;color:#999}.login-actions.data-v-a280ea1c{width:100%;display:flex;flex-direction:column;align-items:center}.login-btn.data-v-a280ea1c{width:100%;height:88rpx;line-height:88rpx;background:#e4393c;color:#fff;font-size:32rpx;border-radius:44rpx;border:none;text-align:center}.login-skip.data-v-a280ea1c{margin-top:32rpx;font-size:26rpx;color:#999} diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/mine/index.js b/miniprogram/unpackage/dist/build/mp-weixin/pages/mine/index.js deleted file mode 100644 index 8c1a72c7..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/mine/index.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("../../common/vendor.js"),t=require("../../common/assets.js"),o=require("../../store/user.js"),n=require("../../api/order.js");Math||r();const r=()=>"../../components/CustomerServiceBtn.js",s=e.defineComponent({__name:"index",setup(r){const s=o.useUserStore(),a=e.ref(!1),i=e.ref(!1),u=e.ref(0),l=e.ref(!1),c=e.ref(20),d=e.ref(44);try{const t=e.index.getSystemInfoSync();c.value=t.statusBarHeight||20;const o=e.index.getMenuButtonBoundingClientRect();d.value=2*(o.top-(t.statusBarHeight||20))+o.height}catch{}function v(){l.value||e.index.navigateTo({url:"/pages/login/index"})}function g(t){e.index.getStorageSync("token")?e.index.navigateTo({url:t}):e.index.navigateTo({url:"/pages/login/index"})}function p(t){const o="user"===t?"用户协议":"隐私协议";e.index.showModal({title:o,content:"user"===t?"欢迎使用珠宝商城小程序。使用本小程序即表示您同意遵守相关服务条款。":"我们重视您的隐私保护。我们仅收集必要的信息以提供服务,不会向第三方泄露您的个人信息。",showCancel:!1,confirmText:"我知道了"})}function f(){e.index.showModal({title:"提示",content:"确定要退出登录吗?",success:t=>{t.confirm&&(s.logout(),l.value=!1,u.value=0,e.index.showToast({title:"已退出登录",icon:"success"}),setTimeout((()=>{e.index.switchTab({url:"/pages/index/index"})}),1e3))}})}return e.onShow((()=>{!function(){const t=e.index.getStorageSync("token");l.value=!!t,t&&(s.fetchProfile(),n.getOrderList().then((e=>{u.value=Array.isArray(e)?e.length:(null==e?void 0:e.total)||0})).catch((()=>{})))}()})),(o,n)=>{var r,x,m;return e.e({a:d.value+"px",b:c.value+"px",c:(null==(r=e.unref(s).user)?void 0:r.avatar)||"/static/logo.png",d:e.t(l.value?(null==(x=e.unref(s).user)?void 0:x.nickname)||"微信用户":"点击注册/登录"),e:l.value},l.value?{f:e.t(null==(m=e.unref(s).user)?void 0:m.id)}:{},{g:e.o(v),h:t._imports_0$3,i:e.t(u.value),j:e.o((e=>g("/pages/order/list"))),k:t._imports_1$1,l:e.o((e=>g("/pages/address/index"))),m:t._imports_2$1,n:e.o((e=>a.value=!0)),o:t._imports_3$1,p:e.o((e=>i.value=!0)),q:t._imports_4,r:e.o((e=>p("user"))),s:t._imports_5,t:e.o((e=>p("privacy"))),v:l.value},l.value?{w:t._imports_6,x:e.o(f)}:{},{y:a.value},a.value?{z:e.o((e=>a.value=!1)),A:e.p({mode:"qrcode"})}:{},{B:i.value},i.value?{C:e.o((e=>i.value=!1)),D:e.o((()=>{})),E:e.o((e=>i.value=!1))}:{})}}}),a=e._export_sfc(s,[["__scopeId","data-v-56e97d4f"]]);wx.createPage(a); diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/mine/index.json b/miniprogram/unpackage/dist/build/mp-weixin/pages/mine/index.json deleted file mode 100644 index bd145731..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/mine/index.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "navigationStyle": "custom", - "usingComponents": { - "customer-service-btn": "../../components/CustomerServiceBtn" - } -} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/mine/index.wxml b/miniprogram/unpackage/dist/build/mp-weixin/pages/mine/index.wxml deleted file mode 100644 index 0c44710f..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/mine/index.wxml +++ /dev/null @@ -1 +0,0 @@ -我的{{d}}ID: {{f}}我的订单 {{i}}收货地址联系客服关于我们用户协议隐私协议退出登录关于我们珠宝商城 —— 专注珠宝零售,为您提供优质珠宝商品和贴心服务。关闭 \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/mine/index.wxss b/miniprogram/unpackage/dist/build/mp-weixin/pages/mine/index.wxss deleted file mode 100644 index 0a5d671b..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/mine/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.mine-page.data-v-56e97d4f{min-height:100vh;background:#f5f5f5}.custom-navbar.data-v-56e97d4f{background:linear-gradient(to right,#ffcfde,#ffa6c4)}.custom-navbar__content.data-v-56e97d4f{display:flex;align-items:center;justify-content:center}.custom-navbar__title.data-v-56e97d4f{font-size:34rpx;font-weight:700;color:#333}.user-card.data-v-56e97d4f{display:flex;align-items:center;background:#fff;margin:0 24rpx;padding:32rpx;border-radius:16rpx}.user-card__avatar.data-v-56e97d4f{width:96rpx;height:96rpx;border-radius:50%;background:#f0f0f0;flex-shrink:0}.user-card__info.data-v-56e97d4f{flex:1;margin-left:24rpx}.user-card__name.data-v-56e97d4f{font-size:32rpx;color:#333;font-weight:700}.user-card__id.data-v-56e97d4f{font-size:24rpx;color:#999;margin-top:8rpx;display:block}.user-card__arrow.data-v-56e97d4f{font-size:36rpx;color:#ccc}.order-entry.data-v-56e97d4f{display:flex;align-items:center;margin:20rpx 24rpx 0;padding:24rpx 32rpx;background:linear-gradient(135deg,#fce4ec,#f8bbd0);border-radius:16rpx}.order-entry__icon.data-v-56e97d4f{width:40rpx;height:40rpx;margin-right:16rpx}.order-entry__text.data-v-56e97d4f{flex:1;font-size:28rpx;color:#333;font-weight:700}.order-entry__arrow.data-v-56e97d4f{font-size:32rpx;color:#999}.menu-group.data-v-56e97d4f{background:#fff;margin:20rpx 24rpx 0;border-radius:16rpx;overflow:hidden}.menu-item.data-v-56e97d4f{display:flex;align-items:center;padding:30rpx 32rpx;border-bottom:1rpx solid #f5f5f5}.menu-item.data-v-56e97d4f:last-child{border-bottom:none}.menu-item__icon.data-v-56e97d4f{width:40rpx;height:40rpx;margin-right:20rpx}.menu-item__label.data-v-56e97d4f{flex:1;font-size:28rpx;color:#333}.menu-item__arrow.data-v-56e97d4f{font-size:32rpx;color:#ccc}.modal-mask.data-v-56e97d4f{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:999}.modal-popup.data-v-56e97d4f{background:#fff;border-radius:16rpx;padding:40rpx;text-align:center;width:560rpx}.modal-popup__title.data-v-56e97d4f{font-size:32rpx;color:#333;font-weight:700;display:block;margin-bottom:20rpx}.modal-popup__content.data-v-56e97d4f{font-size:26rpx;color:#666;line-height:44rpx;display:block}.modal-popup__close.data-v-56e97d4f{margin-top:28rpx;font-size:28rpx;color:#999} diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/mold/index.js b/miniprogram/unpackage/dist/build/mp-weixin/pages/mold/index.js deleted file mode 100644 index bcb36bb0..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/mold/index.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("../../common/vendor.js"),t=require("../../utils/request.js"),a=require("../../utils/moldSearch.js"),n=e.defineComponent({__name:"index",setup(n){const u=e.ref([]),l=e.ref(""),s=e.ref(!1),i=e.ref(20),o=e.ref(44);try{const t=e.index.getSystemInfoSync();i.value=t.statusBarHeight||20;const a=e.index.getMenuButtonBoundingClientRect();o.value=2*(a.top-(t.statusBarHeight||20))+a.height}catch{}const r=e.computed((()=>a.searchMolds(u.value,l.value)));function c(e){return e?e.startsWith("http")?e:t.BASE_URL+e:""}function v(e){if(Array.isArray(e))return e;if("string"==typeof e)try{return JSON.parse(e)}catch{return[]}return[]}function f(e){l.value=e.detail.value}function g(){}function d(){e.index.showModal({title:"联系客服",content:"如需定制服务,请添加客服微信咨询",showCancel:!1})}async function h(){s.value=!0;try{const e=await t.get("/api/molds",{pageSize:100}),a=(null==e?void 0:e.list)||[];u.value=a.map((e=>({...e,images:v(e.images)})))}catch{}finally{s.value=!1}}return e.onMounted((()=>{h()})),e.onShow((()=>{h()})),(t,a)=>e.e({a:o.value+"px",b:i.value+"px",c:l.value,d:e.o(f),e:e.o(g),f:e.f(r.value,((t,a,n)=>e.e({a:e.t(t.name),b:(t.images||[]).length>0},(t.images||[]).length>0?{c:e.f(t.images||[],((a,n,u)=>({a:n,b:c(a),c:e.o((a=>function(t,a){const n=t.map((e=>c(e)));e.index.previewImage({urls:n,current:n[a]})}(t.images||[],n)),n)})))}:{},{d:t.styleNo},t.styleNo?{e:e.t(t.styleNo)}:{},{f:t.style},t.style?{g:e.t(t.style)}:{},{h:t.id}))),g:!s.value&&0===r.value.length},s.value||0!==r.value.length?{}:e.e({h:e.t(l.value?"未找到匹配结果":"暂无版房信息"),i:l.value},l.value?{j:e.o(d)}:{}),{k:s.value},(s.value,{}))}}),u=e._export_sfc(n,[["__scopeId","data-v-00ca4dc0"]]);wx.createPage(u); diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/mold/index.json b/miniprogram/unpackage/dist/build/mp-weixin/pages/mold/index.json deleted file mode 100644 index ced5b279..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/mold/index.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "navigationStyle": "custom", - "usingComponents": {} -} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/mold/index.wxml b/miniprogram/unpackage/dist/build/mp-weixin/pages/mold/index.wxml deleted file mode 100644 index 01e8ad32..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/mold/index.wxml +++ /dev/null @@ -1 +0,0 @@ -版房专区{{mold.a}}暂无图片款号: {{mold.e}}款式: {{mold.g}}{{h}} 联系客服咨询定制 加载中... \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/mold/index.wxss b/miniprogram/unpackage/dist/build/mp-weixin/pages/mold/index.wxss deleted file mode 100644 index 8bb36789..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/mold/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.mold-page.data-v-00ca4dc0{min-height:100vh;background:#f5f5f5}.custom-navbar.data-v-00ca4dc0{background:linear-gradient(to right,#ffcfde,#ffa6c4)}.custom-navbar__content.data-v-00ca4dc0{display:flex;align-items:center;justify-content:center}.custom-navbar__title.data-v-00ca4dc0{font-size:34rpx;font-weight:700;color:#333}.search-bar.data-v-00ca4dc0{background:#fff;padding:16rpx 24rpx}.search-bar__input.data-v-00ca4dc0{background:#f5f5f5;border-radius:32rpx;padding:16rpx 24rpx;font-size:26rpx;color:#333}.mold-list.data-v-00ca4dc0{padding:16rpx}.mold-card.data-v-00ca4dc0{background:#fff;border-radius:16rpx;padding:24rpx;margin-bottom:16rpx}.mold-card__name.data-v-00ca4dc0{font-size:30rpx;font-weight:700;color:#333;display:block;margin-bottom:16rpx}.mold-card__images.data-v-00ca4dc0{white-space:nowrap;margin-bottom:12rpx}.mold-card__img.data-v-00ca4dc0{width:200rpx;height:200rpx;border-radius:8rpx;margin-right:12rpx;display:inline-block}.mold-card__no-img.data-v-00ca4dc0{height:200rpx;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:8rpx;color:#999;font-size:26rpx;margin-bottom:12rpx}.mold-card__footer.data-v-00ca4dc0{display:flex;gap:16rpx}.mold-card__tag.data-v-00ca4dc0{font-size:22rpx;color:#999;background:#f5f5f5;padding:4rpx 12rpx;border-radius:4rpx}.empty-tip.data-v-00ca4dc0{text-align:center;padding:80rpx 0;color:#999;font-size:28rpx}.empty-tip__contact.data-v-00ca4dc0{margin-top:20rpx;color:#e4393c;font-size:26rpx}.loading-tip.data-v-00ca4dc0{text-align:center;padding:60rpx 0;color:#999;font-size:28rpx} diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/detail.js b/miniprogram/unpackage/dist/build/mp-weixin/pages/order/detail.js deleted file mode 100644 index 6b09ee17..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/detail.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("../../common/vendor.js"),t=require("../../common/assets.js"),a=require("../../api/order.js"),n=require("../../store/order.js"),s=require("../../utils/request.js"),o=e.defineComponent({__name:"detail",setup(o){const i=n.useOrderStore(),c=e.ref(null),r=e.ref([]),u=e.ref(0),l=e.ref(20),d=e.ref(44);try{const t=e.index.getSystemInfoSync();l.value=t.statusBarHeight||20;const a=e.index.getMenuButtonBoundingClientRect();d.value=2*(a.top-(t.statusBarHeight||20))+a.height}catch{}function p(){e.index.navigateBack({delta:1})}function v(e){return e?e.startsWith("http")?e:s.BASE_URL+e:""}function g(e){var t,a;const n=null==(t=e.product)?void 0:t.bannerImages;if(n&&n.length>0)return v(n[0]);const s=null==(a=e.product)?void 0:a.thumb;return s?v(s):""}async function m(t){try{const e=await a.getOrderDetail(t);c.value=e,r.value=e.items||[],i.setCurrentOrder(e)}catch{e.index.showToast({title:"加载订单失败",icon:"none"})}}async function h(){c.value&&e.index.showModal({title:"提示",content:"确定要取消该订单吗?",success:async t=>{if(t.confirm&&c.value)try{await a.cancelOrder(c.value.id),c.value.status="cancelled",i.updateOrderStatus(c.value.id,"cancelled"),e.index.showToast({title:"订单已取消",icon:"success"})}catch{e.index.showToast({title:"取消订单失败",icon:"none"})}}})}return e.onMounted((()=>{var e;const t=getCurrentPages(),a=t[t.length-1];u.value=Number(null==(e=a.options)?void 0:e.id),u.value&&m(u.value)})),e.onShow((()=>{u.value&&m(u.value)})),(a,n)=>e.e({a:c.value},c.value?e.e({b:t._imports_0$2,c:e.o(p),d:d.value+"px",e:l.value+"px",f:l.value+d.value+"px",g:e.f(r.value,((t,a,n)=>e.e({a:g(t),b:e.t(t.product.name),c:t.specData.modelName},t.specData.modelName?{d:e.t(t.specData.modelName)}:{},{e:t.specData.fineness},t.specData.fineness?{f:e.t(t.specData.fineness)}:{},{g:t.specData.mainStone},t.specData.mainStone?{h:e.t(t.specData.mainStone)}:{},{i:t.specData.ringSize},t.specData.ringSize?{j:e.t(t.specData.ringSize)}:{},{k:t.specData.goldTotalWeight},t.specData.goldTotalWeight?{l:e.t(t.specData.goldTotalWeight)}:{},{m:t.specData.goldNetWeight},t.specData.goldNetWeight?{n:e.t(t.specData.goldNetWeight)}:{},{o:e.t(t.unitPrice),p:e.t(t.quantity),q:t.id}))),h:e.t(c.value.orderNo),i:e.t(c.value.totalPrice),j:"pending"===c.value.status},"pending"===c.value.status?{k:e.o(h)}:{},{l:t._imports_1$2,m:e.t(c.value.receiverAddress||"我的地址"),n:t._imports_2$4,o:e.t(c.value.receiverPhone||"我的手机号"),p:e.t(c.value.totalPrice),q:e.o(((...e)=>a.contactService&&a.contactService(...e)))}):{})}}),i=e._export_sfc(o,[["__scopeId","data-v-52b83eb4"]]);wx.createPage(i); diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/detail.json b/miniprogram/unpackage/dist/build/mp-weixin/pages/order/detail.json deleted file mode 100644 index ced5b279..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/detail.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "navigationStyle": "custom", - "usingComponents": {} -} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/detail.wxml b/miniprogram/unpackage/dist/build/mp-weixin/pages/order/detail.wxml deleted file mode 100644 index 93009a17..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/detail.wxml +++ /dev/null @@ -1 +0,0 @@ -订单详情{{item.b}}款号:{{item.d}}商品型号:{{item.f}}成色:{{item.h}}主石:{{item.j}}手寸:{{item.l}}金料总重:{{item.n}}¥{{item.o}}元×{{item.p}}订单号{{h}}商品价格总计:¥{{i}}您已成功下单!客服电话(微信): 15920028399交易方式: 门店交易、微信、支付宝、银行卡转账公司地址: 水贝二路贝丽花园21栋1楼叶生珠宝请取消订单{{m}}{{o}}合计:¥{{p}}联系客服 \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/detail.wxss b/miniprogram/unpackage/dist/build/mp-weixin/pages/order/detail.wxss deleted file mode 100644 index f349dfea..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/detail.wxss +++ /dev/null @@ -1 +0,0 @@ -.order-detail.data-v-52b83eb4{min-height:100vh;background:#f5f5f5;padding-bottom:130rpx}.custom-navbar.data-v-52b83eb4{background:linear-gradient(to right,#ffcfde,#ffa6c4);position:fixed;top:0;left:0;right:0;z-index:100}.custom-navbar__content.data-v-52b83eb4{display:flex;align-items:center;padding:0 24rpx}.custom-navbar__back.data-v-52b83eb4{width:44rpx;height:44rpx}.custom-navbar__title.data-v-52b83eb4{flex:1;text-align:center;font-size:34rpx;font-weight:700;color:#333}.custom-navbar__placeholder.data-v-52b83eb4{width:44rpx}.section.data-v-52b83eb4{background:#fff;margin:20rpx 24rpx;border-radius:16rpx;padding:24rpx}.order-item.data-v-52b83eb4{display:flex;padding:16rpx 0}.order-item+.order-item.data-v-52b83eb4{border-top:1rpx solid #f0f0f0}.order-item__img.data-v-52b83eb4{width:180rpx;height:180rpx;border-radius:12rpx;flex-shrink:0;background:#f5f5f5}.order-item__info.data-v-52b83eb4{flex:1;margin-left:20rpx;display:flex;flex-direction:column;justify-content:space-between}.order-item__name.data-v-52b83eb4{font-size:30rpx;font-weight:700;color:#333}.order-item__specs.data-v-52b83eb4{margin-top:12rpx;font-size:24rpx;color:#999}.spec-row.data-v-52b83eb4{display:flex;gap:40rpx;line-height:1.8}.spec-row text.data-v-52b83eb4{min-width:200rpx}.order-item__bottom.data-v-52b83eb4{display:flex;justify-content:space-between;align-items:center;margin-top:12rpx}.order-item__price.data-v-52b83eb4{font-size:32rpx;color:#e4393c;font-weight:700}.order-item__qty.data-v-52b83eb4{font-size:26rpx;color:#999}.info-row.data-v-52b83eb4{display:flex;justify-content:space-between;align-items:center;padding:16rpx 0;border-bottom:1rpx solid #f5f5f5}.info-row.data-v-52b83eb4:last-child{border-bottom:none}.info-label.data-v-52b83eb4{font-size:28rpx;color:#333}.info-value.data-v-52b83eb4{font-size:28rpx;color:#999}.tip-section.data-v-52b83eb4{margin-top:20rpx}.tip-section__title.data-v-52b83eb4{font-size:30rpx;color:#ff6d9b;font-weight:700;display:block;margin-bottom:20rpx}.tip-section__body.data-v-52b83eb4{display:flex;flex-direction:column;gap:12rpx;font-size:26rpx;color:#333;line-height:1.6}.tip-section__footer.data-v-52b83eb4{display:block;margin-top:20rpx;font-size:26rpx;color:#333}.cancel-section.data-v-52b83eb4{margin-top:20rpx;text-align:center;padding:0}.cancel-btn.data-v-52b83eb4{display:block;padding:28rpx 0;font-size:30rpx;color:#333}.receiver-section.data-v-52b83eb4{background:#fff;margin:20rpx 24rpx;border-radius:16rpx;padding:24rpx}.receiver-row.data-v-52b83eb4{display:flex;align-items:center;gap:12rpx;padding:12rpx 0;font-size:28rpx;color:#333}.receiver-icon.data-v-52b83eb4{width:36rpx;height:36rpx;flex-shrink:0}.bottom-bar.data-v-52b83eb4{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:20rpx 32rpx;padding-bottom:calc(20rpx + env(safe-area-inset-bottom));box-shadow:0 -2rpx 10rpx rgba(0,0,0,.05);display:flex;align-items:center;justify-content:flex-end;gap:30rpx}.bottom-bar__left.data-v-52b83eb4{display:flex;align-items:baseline}.bottom-bar__label.data-v-52b83eb4{font-size:26rpx;color:#333}.bottom-bar__price.data-v-52b83eb4{font-size:44rpx;color:#ff6d9b;font-weight:700}.bottom-bar__btn.data-v-52b83eb4{background:#ff6d9b;color:#fff;font-size:30rpx;font-weight:500;padding:22rpx 56rpx;border-radius:44rpx;border:none;line-height:1.4} diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/list.js b/miniprogram/unpackage/dist/build/mp-weixin/pages/order/list.js deleted file mode 100644 index 20461be9..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/list.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("../../common/vendor.js"),t=require("../../common/assets.js"),a=require("../../api/order.js"),r=require("../../store/order.js"),n=e.defineComponent({__name:"list",setup(n){const o=r.useOrderStore(),i=e.ref([]),u=e.ref(!1),s=e.ref(20),d=e.ref(44);try{const t=e.index.getSystemInfoSync();s.value=t.statusBarHeight||20;const a=e.index.getMenuButtonBoundingClientRect();d.value=2*(a.top-(t.statusBarHeight||20))+a.height}catch{}function l(){e.index.navigateBack({delta:1})}function c(e){const t=new Date(e);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")} ${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`}async function g(){u.value=!0;try{const e=await a.getOrderList();i.value=e,o.setOrders(e)}catch{e.index.showToast({title:"加载订单失败",icon:"none"})}finally{u.value=!1}}return e.onMounted((()=>{g()})),e.onShow((()=>{g()})),(a,r)=>e.e({a:t._imports_0$2,b:e.o(l),c:d.value+"px",d:s.value+"px",e:s.value+d.value+"px",f:0===i.value.length&&!u.value},(0!==i.value.length||u.value,{}),{g:e.f(i.value,((t,a,r)=>({a:e.t(t.orderNo),b:e.t(c(t.createdAt)),c:e.t(t.totalPrice),d:t.id,e:e.o((a=>{return r=t.id,void e.index.navigateTo({url:`/pages/order/detail?id=${r}`});var r}),t.id)}))),h:u.value},(u.value,{}))}}),o=e._export_sfc(n,[["__scopeId","data-v-edaf40f5"]]);wx.createPage(o); diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/list.json b/miniprogram/unpackage/dist/build/mp-weixin/pages/order/list.json deleted file mode 100644 index ced5b279..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/list.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "navigationStyle": "custom", - "usingComponents": {} -} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/list.wxml b/miniprogram/unpackage/dist/build/mp-weixin/pages/order/list.wxml deleted file mode 100644 index 8d4b7ab5..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/list.wxml +++ /dev/null @@ -1 +0,0 @@ -我的订单暂无订单订单号:{{order.a}}{{order.b}}¥{{order.c}}加载中... \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/list.wxss b/miniprogram/unpackage/dist/build/mp-weixin/pages/order/list.wxss deleted file mode 100644 index 66606cea..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/list.wxss +++ /dev/null @@ -1 +0,0 @@ -.order-list.data-v-edaf40f5{min-height:100vh;background:#f5f5f5;padding:16rpx}.custom-navbar.data-v-edaf40f5{background:linear-gradient(to right,#ffcfde,#ffa6c4);position:fixed;top:0;left:0;right:0;z-index:100}.custom-navbar__content.data-v-edaf40f5{display:flex;align-items:center;padding:0 24rpx}.custom-navbar__back.data-v-edaf40f5{width:44rpx;height:44rpx}.custom-navbar__title.data-v-edaf40f5{flex:1;text-align:center;font-size:34rpx;font-weight:700;color:#333}.custom-navbar__placeholder.data-v-edaf40f5{width:44rpx}.order-card.data-v-edaf40f5{background:#fff;border-radius:12rpx;padding:24rpx;margin-bottom:16rpx}.order-card__header.data-v-edaf40f5{display:flex;justify-content:space-between;align-items:center;margin-bottom:16rpx}.order-card__no.data-v-edaf40f5{font-size:26rpx;color:#666}.order-card__body.data-v-edaf40f5{display:flex;justify-content:space-between;align-items:center}.order-card__time.data-v-edaf40f5{font-size:24rpx;color:#999}.order-card__price.data-v-edaf40f5{font-size:32rpx;color:#e4393c;font-weight:700}.empty-tip.data-v-edaf40f5,.loading-tip.data-v-edaf40f5{text-align:center;padding:120rpx 0;color:#999;font-size:28rpx} diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/submit.js b/miniprogram/unpackage/dist/build/mp-weixin/pages/order/submit.js deleted file mode 100644 index da8ad3d4..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/submit.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("../../common/vendor.js"),t=require("../../common/assets.js"),a=require("../../store/cart.js"),i=require("../../api/order.js"),r=require("../../utils/request.js"),o=e.defineComponent({__name:"submit",setup(o){const u=a.useCartStore(),s=e.ref(0),n=e.ref(44),c=e.ref(""),l=e.ref(""),d=e.ref(""),v=e.ref(""),p=e.ref(!1),m=e.ref(!1);function f(){e.index.navigateBack()}const h=e.computed((()=>u.checkedItems)),_=e.computed((()=>h.value.reduce(((e,t)=>e+t.specData.totalPrice*t.quantity),0))),g=e.computed((()=>p.value&&!m.value));async function x(){if(g.value)if(c.value.trim())if(l.value.trim())if(d.value.trim()){m.value=!0;try{const t=await i.createOrder({items:h.value.map((e=>({productId:e.productId,specDataId:e.specDataId,quantity:e.quantity,unitPrice:e.specData.totalPrice}))),receiverName:c.value.trim(),receiverPhone:l.value.trim(),receiverAddress:d.value.trim()});for(const e of h.value)u.removeFromCart(e.id);e.index.redirectTo({url:`/pages/order/detail?id=${t.id}`})}catch{e.index.showToast({title:"提交订单失败,请重试",icon:"none"})}finally{m.value=!1}}else e.index.showToast({title:"请输入收货地址",icon:"none"});else e.index.showToast({title:"请输入联系电话",icon:"none"});else e.index.showToast({title:"请输入收货人姓名",icon:"none"})}return e.onMounted((()=>{const t=e.index.getSystemInfoSync();s.value=t.statusBarHeight||0;const a=e.index.getMenuButtonBoundingClientRect();n.value=a.height+2*(a.top-(t.statusBarHeight||0))})),(a,i)=>({a:t._imports_0$2,b:e.o(f),c:n.value+"px",d:s.value+"px",e:s.value+n.value+"px",f:t._imports_1$1,g:t._imports_2$3,h:c.value,i:e.o((e=>c.value=e.detail.value)),j:l.value,k:e.o((e=>l.value=e.detail.value)),l:d.value,m:e.o((e=>d.value=e.detail.value)),n:v.value,o:e.o((e=>v.value=e.detail.value)),p:t._imports_3,q:e.f(h.value,((t,a,i)=>{var o,u;return{a:(u=t.product.thumb||(null==(o=t.product.bannerImages)?void 0:o[0])||"",u?u.startsWith("http")?u:r.BASE_URL+u:""),b:e.t(t.product.name),c:e.t(t.specData.modelName||"B2022"),d:e.t(t.specData.fineness||"2606"),e:e.t(t.specData.fineness||"30"),f:e.t(t.specData.mainStone||"13.00#"),g:e.t(t.specData.ringSize||"13.00#"),h:e.t(t.specData.goldTotalWeight||"236"),i:e.t(t.specData.totalPrice),j:t.id}})),r:p.value?"/static/ic_check_s.png":"/static/ic_check.png",s:e.o((e=>p.value=!p.value)),t:e.t(_.value),v:g.value?"":1,w:e.o(x)})}}),u=e._export_sfc(o,[["__scopeId","data-v-2fe44f74"]]);wx.createPage(u); diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/submit.json b/miniprogram/unpackage/dist/build/mp-weixin/pages/order/submit.json deleted file mode 100644 index ced5b279..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/submit.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "navigationStyle": "custom", - "usingComponents": {} -} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/submit.wxml b/miniprogram/unpackage/dist/build/mp-weixin/pages/order/submit.wxml deleted file mode 100644 index 141edd27..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/submit.wxml +++ /dev/null @@ -1 +0,0 @@ -订单提交公司地址叶生珠宝-空托之城广东省深圳市罗湖区水贝2路贝丽花园21栋108#生珠宝15920028399联系电话:空托之城 叶生15920028399您的信息请留下您的联系方式姓名电话地址备注发货时间上班时间9:30-20:30分,下单15分钟即可出货。镶嵌主石每天18:00前,正常情况当天出货。{{item.b}}款号:{{item.c}}商品型号:{{item.d}}成色:{{item.e}}主石:{{item.f}}手寸:{{item.g}}金料总重:{{item.h}}¥{{item.i}}元因珠宝产品属于贵重物品,一旦出货,产品无质量问题不支持退换!合计:¥{{t}} 开始下单 \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/submit.wxss b/miniprogram/unpackage/dist/build/mp-weixin/pages/order/submit.wxss deleted file mode 100644 index ec968df1..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/order/submit.wxss +++ /dev/null @@ -1 +0,0 @@ -.order-submit.data-v-2fe44f74{min-height:100vh;background:#f5f5f5;padding-bottom:140rpx}.navbar.data-v-2fe44f74{position:fixed;top:0;left:0;right:0;z-index:100;background:linear-gradient(135deg,#ffcfde,#ffa6c4)}.navbar__content.data-v-2fe44f74{display:flex;align-items:center;justify-content:space-between;padding:0 24rpx}.navbar__back.data-v-2fe44f74{padding:10rpx}.navbar__back-icon.data-v-2fe44f74{width:40rpx;height:40rpx}.navbar__title.data-v-2fe44f74{font-size:34rpx;font-weight:600;color:#000}.navbar__placeholder.data-v-2fe44f74{width:60rpx}.address-section.data-v-2fe44f74{background:#fff;margin:16rpx 24rpx;padding:24rpx;border-radius:16rpx}.address-section__header.data-v-2fe44f74{display:flex;align-items:center;margin-bottom:16rpx}.address-section__icon.data-v-2fe44f74{width:32rpx;height:32rpx;margin-right:8rpx}.address-section__title.data-v-2fe44f74{font-size:28rpx;color:#e91e63;font-weight:600}.address-section__content.data-v-2fe44f74{display:flex;flex-direction:column;gap:8rpx}.address-section__name.data-v-2fe44f74{font-size:28rpx;color:#333;font-weight:600}.address-section__detail.data-v-2fe44f74,.address-section__phone.data-v-2fe44f74,.address-section__contact.data-v-2fe44f74{font-size:24rpx;color:#666;line-height:36rpx}.info-section.data-v-2fe44f74{background:#fff;margin:0 24rpx 16rpx;padding:24rpx;border-radius:16rpx}.info-section__header.data-v-2fe44f74{display:flex;align-items:center;margin-bottom:20rpx}.info-section__icon.data-v-2fe44f74{width:32rpx;height:32rpx;margin-right:8rpx}.info-section__title.data-v-2fe44f74{font-size:28rpx;color:#e91e63;font-weight:600;margin-right:12rpx}.info-section__subtitle.data-v-2fe44f74{font-size:24rpx;color:#999}.form-item.data-v-2fe44f74{display:flex;align-items:center;padding:20rpx 0;border-bottom:1rpx solid #f0f0f0}.form-item.data-v-2fe44f74:last-child{border-bottom:none}.form-item__label.data-v-2fe44f74{font-size:26rpx;color:#333;width:100rpx;flex-shrink:0}.form-item__label.required.data-v-2fe44f74:before{content:"*";color:#e91e63;margin-right:4rpx}.form-item__input.data-v-2fe44f74{flex:1;font-size:26rpx;color:#333}.delivery-section.data-v-2fe44f74{background:#fff;margin:0 24rpx 16rpx;padding:24rpx;border-radius:16rpx}.delivery-section__header.data-v-2fe44f74{display:flex;align-items:center;margin-bottom:12rpx}.delivery-section__icon.data-v-2fe44f74{width:32rpx;height:32rpx;margin-right:8rpx}.delivery-section__title.data-v-2fe44f74{font-size:28rpx;color:#e91e63;font-weight:600}.delivery-section__content.data-v-2fe44f74{font-size:24rpx;color:#e91e63;line-height:36rpx}.product-section.data-v-2fe44f74{background:#fff;margin:0 24rpx 16rpx;padding:24rpx;border-radius:16rpx}.product-item.data-v-2fe44f74{display:flex;gap:20rpx}.product-item__img.data-v-2fe44f74{width:160rpx;height:160rpx;border-radius:12rpx;flex-shrink:0;background:#f5f5f5}.product-item__info.data-v-2fe44f74{flex:1;display:flex;flex-direction:column}.product-item__name.data-v-2fe44f74{font-size:28rpx;color:#333;font-weight:600;margin-bottom:8rpx}.product-item__specs.data-v-2fe44f74{display:grid;grid-template-columns:repeat(2,1fr);gap:8rpx;margin-bottom:12rpx}.product-item__spec.data-v-2fe44f74{font-size:22rpx;color:#666}.product-item__price.data-v-2fe44f74{font-size:30rpx;color:#e91e63;font-weight:700}.agreement.data-v-2fe44f74{background:#fffbe6;margin:0 24rpx 16rpx;padding:20rpx 24rpx;border-radius:16rpx;display:flex;align-items:center}.agreement__checkbox.data-v-2fe44f74{width:32rpx;height:32rpx;margin-right:12rpx;flex-shrink:0}.agreement__text.data-v-2fe44f74{font-size:24rpx;color:#333;line-height:36rpx}.submit-bar.data-v-2fe44f74{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:16rpx 24rpx;box-shadow:0 -2rpx 10rpx rgba(0,0,0,.05);display:flex;align-items:center;justify-content:space-between}.submit-bar__left.data-v-2fe44f74{display:flex;align-items:baseline}.submit-bar__label.data-v-2fe44f74{font-size:26rpx;color:#333}.submit-bar__price.data-v-2fe44f74{font-size:36rpx;color:#e91e63;font-weight:700}.submit-bar__btn.data-v-2fe44f74{background:linear-gradient(135deg,#ff6d9b,#ff4081);color:#fff;padding:20rpx 60rpx;border-radius:44rpx;font-size:28rpx;font-weight:600}.submit-bar__btn--disabled.data-v-2fe44f74{background:#ccc;pointer-events:none} diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/product/detail.js b/miniprogram/unpackage/dist/build/mp-weixin/pages/product/detail.js deleted file mode 100644 index 6b6e83de..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/product/detail.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("../../common/vendor.js"),t=require("../../common/assets.js"),a=require("../../api/product.js"),n=require("../../utils/request.js");Math||(o+s+u+r)();const o=()=>"../../components/BannerSwiper.js",s=()=>"../../components/ShippingNotice.js",u=()=>"../../components/SpecPanel.js",r=()=>"../../components/CustomerServiceBtn.js",i=e.defineComponent({__name:"detail",setup(o){const s=e.ref(null),u=e.ref(!1),r=e.ref(!1),i=e.ref(20),l=e.ref(44);try{const t=e.index.getSystemInfoSync();i.value=t.statusBarHeight||20;const a=e.index.getMenuButtonBoundingClientRect();l.value=2*(a.top-(t.statusBarHeight||20))+a.height}catch{}function c(){e.index.navigateBack({delta:1})}function v(){e.index.switchTab({url:"/pages/cart/index"})}return e.onMounted((()=>{var t;const n=getCurrentPages(),o=n[n.length-1],u=Number(null==(t=o.options)?void 0:t.id);u&&async function(t){try{s.value=await a.getProductDetail(t)}catch{e.index.showToast({title:"加载商品失败",icon:"none"})}}(u)})),(a,o)=>e.e({a:s.value},s.value?e.e({b:t._imports_0$2,c:e.o(c),d:l.value+"px",e:i.value+"px",f:i.value+l.value+"px",g:e.p({images:s.value.bannerImages||[],video:s.value.bannerVideo}),h:e.t(s.value.name),i:e.t(s.value.basePrice),j:e.t(s.value.styleNo),k:e.t(s.value.stock),l:e.t(s.value.loss),m:e.t(s.value.laborCost),n:e.f(s.value.detailImages||[],((e,t,a)=>{return{a:t,b:(o=e,o?o.startsWith("http")?o:n.BASE_URL+o:"")};var o})),o:t._imports_2$1,p:e.o((e=>r.value=!0)),q:t._imports_2$2,r:e.o(v),s:e.o((e=>u.value=!0)),t:u.value},u.value?{v:e.o((e=>u.value=!1)),w:e.p({"product-id":s.value.id})}:{},{x:r.value},r.value?{y:e.o((e=>r.value=!1)),z:e.p({mode:"qrcode"})}:{}):{})}}),l=e._export_sfc(i,[["__scopeId","data-v-fa8c3d6a"]]);wx.createPage(l); diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/product/detail.json b/miniprogram/unpackage/dist/build/mp-weixin/pages/product/detail.json deleted file mode 100644 index dec6d7dc..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/product/detail.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "navigationStyle": "custom", - "usingComponents": { - "banner-swiper": "../../components/BannerSwiper", - "shipping-notice": "../../components/ShippingNotice", - "spec-panel": "../../components/SpecPanel", - "customer-service-btn": "../../components/CustomerServiceBtn" - } -} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/product/detail.wxml b/miniprogram/unpackage/dist/build/mp-weixin/pages/product/detail.wxml deleted file mode 100644 index 52589fa5..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/product/detail.wxml +++ /dev/null @@ -1 +0,0 @@ -商品详情{{h}}¥{{i}}款 号{{j}}库存{{k}}损 耗{{l}}%工费¥{{m}}商品详情客服购物车空托—查看详细参数 \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/product/detail.wxss b/miniprogram/unpackage/dist/build/mp-weixin/pages/product/detail.wxss deleted file mode 100644 index d9247dfc..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/product/detail.wxss +++ /dev/null @@ -1 +0,0 @@ -.product-detail.data-v-fa8c3d6a{padding-bottom:140rpx;background:#f5f5f5}.custom-navbar.data-v-fa8c3d6a{background:linear-gradient(to right,#ffcfde,#ffa6c4);position:fixed;top:0;left:0;right:0;z-index:100}.custom-navbar__content.data-v-fa8c3d6a{display:flex;align-items:center;padding:0 24rpx}.custom-navbar__back.data-v-fa8c3d6a{width:44rpx;height:44rpx}.custom-navbar__title.data-v-fa8c3d6a{flex:1;text-align:center;font-size:34rpx;font-weight:700;color:#333}.custom-navbar__placeholder.data-v-fa8c3d6a{width:44rpx}.banner-wrapper.data-v-fa8c3d6a{margin:20rpx 24rpx 0;border-radius:20rpx;overflow:hidden}.base-info.data-v-fa8c3d6a{background:#fff;margin:20rpx 24rpx 0;border-radius:20rpx;padding:30rpx}.base-info__top.data-v-fa8c3d6a{display:flex;justify-content:space-between;align-items:center}.base-info__name.data-v-fa8c3d6a{font-size:32rpx;color:#333;font-weight:600;flex:1;margin-right:20rpx}.base-info__price.data-v-fa8c3d6a{display:flex;align-items:baseline;color:#ff6d9b;flex-shrink:0}.base-info__price-symbol.data-v-fa8c3d6a{font-size:30rpx;font-weight:700}.base-info__price-num.data-v-fa8c3d6a{font-size:48rpx;font-weight:700}.base-info__price-unit.data-v-fa8c3d6a{font-size:24rpx;margin-left:4rpx}.base-info__attrs.data-v-fa8c3d6a{margin-top:20rpx;border-top:1rpx solid #f0f0f0;padding-top:20rpx}.attr-row.data-v-fa8c3d6a{display:flex;align-items:center;padding:8rpx 0}.attr-label.data-v-fa8c3d6a{font-size:26rpx;color:#999;width:80rpx;flex-shrink:0;letter-spacing:4rpx}.attr-value.data-v-fa8c3d6a{font-size:28rpx;color:#333;min-width:180rpx;margin-right:40rpx}.detail-section.data-v-fa8c3d6a{background:#fff;margin:20rpx 24rpx 0;border-radius:20rpx;padding:30rpx}.detail-section__title.data-v-fa8c3d6a{text-align:center;font-size:30rpx;color:#333;font-weight:600;padding-bottom:24rpx;border-bottom:1rpx solid #eee;margin-bottom:24rpx}.detail-section__images.data-v-fa8c3d6a{display:flex;flex-direction:column;gap:8rpx}.detail-section__img.data-v-fa8c3d6a{width:100%;border-radius:12rpx}.bottom-bar.data-v-fa8c3d6a{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:16rpx 24rpx;padding-bottom:calc(16rpx + env(safe-area-inset-bottom));box-shadow:0 -2rpx 10rpx rgba(0,0,0,.05);display:flex;align-items:center;gap:20rpx}.bottom-bar__icons.data-v-fa8c3d6a{display:flex;gap:32rpx;flex-shrink:0}.bottom-bar__icon-item.data-v-fa8c3d6a{display:flex;flex-direction:column;align-items:center;gap:4rpx}.bottom-bar__icon-img.data-v-fa8c3d6a{width:44rpx;height:44rpx}.bottom-bar__icon-text.data-v-fa8c3d6a{font-size:20rpx;color:#666}.bottom-bar__main-btn.data-v-fa8c3d6a{flex:1;background:linear-gradient(to right,#f5a0b8,#e4393c);color:#fff;text-align:center;padding:24rpx 0;border-radius:44rpx;font-size:30rpx;font-weight:500} diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/search/index.js b/miniprogram/unpackage/dist/build/mp-weixin/pages/search/index.js deleted file mode 100644 index b34e9498..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/search/index.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("../../common/vendor.js"),t=require("../../common/assets.js"),a=require("../../api/product.js"),l=require("../../utils/request.js"),u=e.defineComponent({__name:"index",setup(u){const n=e.ref(""),o=e.ref([]),r=e.ref(!1),s=e.ref(0),i=e.ref(1),v=e.ref(!1),c=e.ref(20),d=e.ref(44);try{const t=e.index.getSystemInfoSync();c.value=t.statusBarHeight||20;const a=e.index.getMenuButtonBoundingClientRect();d.value=2*(a.top-(t.statusBarHeight||20))+a.height}catch{}function g(){e.index.navigateBack({delta:1})}return e.onMounted((()=>{var t;const l=getCurrentPages(),u=l[l.length-1];n.value=decodeURIComponent((null==(t=u.options)?void 0:t.keyword)||""),n.value&&async function(t=!1){t&&(i.value=1,o.value=[]),r.value=!0;try{const e=await a.getProducts({page:i.value,pageSize:20,keyword:n.value});t?o.value=e.list:o.value.push(...e.list),s.value=e.total||e.list.length,v.value=e.list.length<20}catch{e.index.showToast({title:"搜索失败",icon:"none"})}finally{r.value=!1}}(!0)})),(a,u)=>e.e({a:t._imports_0$2,b:e.o(g),c:e.t(n.value),d:d.value+"px",e:c.value+"px",f:c.value+d.value+"px",g:!r.value&&o.value.length>0},!r.value&&o.value.length>0?{h:e.t(s.value)}:{},{i:e.f(o.value,((t,a,u)=>{return e.e({a:(n=t.thumb||t.bannerImages&&t.bannerImages[0]||"",n?n.startsWith("http")?n:l.BASE_URL+n:""),b:e.t(t.name),c:t.styleNo},t.styleNo?{d:e.t(t.styleNo)}:{},{e:t.barcode},t.barcode?{f:e.t(t.barcode)}:{},{g:e.t(t.basePrice),h:e.t(t.stock||1),i:t.id,j:e.o((a=>{return l=t.id,void e.index.navigateTo({url:`/pages/product/detail?id=${l}`});var l}),t.id)});var n})),j:r.value},(r.value,{}),{k:!r.value&&v.value&&o.value.length>0},(!r.value&&v.value&&o.value.length,{}),{l:!r.value&&0===o.value.length},r.value||0!==o.value.length?{}:{m:t._imports_1$3})}}),n=e._export_sfc(u,[["__scopeId","data-v-c51e1679"]]);wx.createPage(n); diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/search/index.json b/miniprogram/unpackage/dist/build/mp-weixin/pages/search/index.json deleted file mode 100644 index ced5b279..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/search/index.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "navigationStyle": "custom", - "usingComponents": {} -} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/search/index.wxml b/miniprogram/unpackage/dist/build/mp-weixin/pages/search/index.wxml deleted file mode 100644 index 91b9606a..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/search/index.wxml +++ /dev/null @@ -1 +0,0 @@ -全局搜索:{{c}}共计搜到:{{h}}条结果{{item.b}}款号:{{item.d}}条码号:{{item.f}}¥{{item.g}}元×{{item.h}}加载中...没有更多商品了没有搜索到相关商品 \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/pages/search/index.wxss b/miniprogram/unpackage/dist/build/mp-weixin/pages/search/index.wxss deleted file mode 100644 index 5f6f32a9..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/pages/search/index.wxss +++ /dev/null @@ -1 +0,0 @@ -.search-page.data-v-c51e1679{min-height:100vh;background:#f5f5f5}.custom-navbar.data-v-c51e1679{background:linear-gradient(to right,#ffcfde,#ffa6c4);position:fixed;top:0;left:0;right:0;z-index:100}.custom-navbar__content.data-v-c51e1679{display:flex;align-items:center;padding:0 24rpx}.custom-navbar__back.data-v-c51e1679{width:44rpx;height:44rpx}.custom-navbar__title.data-v-c51e1679{flex:1;text-align:center;font-size:34rpx;font-weight:700;color:#333}.custom-navbar__placeholder.data-v-c51e1679{width:44rpx}.result-tip.data-v-c51e1679{text-align:center;padding:20rpx 0;font-size:26rpx;color:#ff6d9b}.result-list.data-v-c51e1679{padding:0 24rpx}.result-item.data-v-c51e1679{display:flex;background:#fff;border-radius:12rpx;padding:24rpx;margin-bottom:16rpx}.result-item__img.data-v-c51e1679{width:160rpx;height:160rpx;border-radius:12rpx;flex-shrink:0;background:#f5f5f5}.result-item__info.data-v-c51e1679{flex:1;margin-left:20rpx;display:flex;flex-direction:column;justify-content:space-between}.result-item__name.data-v-c51e1679{font-size:30rpx;font-weight:700;color:#333}.result-item__meta.data-v-c51e1679{display:flex;gap:24rpx;font-size:24rpx;color:#999;margin-top:8rpx}.result-item__bottom.data-v-c51e1679{display:flex;justify-content:space-between;align-items:center;margin-top:12rpx}.result-item__price.data-v-c51e1679{font-size:32rpx;color:#ff6d9b;font-weight:700}.result-item__stock.data-v-c51e1679{font-size:26rpx;color:#999}.empty-tip.data-v-c51e1679{text-align:center;padding:120rpx 0 60rpx;color:#999;font-size:28rpx;display:flex;flex-direction:column;align-items:center}.empty-tip__img.data-v-c51e1679{width:300rpx;height:300rpx;margin-bottom:24rpx}.loading-tip.data-v-c51e1679{text-align:center;padding:60rpx 0;color:#999;font-size:28rpx} diff --git a/miniprogram/unpackage/dist/build/mp-weixin/project.config.json b/miniprogram/unpackage/dist/build/mp-weixin/project.config.json deleted file mode 100644 index 4246c6aa..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/project.config.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "description": "项目配置文件。", - "packOptions": { - "ignore": [] - }, - "setting": { - "urlCheck": false, - "es6": true, - "postcss": false, - "minified": true, - "newFeature": true, - "bigPackageSizeSupport": true - }, - "compileType": "miniprogram", - "libVersion": "", - "appid": "wx58b02b73d9c26c10", - "projectname": "钻石流", - "condition": { - "search": { - "current": -1, - "list": [] - }, - "conversation": { - "current": -1, - "list": [] - }, - "game": { - "current": -1, - "list": [] - }, - "miniprogram": { - "current": -1, - "list": [] - } - } -} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_about.png b/miniprogram/unpackage/dist/build/mp-weixin/static/ic_about.png deleted file mode 100644 index b5330e9c..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_about.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_address.png b/miniprogram/unpackage/dist/build/mp-weixin/static/ic_address.png deleted file mode 100644 index 6f053070..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_address.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_address2.png b/miniprogram/unpackage/dist/build/mp-weixin/static/ic_address2.png deleted file mode 100644 index c75e2ae9..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_address2.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_agreement1.png b/miniprogram/unpackage/dist/build/mp-weixin/static/ic_agreement1.png deleted file mode 100644 index 5987085d..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_agreement1.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_agreement2.png b/miniprogram/unpackage/dist/build/mp-weixin/static/ic_agreement2.png deleted file mode 100644 index 045086c7..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_agreement2.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_back.png b/miniprogram/unpackage/dist/build/mp-weixin/static/ic_back.png deleted file mode 100644 index 0166203b..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_back.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_check.png b/miniprogram/unpackage/dist/build/mp-weixin/static/ic_check.png deleted file mode 100644 index e2b45d3d..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_check.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_check_s.png b/miniprogram/unpackage/dist/build/mp-weixin/static/ic_check_s.png deleted file mode 100644 index 7328e50c..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_check_s.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_customer.png b/miniprogram/unpackage/dist/build/mp-weixin/static/ic_customer.png deleted file mode 100644 index 5ed80093..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_customer.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_empty.png b/miniprogram/unpackage/dist/build/mp-weixin/static/ic_empty.png deleted file mode 100644 index 2b204048..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_empty.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_jz.png b/miniprogram/unpackage/dist/build/mp-weixin/static/ic_jz.png deleted file mode 100644 index c52b7f41..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_jz.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_kf.png b/miniprogram/unpackage/dist/build/mp-weixin/static/ic_kf.png deleted file mode 100644 index e228cc35..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_kf.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_loginout.png b/miniprogram/unpackage/dist/build/mp-weixin/static/ic_loginout.png deleted file mode 100644 index 57adf2e4..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_loginout.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_none.png b/miniprogram/unpackage/dist/build/mp-weixin/static/ic_none.png deleted file mode 100644 index d0bc5bae..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_none.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_notice.png b/miniprogram/unpackage/dist/build/mp-weixin/static/ic_notice.png deleted file mode 100644 index 4c940a83..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_notice.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_phone.png b/miniprogram/unpackage/dist/build/mp-weixin/static/ic_phone.png deleted file mode 100644 index 006cd037..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_phone.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_search.png b/miniprogram/unpackage/dist/build/mp-weixin/static/ic_search.png deleted file mode 100644 index b0c04b82..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_search.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_time.png b/miniprogram/unpackage/dist/build/mp-weixin/static/ic_time.png deleted file mode 100644 index 51f038c0..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_time.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_tip.png b/miniprogram/unpackage/dist/build/mp-weixin/static/ic_tip.png deleted file mode 100644 index 1c1bbb02..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/ic_tip.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/logo.png b/miniprogram/unpackage/dist/build/mp-weixin/static/logo.png deleted file mode 100644 index 4a8c9549..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/logo.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/tab/car.png b/miniprogram/unpackage/dist/build/mp-weixin/static/tab/car.png deleted file mode 100644 index 916fb243..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/tab/car.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/tab/car_s.png b/miniprogram/unpackage/dist/build/mp-weixin/static/tab/car_s.png deleted file mode 100644 index edce938b..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/tab/car_s.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/tab/home.png b/miniprogram/unpackage/dist/build/mp-weixin/static/tab/home.png deleted file mode 100644 index 01f41ea2..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/tab/home.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/tab/home_s.png b/miniprogram/unpackage/dist/build/mp-weixin/static/tab/home_s.png deleted file mode 100644 index 5edd73d7..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/tab/home_s.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/tab/me.png b/miniprogram/unpackage/dist/build/mp-weixin/static/tab/me.png deleted file mode 100644 index bcd9db9b..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/tab/me.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/tab/me_s.png b/miniprogram/unpackage/dist/build/mp-weixin/static/tab/me_s.png deleted file mode 100644 index b435ed47..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/tab/me_s.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/tab/model_house.png b/miniprogram/unpackage/dist/build/mp-weixin/static/tab/model_house.png deleted file mode 100644 index 87dfc40d..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/tab/model_house.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/static/tab/model_house_s.png b/miniprogram/unpackage/dist/build/mp-weixin/static/tab/model_house_s.png deleted file mode 100644 index b344f153..00000000 Binary files a/miniprogram/unpackage/dist/build/mp-weixin/static/tab/model_house_s.png and /dev/null differ diff --git a/miniprogram/unpackage/dist/build/mp-weixin/store/cart.js b/miniprogram/unpackage/dist/build/mp-weixin/store/cart.js deleted file mode 100644 index 7c58d2f8..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/store/cart.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("../common/vendor.js"),t=require("../api/cart.js"),a=e.defineStore("cart",(()=>{const a=e.ref([]),c=e.computed((()=>a.value.filter((e=>e.checked)))),n=e.computed((()=>c.value.reduce(((e,t)=>{var a;return e+((null==(a=t.specData)?void 0:a.totalPrice)||0)*t.quantity}),0)));return{items:a,checkedItems:c,totalAmount:n,fetchCart:async function(){if(e.index.getStorageSync("token"))try{const e=await t.getCartList();a.value=e.map((e=>({id:e.id,userId:0,productId:e.product_id,specDataId:e.spec_data_id,quantity:e.quantity,checked:!0,product:{id:e.product_id,name:e.product_name,basePrice:e.base_price,styleNo:e.style_no,bannerImages:"string"==typeof e.banner_images?JSON.parse(e.banner_images||"[]"):e.banner_images||[],thumb:e.thumb||""},specData:{id:e.spec_data_id,modelName:e.model_name,fineness:e.fineness,mainStone:e.main_stone,ringSize:e.ring_size,goldTotalWeight:e.gold_total_weight||0,totalPrice:e.unit_price||0}})))}catch{}},addToCart:function(e){a.value.push(e),t.addToCart({productId:e.productId,specDataId:e.specDataId,quantity:e.quantity}).catch((()=>{}))},removeFromCart:function(e){const c=a.value.findIndex((t=>t.id===e));-1!==c&&(a.value.splice(c,1),t.deleteCartItem(e).catch((()=>{})))},updateQuantity:function(e,c){const n=a.value.find((t=>t.id===e));n&&(n.quantity=c,t.updateCartItem(e,{quantity:c}).catch((()=>{})))},toggleCheck:function(e){const t=a.value.find((t=>t.id===e));t&&(t.checked=!t.checked)},toggleCheckAll:function(){const e=a.value.every((e=>e.checked));a.value.forEach((t=>{t.checked=!e}))}}}));exports.useCartStore=a; diff --git a/miniprogram/unpackage/dist/build/mp-weixin/store/order.js b/miniprogram/unpackage/dist/build/mp-weixin/store/order.js deleted file mode 100644 index 199a7dab..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/store/order.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const r=require("../common/vendor.js"),e=require("../api/order.js"),t=r.defineStore("order",(()=>{const t=r.ref([]),n=r.ref(null);return{orders:t,currentOrder:n,setOrders:function(r){t.value=r},setCurrentOrder:function(r){n.value=r},updateOrderStatus:function(r,e){var u;const s=t.value.find((e=>e.id===r));s&&(s.status=e),(null==(u=n.value)?void 0:u.id)===r&&(n.value.status=e)},fetchOrders:async function(){try{const r=await e.getOrderList();t.value=r}catch{}},fetchOrder:async function(r){try{const t=await e.getOrderDetail(r);return n.value=t,t}catch{return null}}}}));exports.useOrderStore=t; diff --git a/miniprogram/unpackage/dist/build/mp-weixin/store/user.js b/miniprogram/unpackage/dist/build/mp-weixin/store/user.js deleted file mode 100644 index 9f58cf19..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/store/user.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("../common/vendor.js"),t=require("../api/user.js"),n=e.defineStore("user",(()=>{const n=e.ref(null),s=e.ref(e.index.getStorageSync("token")||""),r=e.ref([]);return{user:n,token:s,addresses:r,setUser:function(e){n.value=e},setToken:function(t){s.value=t,e.index.setStorageSync("token",t)},logout:function(){n.value=null,s.value="",e.index.removeStorageSync("token")},setAddresses:function(e){r.value=e},fetchProfile:async function(){try{const e=await t.getUserProfile();n.value=e}catch{}},fetchAddresses:async function(){try{const e=await t.getAddressList();r.value=e}catch{}}}}));exports.useUserStore=n; diff --git a/miniprogram/unpackage/dist/build/mp-weixin/utils/calculator.js b/miniprogram/unpackage/dist/build/mp-weixin/utils/calculator.js deleted file mode 100644 index 7a65eb5e..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/utils/calculator.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";exports.calculateRing=function(e){!function(e){const t=[["goldWeight","金重"],["mainStoneWeight","主石重"],["sideStoneWeight","副石重"],["lossRate","损耗"],["moldGoldPrice","倒模金价"],["mainStoneUnitPrice","主石单价"],["sideStoneUnitPrice","副石单价"],["sideStoneCount","副石粒数"],["microSettingFee","微镶费"],["mainStoneSettingFee","主石镶费"],["threeDFee","3D起板费"],["basicLaborCost","基本工费"],["otherCost","其他费用"]];for(const[o,i]of t)if(e[o]<0)throw new Error(`${i}不能为负数`)}(e);const t=e.goldWeight-.2*e.mainStoneWeight-.2*e.sideStoneWeight,o=t*e.lossRate,i=o*e.moldGoldPrice,n=e.mainStoneWeight*e.mainStoneUnitPrice,s=e.sideStoneWeight*e.sideStoneUnitPrice,r=e.sideStoneCount*e.microSettingFee;return{netGoldWeight:t,weightWithLoss:o,goldValue:i,mainStoneTotal:n,sideStoneTotal:s,microSettingTotal:r,totalPrice:i+n+s+e.mainStoneSettingFee+r+e.threeDFee+e.basicLaborCost+e.otherCost}}; diff --git a/miniprogram/unpackage/dist/build/mp-weixin/utils/moldSearch.js b/miniprogram/unpackage/dist/build/mp-weixin/utils/moldSearch.js deleted file mode 100644 index 8b7dc20a..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/utils/moldSearch.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";exports.searchMolds=function(e,o){const s=o.trim().toLowerCase();return s?e.filter((e=>[e.name,e.styleNo??"",e.barcodeNo??"",e.style??""].some((e=>e.toLowerCase().includes(s))))):e}; diff --git a/miniprogram/unpackage/dist/build/mp-weixin/utils/request.js b/miniprogram/unpackage/dist/build/mp-weixin/utils/request.js deleted file mode 100644 index f06152f4..00000000 --- a/miniprogram/unpackage/dist/build/mp-weixin/utils/request.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const e=require("../common/vendor.js"),o="http://115.190.188.216:2850";function t(e){if(null===e||"object"!=typeof e)return e;if(Array.isArray(e))return e.map((e=>t(e)));const o={};for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)){o[r.replace(/_([a-z])/g,((e,o)=>o.toUpperCase()))]=t(e[r])}return o}function r(r){const{url:s,method:a="GET",data:i,header:c={}}=r,d=e.index.getStorageSync("token")||"";return new Promise(((r,l)=>{e.index.request({url:`${o}${s}`,method:a,data:i,header:{"Content-Type":"application/json",...d?{Authorization:`Bearer ${d}`}:{},...c},success(o){const s=o.statusCode;if(401===s)return e.index.removeStorageSync("token"),e.index.showToast({title:"请重新登录",icon:"none"}),n(),void l(new Error("未授权"));if(s>=200&&s<300){const n=o.data;if(0===n.code){const e=t(n.data);r(e)}else e.index.showToast({title:n.message||"请求失败",icon:"none"}),l(new Error(n.message))}else e.index.showToast({title:"网络异常,请稍后重试",icon:"none"}),l(new Error(`HTTP ${s}`))},fail(o){e.index.showToast({title:"网络异常,请稍后重试",icon:"none"}),l(o)}})}))}function n(){return new Promise(((o,t)=>{e.index.login({provider:"weixin",success:async n=>{if(n.code)try{const t=await r({url:"/api/auth/wx-login",method:"POST",data:{code:n.code}});e.index.setStorageSync("token",t.token),o()}catch(s){console.error("登录接口调用失败:",s),t(s)}else console.error("微信登录获取 code 失败"),t(new Error("获取微信 code 失败"))},fail:e=>{console.error("uni.login 失败:",e),t(e)}})}))}exports.BASE_URL=o,exports.autoLogin=n,exports.del=(e,o)=>r({url:e,method:"DELETE",data:o}),exports.get=(e,o)=>r({url:e,method:"GET",data:o}),exports.post=(e,o)=>r({url:e,method:"POST",data:o}),exports.put=(e,o)=>r({url:e,method:"PUT",data:o}); diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/api/cart.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/api/cart.js.map deleted file mode 100644 index 72c81328..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/api/cart.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"cart.js","sources":["api/cart.ts"],"sourcesContent":["import { get, post, put, del } from '../utils/request'\r\nimport type { CartItem } from '../types'\r\n\r\n/** 获取购物车列表 */\r\nexport const getCartList = () =>\r\n get('/api/cart')\r\n\r\n/** 添加商品到购物车 */\r\nexport const addToCart = (data: { productId: number; specDataId: number; quantity: number }) =>\r\n post('/api/cart', data as unknown as Record)\r\n\r\n/** 更新购物车项 */\r\nexport const updateCartItem = (id: number, data: { quantity: number }) =>\r\n put(`/api/cart/${id}`, data as unknown as Record)\r\n\r\n/** 删除购物车项 */\r\nexport const deleteCartItem = (id: number) =>\r\n del(`/api/cart/${id}`)\r\n"],"names":["get","post","put","del"],"mappings":";;AAIa,MAAA,cAAc,MACzBA,cAAA,IAAgB,WAAW;AAGtB,MAAM,YAAY,CAAC,SACxBC,mBAAe,aAAa,IAA0C;AAG3D,MAAA,iBAAiB,CAAC,IAAY,SACzCC,cAAAA,IAAc,aAAa,EAAE,IAAI,IAA0C;AAGtE,MAAM,iBAAiB,CAAC,OAC7BC,cAAAA,IAAI,aAAa,EAAE,EAAE;;;;;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/api/mold.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/api/mold.js.map deleted file mode 100644 index e45bfd3a..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/api/mold.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"mold.js","sources":["api/mold.ts"],"sourcesContent":["import { get } from '../utils/request'\r\nimport type { MoldInfo } from '../types'\r\n\r\n/** 获取版房列表 */\r\nexport const getMoldList = (params?: { keyword?: string }) =>\r\n get('/api/molds', params as Record)\r\n\r\n/** 获取版房详情 */\r\nexport const getMoldDetail = (id: number) =>\r\n get(`/api/molds/${id}`)\r\n"],"names":["get"],"mappings":";;AAIO,MAAM,cAAc,CAAC,WAC1BA,cAAA,IAAgB,cAAc,MAAiC;;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/api/order.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/api/order.js.map deleted file mode 100644 index 57fe1dec..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/api/order.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"order.js","sources":["api/order.ts"],"sourcesContent":["import { get, post, put } from '../utils/request'\r\nimport type { Order, OrderItem } from '../types'\r\n\r\ninterface CreateOrderData {\r\n items: { productId: number; specDataId: number; quantity: number; unitPrice: number }[]\r\n receiverName: string\r\n receiverPhone: string\r\n receiverAddress: string\r\n}\r\n\r\n/** 提交订单 */\r\nexport const createOrder = (data: CreateOrderData) =>\r\n post('/api/orders', data as unknown as Record)\r\n\r\n/** 获取用户订单列表 */\r\nexport const getOrderList = () =>\r\n get('/api/orders')\r\n\r\n/** 获取订单详情 */\r\nexport const getOrderDetail = (id: number) =>\r\n get(`/api/orders/${id}`)\r\n\r\n/** 取消订单 */\r\nexport const cancelOrder = (id: number) =>\r\n put(`/api/orders/${id}/cancel`)\r\n"],"names":["post","get","put"],"mappings":";;AAWO,MAAM,cAAc,CAAC,SAC1BA,mBAAY,eAAe,IAA0C;AAG1D,MAAA,eAAe,MAC1BC,cAAA,IAAa,aAAa;AAGrB,MAAM,iBAAiB,CAAC,OAC7BA,cAAAA,IAAoC,eAAe,EAAE,EAAE;AAGlD,MAAM,cAAc,CAAC,OAC1BC,cAAAA,IAAI,eAAe,EAAE,SAAS;;;;;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/api/product.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/api/product.js.map deleted file mode 100644 index 33f8e1fa..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/api/product.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"product.js","sources":["api/product.ts"],"sourcesContent":["import { get, post } from '../utils/request'\r\nimport type { Product, Category, DetailParameterConfig, SpecData } from '../types'\r\n\r\n/** 获取商品列表 */\r\nexport const getProducts = (params?: { categoryId?: number; page?: number; pageSize?: number; keyword?: string }) =>\r\n get<{ list: Product[]; total: number }>('/api/products', params as Record)\r\n\r\n/** 获取商品详情 */\r\nexport const getProductDetail = (id: number) =>\r\n get(`/api/products/${id}`)\r\n\r\n/** 获取商品详细参数选项 */\r\nexport const getProductSpecs = (id: number) =>\r\n get(`/api/products/${id}/specs`)\r\n\r\n/** 根据参数组合获取规格数据列表 */\r\nexport const getSpecDataList = (id: number, params?: { fineness?: string; mainStone?: string; ringSize?: string }) =>\r\n post(`/api/products/${id}/spec-data`, (params || {}) as unknown as Record)\r\n\r\n/** 获取商品分类列表 */\r\nexport const getCategories = () =>\r\n get('/api/categories')\r\n"],"names":["get","post"],"mappings":";;AAIO,MAAM,cAAc,CAAC,WAC1BA,kBAAwC,iBAAiB,MAAiC;AAGrF,MAAM,mBAAmB,CAAC,OAC/BA,cAAAA,IAAa,iBAAiB,EAAE,EAAE;AAG7B,MAAM,kBAAkB,CAAC,OAC9BA,cAA2B,IAAA,iBAAiB,EAAE,QAAQ;AAG3C,MAAA,kBAAkB,CAAC,IAAY,WAC1CC,mBAAiB,iBAAiB,EAAE,cAAe,UAAU,EAAyC;AAG3F,MAAA,gBAAgB,MAC3BD,cAAAA,IAAgB,iBAAiB;;;;;;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/api/user.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/api/user.js.map deleted file mode 100644 index 1d7ce82a..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/api/user.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"user.js","sources":["api/user.ts"],"sourcesContent":["import { get, post, put, del, autoLogin } from '../utils/request'\r\nimport type { User, Address } from '../types'\r\n\r\n/** 微信登录(调用 autoLogin 自动获取 code 并登录) */\r\nexport const wxLogin = () => autoLogin()\r\n\r\n/** 获取用户信息 */\r\nexport const getUserProfile = () =>\r\n get('/api/user/profile')\r\n\r\n/** 获取收货地址列表 */\r\nexport const getAddressList = () =>\r\n get('/api/user/addresses')\r\n\r\n/** 新增收货地址 */\r\nexport const addAddress = (data: Omit) =>\r\n post
('/api/user/addresses', data as unknown as Record)\r\n\r\n/** 编辑收货地址 */\r\nexport const updateAddress = (id: number, data: Omit) =>\r\n put
(`/api/user/addresses/${id}`, data as unknown as Record)\r\n\r\n/** 删除收货地址 */\r\nexport const deleteAddress = (id: number) =>\r\n del(`/api/user/addresses/${id}`)\r\n"],"names":["get","post","put","del"],"mappings":";;AAOa,MAAA,iBAAiB,MAC5BA,cAAA,IAAU,mBAAmB;AAGlB,MAAA,iBAAiB,MAC5BA,cAAA,IAAe,qBAAqB;AAG/B,MAAM,aAAa,CAAC,SACzBC,mBAAc,uBAAuB,IAA0C;AAGpE,MAAA,gBAAgB,CAAC,IAAY,SACxCC,cAAAA,IAAa,uBAAuB,EAAE,IAAI,IAA0C;AAG/E,MAAM,gBAAgB,CAAC,OAC5BC,cAAAA,IAAI,uBAAuB,EAAE,EAAE;;;;;;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/app.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/app.js.map deleted file mode 100644 index ac4dbd10..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/app.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"app.js","sources":["App.vue","main.js"],"sourcesContent":["\r\n\r\n\r\n","import App from './App'\n\n// #ifndef VUE3\nimport Vue from 'vue'\nimport './uni.promisify.adaptor'\nVue.config.productionTip = false\nApp.mpType = 'app'\nconst app = new Vue({\n ...App\n})\napp.$mount()\n// #endif\n\n// #ifdef VUE3\nimport { createSSRApp } from 'vue'\nimport { createPinia } from 'pinia'\nexport function createApp() {\n const app = createSSRApp(App)\n const pinia = createPinia()\n app.use(pinia)\n return {\n app\n }\n}\n// #endif"],"names":["uni","createSSRApp","App","createPinia"],"mappings":";;;;;;;;;;;;;;;;;;AACA,MAAe,YAAA;AAAA,EACb,WAAW;AACLA,kBAAAA,MAAA,MAAM,OAAM,gBAAe,YAAY;AAAA,EAC7C;AAAA,EACA,SAAS;AACHA,kBAAAA,MAAA,MAAM,OAAM,gBAAe,UAAU;AAAA,EAC3C;AAAA,EACA,SAAS;AACHA,kBAAAA,MAAA,MAAM,OAAM,iBAAgB,UAAU;AAAA,EAC5C;AACF;ACKO,SAAS,YAAY;AAC1B,QAAM,MAAMC,cAAY,aAACC,SAAG;AAC5B,QAAM,QAAQC,cAAAA,YAAa;AAC3B,MAAI,IAAI,KAAK;AACb,SAAO;AAAA,IACL;AAAA,EACD;AACH;;;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/common/assets.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/common/assets.js.map deleted file mode 100644 index 99301dc9..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/common/assets.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"assets.js","sources":["static/ic_search.png","static/ic_jz.png","static/ic_kf.png","static/ic_back.png","static/ic_none.png","static/ic_customer.png","static/tab/car.png","static/ic_address.png","static/ic_tip.png","static/ic_time.png","static/ic_address2.png","static/ic_phone.png","static/tab/me_s.png","static/ic_about.png","static/ic_agreement1.png","static/ic_agreement2.png","static/ic_loginout.png","static/ic_empty.png","static/logo.png","static/ic_notice.png"],"sourcesContent":["export default \"__VITE_ASSET__cb299f1c__\"","export default \"__VITE_ASSET__ecc0114d__\"","export default \"__VITE_ASSET__995e2be8__\"","export default \"__VITE_ASSET__a09e4f4f__\"","export default \"__VITE_ASSET__c88a49dc__\"","export default \"__VITE_ASSET__834c867b__\"","export default \"__VITE_ASSET__de453aec__\"","export default \"__VITE_ASSET__2fa96069__\"","export default \"__VITE_ASSET__59ade930__\"","export default \"__VITE_ASSET__7a5d0bff__\"","export default \"__VITE_ASSET__2a259963__\"","export default \"__VITE_ASSET__e2171696__\"","export default \"__VITE_ASSET__0724ec6f__\"","export default \"__VITE_ASSET__53f234dc__\"","export default \"__VITE_ASSET__a736f8f4__\"","export default \"__VITE_ASSET__a25b5e1b__\"","export default \"__VITE_ASSET__d51d50e8__\"","export default \"__VITE_ASSET__b3f7ff5c__\"","export default \"__VITE_ASSET__12ce430e__\"","export default \"__VITE_ASSET__abe1da0c__\""],"names":[],"mappings":";AAAA,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,eAAA;ACAf,MAAe,aAAA;ACAf,MAAe,eAAA;ACAf,MAAe,aAAA;ACAf,MAAe,aAAA;ACAf,MAAe,aAAA;ACAf,MAAe,aAAA;ACAf,MAAe,aAAA;ACAf,MAAe,eAAA;ACAf,MAAe,aAAA;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map deleted file mode 100644 index 569b08fa..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"vendor.js","sources":["../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/node_modules/@vue/shared/dist/shared.esm-bundler.js","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-shared/dist/uni-shared.es.js","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-vue/dist/vue.runtime.esm.js","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-weixin/dist/uni.api.esm.js","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-console/dist/mp.esm.js","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-mp-weixin/dist/uni.mp.esm.js","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/node_modules/vue-demi/lib/index.mjs","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/node_modules/pinia/dist/pinia.mjs","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/node_modules/@dcloudio/uni-app/dist/uni-app.es.js"],"sourcesContent":["/**\n* @vue/shared v3.4.21\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nfunction makeMap(str, expectsLowerCase) {\n const set = new Set(str.split(\",\"));\n return expectsLowerCase ? (val) => set.has(val.toLowerCase()) : (val) => set.has(val);\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction((str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n});\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](arg);\n }\n};\nconst def = (obj, key, value) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"HOISTED\": -1,\n \"-1\": \"HOISTED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n};\n\nconst ShapeFlags = {\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"FUNCTIONAL_COMPONENT\": 2,\n \"2\": \"FUNCTIONAL_COMPONENT\",\n \"STATEFUL_COMPONENT\": 4,\n \"4\": \"STATEFUL_COMPONENT\",\n \"TEXT_CHILDREN\": 8,\n \"8\": \"TEXT_CHILDREN\",\n \"ARRAY_CHILDREN\": 16,\n \"16\": \"ARRAY_CHILDREN\",\n \"SLOTS_CHILDREN\": 32,\n \"32\": \"SLOTS_CHILDREN\",\n \"TELEPORT\": 64,\n \"64\": \"TELEPORT\",\n \"SUSPENSE\": 128,\n \"128\": \"SUSPENSE\",\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\n \"COMPONENT_KEPT_ALIVE\": 512,\n \"512\": \"COMPONENT_KEPT_ALIVE\",\n \"COMPONENT\": 6,\n \"6\": \"COMPONENT\"\n};\n\nconst SlotFlags = {\n \"STABLE\": 1,\n \"1\": \"STABLE\",\n \"DYNAMIC\": 2,\n \"2\": \"DYNAMIC\",\n \"FORWARDED\": 3,\n \"3\": \"FORWARDED\"\n};\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n let ret = \"\";\n if (!styles || isString(styles)) {\n return ret;\n }\n for (const key in styles) {\n const value = styles[key];\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n if (isString(value) || typeof value === \"number\") {\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props)\n return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\nfunction isRenderableAttrValue(value) {\n if (value == null) {\n return false;\n }\n const type = typeof value;\n return type === \"string\" || type === \"number\" || type === \"boolean\";\n}\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>||--!>| looseEqual(item, val));\n}\n\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (val && val.__v_isRef) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v;\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, def, escapeHtml, escapeHtmlComment, extend, genPropsAccessExp, generateCodeFrame, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","const isObject = (val) => val !== null && typeof val === 'object';\nconst defaultDelimiters = ['{', '}'];\nclass BaseFormatter {\n constructor() {\n this._caches = Object.create(null);\n }\n interpolate(message, values, delimiters = defaultDelimiters) {\n if (!values) {\n return [message];\n }\n let tokens = this._caches[message];\n if (!tokens) {\n tokens = parse(message, delimiters);\n this._caches[message] = tokens;\n }\n return compile(tokens, values);\n }\n}\nconst RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nconst RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\nfunction parse(format, [startDelimiter, endDelimiter]) {\n const tokens = [];\n let position = 0;\n let text = '';\n while (position < format.length) {\n let char = format[position++];\n if (char === startDelimiter) {\n if (text) {\n tokens.push({ type: 'text', value: text });\n }\n text = '';\n let sub = '';\n char = format[position++];\n while (char !== undefined && char !== endDelimiter) {\n sub += char;\n char = format[position++];\n }\n const isClosed = char === endDelimiter;\n const type = RE_TOKEN_LIST_VALUE.test(sub)\n ? 'list'\n : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\n ? 'named'\n : 'unknown';\n tokens.push({ value: sub, type });\n }\n // else if (char === '%') {\n // // when found rails i18n syntax, skip text capture\n // if (format[position] !== '{') {\n // text += char\n // }\n // }\n else {\n text += char;\n }\n }\n text && tokens.push({ type: 'text', value: text });\n return tokens;\n}\nfunction compile(tokens, values) {\n const compiled = [];\n let index = 0;\n const mode = Array.isArray(values)\n ? 'list'\n : isObject(values)\n ? 'named'\n : 'unknown';\n if (mode === 'unknown') {\n return compiled;\n }\n while (index < tokens.length) {\n const token = tokens[index];\n switch (token.type) {\n case 'text':\n compiled.push(token.value);\n break;\n case 'list':\n compiled.push(values[parseInt(token.value, 10)]);\n break;\n case 'named':\n if (mode === 'named') {\n compiled.push(values[token.value]);\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Type of token '${token.type}' and format of value '${mode}' don't match!`);\n }\n }\n break;\n case 'unknown':\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Detect 'unknown' type of token!`);\n }\n break;\n }\n index++;\n }\n return compiled;\n}\n\nconst LOCALE_ZH_HANS = 'zh-Hans';\nconst LOCALE_ZH_HANT = 'zh-Hant';\nconst LOCALE_EN = 'en';\nconst LOCALE_FR = 'fr';\nconst LOCALE_ES = 'es';\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst defaultFormatter = new BaseFormatter();\nfunction include(str, parts) {\n return !!parts.find((part) => str.indexOf(part) !== -1);\n}\nfunction startsWith(str, parts) {\n return parts.find((part) => str.indexOf(part) === 0);\n}\nfunction normalizeLocale(locale, messages) {\n if (!locale) {\n return;\n }\n locale = locale.trim().replace(/_/g, '-');\n if (messages && messages[locale]) {\n return locale;\n }\n locale = locale.toLowerCase();\n if (locale === 'chinese') {\n // 支付宝\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('zh') === 0) {\n if (locale.indexOf('-hans') > -1) {\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('-hant') > -1) {\n return LOCALE_ZH_HANT;\n }\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\n return LOCALE_ZH_HANT;\n }\n return LOCALE_ZH_HANS;\n }\n let locales = [LOCALE_EN, LOCALE_FR, LOCALE_ES];\n if (messages && Object.keys(messages).length > 0) {\n locales = Object.keys(messages);\n }\n const lang = startsWith(locale, locales);\n if (lang) {\n return lang;\n }\n}\nclass I18n {\n constructor({ locale, fallbackLocale, messages, watcher, formater, }) {\n this.locale = LOCALE_EN;\n this.fallbackLocale = LOCALE_EN;\n this.message = {};\n this.messages = {};\n this.watchers = [];\n if (fallbackLocale) {\n this.fallbackLocale = fallbackLocale;\n }\n this.formater = formater || defaultFormatter;\n this.messages = messages || {};\n this.setLocale(locale || LOCALE_EN);\n if (watcher) {\n this.watchLocale(watcher);\n }\n }\n setLocale(locale) {\n const oldLocale = this.locale;\n this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale;\n if (!this.messages[this.locale]) {\n // 可能初始化时不存在\n this.messages[this.locale] = {};\n }\n this.message = this.messages[this.locale];\n // 仅发生变化时,通知\n if (oldLocale !== this.locale) {\n this.watchers.forEach((watcher) => {\n watcher(this.locale, oldLocale);\n });\n }\n }\n getLocale() {\n return this.locale;\n }\n watchLocale(fn) {\n const index = this.watchers.push(fn) - 1;\n return () => {\n this.watchers.splice(index, 1);\n };\n }\n add(locale, message, override = true) {\n const curMessages = this.messages[locale];\n if (curMessages) {\n if (override) {\n Object.assign(curMessages, message);\n }\n else {\n Object.keys(message).forEach((key) => {\n if (!hasOwn(curMessages, key)) {\n curMessages[key] = message[key];\n }\n });\n }\n }\n else {\n this.messages[locale] = message;\n }\n }\n f(message, values, delimiters) {\n return this.formater.interpolate(message, values, delimiters).join('');\n }\n t(key, locale, values) {\n let message = this.message;\n if (typeof locale === 'string') {\n locale = normalizeLocale(locale, this.messages);\n locale && (message = this.messages[locale]);\n }\n else {\n values = locale;\n }\n if (!hasOwn(message, key)) {\n console.warn(`Cannot translate the value of keypath ${key}. Use the value of keypath as default.`);\n return key;\n }\n return this.formater.interpolate(message[key], values).join('');\n }\n}\n\nfunction watchAppLocale(appVm, i18n) {\n // 需要保证 watch 的触发在组件渲染之前\n if (appVm.$watchLocale) {\n // vue2\n appVm.$watchLocale((newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n else {\n appVm.$watch(() => appVm.$locale, (newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n}\nfunction getDefaultLocale() {\n if (typeof uni !== 'undefined' && uni.getLocale) {\n return uni.getLocale();\n }\n // 小程序平台,uni 和 uni-i18n 互相引用,导致访问不到 uni,故在 global 上挂了 getLocale\n if (typeof global !== 'undefined' && global.getLocale) {\n return global.getLocale();\n }\n return LOCALE_EN;\n}\nfunction initVueI18n(locale, messages = {}, fallbackLocale, watcher) {\n // 兼容旧版本入参\n if (typeof locale !== 'string') {\n // ;[locale, messages] = [\n // messages as unknown as string,\n // locale as unknown as LocaleMessages,\n // ]\n // 暂不使用数组解构,uts编译器暂未支持。\n const options = [\n messages,\n locale,\n ];\n locale = options[0];\n messages = options[1];\n }\n if (typeof locale !== 'string') {\n // 因为小程序平台,uni-i18n 和 uni 互相引用,导致此时访问 uni 时,为 undefined\n locale = getDefaultLocale();\n }\n if (typeof fallbackLocale !== 'string') {\n fallbackLocale =\n (typeof __uniConfig !== 'undefined' && __uniConfig.fallbackLocale) ||\n LOCALE_EN;\n }\n const i18n = new I18n({\n locale,\n fallbackLocale,\n messages,\n watcher,\n });\n let t = (key, values) => {\n if (typeof getApp !== 'function') {\n // app view\n /* eslint-disable no-func-assign */\n t = function (key, values) {\n return i18n.t(key, values);\n };\n }\n else {\n let isWatchedAppLocale = false;\n t = function (key, values) {\n const appVm = getApp().$vm;\n // 可能$vm还不存在,比如在支付宝小程序中,组件定义较早,在props的default里使用了t()函数(如uni-goods-nav),此时app还未初始化\n // options: {\n // \ttype: Array,\n // \tdefault () {\n // \t\treturn [{\n // \t\t\ticon: 'shop',\n // \t\t\ttext: t(\"uni-goods-nav.options.shop\"),\n // \t\t}, {\n // \t\t\ticon: 'cart',\n // \t\t\ttext: t(\"uni-goods-nav.options.cart\")\n // \t\t}]\n // \t}\n // },\n if (appVm) {\n // 触发响应式\n appVm.$locale;\n if (!isWatchedAppLocale) {\n isWatchedAppLocale = true;\n watchAppLocale(appVm, i18n);\n }\n }\n return i18n.t(key, values);\n };\n }\n return t(key, values);\n };\n return {\n i18n,\n f(message, values, delimiters) {\n return i18n.f(message, values, delimiters);\n },\n t(key, values) {\n return t(key, values);\n },\n add(locale, message, override = true) {\n return i18n.add(locale, message, override);\n },\n watch(fn) {\n return i18n.watchLocale(fn);\n },\n getLocale() {\n return i18n.getLocale();\n },\n setLocale(newLocale) {\n return i18n.setLocale(newLocale);\n },\n };\n}\n\nconst isString = (val) => typeof val === 'string';\nlet formater;\nfunction hasI18nJson(jsonObj, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n return walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n return true;\n }\n }\n else {\n return hasI18nJson(value, delimiters);\n }\n });\n}\nfunction parseI18nJson(jsonObj, values, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, values, delimiters);\n }\n }\n else {\n parseI18nJson(value, values, delimiters);\n }\n });\n return jsonObj;\n}\nfunction compileI18nJsonStr(jsonStr, { locale, locales, delimiters, }) {\n if (!isI18nStr(jsonStr, delimiters)) {\n return jsonStr;\n }\n if (!formater) {\n formater = new BaseFormatter();\n }\n const localeValues = [];\n Object.keys(locales).forEach((name) => {\n if (name !== locale) {\n localeValues.push({\n locale: name,\n values: locales[name],\n });\n }\n });\n localeValues.unshift({ locale, values: locales[locale] });\n try {\n return JSON.stringify(compileJsonObj(JSON.parse(jsonStr), localeValues, delimiters), null, 2);\n }\n catch (e) { }\n return jsonStr;\n}\nfunction isI18nStr(value, delimiters) {\n return value.indexOf(delimiters[0]) > -1;\n}\nfunction compileStr(value, values, delimiters) {\n return formater.interpolate(value, values, delimiters).join('');\n}\nfunction compileValue(jsonObj, key, localeValues, delimiters) {\n const value = jsonObj[key];\n if (isString(value)) {\n // 存在国际化\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, localeValues[0].values, delimiters);\n if (localeValues.length > 1) {\n // 格式化国际化语言\n const valueLocales = (jsonObj[key + 'Locales'] = {});\n localeValues.forEach((localValue) => {\n valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters);\n });\n }\n }\n }\n else {\n compileJsonObj(value, localeValues, delimiters);\n }\n}\nfunction compileJsonObj(jsonObj, localeValues, delimiters) {\n walkJsonObj(jsonObj, (jsonObj, key) => {\n compileValue(jsonObj, key, localeValues, delimiters);\n });\n return jsonObj;\n}\nfunction walkJsonObj(jsonObj, walk) {\n if (Array.isArray(jsonObj)) {\n for (let i = 0; i < jsonObj.length; i++) {\n if (walk(jsonObj, i)) {\n return true;\n }\n }\n }\n else if (isObject(jsonObj)) {\n for (const key in jsonObj) {\n if (walk(jsonObj, key)) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction resolveLocale(locales) {\n return (locale) => {\n if (!locale) {\n return locale;\n }\n locale = normalizeLocale(locale) || locale;\n return resolveLocaleChain(locale).find((locale) => locales.indexOf(locale) > -1);\n };\n}\nfunction resolveLocaleChain(locale) {\n const chain = [];\n const tokens = locale.split('-');\n while (tokens.length) {\n chain.push(tokens.join('-'));\n tokens.pop();\n }\n return chain;\n}\n\nexport { BaseFormatter as Formatter, I18n, LOCALE_EN, LOCALE_ES, LOCALE_FR, LOCALE_ZH_HANS, LOCALE_ZH_HANT, compileI18nJsonStr, hasI18nJson, initVueI18n, isI18nStr, isString, normalizeLocale, parseI18nJson, resolveLocale };\n","import { isHTMLTag, isSVGTag, isVoidTag, isString, isFunction, isPlainObject, hyphenate, camelize, normalizeStyle as normalizeStyle$1, parseStringStyle, isArray, normalizeClass as normalizeClass$1, extend, capitalize, makeMap } from '@vue/shared';\n\nconst BUILT_IN_TAG_NAMES = [\n 'ad',\n 'ad-content-page',\n 'ad-draw',\n 'audio',\n 'button',\n 'camera',\n 'canvas',\n 'checkbox',\n 'checkbox-group',\n 'cover-image',\n 'cover-view',\n 'editor',\n 'form',\n 'functional-page-navigator',\n 'icon',\n 'image',\n 'input',\n 'label',\n 'live-player',\n 'live-pusher',\n 'map',\n 'movable-area',\n 'movable-view',\n 'navigator',\n 'official-account',\n 'open-data',\n 'picker',\n 'picker-view',\n 'picker-view-column',\n 'progress',\n 'radio',\n 'radio-group',\n 'rich-text',\n 'scroll-view',\n 'slider',\n 'swiper',\n 'swiper-item',\n 'switch',\n 'text',\n 'textarea',\n 'video',\n 'view',\n 'web-view',\n 'location-picker',\n 'location-view',\n];\nconst BUILT_IN_TAGS = BUILT_IN_TAG_NAMES.map((tag) => 'uni-' + tag);\nconst TAGS = [\n 'app',\n 'layout',\n 'content',\n 'main',\n 'top-window',\n 'left-window',\n 'right-window',\n 'tabbar',\n 'page',\n 'page-head',\n 'page-wrapper',\n 'page-body',\n 'page-refresh',\n 'actionsheet',\n 'modal',\n 'toast',\n 'resize-sensor',\n 'shadow-root',\n].map((tag) => 'uni-' + tag);\nconst NVUE_BUILT_IN_TAGS = [\n 'svg',\n 'view',\n 'a',\n 'div',\n 'img',\n 'image',\n 'text',\n 'span',\n 'input',\n 'textarea',\n 'spinner',\n 'select',\n // slider 被自定义 u-slider 替代\n // 'slider',\n 'slider-neighbor',\n 'indicator',\n 'canvas',\n 'list',\n 'cell',\n 'header',\n 'loading',\n 'loading-indicator',\n 'refresh',\n 'scrollable',\n 'scroller',\n 'video',\n 'web',\n 'embed',\n 'tabbar',\n 'tabheader',\n 'datepicker',\n 'timepicker',\n 'marquee',\n 'countdown',\n 'dc-switch',\n 'waterfall',\n 'richtext',\n 'recycle-list',\n 'u-scalable',\n 'barcode',\n 'gcanvas',\n];\nconst UVUE_BUILT_IN_TAGS = [\n 'ad',\n 'ad-content-page',\n 'ad-draw',\n 'native-view',\n 'loading-indicator',\n 'list-view',\n 'list-item',\n 'swiper',\n 'swiper-item',\n 'rich-text',\n 'sticky-view',\n 'sticky-header',\n 'sticky-section',\n // 自定义\n 'uni-slider',\n // 原生实现\n 'button',\n 'nested-scroll-header',\n 'nested-scroll-body',\n 'waterflow',\n 'flow-item',\n 'share-element',\n 'cover-view',\n 'cover-image',\n // custom element\n 'match-media',\n // 'checkbox',\n // 'checkbox-group',\n // 'form',\n // 'navigator',\n // 'picker-view',\n // 'picker-view-column',\n // 'progress',\n // 'slider',\n // 'switch',\n // 'radio',\n // 'radio-group',\n];\nconst UVUE_WEB_BUILT_IN_TAGS = [\n 'list-view',\n 'list-item',\n 'sticky-section',\n 'sticky-header',\n 'cloud-db-element',\n].map((tag) => 'uni-' + tag);\nconst UVUE_IOS_BUILT_IN_TAGS = [\n 'scroll-view',\n 'web-view',\n 'slider',\n 'form',\n 'switch',\n];\nconst UVUE_HARMONY_BUILT_IN_TAGS = [\n // TODO 列出完整列表\n ...BUILT_IN_TAG_NAMES,\n 'volume-panel',\n];\nconst NVUE_U_BUILT_IN_TAGS = [\n 'u-text',\n 'u-image',\n 'u-input',\n 'u-textarea',\n 'u-video',\n 'u-web-view',\n 'u-slider',\n 'u-ad',\n 'u-ad-draw',\n 'u-rich-text',\n];\nconst UVUE_WEB_BUILT_IN_CUSTOM_ELEMENTS = ['match-media'];\nconst UNI_UI_CONFLICT_TAGS = ['list-item'].map((tag) => 'uni-' + tag);\nfunction isBuiltInComponent(tag) {\n if (UNI_UI_CONFLICT_TAGS.indexOf(tag) !== -1) {\n return false;\n }\n // h5 平台会被转换为 v-uni-\n const realTag = 'uni-' + tag.replace('v-uni-', '');\n // TODO 区分x和非x\n return (BUILT_IN_TAGS.indexOf(realTag) !== -1 ||\n UVUE_WEB_BUILT_IN_TAGS.indexOf(realTag) !== -1);\n}\nfunction isH5CustomElement(tag, isX = false) {\n if (isX && UVUE_WEB_BUILT_IN_TAGS.indexOf(tag) !== -1) {\n return true;\n }\n return TAGS.indexOf(tag) !== -1 || BUILT_IN_TAGS.indexOf(tag) !== -1;\n}\nfunction isUniXElement(name) {\n return /^I?Uni.*Element(?:Impl)?$/.test(name);\n}\nfunction isH5NativeTag(tag) {\n return (tag !== 'head' &&\n (isHTMLTag(tag) || isSVGTag(tag)) &&\n !isBuiltInComponent(tag));\n}\nfunction isAppNativeTag(tag) {\n return isHTMLTag(tag) || isSVGTag(tag) || isBuiltInComponent(tag);\n}\nconst NVUE_CUSTOM_COMPONENTS = [\n 'ad',\n 'ad-draw',\n 'button',\n 'checkbox-group',\n 'checkbox',\n 'form',\n 'icon',\n 'label',\n 'movable-area',\n 'movable-view',\n 'navigator',\n 'picker',\n 'progress',\n 'radio-group',\n 'radio',\n 'rich-text',\n 'swiper-item',\n 'swiper',\n 'switch',\n 'slider',\n 'picker-view',\n 'picker-view-column',\n];\nconst UNI_AD_PLUGINS = ['uniad-plugin', 'uniad-plugin-wx'];\n// 内置的easycom组件\nconst UVUE_BUILT_IN_EASY_COMPONENTS = [\n 'map',\n 'camera',\n 'live-player',\n 'live-pusher',\n];\nfunction isAppUVueBuiltInEasyComponent(tag) {\n return UVUE_BUILT_IN_EASY_COMPONENTS.includes(tag);\n}\n// 主要是指前端实现的组件列表\nconst UVUE_CUSTOM_COMPONENTS = [\n ...NVUE_CUSTOM_COMPONENTS,\n ...UVUE_BUILT_IN_EASY_COMPONENTS,\n];\nfunction isAppUVueNativeTag(tag) {\n // 前端实现的内置组件都会注册一个根组件\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\n return true;\n }\n if (UVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n if (UVUE_CUSTOM_COMPONENTS.includes(tag)) {\n return false;\n }\n if (isBuiltInComponent(tag)) {\n return true;\n }\n // u-text,u-video...\n if (NVUE_U_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n return false;\n}\nfunction isAppIOSUVueNativeTag(tag) {\n // 前端实现的内置组件都会注册一个根组件\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\n return true;\n }\n if (NVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n // TODO\n if ([\n 'checkbox',\n 'checkbox-group',\n 'form',\n 'picker-view',\n 'picker-view-column',\n 'progress',\n 'switch',\n 'radio',\n 'radio-group',\n ].includes(tag)) {\n return true;\n }\n if (\n // && tag != 'navigator' && tag != 'slider'\n UVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n if (UVUE_IOS_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n return false;\n}\nfunction isAppHarmonyUVueNativeTag(tag) {\n // video 目前是easycom实现的\n if (tag === 'video' || tag === 'map') {\n return false;\n }\n // 前端实现的内置组件都会注册一个根组件\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\n return true;\n }\n if (NVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n if (UVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n if (UVUE_HARMONY_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n return false;\n}\nfunction isAppNVueNativeTag(tag) {\n if (NVUE_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n if (NVUE_CUSTOM_COMPONENTS.includes(tag)) {\n return false;\n }\n if (isBuiltInComponent(tag)) {\n return true;\n }\n // u-text,u-video...\n if (NVUE_U_BUILT_IN_TAGS.includes(tag)) {\n return true;\n }\n return false;\n}\nfunction isMiniProgramNativeTag(tag) {\n return isBuiltInComponent(tag);\n}\nfunction isMiniProgramUVueNativeTag(tag) {\n // 小程序平台内置的自定义元素,会被转换为 view\n if (tag.startsWith('uni-') && tag.endsWith('-element')) {\n return true;\n }\n return isBuiltInComponent(tag);\n}\nfunction createIsCustomElement(tags = []) {\n return function isCustomElement(tag) {\n return tags.includes(tag);\n };\n}\nfunction isComponentTag(tag) {\n return tag[0].toLowerCase() + tag.slice(1) === 'component';\n}\nconst COMPONENT_SELECTOR_PREFIX = 'uni-';\nconst COMPONENT_PREFIX = 'v-' + COMPONENT_SELECTOR_PREFIX;\n// TODO 是否还存在其他需要特殊处理的 void 标签?\nconst APP_VOID_TAGS = ['textarea'];\nfunction isAppVoidTag(tag) {\n return APP_VOID_TAGS.includes(tag) || isVoidTag(tag);\n}\n\nconst LINEFEED = '\\n';\nconst NAVBAR_HEIGHT = 44;\nconst TABBAR_HEIGHT = 50;\nconst ON_REACH_BOTTOM_DISTANCE = 50;\nconst RESPONSIVE_MIN_WIDTH = 768;\nconst UNI_STORAGE_LOCALE = 'UNI_LOCALE';\n// quickapp-webview 不能使用 default 作为插槽名称\nconst SLOT_DEFAULT_NAME = 'd';\nconst COMPONENT_NAME_PREFIX = 'VUni';\nconst I18N_JSON_DELIMITERS = ['%', '%'];\nconst PRIMARY_COLOR = '#007aff';\nconst SELECTED_COLOR = '#0062cc'; // 选中的颜色,如选项卡默认的选中颜色\nconst BACKGROUND_COLOR = '#f7f7f7'; // 背景色,如标题栏默认背景色\nconst UNI_SSR = '__uniSSR';\nconst UNI_SSR_TITLE = 'title';\nconst UNI_SSR_STORE = 'store';\nconst UNI_SSR_DATA = 'data';\nconst UNI_SSR_GLOBAL_DATA = 'globalData';\nconst SCHEME_RE = /^([a-z-]+:)?\\/\\//i;\nconst DATA_RE = /^data:.*,.*/;\nconst WEB_INVOKE_APPSERVICE = 'WEB_INVOKE_APPSERVICE';\nconst WXS_PROTOCOL = 'wxs://';\nconst JSON_PROTOCOL = 'json://';\nconst WXS_MODULES = 'wxsModules';\nconst RENDERJS_MODULES = 'renderjsModules';\n// lifecycle\n// App and Page\nconst ON_SHOW = 'onShow';\nconst ON_HIDE = 'onHide';\n//App\nconst ON_LAUNCH = 'onLaunch';\nconst ON_ERROR = 'onError';\nconst ON_THEME_CHANGE = 'onThemeChange';\nconst OFF_THEME_CHANGE = 'offThemeChange';\nconst ON_HOST_THEME_CHANGE = 'onHostThemeChange';\nconst OFF_HOST_THEME_CHANGE = 'offHostThemeChange';\nconst ON_KEYBOARD_HEIGHT_CHANGE = 'onKeyboardHeightChange';\nconst ON_PAGE_NOT_FOUND = 'onPageNotFound';\nconst ON_UNHANDLE_REJECTION = 'onUnhandledRejection';\nconst ON_LAST_PAGE_BACK_PRESS = 'onLastPageBackPress';\nconst ON_EXIT = 'onExit';\n//Page\nconst ON_LOAD = 'onLoad';\nconst ON_READY = 'onReady';\nconst ON_UNLOAD = 'onUnload';\n// 百度特有\nconst ON_INIT = 'onInit';\n// 微信特有\nconst ON_SAVE_EXIT_STATE = 'onSaveExitState';\nconst ON_RESIZE = 'onResize';\nconst ON_BACK_PRESS = 'onBackPress';\nconst ON_PAGE_SCROLL = 'onPageScroll';\nconst ON_TAB_ITEM_TAP = 'onTabItemTap';\nconst ON_REACH_BOTTOM = 'onReachBottom';\nconst ON_PULL_DOWN_REFRESH = 'onPullDownRefresh';\nconst ON_SHARE_TIMELINE = 'onShareTimeline';\nconst ON_SHARE_CHAT = 'onShareChat'; // xhs-share\nconst ON_ADD_TO_FAVORITES = 'onAddToFavorites';\nconst ON_SHARE_APP_MESSAGE = 'onShareAppMessage';\n// navigationBar\nconst ON_NAVIGATION_BAR_BUTTON_TAP = 'onNavigationBarButtonTap';\nconst ON_NAVIGATION_BAR_CHANGE = 'onNavigationBarChange';\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED = 'onNavigationBarSearchInputClicked';\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED = 'onNavigationBarSearchInputChanged';\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED = 'onNavigationBarSearchInputConfirmed';\nconst ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED = 'onNavigationBarSearchInputFocusChanged';\n// framework\nconst ON_APP_ENTER_FOREGROUND = 'onAppEnterForeground';\nconst ON_APP_ENTER_BACKGROUND = 'onAppEnterBackground';\nconst ON_WEB_INVOKE_APP_SERVICE = 'onWebInvokeAppService';\nconst ON_WXS_INVOKE_CALL_METHOD = 'onWxsInvokeCallMethod';\n// mergeVirtualHostAttributes\nconst VIRTUAL_HOST_STYLE = 'virtualHostStyle';\nconst VIRTUAL_HOST_CLASS = 'virtualHostClass';\nconst VIRTUAL_HOST_HIDDEN = 'virtualHostHidden';\nconst VIRTUAL_HOST_ID = 'virtualHostId';\n\nfunction cache(fn) {\n const cache = Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\nfunction cacheStringFunction(fn) {\n return cache(fn);\n}\nfunction getLen(str = '') {\n return ('' + str).replace(/[^\\x00-\\xff]/g, '**').length;\n}\nfunction hasLeadingSlash(str) {\n return str.indexOf('/') === 0;\n}\nfunction addLeadingSlash(str) {\n return hasLeadingSlash(str) ? str : '/' + str;\n}\nfunction removeLeadingSlash(str) {\n return hasLeadingSlash(str) ? str.slice(1) : str;\n}\nconst invokeArrayFns = (fns, arg) => {\n let ret;\n for (let i = 0; i < fns.length; i++) {\n ret = fns[i](arg);\n }\n return ret;\n};\nfunction updateElementStyle(element, styles) {\n for (const attrName in styles) {\n element.style[attrName] = styles[attrName];\n }\n}\nfunction once(fn, ctx = null) {\n let res;\n return ((...args) => {\n if (fn) {\n res = fn.apply(ctx, args);\n fn = null;\n }\n return res;\n });\n}\nconst sanitise = (val) => (val && JSON.parse(JSON.stringify(val))) || val;\nconst _completeValue = (value) => (value > 9 ? value : '0' + value);\nfunction formatDateTime({ date = new Date(), mode = 'date' }) {\n if (mode === 'time') {\n return (_completeValue(date.getHours()) + ':' + _completeValue(date.getMinutes()));\n }\n else {\n return (date.getFullYear() +\n '-' +\n _completeValue(date.getMonth() + 1) +\n '-' +\n _completeValue(date.getDate()));\n }\n}\nfunction callOptions(options, data) {\n options = options || {};\n if (isString(data)) {\n data = {\n errMsg: data,\n };\n }\n if (/:ok$/.test(data.errMsg)) {\n if (isFunction(options.success)) {\n options.success(data);\n }\n }\n else {\n if (isFunction(options.fail)) {\n options.fail(data);\n }\n }\n if (isFunction(options.complete)) {\n options.complete(data);\n }\n}\nfunction getValueByDataPath(obj, path) {\n if (!isString(path)) {\n return;\n }\n path = path.replace(/\\[(\\d+)\\]/g, '.$1');\n const parts = path.split('.');\n let key = parts[0];\n if (!obj) {\n obj = {};\n }\n if (parts.length === 1) {\n return obj[key];\n }\n return getValueByDataPath(obj[key], parts.slice(1).join('.'));\n}\nfunction sortObject(obj) {\n let sortObj = {};\n if (isPlainObject(obj)) {\n Object.keys(obj)\n .sort()\n .forEach((key) => {\n const _key = key;\n sortObj[_key] = obj[_key];\n });\n }\n return !Object.keys(sortObj) ? obj : sortObj;\n}\nfunction getGlobalOnce() {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n // worker\n if (typeof self !== 'undefined') {\n return self;\n }\n // browser\n if (typeof window !== 'undefined') {\n return window;\n }\n // nodejs\n // if (typeof global !== 'undefined') {\n // return global\n // }\n function g() {\n return this;\n }\n if (typeof g() !== 'undefined') {\n return g();\n }\n return (function () {\n return new Function('return this')();\n })();\n}\nlet g = undefined;\nfunction getGlobal() {\n if (g) {\n return g;\n }\n g = getGlobalOnce();\n return g;\n}\n\nfunction isComponentInternalInstance(vm) {\n return !!vm.appContext;\n}\nfunction resolveComponentInstance(instance) {\n return (instance &&\n (isComponentInternalInstance(instance) ? instance.proxy : instance));\n}\nfunction resolveOwnerVm(vm) {\n if (!vm) {\n return;\n }\n let componentName = vm.type.name;\n while (componentName && isBuiltInComponent(hyphenate(componentName))) {\n // ownerInstance 内置组件需要使用父 vm\n vm = vm.parent;\n componentName = vm.type.name;\n }\n return vm.proxy;\n}\nfunction isElement(el) {\n // Element\n return el.nodeType === 1;\n}\nfunction resolveOwnerEl(instance, multi = false) {\n const { vnode } = instance;\n if (isElement(vnode.el)) {\n return multi ? (vnode.el ? [vnode.el] : []) : vnode.el;\n }\n const { subTree } = instance;\n // ShapeFlags.ARRAY_CHILDREN = 1<<4\n if (subTree.shapeFlag & 16) {\n const elemVNodes = subTree.children.filter((vnode) => vnode.el && isElement(vnode.el));\n if (elemVNodes.length > 0) {\n if (multi) {\n return elemVNodes.map((node) => node.el);\n }\n return elemVNodes[0].el;\n }\n }\n return multi ? (vnode.el ? [vnode.el] : []) : vnode.el;\n}\nfunction dynamicSlotName(name) {\n return name === 'default' ? SLOT_DEFAULT_NAME : name;\n}\nconst customizeRE = /:/g;\nfunction customizeEvent(str) {\n return camelize(str.replace(customizeRE, '-'));\n}\nfunction normalizeStyle(value) {\n const g = getGlobal();\n if (g && g.UTSJSONObject && value instanceof g.UTSJSONObject) {\n const styleObject = {};\n g.UTSJSONObject.keys(value).forEach((key) => {\n styleObject[key] = value[key];\n });\n return normalizeStyle$1(styleObject);\n }\n else if (value instanceof Map) {\n const styleObject = {};\n value.forEach((value, key) => {\n styleObject[key] = value;\n });\n return normalizeStyle$1(styleObject);\n }\n else if (isString(value)) {\n return parseStringStyle(value);\n }\n else if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item)\n ? parseStringStyle(item)\n : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n }\n else {\n return normalizeStyle$1(value);\n }\n}\nfunction normalizeClass(value) {\n let res = '';\n const g = getGlobal();\n if (g && g.UTSJSONObject && value instanceof g.UTSJSONObject) {\n g.UTSJSONObject.keys(value).forEach((key) => {\n if (value[key]) {\n res += key + ' ';\n }\n });\n }\n else if (value instanceof Map) {\n value.forEach((value, key) => {\n if (value) {\n res += key + ' ';\n }\n });\n }\n else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + ' ';\n }\n }\n }\n else {\n res = normalizeClass$1(value);\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props)\n return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nlet lastLogTime = 0;\nfunction formatLog(module, ...args) {\n const now = Date.now();\n const diff = lastLogTime ? now - lastLogTime : 0;\n lastLogTime = now;\n return `[${now}][${diff}ms][${module}]:${args\n .map((arg) => JSON.stringify(arg))\n .join(' ')}`;\n}\n\nfunction formatKey(key) {\n return camelize(key.substring(5));\n}\n// question/139181,增加副作用,避免 initCustomDataset 在 build 下被 tree-shaking\nconst initCustomDatasetOnce = /*#__PURE__*/ once((isBuiltInElement) => {\n isBuiltInElement =\n isBuiltInElement || ((el) => el.tagName.startsWith('UNI-'));\n const prototype = HTMLElement.prototype;\n const setAttribute = prototype.setAttribute;\n prototype.setAttribute = function (key, value) {\n if (key.startsWith('data-') && isBuiltInElement(this)) {\n const dataset = this.__uniDataset ||\n (this.__uniDataset = {});\n dataset[formatKey(key)] = value;\n }\n setAttribute.call(this, key, value);\n };\n const removeAttribute = prototype.removeAttribute;\n prototype.removeAttribute = function (key) {\n if (this.__uniDataset &&\n key.startsWith('data-') &&\n isBuiltInElement(this)) {\n delete this.__uniDataset[formatKey(key)];\n }\n removeAttribute.call(this, key);\n };\n});\nfunction getCustomDataset(el) {\n return extend({}, el.dataset, el.__uniDataset);\n}\n\nconst unitRE = new RegExp(`\"[^\"]+\"|'[^']+'|url\\\\([^)]+\\\\)|(\\\\d*\\\\.?\\\\d+)[r|u]px`, 'g');\nfunction toFixed(number, precision) {\n const multiplier = Math.pow(10, precision + 1);\n const wholeNumber = Math.floor(number * multiplier);\n return (Math.round(wholeNumber / 10) * 10) / multiplier;\n}\nconst defaultRpx2Unit = {\n unit: 'rem',\n unitRatio: 10 / 320,\n unitPrecision: 5,\n};\nconst defaultMiniProgramRpx2Unit = {\n unit: 'rpx',\n unitRatio: 1,\n unitPrecision: 1,\n};\nconst defaultNVueRpx2Unit = defaultMiniProgramRpx2Unit;\nfunction createRpx2Unit(unit, unitRatio, unitPrecision) {\n // ignore: rpxCalcIncludeWidth\n return (val) => val.replace(unitRE, (m, $1) => {\n if (!$1) {\n return m;\n }\n if (unitRatio === 1) {\n return `${$1}${unit}`;\n }\n const value = toFixed(parseFloat($1) * unitRatio, unitPrecision);\n return value === 0 ? '0' : `${value}${unit}`;\n });\n}\n\nfunction passive(passive) {\n return { passive };\n}\nfunction normalizeDataset(el) {\n // TODO\n return JSON.parse(JSON.stringify(el.dataset || {}));\n}\nfunction normalizeTarget(el) {\n const { id, offsetTop, offsetLeft } = el;\n return {\n id,\n dataset: getCustomDataset(el),\n offsetTop,\n offsetLeft,\n };\n}\nfunction addFont(family, source, desc) {\n const fonts = document.fonts;\n if (fonts) {\n const fontFace = new FontFace(family, source, desc);\n return fontFace.load().then(() => {\n fonts.add && fonts.add(fontFace);\n });\n }\n return new Promise((resolve) => {\n const style = document.createElement('style');\n const values = [];\n if (desc) {\n const { style, weight, stretch, unicodeRange, variant, featureSettings } = desc;\n style && values.push(`font-style:${style}`);\n weight && values.push(`font-weight:${weight}`);\n stretch && values.push(`font-stretch:${stretch}`);\n unicodeRange && values.push(`unicode-range:${unicodeRange}`);\n variant && values.push(`font-variant:${variant}`);\n featureSettings && values.push(`font-feature-settings:${featureSettings}`);\n }\n style.innerText = `@font-face{font-family:\"${family}\";src:${source};${values.join(';')}}`;\n document.head.appendChild(style);\n resolve();\n });\n}\nfunction scrollTo(scrollTop, duration, isH5) {\n if (isString(scrollTop)) {\n const el = document.querySelector(scrollTop);\n if (el) {\n const { top } = el.getBoundingClientRect();\n scrollTop = top + window.pageYOffset;\n // 如果存在,减去 高度\n const pageHeader = document.querySelector('uni-page-head');\n if (pageHeader) {\n scrollTop -= pageHeader.offsetHeight;\n }\n }\n }\n if (scrollTop < 0) {\n scrollTop = 0;\n }\n const documentElement = document.documentElement;\n const { clientHeight, scrollHeight } = documentElement;\n scrollTop = Math.min(scrollTop, scrollHeight - clientHeight);\n if (duration === 0) {\n // 部分浏览器(比如微信)中 scrollTop 的值需要通过 document.body 来控制\n documentElement.scrollTop = document.body.scrollTop = scrollTop;\n return;\n }\n if (window.scrollY === scrollTop) {\n return;\n }\n const scrollTo = (duration) => {\n if (duration <= 0) {\n window.scrollTo(0, scrollTop);\n return;\n }\n const distaince = scrollTop - window.scrollY;\n requestAnimationFrame(function () {\n window.scrollTo(0, window.scrollY + (distaince / duration) * 10);\n scrollTo(duration - 10);\n });\n };\n scrollTo(duration);\n}\n\nconst encode = encodeURIComponent;\nfunction stringifyQuery(obj, encodeStr = encode) {\n const res = obj\n ? Object.keys(obj)\n .map((key) => {\n let val = obj[key];\n if (typeof val === undefined || val === null) {\n val = '';\n }\n else if (isPlainObject(val)) {\n val = JSON.stringify(val);\n }\n return encodeStr(key) + '=' + encodeStr(val);\n })\n .filter((x) => x.length > 0)\n .join('&')\n : null;\n return res ? `?${res}` : '';\n}\n/**\n * Decode text using `decodeURIComponent`. Returns the original text if it\n * fails.\n *\n * @param text - string to decode\n * @returns decoded string\n */\nfunction decode(text) {\n try {\n return decodeURIComponent('' + text);\n }\n catch (err) { }\n return '' + text;\n}\nfunction decodedQuery(query = {}) {\n const decodedQuery = {};\n Object.keys(query).forEach((name) => {\n try {\n decodedQuery[name] = decode(query[name]);\n }\n catch (e) {\n decodedQuery[name] = query[name];\n }\n });\n return decodedQuery;\n}\nconst PLUS_RE = /\\+/g; // %2B\n/**\n * https://github.com/vuejs/vue-router-next/blob/master/src/query.ts\n * @internal\n *\n * @param search - search string to parse\n * @returns a query object\n */\nfunction parseQuery(search) {\n const query = {};\n // avoid creating an object with an empty key and empty value\n // because of split('&')\n if (search === '' || search === '?')\n return query;\n const hasLeadingIM = search[0] === '?';\n const searchParams = (hasLeadingIM ? search.slice(1) : search).split('&');\n for (let i = 0; i < searchParams.length; ++i) {\n // pre decode the + into space\n const searchParam = searchParams[i].replace(PLUS_RE, ' ');\n // allow the = character\n let eqPos = searchParam.indexOf('=');\n let key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\n let value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\n if (key in query) {\n // an extra variable for ts types\n let currentValue = query[key];\n if (!isArray(currentValue)) {\n currentValue = query[key] = [currentValue];\n }\n currentValue.push(value);\n }\n else {\n query[key] = value;\n }\n }\n return query;\n}\n\nfunction parseUrl(url) {\n const [path, querystring] = url.split('?', 2);\n return {\n path,\n query: parseQuery(querystring || ''),\n };\n}\n\nfunction parseNVueDataset(attr) {\n const dataset = {};\n if (attr) {\n Object.keys(attr).forEach((key) => {\n if (key.indexOf('data-') === 0) {\n dataset[key.replace('data-', '')] = attr[key];\n }\n });\n }\n return dataset;\n}\n\nfunction plusReady(callback) {\n if (!isFunction(callback)) {\n return;\n }\n if (window.plus) {\n return callback();\n }\n document.addEventListener('plusready', callback);\n}\n\nclass DOMException extends Error {\n constructor(message) {\n super(message);\n this.name = 'DOMException';\n }\n}\n\nfunction normalizeEventType(type, options) {\n if (options) {\n if (options.capture) {\n type += 'Capture';\n }\n if (options.once) {\n type += 'Once';\n }\n if (options.passive) {\n type += 'Passive';\n }\n }\n return `on${capitalize(camelize(type))}`;\n}\nclass UniEvent {\n constructor(type, opts) {\n this.defaultPrevented = false;\n this.timeStamp = Date.now();\n this._stop = false;\n this._end = false;\n this.type = type;\n this.bubbles = !!opts.bubbles;\n this.cancelable = !!opts.cancelable;\n }\n preventDefault() {\n this.defaultPrevented = true;\n }\n stopImmediatePropagation() {\n this._end = this._stop = true;\n }\n stopPropagation() {\n this._stop = true;\n }\n}\nfunction createUniEvent(evt) {\n if (evt instanceof UniEvent) {\n return evt;\n }\n const [type] = parseEventName(evt.type);\n const uniEvent = new UniEvent(type, {\n bubbles: false,\n cancelable: false,\n });\n extend(uniEvent, evt);\n return uniEvent;\n}\nclass UniEventTarget {\n constructor() {\n this.listeners = Object.create(null);\n }\n dispatchEvent(evt) {\n const listeners = this.listeners[evt.type];\n if (!listeners) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error(formatLog('dispatchEvent', this.nodeId), evt.type, 'not found');\n }\n return false;\n }\n // 格式化事件类型\n const event = createUniEvent(evt);\n const len = listeners.length;\n for (let i = 0; i < len; i++) {\n listeners[i].call(this, event);\n if (event._end) {\n break;\n }\n }\n return event.cancelable && event.defaultPrevented;\n }\n addEventListener(type, listener, options) {\n type = normalizeEventType(type, options);\n (this.listeners[type] || (this.listeners[type] = [])).push(listener);\n }\n removeEventListener(type, callback, options) {\n type = normalizeEventType(type, options);\n const listeners = this.listeners[type];\n if (!listeners) {\n return;\n }\n const index = listeners.indexOf(callback);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n }\n}\nconst optionsModifierRE = /(?:Once|Passive|Capture)$/;\nfunction parseEventName(name) {\n let options;\n if (optionsModifierRE.test(name)) {\n options = {};\n let m;\n while ((m = name.match(optionsModifierRE))) {\n name = name.slice(0, name.length - m[0].length);\n options[m[0].toLowerCase()] = true;\n }\n }\n return [hyphenate(name.slice(2)), options];\n}\n\nconst EventModifierFlags = /*#__PURE__*/ (() => {\n return {\n stop: 1,\n prevent: 1 << 1,\n self: 1 << 2,\n };\n})();\nfunction encodeModifier(modifiers) {\n let flag = 0;\n if (modifiers.includes('stop')) {\n flag |= EventModifierFlags.stop;\n }\n if (modifiers.includes('prevent')) {\n flag |= EventModifierFlags.prevent;\n }\n if (modifiers.includes('self')) {\n flag |= EventModifierFlags.self;\n }\n return flag;\n}\n\nconst NODE_TYPE_PAGE = 0;\nconst NODE_TYPE_ELEMENT = 1;\nconst NODE_TYPE_TEXT = 3;\nconst NODE_TYPE_COMMENT = 8;\nfunction sibling(node, type) {\n const { parentNode } = node;\n if (!parentNode) {\n return null;\n }\n const { childNodes } = parentNode;\n return childNodes[childNodes.indexOf(node) + (type === 'n' ? 1 : -1)] || null;\n}\nfunction removeNode(node) {\n const { parentNode } = node;\n if (parentNode) {\n const { childNodes } = parentNode;\n const index = childNodes.indexOf(node);\n if (index > -1) {\n node.parentNode = null;\n childNodes.splice(index, 1);\n }\n }\n}\nfunction checkNodeId(node) {\n if (!node.nodeId && node.pageNode) {\n node.nodeId = node.pageNode.genId();\n }\n}\n// 为优化性能,各平台不使用proxy来实现node的操作拦截,而是直接通过pageNode定制\nclass UniNode extends UniEventTarget {\n constructor(nodeType, nodeName, container) {\n super();\n this.pageNode = null;\n this.parentNode = null;\n this._text = null;\n if (container) {\n const { pageNode } = container;\n if (pageNode) {\n this.pageNode = pageNode;\n this.nodeId = pageNode.genId();\n !pageNode.isUnmounted && pageNode.onCreate(this, nodeName);\n }\n }\n this.nodeType = nodeType;\n this.nodeName = nodeName;\n this.childNodes = [];\n }\n get firstChild() {\n return this.childNodes[0] || null;\n }\n get lastChild() {\n const { childNodes } = this;\n const length = childNodes.length;\n return length ? childNodes[length - 1] : null;\n }\n get nextSibling() {\n return sibling(this, 'n');\n }\n get nodeValue() {\n return null;\n }\n set nodeValue(_val) { }\n get textContent() {\n return this._text || '';\n }\n set textContent(text) {\n this._text = text;\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onTextContent(this, text);\n }\n }\n get parentElement() {\n const { parentNode } = this;\n if (parentNode && parentNode.nodeType === NODE_TYPE_ELEMENT) {\n return parentNode;\n }\n return null;\n }\n get previousSibling() {\n return sibling(this, 'p');\n }\n appendChild(newChild) {\n return this.insertBefore(newChild, null);\n }\n cloneNode(deep) {\n const cloned = extend(Object.create(Object.getPrototypeOf(this)), this);\n const { attributes } = cloned;\n if (attributes) {\n cloned.attributes = extend({}, attributes);\n }\n if (deep) {\n cloned.childNodes = cloned.childNodes.map((childNode) => childNode.cloneNode(true));\n }\n return cloned;\n }\n insertBefore(newChild, refChild) {\n // 先从现在的父节点移除(注意:不能触发onRemoveChild,否则会生成先remove该 id,再 insert)\n removeNode(newChild);\n newChild.pageNode = this.pageNode;\n newChild.parentNode = this;\n checkNodeId(newChild);\n const { childNodes } = this;\n if (refChild) {\n const index = childNodes.indexOf(refChild);\n if (index === -1) {\n throw new DOMException(`Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.`);\n }\n childNodes.splice(index, 0, newChild);\n }\n else {\n childNodes.push(newChild);\n }\n return this.pageNode && !this.pageNode.isUnmounted\n ? this.pageNode.onInsertBefore(this, newChild, refChild)\n : newChild;\n }\n removeChild(oldChild) {\n const { childNodes } = this;\n const index = childNodes.indexOf(oldChild);\n if (index === -1) {\n throw new DOMException(`Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.`);\n }\n oldChild.parentNode = null;\n childNodes.splice(index, 1);\n return this.pageNode && !this.pageNode.isUnmounted\n ? this.pageNode.onRemoveChild(oldChild)\n : oldChild;\n }\n}\nconst ATTR_CLASS = 'class';\nconst ATTR_STYLE = 'style';\nconst ATTR_INNER_HTML = 'innerHTML';\nconst ATTR_TEXT_CONTENT = 'textContent';\nconst ATTR_V_SHOW = '.vShow';\nconst ATTR_V_OWNER_ID = '.vOwnerId';\nconst ATTR_V_RENDERJS = '.vRenderjs';\nconst ATTR_CHANGE_PREFIX = 'change:';\nclass UniBaseNode extends UniNode {\n constructor(nodeType, nodeName, container) {\n super(nodeType, nodeName, container);\n this.attributes = Object.create(null);\n this.style = null;\n this.vShow = null;\n this._html = null;\n }\n get className() {\n return (this.attributes[ATTR_CLASS] || '');\n }\n set className(val) {\n this.setAttribute(ATTR_CLASS, val);\n }\n get innerHTML() {\n return '';\n }\n set innerHTML(html) {\n this._html = html;\n }\n addEventListener(type, listener, options) {\n super.addEventListener(type, listener, options);\n if (this.pageNode && !this.pageNode.isUnmounted) {\n if (listener.wxsEvent) {\n this.pageNode.onAddWxsEvent(this, normalizeEventType(type, options), listener.wxsEvent, encodeModifier(listener.modifiers || []));\n }\n else {\n this.pageNode.onAddEvent(this, normalizeEventType(type, options), encodeModifier(listener.modifiers || []));\n }\n }\n }\n removeEventListener(type, callback, options) {\n super.removeEventListener(type, callback, options);\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onRemoveEvent(this, normalizeEventType(type, options));\n }\n }\n getAttribute(qualifiedName) {\n if (qualifiedName === ATTR_STYLE) {\n return this.style;\n }\n return this.attributes[qualifiedName];\n }\n removeAttribute(qualifiedName) {\n if (qualifiedName == ATTR_STYLE) {\n this.style = null;\n }\n else {\n delete this.attributes[qualifiedName];\n }\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onRemoveAttribute(this, qualifiedName);\n }\n }\n setAttribute(qualifiedName, value) {\n if (qualifiedName === ATTR_STYLE) {\n this.style = value;\n }\n else {\n this.attributes[qualifiedName] = value;\n }\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onSetAttribute(this, qualifiedName, value);\n }\n }\n toJSON({ attr, normalize, } = {}) {\n const { attributes, style, listeners, _text } = this;\n const res = {};\n if (Object.keys(attributes).length) {\n res.a = normalize ? normalize(attributes) : attributes;\n }\n const events = Object.keys(listeners);\n if (events.length) {\n let w = undefined;\n const e = {};\n events.forEach((name) => {\n const handlers = listeners[name];\n if (handlers.length) {\n // 可能存在多个 handler 且不同 modifiers 吗?\n const { wxsEvent, modifiers } = handlers[0];\n const modifier = encodeModifier(modifiers || []);\n if (!wxsEvent) {\n e[name] = modifier;\n }\n else {\n if (!w) {\n w = {};\n }\n w[name] = [normalize ? normalize(wxsEvent) : wxsEvent, modifier];\n }\n }\n });\n res.e = normalize ? normalize(e, false) : e;\n if (w) {\n res.w = normalize ? normalize(w, false) : w;\n }\n }\n if (style !== null) {\n res.s = normalize ? normalize(style) : style;\n }\n if (!attr) {\n res.i = this.nodeId;\n res.n = this.nodeName;\n }\n if (_text !== null) {\n res.t = normalize ? normalize(_text) : _text;\n }\n return res;\n }\n}\n\nclass UniCommentNode extends UniNode {\n constructor(text, container) {\n super(NODE_TYPE_COMMENT, '#comment', container);\n this._text = (process.env.NODE_ENV !== 'production') ? text : '';\n }\n toJSON(opts = {}) {\n // 暂时不传递 text 到 view 层,没啥意义,节省点数据量\n return opts.attr\n ? {}\n : {\n i: this.nodeId,\n };\n // return opts.attr\n // ? { t: this._text as string }\n // : {\n // i: this.nodeId!,\n // t: this._text as string,\n // }\n }\n}\n\nclass UniElement extends UniBaseNode {\n constructor(nodeName, container) {\n super(NODE_TYPE_ELEMENT, nodeName.toUpperCase(), container);\n this.tagName = this.nodeName;\n }\n}\nclass UniInputElement extends UniElement {\n get value() {\n return this.getAttribute('value');\n }\n set value(val) {\n this.setAttribute('value', val);\n }\n}\nclass UniTextAreaElement extends UniInputElement {\n}\n\nclass UniTextNode extends UniBaseNode {\n constructor(text, container) {\n super(NODE_TYPE_TEXT, '#text', container);\n this._text = text;\n }\n get nodeValue() {\n return this._text || '';\n }\n set nodeValue(text) {\n this._text = text;\n if (this.pageNode && !this.pageNode.isUnmounted) {\n this.pageNode.onNodeValue(this, text);\n }\n }\n}\n\nconst forcePatchProps = {\n AD: ['data'],\n 'AD-DRAW': ['data'],\n 'LIVE-PLAYER': ['picture-in-picture-mode'],\n MAP: [\n 'markers',\n 'polyline',\n 'circles',\n 'controls',\n 'include-points',\n 'polygons',\n ],\n PICKER: ['range', 'value'],\n 'PICKER-VIEW': ['value'],\n 'RICH-TEXT': ['nodes'],\n VIDEO: ['danmu-list', 'header'],\n 'WEB-VIEW': ['webview-styles'],\n};\nconst forcePatchPropKeys = ['animation'];\n\nconst forcePatchProp = (el, key) => {\n if (forcePatchPropKeys.indexOf(key) > -1) {\n return true;\n }\n const keys = forcePatchProps[el.nodeName];\n if (keys && keys.indexOf(key) > -1) {\n return true;\n }\n return false;\n};\n\nconst ACTION_TYPE_PAGE_CREATE = 1;\nconst ACTION_TYPE_PAGE_CREATED = 2;\nconst ACTION_TYPE_CREATE = 3;\nconst ACTION_TYPE_INSERT = 4;\nconst ACTION_TYPE_REMOVE = 5;\nconst ACTION_TYPE_SET_ATTRIBUTE = 6;\nconst ACTION_TYPE_REMOVE_ATTRIBUTE = 7;\nconst ACTION_TYPE_ADD_EVENT = 8;\nconst ACTION_TYPE_REMOVE_EVENT = 9;\nconst ACTION_TYPE_SET_TEXT = 10;\nconst ACTION_TYPE_ADD_WXS_EVENT = 12;\nconst ACTION_TYPE_PAGE_SCROLL = 15;\nconst ACTION_TYPE_EVENT = 20;\n\n/**\n * 需要手动传入 timer,主要是解决 App 平台的定制 timer\n */\nfunction debounce(fn, delay, { clearTimeout, setTimeout }) {\n let timeout;\n const newFn = function () {\n clearTimeout(timeout);\n const timerFn = () => fn.apply(this, arguments);\n timeout = setTimeout(timerFn, delay);\n };\n newFn.cancel = function () {\n clearTimeout(timeout);\n };\n return newFn;\n}\n\nclass EventChannel {\n constructor(id, events) {\n this.id = id;\n this.listener = {};\n this.emitCache = [];\n if (events) {\n Object.keys(events).forEach((name) => {\n this.on(name, events[name]);\n });\n }\n }\n emit(eventName, ...args) {\n const fns = this.listener[eventName];\n if (!fns) {\n return this.emitCache.push({\n eventName,\n args,\n });\n }\n fns.forEach((opt) => {\n opt.fn.apply(opt.fn, args);\n });\n this.listener[eventName] = fns.filter((opt) => opt.type !== 'once');\n }\n on(eventName, fn) {\n this._addListener(eventName, 'on', fn);\n this._clearCache(eventName);\n }\n once(eventName, fn) {\n this._addListener(eventName, 'once', fn);\n this._clearCache(eventName);\n }\n off(eventName, fn) {\n const fns = this.listener[eventName];\n if (!fns) {\n return;\n }\n if (fn) {\n for (let i = 0; i < fns.length;) {\n if (fns[i].fn === fn) {\n fns.splice(i, 1);\n i--;\n }\n i++;\n }\n }\n else {\n delete this.listener[eventName];\n }\n }\n _clearCache(eventName) {\n for (let index = 0; index < this.emitCache.length; index++) {\n const cache = this.emitCache[index];\n const _name = eventName\n ? cache.eventName === eventName\n ? eventName\n : null\n : cache.eventName;\n if (!_name)\n continue;\n const location = this.emit.apply(this, [_name, ...cache.args]);\n if (typeof location === 'number') {\n this.emitCache.pop();\n continue;\n }\n this.emitCache.splice(index, 1);\n index--;\n }\n }\n _addListener(eventName, type, fn) {\n (this.listener[eventName] || (this.listener[eventName] = [])).push({\n fn,\n type,\n });\n }\n}\n\nconst PAGE_HOOKS = [\n ON_INIT,\n ON_LOAD,\n ON_SHOW,\n ON_HIDE,\n ON_UNLOAD,\n ON_BACK_PRESS,\n ON_PAGE_SCROLL,\n ON_TAB_ITEM_TAP,\n ON_REACH_BOTTOM,\n ON_PULL_DOWN_REFRESH,\n ON_SHARE_TIMELINE,\n ON_SHARE_APP_MESSAGE,\n ON_SHARE_CHAT,\n ON_ADD_TO_FAVORITES,\n ON_SAVE_EXIT_STATE,\n ON_NAVIGATION_BAR_BUTTON_TAP,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED,\n];\nfunction isRootImmediateHook(name) {\n const PAGE_SYNC_HOOKS = [ON_LOAD, ON_SHOW];\n return PAGE_SYNC_HOOKS.indexOf(name) > -1;\n}\n// isRootImmediateHookX deprecated\nfunction isRootHook(name) {\n return PAGE_HOOKS.indexOf(name) > -1;\n}\nconst UniLifecycleHooks = [\n ON_SHOW,\n ON_HIDE,\n ON_LAUNCH,\n ON_ERROR,\n ON_THEME_CHANGE,\n ON_PAGE_NOT_FOUND,\n ON_UNHANDLE_REJECTION,\n ON_EXIT,\n ON_INIT,\n ON_LOAD,\n ON_READY,\n ON_UNLOAD,\n ON_RESIZE,\n ON_BACK_PRESS,\n ON_PAGE_SCROLL,\n ON_TAB_ITEM_TAP,\n ON_REACH_BOTTOM,\n ON_PULL_DOWN_REFRESH,\n ON_SHARE_TIMELINE,\n ON_ADD_TO_FAVORITES,\n ON_SHARE_APP_MESSAGE,\n ON_SHARE_CHAT,\n ON_SAVE_EXIT_STATE,\n ON_NAVIGATION_BAR_BUTTON_TAP,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED,\n ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED,\n];\nconst MINI_PROGRAM_PAGE_RUNTIME_HOOKS = /*#__PURE__*/ (() => {\n return {\n onPageScroll: 1,\n onShareAppMessage: 1 << 1,\n onShareTimeline: 1 << 2,\n onShareChat: 1 << 3,\n };\n})();\nfunction isUniLifecycleHook(name, value, checkType = true) {\n // 检查类型\n if (checkType && !isFunction(value)) {\n return false;\n }\n if (UniLifecycleHooks.indexOf(name) > -1) {\n // 已预定义\n return true;\n }\n else if (name.indexOf('on') === 0) {\n // 以 on 开头\n return true;\n }\n return false;\n}\n\nlet vueApp;\nconst createVueAppHooks = [];\n/**\n * 提供 createApp 的回调事件,方便三方插件接收 App 对象,处理挂靠全局 mixin 之类的逻辑\n */\nfunction onCreateVueApp(hook) {\n // TODO 每个 nvue 页面都会触发\n if (vueApp) {\n return hook(vueApp);\n }\n createVueAppHooks.push(hook);\n}\nfunction invokeCreateVueAppHook(app) {\n vueApp = app;\n createVueAppHooks.forEach((hook) => hook(app));\n}\nconst invokeCreateErrorHandler = once((app, createErrorHandler) => {\n // 不再判断开发者是否监听了onError,直接返回 createErrorHandler,内部 errorHandler 会调用开发者自定义的 errorHandler,以及判断开发者是否监听了onError\n return createErrorHandler(app);\n});\n\nconst E = function () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n};\nE.prototype = {\n _id: 1,\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx,\n _id: this._id,\n });\n return this._id++;\n },\n once: function (name, callback, ctx) {\n var self = this;\n function listener() {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n }\n listener._ = callback;\n return this.on(name, listener, ctx);\n },\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n return this;\n },\n off: function (name, event) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n if (evts && event) {\n for (var i = evts.length - 1; i >= 0; i--) {\n if (evts[i].fn === event ||\n evts[i].fn._ === event ||\n evts[i]._id === event) {\n evts.splice(i, 1);\n break;\n }\n }\n liveEvents = evts;\n }\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n liveEvents.length ? (e[name] = liveEvents) : delete e[name];\n return this;\n },\n};\nvar E$1 = E;\n\nconst borderStyles = {\n black: 'rgba(0,0,0,0.4)',\n white: 'rgba(255,255,255,0.4)',\n};\nfunction normalizeTabBarStyles(borderStyle) {\n if (borderStyle && borderStyle in borderStyles) {\n return borderStyles[borderStyle];\n }\n return borderStyle;\n}\nfunction normalizeTitleColor(titleColor) {\n return titleColor === 'black' ? '#000000' : '#ffffff';\n}\nfunction resolveStringStyleItem(modeStyle, styleItem, key) {\n if (isString(styleItem) && styleItem.startsWith('@')) {\n const _key = styleItem.replace('@', '');\n let _styleItem = modeStyle[_key] || styleItem;\n switch (key) {\n case 'titleColor':\n _styleItem = normalizeTitleColor(_styleItem);\n break;\n case 'borderStyle':\n _styleItem = normalizeTabBarStyles(_styleItem);\n break;\n }\n return _styleItem;\n }\n return styleItem;\n}\nfunction normalizeStyles(pageStyle, themeConfig = {}, mode = 'light') {\n const modeStyle = themeConfig[mode];\n const styles = {};\n if (typeof modeStyle === 'undefined' || !pageStyle)\n return pageStyle;\n Object.keys(pageStyle).forEach((key) => {\n const styleItem = pageStyle[key]; // Object Array String\n const parseStyleItem = () => {\n if (isPlainObject(styleItem))\n return normalizeStyles(styleItem, themeConfig, mode);\n if (isArray(styleItem))\n return styleItem.map((item) => {\n if (isPlainObject(item))\n return normalizeStyles(item, themeConfig, mode);\n return resolveStringStyleItem(modeStyle, item);\n });\n return resolveStringStyleItem(modeStyle, styleItem, key);\n };\n styles[key] = parseStyleItem();\n });\n return styles;\n}\n\nfunction getEnvLocale() {\n const { env } = process;\n const lang = env.LC_ALL || env.LC_MESSAGES || env.LANG || env.LANGUAGE;\n return (lang && lang.replace(/[.:].*/, '')) || 'en';\n}\n\nconst isStringIntegerKey = (key) => typeof key === 'string' &&\n key !== 'NaN' &&\n key[0] !== '-' &&\n '' + parseInt(key, 10) === key;\nconst isNumberIntegerKey = (key) => typeof key === 'number' &&\n !isNaN(key) &&\n key >= 0 &&\n parseInt(key + '', 10) === key;\n/**\n * 用于替代@vue/shared的isIntegerKey,原始方法在鸿蒙arkts中会引发bug。根本原因是arkts的数组的key是数字而不是字符串。\n * 目前这个方法使用的地方都和数组有关,切记不能挪作他用。\n * @param key\n * @returns\n */\nconst isIntegerKey = (key) => isNumberIntegerKey(key) || isStringIntegerKey(key);\n\nconst GLOBALS_ALLOWED = 'Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,' +\n 'decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,' +\n 'Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,' +\n 'uni';\nconst isGloballyAllowed = /*#__PURE__*/ makeMap(GLOBALS_ALLOWED);\n\nexport { ACTION_TYPE_ADD_EVENT, ACTION_TYPE_ADD_WXS_EVENT, ACTION_TYPE_CREATE, ACTION_TYPE_EVENT, ACTION_TYPE_INSERT, ACTION_TYPE_PAGE_CREATE, ACTION_TYPE_PAGE_CREATED, ACTION_TYPE_PAGE_SCROLL, ACTION_TYPE_REMOVE, ACTION_TYPE_REMOVE_ATTRIBUTE, ACTION_TYPE_REMOVE_EVENT, ACTION_TYPE_SET_ATTRIBUTE, ACTION_TYPE_SET_TEXT, ATTR_CHANGE_PREFIX, ATTR_CLASS, ATTR_INNER_HTML, ATTR_STYLE, ATTR_TEXT_CONTENT, ATTR_V_OWNER_ID, ATTR_V_RENDERJS, ATTR_V_SHOW, BACKGROUND_COLOR, BUILT_IN_TAGS, BUILT_IN_TAG_NAMES, COMPONENT_NAME_PREFIX, COMPONENT_PREFIX, COMPONENT_SELECTOR_PREFIX, DATA_RE, E$1 as Emitter, EventChannel, EventModifierFlags, I18N_JSON_DELIMITERS, JSON_PROTOCOL, LINEFEED, MINI_PROGRAM_PAGE_RUNTIME_HOOKS, NAVBAR_HEIGHT, NODE_TYPE_COMMENT, NODE_TYPE_ELEMENT, NODE_TYPE_PAGE, NODE_TYPE_TEXT, NVUE_BUILT_IN_TAGS, NVUE_U_BUILT_IN_TAGS, OFF_HOST_THEME_CHANGE, OFF_THEME_CHANGE, ON_ADD_TO_FAVORITES, ON_APP_ENTER_BACKGROUND, ON_APP_ENTER_FOREGROUND, ON_BACK_PRESS, ON_ERROR, ON_EXIT, ON_HIDE, ON_HOST_THEME_CHANGE, ON_INIT, ON_KEYBOARD_HEIGHT_CHANGE, ON_LAST_PAGE_BACK_PRESS, ON_LAUNCH, ON_LOAD, ON_NAVIGATION_BAR_BUTTON_TAP, ON_NAVIGATION_BAR_CHANGE, ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED, ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED, ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED, ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED, ON_PAGE_NOT_FOUND, ON_PAGE_SCROLL, ON_PULL_DOWN_REFRESH, ON_REACH_BOTTOM, ON_REACH_BOTTOM_DISTANCE, ON_READY, ON_RESIZE, ON_SAVE_EXIT_STATE, ON_SHARE_APP_MESSAGE, ON_SHARE_CHAT, ON_SHARE_TIMELINE, ON_SHOW, ON_TAB_ITEM_TAP, ON_THEME_CHANGE, ON_UNHANDLE_REJECTION, ON_UNLOAD, ON_WEB_INVOKE_APP_SERVICE, ON_WXS_INVOKE_CALL_METHOD, PLUS_RE, PRIMARY_COLOR, RENDERJS_MODULES, RESPONSIVE_MIN_WIDTH, SCHEME_RE, SELECTED_COLOR, SLOT_DEFAULT_NAME, TABBAR_HEIGHT, TAGS, UNI_AD_PLUGINS, UNI_SSR, UNI_SSR_DATA, UNI_SSR_GLOBAL_DATA, UNI_SSR_STORE, UNI_SSR_TITLE, UNI_STORAGE_LOCALE, UNI_UI_CONFLICT_TAGS, UVUE_BUILT_IN_TAGS, UVUE_HARMONY_BUILT_IN_TAGS, UVUE_IOS_BUILT_IN_TAGS, UVUE_WEB_BUILT_IN_CUSTOM_ELEMENTS, UVUE_WEB_BUILT_IN_TAGS, UniBaseNode, UniCommentNode, UniElement, UniEvent, UniInputElement, UniLifecycleHooks, UniNode, UniTextAreaElement, UniTextNode, VIRTUAL_HOST_CLASS, VIRTUAL_HOST_HIDDEN, VIRTUAL_HOST_ID, VIRTUAL_HOST_STYLE, WEB_INVOKE_APPSERVICE, WXS_MODULES, WXS_PROTOCOL, addFont, addLeadingSlash, borderStyles, cache, cacheStringFunction, callOptions, createIsCustomElement, createRpx2Unit, createUniEvent, customizeEvent, debounce, decode, decodedQuery, defaultMiniProgramRpx2Unit, defaultNVueRpx2Unit, defaultRpx2Unit, dynamicSlotName, forcePatchProp, formatDateTime, formatLog, getCustomDataset, getEnvLocale, getGlobal, getLen, getValueByDataPath, initCustomDatasetOnce, invokeArrayFns, invokeCreateErrorHandler, invokeCreateVueAppHook, isAppHarmonyUVueNativeTag, isAppIOSUVueNativeTag, isAppNVueNativeTag, isAppNativeTag, isAppUVueBuiltInEasyComponent, isAppUVueNativeTag, isAppVoidTag, isBuiltInComponent, isComponentInternalInstance, isComponentTag, isGloballyAllowed, isH5CustomElement, isH5NativeTag, isIntegerKey, isMiniProgramNativeTag, isMiniProgramUVueNativeTag, isRootHook, isRootImmediateHook, isUniLifecycleHook, isUniXElement, normalizeClass, normalizeDataset, normalizeEventType, normalizeProps, normalizeStyle, normalizeStyles, normalizeTabBarStyles, normalizeTarget, normalizeTitleColor, onCreateVueApp, once, parseEventName, parseNVueDataset, parseQuery, parseUrl, passive, plusReady, removeLeadingSlash, resolveComponentInstance, resolveOwnerEl, resolveOwnerVm, sanitise, scrollTo, sortObject, stringifyQuery, updateElementStyle };\n","import { isRootHook, getValueByDataPath, isUniLifecycleHook, ON_ERROR, UniLifecycleHooks, invokeCreateErrorHandler, dynamicSlotName } from '@dcloudio/uni-shared';\nimport { NOOP, extend, isSymbol, isObject, def, hasChanged, isFunction, isArray, isPromise, camelize, capitalize, EMPTY_OBJ, remove, toHandlerKey, hasOwn, hyphenate, isReservedProp, toRawType, isString, normalizeClass, normalizeStyle, isOn, toTypeString, isMap, isIntegerKey, isSet, isPlainObject, makeMap, invokeArrayFns, isBuiltInDirective, looseToNumber, NO, EMPTY_ARR, isModelListener, toNumber, toDisplayString } from '@vue/shared';\nexport { EMPTY_OBJ, camelize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\n/**\n* @dcloudio/uni-mp-vue v3.4.21\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n\nfunction warn$2(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeEffect;\nclass ReactiveEffect {\n constructor(fn, trigger, scheduler, scope) {\n this.fn = fn;\n this.trigger = trigger;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n /**\n * @internal\n */\n this._dirtyLevel = 4;\n /**\n * @internal\n */\n this._trackId = 0;\n /**\n * @internal\n */\n this._runnings = 0;\n /**\n * @internal\n */\n this._shouldSchedule = false;\n /**\n * @internal\n */\n this._depsLength = 0;\n recordEffectScope(this, scope);\n }\n get dirty() {\n if (this._dirtyLevel === 2 || this._dirtyLevel === 3) {\n this._dirtyLevel = 1;\n pauseTracking();\n for (let i = 0; i < this._depsLength; i++) {\n const dep = this.deps[i];\n if (dep.computed) {\n triggerComputed(dep.computed);\n if (this._dirtyLevel >= 4) {\n break;\n }\n }\n }\n if (this._dirtyLevel === 1) {\n this._dirtyLevel = 0;\n }\n resetTracking();\n }\n return this._dirtyLevel >= 4;\n }\n set dirty(v) {\n this._dirtyLevel = v ? 4 : 0;\n }\n run() {\n this._dirtyLevel = 0;\n if (!this.active) {\n return this.fn();\n }\n let lastShouldTrack = shouldTrack;\n let lastEffect = activeEffect;\n try {\n shouldTrack = true;\n activeEffect = this;\n this._runnings++;\n preCleanupEffect(this);\n return this.fn();\n } finally {\n postCleanupEffect(this);\n this._runnings--;\n activeEffect = lastEffect;\n shouldTrack = lastShouldTrack;\n }\n }\n stop() {\n var _a;\n if (this.active) {\n preCleanupEffect(this);\n postCleanupEffect(this);\n (_a = this.onStop) == null ? void 0 : _a.call(this);\n this.active = false;\n }\n }\n}\nfunction triggerComputed(computed) {\n return computed.value;\n}\nfunction preCleanupEffect(effect2) {\n effect2._trackId++;\n effect2._depsLength = 0;\n}\nfunction postCleanupEffect(effect2) {\n if (effect2.deps.length > effect2._depsLength) {\n for (let i = effect2._depsLength; i < effect2.deps.length; i++) {\n cleanupDepEffect(effect2.deps[i], effect2);\n }\n effect2.deps.length = effect2._depsLength;\n }\n}\nfunction cleanupDepEffect(dep, effect2) {\n const trackId = dep.get(effect2);\n if (trackId !== void 0 && effect2._trackId !== trackId) {\n dep.delete(effect2);\n if (dep.size === 0) {\n dep.cleanup();\n }\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn, NOOP, () => {\n if (_effect.dirty) {\n _effect.run();\n }\n });\n if (options) {\n extend(_effect, options);\n if (options.scope)\n recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nlet pauseScheduleStack = 0;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction pauseScheduling() {\n pauseScheduleStack++;\n}\nfunction resetScheduling() {\n pauseScheduleStack--;\n while (!pauseScheduleStack && queueEffectSchedulers.length) {\n queueEffectSchedulers.shift()();\n }\n}\nfunction trackEffect(effect2, dep, debuggerEventExtraInfo) {\n var _a;\n if (dep.get(effect2) !== effect2._trackId) {\n dep.set(effect2, effect2._trackId);\n const oldDep = effect2.deps[effect2._depsLength];\n if (oldDep !== dep) {\n if (oldDep) {\n cleanupDepEffect(oldDep, effect2);\n }\n effect2.deps[effect2._depsLength++] = dep;\n } else {\n effect2._depsLength++;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n }\n}\nconst queueEffectSchedulers = [];\nfunction triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {\n var _a;\n pauseScheduling();\n for (const effect2 of dep.keys()) {\n let tracking;\n if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\n effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);\n effect2._dirtyLevel = dirtyLevel;\n }\n if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n effect2.trigger();\n if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) {\n effect2._shouldSchedule = false;\n if (effect2.scheduler) {\n queueEffectSchedulers.push(effect2.scheduler);\n }\n }\n }\n }\n resetScheduling();\n}\n\nconst createDep = (cleanup, computed) => {\n const dep = /* @__PURE__ */ new Map();\n dep.cleanup = cleanup;\n dep.computed = computed;\n return dep;\n};\n\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"iterate\" : \"\");\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map key iterate\" : \"\");\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = createDep(() => depsMap.delete(key)));\n }\n trackEffect(\n activeEffect,\n dep,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target,\n type,\n key\n } : void 0\n );\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n return;\n }\n let deps = [];\n if (type === \"clear\") {\n deps = [...depsMap.values()];\n } else if (key === \"length\" && isArray(target)) {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || !isSymbol(key2) && key2 >= newLength) {\n deps.push(dep);\n }\n });\n } else {\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n switch (type) {\n case \"add\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isIntegerKey(key)) {\n deps.push(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n pauseScheduling();\n for (const dep of deps) {\n if (dep) {\n triggerEffects(\n dep,\n 4,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n } : void 0\n );\n }\n }\n resetScheduling();\n}\nfunction getDepFromReactive(object, key) {\n var _a;\n return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nconst arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\", i + \"\");\n }\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n return arr[key](...args.map(toRaw));\n } else {\n return res;\n }\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n pauseTracking();\n pauseScheduling();\n const res = toRaw(this)[key].apply(this, args);\n resetScheduling();\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the reciever is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(target, key, receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(\n true\n);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly = false, isShallow = false) {\n target = target[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has: has2 } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has2.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has2.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n}\nfunction has(key, isReadonly = false) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\"];\n !isReadonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n}\nfunction set$1(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2 ? get2.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn$2(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations2 = {\n get(key) {\n return get(this, key);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set: set$1,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations2 = {\n get(key) {\n return get(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set: set$1,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(method, false, false);\n readonlyInstrumentations2[method] = createIterableMethod(method, true, false);\n shallowInstrumentations2[method] = createIterableMethod(method, false, true);\n shallowReadonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n true\n );\n });\n return [\n mutableInstrumentations2,\n readonlyInstrumentations2,\n shallowInstrumentations2,\n shallowReadonlyInstrumentations2\n ];\n}\nconst [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n] = /* @__PURE__ */ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has2, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has2.call(target, rawKey)) {\n const type = toRawType(target);\n warn$2(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$2(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nconst COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`;\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this.getter = getter;\n this._setter = _setter;\n this.dep = void 0;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = false;\n this.effect = new ReactiveEffect(\n () => getter(this._value),\n () => triggerRefValue(\n this,\n this.effect._dirtyLevel === 2 ? 2 : 3\n )\n );\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\"] = isReadonly;\n }\n get value() {\n const self = toRaw(this);\n if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) {\n triggerRefValue(self, 4);\n }\n trackRefValue(self);\n if (self.effect._dirtyLevel >= 2) {\n if (!!(process.env.NODE_ENV !== \"production\") && this._warnRecursive) {\n warn$2(COMPUTED_SIDE_EFFECT_WARN, `\n\ngetter: `, this.getter);\n }\n triggerRefValue(self, 2);\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x\n get _dirty() {\n return this.effect.dirty;\n }\n set _dirty(v) {\n this.effect.dirty = v;\n }\n // #endregion\n}\nfunction computed$1(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = !!(process.env.NODE_ENV !== \"production\") ? () => {\n warn$2(\"Write operation failed: computed value is readonly\");\n } : NOOP;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nfunction trackRefValue(ref2) {\n var _a;\n if (shouldTrack && activeEffect) {\n ref2 = toRaw(ref2);\n trackEffect(\n activeEffect,\n (_a = ref2.dep) != null ? _a : ref2.dep = createDep(\n () => ref2.dep = void 0,\n ref2 instanceof ComputedRefImpl ? ref2 : void 0\n ),\n !!(process.env.NODE_ENV !== \"production\") ? {\n target: ref2,\n type: \"get\",\n key: \"value\"\n } : void 0\n );\n }\n}\nfunction triggerRefValue(ref2, dirtyLevel = 4, newVal) {\n ref2 = toRaw(ref2);\n const dep = ref2.dep;\n if (dep) {\n triggerEffects(\n dep,\n dirtyLevel,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: newVal\n } : void 0\n );\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = void 0;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if (hasChanged(newVal, this._rawValue)) {\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, 4, newVal);\n }\n }\n}\nfunction triggerRef(ref2) {\n triggerRefValue(ref2, 4, !!(process.env.NODE_ENV !== \"production\") ? ref2.value : void 0);\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = void 0;\n this.__v_isRef = true;\n const { get, set } = factory(\n () => trackRefValue(this),\n () => triggerRefValue(this)\n );\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn$2(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this.__v_isRef = true;\n this.__v_isReadonly = true;\n }\n get value() {\n return this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn$1(msg, ...args) {\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\n\nconst ErrorTypeStrings = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core .\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings[type] || type : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(\n appErrorHandler,\n null,\n 10,\n [err, exposedInstance, errorInfo]\n );\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings[type] || type;\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n console.error(err);\n } else {\n console.error(err);\n }\n } else {\n console.error(err);\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick$1(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.pre) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!queue.length || !queue.includes(\n job,\n isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex\n )) {\n if (job.id == null) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction hasQueueJob(job) {\n return queue.indexOf(job) > -1;\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (!activePostFlushCbs || !activePostFlushCbs.includes(\n cb,\n cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex\n )) {\n pendingPostFlushCbs.push(cb);\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n queue.sort(comparator);\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n callWithErrorHandling(job, null, 14);\n }\n }\n } finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n } else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n } else {\n seen.set(fn, count + 1);\n }\n }\n}\n\nlet devtools;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools) {\n devtools.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook(hook, target) {\n var _a, _b;\n devtools = hook;\n if (devtools) {\n devtools.enabled = true;\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook(newHook, target);\n });\n setTimeout(() => {\n if (!devtools) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:added\" /* COMPONENT_ADDED */\n);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools && typeof devtools.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n // fixed by xxxxxx\n // 为 0 是 App,无 parent 是 Page 指向 App\n component.uid === 0 ? void 0 : component.parent ? component.parent.uid : 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:start\" /* PERFORMANCE_START */\n);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:end\" /* PERFORMANCE_END */\n);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const {\n emitsOptions,\n propsOptions: [propsOptions]\n } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) && true) {\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\n warn$1(\n `Component emitted event \"${event}\" but it is neither declared in the emits option nor as an \"${toHandlerKey(event)}\" prop.`\n );\n }\n } else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn$1(\n `Invalid event arguments: event validation failed for event \"${event}\".`\n );\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith(\"update:\");\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === \"modelValue\" ? \"model\" : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map((a) => isString(a) ? a.trim() : a);\n }\n if (number) {\n args = rawArgs.map(looseToNumber);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn$1(\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\n instance,\n instance.type\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${hyphenate(\n event\n )}\" instead of \"${event}\".`\n );\n }\n }\n let handlerName;\n let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)\n props[handlerName = toHandlerKey(camelize(event))];\n if (!handler && isModelListener) {\n handler = props[handlerName = toHandlerKey(hyphenate(event))];\n }\n if (handler) {\n callWithAsyncErrorHandling(\n handler,\n instance,\n 6,\n args\n );\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n } else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(\n onceHandler,\n instance,\n 6,\n args\n );\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== void 0) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw2) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach((key) => normalized[key] = null);\n } else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, \"\");\n return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx)\n return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nfunction markAttrsAccessed() {\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nconst ssrContextKey = Symbol.for(\"v-scx\");\nconst useSSRContext = () => {\n {\n const ctx = inject(ssrContextKey);\n if (!ctx) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`\n );\n }\n return ctx;\n }\n};\n\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\n );\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\n );\n}\nconst INITIAL_WATCHER_VALUE = {};\nfunction watch(source, cb, options) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\n warn$1(\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\n );\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, {\n immediate,\n deep,\n flush,\n once,\n onTrack,\n onTrigger\n} = EMPTY_OBJ) {\n if (cb && once) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n unwatch();\n };\n }\n if (!!(process.env.NODE_ENV !== \"production\") && deep !== void 0 && typeof deep === \"number\") {\n warn$1(\n `watch() \"deep\" option with number value will be used as watch depth in future versions. Please use a boolean instead to avoid potential breakage.`\n );\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\n if (immediate !== void 0) {\n warn$1(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn$1(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (once !== void 0) {\n warn$1(\n `watch() \"once\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const warnInvalidSource = (s) => {\n warn$1(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const instance = currentInstance;\n const reactiveGetter = (source2) => deep === true ? source2 : (\n // for deep: false, only traverse root-level properties\n traverse(source2, deep === false ? 1 : void 0)\n );\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return callWithErrorHandling(s, instance, 2);\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = () => callWithErrorHandling(source, instance, 2);\n } else {\n getter = () => {\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(\n source,\n instance,\n 3,\n [onCleanup]\n );\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4);\n cleanup = effect.onStop = void 0;\n };\n };\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active || !effect.dirty) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) {\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n } else {\n effect.run();\n }\n };\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === \"sync\") {\n scheduler = job;\n } else if (flush === \"post\") {\n scheduler = () => queuePostRenderEffect$1(job, instance && instance.suspense);\n } else {\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new ReactiveEffect(getter, NOOP, scheduler);\n const scope = getCurrentScope();\n const unwatch = () => {\n effect.stop();\n if (scope) {\n remove(scope.effects, effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n if (cb) {\n if (immediate) {\n job();\n } else {\n oldValue = effect.run();\n }\n } else if (flush === \"post\") {\n queuePostRenderEffect$1(\n effect.run.bind(effect),\n instance && instance.suspense\n );\n } else {\n effect.run();\n }\n return unwatch;\n}\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n } else {\n cb = value.handler;\n options = value;\n }\n const reset = setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n reset();\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split(\".\");\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, depth, currentDepth = 0, seen) {\n if (!isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n if (depth && depth > 0) {\n if (currentDepth >= depth) {\n return value;\n }\n currentDepth++;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if (isRef(value)) {\n traverse(value.value, depth, currentDepth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, currentDepth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, currentDepth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, currentDepth, seen);\n }\n }\n return value;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getExposeProxy(currentRenderingInstance) || currentRenderingInstance.proxy;\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\n\nfunction createAppContext() {\n return {\n app: null,\n config: {\n isNativeTag: NO,\n performance: false,\n globalProperties: {},\n optionMergeStrategies: {},\n errorHandler: void 0,\n warnHandler: void 0,\n compilerOptions: {}\n },\n mixins: [],\n components: {},\n directives: {},\n provides: /* @__PURE__ */ Object.create(null),\n optionsCache: /* @__PURE__ */ new WeakMap(),\n propsCache: /* @__PURE__ */ new WeakMap(),\n emitsCache: /* @__PURE__ */ new WeakMap()\n };\n}\nlet uid$1 = 0;\nfunction createAppAPI(render, hydrate) {\n return function createApp(rootComponent, rootProps = null) {\n if (!isFunction(rootComponent)) {\n rootComponent = extend({}, rootComponent);\n }\n if (rootProps != null && !isObject(rootProps)) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`root props passed to app.mount() must be an object.`);\n rootProps = null;\n }\n const context = createAppContext();\n const installedPlugins = /* @__PURE__ */ new WeakSet();\n const app = context.app = {\n _uid: uid$1++,\n _component: rootComponent,\n _props: rootProps,\n _container: null,\n _context: context,\n _instance: null,\n version,\n get config() {\n return context.config;\n },\n set config(v) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `app.config cannot be replaced. Modify individual options instead.`\n );\n }\n },\n use(plugin, ...options) {\n if (installedPlugins.has(plugin)) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`Plugin has already been applied to target app.`);\n } else if (plugin && isFunction(plugin.install)) {\n installedPlugins.add(plugin);\n plugin.install(app, ...options);\n } else if (isFunction(plugin)) {\n installedPlugins.add(plugin);\n plugin(app, ...options);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `A plugin must either be a function or an object with an \"install\" function.`\n );\n }\n return app;\n },\n mixin(mixin) {\n if (__VUE_OPTIONS_API__) {\n if (!context.mixins.includes(mixin)) {\n context.mixins.push(mixin);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Mixin has already been applied to target app\" + (mixin.name ? `: ${mixin.name}` : \"\")\n );\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Mixins are only available in builds supporting Options API\");\n }\n return app;\n },\n component(name, component) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateComponentName(name, context.config);\n }\n if (!component) {\n return context.components[name];\n }\n if (!!(process.env.NODE_ENV !== \"production\") && context.components[name]) {\n warn$1(`Component \"${name}\" has already been registered in target app.`);\n }\n context.components[name] = component;\n return app;\n },\n directive(name, directive) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateDirectiveName(name);\n }\n if (!directive) {\n return context.directives[name];\n }\n if (!!(process.env.NODE_ENV !== \"production\") && context.directives[name]) {\n warn$1(`Directive \"${name}\" has already been registered in target app.`);\n }\n context.directives[name] = directive;\n return app;\n },\n // fixed by xxxxxx\n mount() {\n },\n // fixed by xxxxxx\n unmount() {\n },\n provide(key, value) {\n if (!!(process.env.NODE_ENV !== \"production\") && key in context.provides) {\n warn$1(\n `App already provides property with key \"${String(key)}\". It will be overwritten with the new value.`\n );\n }\n context.provides[key] = value;\n return app;\n },\n runWithContext(fn) {\n const lastApp = currentApp;\n currentApp = app;\n try {\n return fn();\n } finally {\n currentApp = lastApp;\n }\n }\n };\n return app;\n };\n}\nlet currentApp = null;\n\nfunction provide(key, value) {\n if (!currentInstance) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`provide() can only be used inside setup().`);\n }\n } else {\n let provides = currentInstance.provides;\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\n if (parentProvides === provides) {\n provides = currentInstance.provides = Object.create(parentProvides);\n }\n provides[key] = value;\n if (currentInstance.type.mpType === \"app\") {\n currentInstance.appContext.app.provide(key, value);\n }\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\n const instance = currentInstance || currentRenderingInstance;\n if (instance || currentApp) {\n const provides = instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : currentApp._context.provides;\n if (provides && key in provides) {\n return provides[key];\n } else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`injection \"${String(key)}\" not found.`);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`inject() can only be used inside setup() or functional components.`);\n }\n}\nfunction hasInjectionContext() {\n return !!(currentInstance || currentRenderingInstance || currentApp);\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8326: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n if (isRootHook(type)) {\n target = target.root;\n }\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n if (target.isUnmounted) {\n return;\n }\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(\n (ErrorTypeStrings[type] || type.replace(/^on/, \"\")).replace(/ hook$/, \"\")\n );\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (``)\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => (\n // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\n (!isInSSRComponentSetup || lifecycle === \"sp\") && injectHook(lifecycle, (...args) => hook(...args), target)\n);\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\"bu\");\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\"bum\");\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\"sp\");\nconst onRenderTriggered = createHook(\n \"rtg\"\n);\nconst onRenderTracked = createHook(\n \"rtc\"\n);\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i)\n return null;\n if (isStatefulComponent(i))\n return getExposeProxy(i) || i.proxy;\n return getPublicInstance(i.parent);\n};\nfunction getComponentInternalInstance(i) {\n return i;\n}\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n // fixed by xxxxxx\n $: getComponentInternalInstance,\n // fixed by xxxxxx vue-i18n 在 dev 模式,访问了 $el,故模拟一个假的\n // $el: i => i.vnode.el,\n $el: (i) => i.__$el || (i.__$el = {}),\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n i.effect.dirty = true;\n queueJob(i.update);\n }),\n // $nextTick: i => i.n || (i.n = nextTick.bind(i.proxy!)),// fixed by xxxxxx\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance, \"get\", key);\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate \r\n\r\n\r\n","import Component from 'F:/gitCode/uniapp/JewelryMall/miniprogram/components/BannerSwiper.vue'\nwx.createComponent(Component)"],"names":["BASE_URL"],"mappings":";;;;;;;;;;AAmBA,aAAS,QAAQ,MAAsB;AACrC,UAAI,CAAC;AAAa,eAAA;AACd,UAAA,KAAK,WAAW,MAAM;AAAU,eAAA;AACpC,aAAOA,cAAAA,WAAW;AAAA,IACpB;;;;;;;;;;;;;;;;;;ACtBA,GAAG,gBAAgB,SAAS;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/components/CustomNavbar.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/components/CustomNavbar.js.map deleted file mode 100644 index 8758e3e0..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/components/CustomNavbar.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CustomNavbar.js","sources":["components/CustomNavbar.vue","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RjovZ2l0Q29kZS91bmlhcHAvSmV3ZWxyeU1hbGwvbWluaXByb2dyYW0vY29tcG9uZW50cy9DdXN0b21OYXZiYXIudnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import Component from 'F:/gitCode/uniapp/JewelryMall/miniprogram/components/CustomNavbar.vue'\nwx.createComponent(Component)"],"names":["ref","uni"],"mappings":";;;;;;;;;;AAsBM,UAAA,kBAAkBA,kBAAI,EAAE;AACxB,UAAA,eAAeA,kBAAI,EAAE;AAEvB,QAAA;AACI,YAAA,UAAUC,oBAAI;AACJ,sBAAA,QAAQ,QAAQ,mBAAmB;AAE7C,YAAA,UAAUA,oBAAI;AACpB,mBAAa,SAAS,QAAQ,OAAO,QAAQ,mBAAmB,OAAO,IAAI,QAAQ;AAAA,IAAA,QAE7E;AAAA,IAAiB;AAEzB,aAAS,SAAS;AAChBA,oBAAAA,MAAI,aAAa,EAAE,OAAO,EAAG,CAAA;AAAA,IAC/B;;;;;;;;;;;;;;;;;ACnCA,GAAG,gBAAgB,SAAS;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/components/CustomerServiceBtn.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/components/CustomerServiceBtn.js.map deleted file mode 100644 index 257f55a2..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/components/CustomerServiceBtn.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CustomerServiceBtn.js","sources":["../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RjovZ2l0Q29kZS91bmlhcHAvSmV3ZWxyeU1hbGwvbWluaXByb2dyYW0vY29tcG9uZW50cy9DdXN0b21lclNlcnZpY2VCdG4udnVl"],"sourcesContent":["import Component from 'F:/gitCode/uniapp/JewelryMall/miniprogram/components/CustomerServiceBtn.vue'\nwx.createComponent(Component)"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA,GAAG,gBAAgB,SAAS;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/components/ProductCard.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/components/ProductCard.js.map deleted file mode 100644 index ce7c233e..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/components/ProductCard.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ProductCard.js","sources":["components/ProductCard.vue","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RjovZ2l0Q29kZS91bmlhcHAvSmV3ZWxyeU1hbGwvbWluaXByb2dyYW0vY29tcG9uZW50cy9Qcm9kdWN0Q2FyZC52dWU"],"sourcesContent":["\r\n\r\n\r\n\r\n","import Component from 'F:/gitCode/uniapp/JewelryMall/miniprogram/components/ProductCard.vue'\nwx.createComponent(Component)"],"names":["BASE_URL","uni"],"mappings":";;;;;;;;;AAmBC,UAAM,QAAQ;AAEd,aAAS,SAAkB;;AAC1B,YAAM,MAAM,MAAM,QAAQ,WAAS,WAAM,QAAQ,iBAAd,mBAA6B;AAChE,UAAI,CAAC;AAAY,eAAA;AACb,UAAA,IAAI,WAAW,MAAM;AAAU,eAAA;AACnC,aAAOA,cAAAA,WAAW;AAAA,IACnB;AACA,aAAS,WAAW;AACfC,0BAAA,WAAW,EAAE,KAAK,4BAA4B,MAAM,QAAQ,EAAE,IAAI;AAAA,IACvE;;;;;;;;;;;;;;AC5BD,GAAG,gBAAgB,SAAS;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/components/ShippingNotice.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/components/ShippingNotice.js.map deleted file mode 100644 index 0bf9fedd..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/components/ShippingNotice.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ShippingNotice.js","sources":["../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RjovZ2l0Q29kZS91bmlhcHAvSmV3ZWxyeU1hbGwvbWluaXByb2dyYW0vY29tcG9uZW50cy9TaGlwcGluZ05vdGljZS52dWU"],"sourcesContent":["import Component from 'F:/gitCode/uniapp/JewelryMall/miniprogram/components/ShippingNotice.vue'\nwx.createComponent(Component)"],"names":[],"mappings":";;;;;;;;;;AACA,GAAG,gBAAgB,SAAS;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/components/SpecPanel.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/components/SpecPanel.js.map deleted file mode 100644 index edeba4b6..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/components/SpecPanel.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"SpecPanel.js","sources":["components/SpecPanel.vue","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RjovZ2l0Q29kZS91bmlhcHAvSmV3ZWxyeU1hbGwvbWluaXByb2dyYW0vY29tcG9uZW50cy9TcGVjUGFuZWwudnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n","import Component from 'F:/gitCode/uniapp/JewelryMall/miniprogram/components/SpecPanel.vue'\nwx.createComponent(Component)"],"names":["ref","useCartStore","reactive","uni","onMounted","getProductSpecs","getSpecDataList"],"mappings":";;;;;;;;;;;AA2JC,UAAM,QAAQ;AACd,UAAM,OAAO;AAEP,UAAA,SAASA,kBAAkC,IAAI;AAC/C,UAAA,gBAAgBA,kBAAI,KAAK;AACzB,UAAA,cAAcA,kBAAI,KAAK;AACvB,UAAA,eAAeA,kBAAgB,CAAA,CAAE;AACvC,UAAM,gBAAgBA,cAAAA,IAA+B,oBAAA,IAAK,CAAA;AAC1D,UAAM,YAAYC,WAAAA;AAEZ,UAAA,WAAWC,uBAAS,EAAE,UAAU,IAAI,WAAW,IAAI,UAAU,GAAA,CAAI;AAE9D,aAAA,aAAa,KAA6C,MAAe;AACjF,eAAS,GAAG,IAAI,SAAS,GAAG,MAAM,OAAO,KAAK;AAChC;IACf;AAEA,aAAS,aAAa,MAAiB;AACtC,UAAI,cAAc,MAAM,IAAI,KAAK,EAAE,GAAG;AACvB,sBAAA,MAAM,OAAO,KAAK,EAAE;AAAA,MAAA,OAC5B;AACN,sBAAc,MAAM,IAAI,KAAK,IAAI,IAAI;AAAA,MACtC;AACA,oBAAc,QAAQ,IAAI,IAAI,cAAc,KAAK;AAAA,IAClD;AAEA,aAAS,kBAAkB;AACtB,UAAA,cAAc,MAAM,SAAS;AAAG;AACtB,oBAAA,MAAM,QAAQ,CAAC,SAAS;AACrC,kBAAU,UAAU;AAAA,UACnB,IAAI,KAAK,IAAI,IAAI,KAAK;AAAA,UACtB,QAAQ;AAAA,UACR,WAAW,MAAM;AAAA,UACjB,YAAY,KAAK;AAAA,UACjB,UAAU;AAAA,UACV,SAAS,CAAC;AAAA,UACV,UAAU;AAAA,UACV,SAAS;AAAA,QAAA,CACT;AAAA,MAAA,CACD;AACGC,oBAAAA,MAAA,UAAU,EAAE,OAAO,MAAM,cAAc,MAAM,IAAI,KAAK,MAAM,UAAW,CAAA;AAC7D,oBAAA,4BAAY;AAC1B,WAAK,OAAO;AAAA,IACb;AAEAC,kBAAAA,UAAU,YAAY;AACrB,oBAAc,QAAQ;AAClB,UAAA;AAAE,eAAO,QAAQ,MAAMC,YAAgB,gBAAA,MAAM,SAAS;AAAA,MAAA,QACpD;AAAA,MAAA,UACN;AAAU,sBAAc,QAAQ;AAAA,MAAM;AACxB;IAAA,CACd;AAED,mBAAe,gBAAgB;AAC9B,kBAAY,QAAQ;AAChB,UAAA;AACH,qBAAa,QAAQ,MAAMC,4BAAgB,MAAM,WAAW;AAAA,UAC3D,UAAU,SAAS,YAAY;AAAA,UAC/B,WAAW,SAAS,aAAa;AAAA,UACjC,UAAU,SAAS,YAAY;AAAA,QAAA,CAC/B;AAAA,MAAA,QACM;AAAA,MAAA,UACR;AAAU,oBAAY,QAAQ;AAAA,MAAM;AAAA,IACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzND,GAAG,gBAAgB,SAAS;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/address/index.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/address/index.js.map deleted file mode 100644 index d3325747..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/address/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sources":["pages/address/index.vue","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvYWRkcmVzcy9pbmRleC52dWU"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'F:/gitCode/uniapp/JewelryMall/miniprogram/pages/address/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni","useUserStore","reactive","updateAddress","addAddress","deleteAddress","getAddressList","onMounted"],"mappings":";;;;;;;;AAkFM,UAAA,kBAAkBA,kBAAI,EAAE;AACxB,UAAA,eAAeA,kBAAI,EAAE;AACvB,QAAA;AACI,YAAA,UAAUC,oBAAI;AACJ,sBAAA,QAAQ,QAAQ,mBAAmB;AAE7C,YAAA,UAAUA,oBAAI;AACpB,mBAAa,SAAS,QAAQ,OAAO,QAAQ,mBAAmB,OAAO,IAAI,QAAQ;AAAA,IAAA,QAE7E;AAAA,IAAiB;AAEzB,aAAS,SAAS;AAChBA,oBAAAA,MAAI,aAAa,EAAE,OAAO,EAAG,CAAA;AAAA,IAC/B;AAEA,UAAM,YAAYC,WAAAA;AACZ,UAAA,WAAWF,kBAAI,KAAK;AACpB,UAAA,YAAYA,kBAAmB,IAAI;AAEzC,UAAM,OAAOG,cAAAA,SAAS;AAAA,MACpB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,MAAM;AAAA,MACN,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,WAAW;AAAA,IAAA,CACZ;AAED,aAAS,YAAY;AACnB,WAAK,OAAO;AACZ,WAAK,QAAQ;AACb,WAAK,WAAW;AAChB,WAAK,OAAO;AACZ,WAAK,WAAW;AAChB,WAAK,SAAS;AACd,WAAK,YAAY;AACjB,gBAAU,QAAQ;AAAA,IACpB;AAEA,aAAS,gBAAgB;AACb;AACV,eAAS,QAAQ;AAAA,IACnB;AAEA,aAAS,YAAY,MAAe;AAClC,gBAAU,QAAQ,KAAK;AACvB,WAAK,OAAO,KAAK;AACjB,WAAK,QAAQ,KAAK;AAClB,WAAK,WAAW,KAAK;AACrB,WAAK,OAAO,KAAK;AACjB,WAAK,WAAW,KAAK;AACrB,WAAK,SAAS,KAAK;AACnB,WAAK,YAAY,KAAK;AACtB,eAAS,QAAQ;AAAA,IACnB;AAEA,mBAAe,aAAa;AACtB,UAAA,CAAC,KAAK,QAAQ,CAAC,KAAK,SAAS,CAAC,KAAK,QAAQ;AAC7CF,sBAAA,MAAI,UAAU,EAAE,OAAO,WAAW,MAAM,QAAQ;AAChD;AAAA,MACF;AACI,UAAA;AACF,cAAM,OAAO;AAAA,UACX,MAAM,KAAK;AAAA,UACX,OAAO,KAAK;AAAA,UACZ,UAAU,KAAK;AAAA,UACf,MAAM,KAAK;AAAA,UACX,UAAU,KAAK;AAAA,UACf,QAAQ,KAAK;AAAA,UACb,WAAW,KAAK;AAAA,QAAA;AAElB,YAAI,UAAU,OAAO;AACb,gBAAAG,uBAAc,UAAU,OAAO,IAAI;AAAA,QAAA,OACpC;AACL,gBAAMC,SAAAA,WAAW,IAAI;AAAA,QACvB;AACA,iBAAS,QAAQ;AACjB,cAAM,cAAc;AACpBJ,sBAAA,MAAI,UAAU,EAAE,OAAO,QAAQ,MAAM,WAAW;AAAA,MAAA,QAC1C;AACNA,sBAAA,MAAI,UAAU,EAAE,OAAO,QAAQ,MAAM,QAAQ;AAAA,MAC/C;AAAA,IACF;AAEA,mBAAe,aAAa,IAAY;AACtCA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO;AAAA,QACP,SAAS;AAAA,QACT,SAAS,OAAO,QAAQ;AACtB,cAAI,IAAI,SAAS;AACX,gBAAA;AACF,oBAAMK,SAAAA,cAAc,EAAE;AACtB,oBAAM,cAAc;AACpBL,4BAAA,MAAI,UAAU,EAAE,OAAO,OAAO,MAAM,WAAW;AAAA,YAAA,QACzC;AACNA,4BAAA,MAAI,UAAU,EAAE,OAAO,QAAQ,MAAM,QAAQ;AAAA,YAC/C;AAAA,UACF;AAAA,QACF;AAAA,MAAA,CACD;AAAA,IACH;AAEA,mBAAe,gBAAgB;AACzB,UAAA;AACI,cAAA,OAAO,MAAMM,SAAAA;AACnB,kBAAU,aAAa,IAAI;AAAA,MAAA,QACrB;AAAA,MAER;AAAA,IACF;AAEAC,kBAAAA,UAAU,MAAM;AACA;IAAA,CACf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnMD,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/calculator/index.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/calculator/index.js.map deleted file mode 100644 index 4889a987..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/calculator/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sources":["pages/calculator/index.vue","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvY2FsY3VsYXRvci9pbmRleC52dWU"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'F:/gitCode/uniapp/JewelryMall/miniprogram/pages/calculator/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni","reactive","computed","calculateRing"],"mappings":";;;;;;;AAwDM,UAAA,kBAAkBA,kBAAI,EAAE;AACxB,UAAA,eAAeA,kBAAI,EAAE;AACvB,QAAA;AACI,YAAA,UAAUC,oBAAI;AACJ,sBAAA,QAAQ,QAAQ,mBAAmB;AAE7C,YAAA,UAAUA,oBAAI;AACpB,mBAAa,SAAS,QAAQ,OAAO,QAAQ,mBAAmB,OAAO,IAAI,QAAQ;AAAA,IAAA,QAE7E;AAAA,IAAiB;AAEzB,aAAS,SAAS;AAChBA,oBAAAA,MAAI,aAAa,EAAE,OAAO,EAAG,CAAA;AAAA,IAC/B;AAQA,UAAM,cAA0B;AAAA,MAC9B,EAAE,KAAK,cAAc,OAAO,MAAM,MAAM,IAAI;AAAA,MAC5C,EAAE,KAAK,mBAAmB,OAAO,OAAO,MAAM,KAAK;AAAA,MACnD,EAAE,KAAK,mBAAmB,OAAO,OAAO,MAAM,KAAK;AAAA,MACnD,EAAE,KAAK,YAAY,OAAO,MAAM,MAAM,KAAK;AAAA,MAC3C,EAAE,KAAK,iBAAiB,OAAO,QAAQ,MAAM,IAAI;AAAA,IAAA;AAGnD,UAAM,YAAwB;AAAA,MAC5B,EAAE,KAAK,sBAAsB,OAAO,QAAQ,MAAM,IAAI;AAAA,MACtD,EAAE,KAAK,sBAAsB,OAAO,QAAQ,MAAM,IAAI;AAAA,MACtD,EAAE,KAAK,kBAAkB,OAAO,QAAQ,MAAM,IAAI;AAAA,MAClD,EAAE,KAAK,mBAAmB,OAAO,OAAO,MAAM,MAAM;AAAA,MACpD,EAAE,KAAK,uBAAuB,OAAO,QAAQ,MAAM,IAAI;AAAA,MACvD,EAAE,KAAK,aAAa,OAAO,SAAS,MAAM,IAAI;AAAA,MAC9C,EAAE,KAAK,kBAAkB,OAAO,QAAQ,MAAM,IAAI;AAAA,MAClD,EAAE,KAAK,aAAa,OAAO,QAAQ,MAAM,IAAI;AAAA,IAAA;AAG/C,UAAM,OAAOC,cAAAA,SAA8B;AAAA,MACzC,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,iBAAiB;AAAA,MACjB,UAAU;AAAA,MACV,eAAe;AAAA,MACf,oBAAoB;AAAA,MACpB,oBAAoB;AAAA,MACpB,gBAAgB;AAAA,MAChB,iBAAiB;AAAA,MACjB,qBAAqB;AAAA,MACrB,WAAW;AAAA,MACX,gBAAgB;AAAA,MAChB,WAAW;AAAA,IAAA,CACZ;AAEK,UAAA,SAASA,uBAA6D,CAAA,CAAE;AAErE,aAAA,QAAQ,KAAgC,OAAsC;AAC/E,YAAA,MAAM,MAAM,OAAO;AACnB,YAAA,MAAM,OAAO,GAAG;AAElB,UAAA,QAAQ,MAAM,QAAQ,KAAK;AAC7B,aAAK,GAAG,IAAI;AACZ,eAAO,OAAO,GAAG;AACjB;AAAA,MACF;AAEI,UAAA,MAAM,GAAG,GAAG;AACd,eAAO,GAAG,IAAI;AACd;AAAA,MACF;AAEA,UAAI,MAAM,GAAG;AACX,eAAO,GAAG,IAAI;AACd;AAAA,MACF;AAEA,aAAO,OAAO,GAAG;AACjB,WAAK,GAAG,IAAI;AAAA,IACd;AAEM,UAAA,SAASC,cAAAA,SAAsC,MAAM;AACzD,YAAM,YAAY,OAAO,KAAK,MAAM,EAAE,SAAS;AAC3C,UAAA;AAAkB,eAAA;AAClB,UAAA;AACF,eAAOC,+BAAc,EAAE,GAAG,KAAA,CAAM;AAAA,MAAA,QAC1B;AACC,eAAA;AAAA,MACT;AAAA,IAAA,CACD;AAEK,UAAA,aAAaD,cAAAA,SAAS,MAAM;AAChC,YAAM,IAAI,OAAO;AACjB,UAAI,CAAC;AAAG,eAAO;AACR,aAAA;AAAA,QACL,EAAE,OAAO,OAAO,OAAO,EAAE,cAAc,QAAQ,CAAC,IAAI,KAAK;AAAA,QACzD,EAAE,OAAO,OAAO,OAAO,EAAE,eAAe,QAAQ,CAAC,IAAI,KAAK;AAAA,QAC1D,EAAE,OAAO,MAAM,OAAO,MAAM,EAAE,UAAU,QAAQ,CAAC,EAAE;AAAA,QACnD,EAAE,OAAO,QAAQ,OAAO,MAAM,EAAE,eAAe,QAAQ,CAAC,EAAE;AAAA,QAC1D,EAAE,OAAO,QAAQ,OAAO,MAAM,EAAE,eAAe,QAAQ,CAAC,EAAE;AAAA,QAC1D,EAAE,OAAO,QAAQ,OAAO,MAAM,EAAE,kBAAkB,QAAQ,CAAC,EAAE;AAAA,QAC7D,EAAE,OAAO,MAAM,OAAO,MAAM,EAAE,WAAW,QAAQ,CAAC,EAAE;AAAA,MAAA;AAAA,IACtD,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/JD,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/cart/index.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/cart/index.js.map deleted file mode 100644 index c2016d3a..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/cart/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sources":["pages/cart/index.vue","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvY2FydC9pbmRleC52dWU"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'F:/gitCode/uniapp/JewelryMall/miniprogram/pages/cart/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["BASE_URL","useCartStore","ref","computed","onMounted","uni"],"mappings":";;;;;;;;AA6EA,aAAS,QAAQ,MAAsB;AACrC,UAAI,CAAC;AAAa,eAAA;AACd,UAAA,KAAK,WAAW,MAAM;AAAU,eAAA;AACpC,aAAOA,cAAAA,WAAW;AAAA,IACpB;AAEA,UAAM,YAAYC,WAAAA;AAEZ,UAAA,kBAAkBC,kBAAI,CAAC;AACvB,UAAA,eAAeA,kBAAI,EAAE;AAE3B,UAAM,eAAeC,cAAA;AAAA,MAAS,MAC5B,UAAU,MAAM,SAAS,KAAK,UAAU,MAAM,MAAM,CAAC,SAAS,KAAK,OAAO;AAAA,IAAA;AAG5EC,kBAAAA,UAAU,MAAM;AACR,YAAA,UAAUC,oBAAI;AACJ,sBAAA,QAAQ,QAAQ,mBAAmB;AAC7C,YAAA,UAAUA,oBAAI;AACpB,mBAAa,QAAQ,QAAQ,UAAU,QAAQ,OAAO,QAAQ,mBAAmB,MAAM;AAEvF,gBAAU,UAAU;AAAA,IAAA,CACrB;AAQD,aAAS,eAAe;AAClB,UAAA,UAAU,aAAa,WAAW,GAAG;AACvCA,sBAAA,MAAI,UAAU,EAAE,OAAO,UAAU,MAAM,QAAQ;AAC/C;AAAA,MACF;AACM,YAAA,QAAQA,cAAAA,MAAI,eAAe,OAAO;AACxC,UAAI,CAAC,OAAO;AACVA,sBAAAA,MAAI,WAAW,EAAE,KAAK,qBAAsB,CAAA;AAC5C;AAAA,MACF;AACAA,oBAAAA,MAAI,WAAW,EAAE,KAAK,sBAAuB,CAAA;AAAA,IAC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrHA,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/category/index.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/category/index.js.map deleted file mode 100644 index 5862a615..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/category/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sources":["pages/category/index.vue","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvY2F0ZWdvcnkvaW5kZXgudnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n","import MiniProgramPage from 'F:/gitCode/uniapp/JewelryMall/miniprogram/pages/category/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","reactive","BASE_URL","uni","get","onMounted"],"mappings":";;;;;;;AAqDO,UAAA,kBAAkBA,kBAAI,CAAC;AACvB,UAAA,eAAeA,kBAAI,EAAE;AACrB,UAAA,eAAeA,kBAAI,EAAE;AACrB,UAAA,aAAaA,kBAAI,CAAC;AAClB,UAAA,UAAUA,kBAAW,CAAA,CAAE;AACvB,UAAA,kBAAkBC,uBAAiC,CAAA,CAAE;AACrD,UAAA,WAAWD,kBAAW,CAAA,CAAE;AACxB,UAAA,UAAUA,kBAAI,KAAK;AAEzB,aAAS,QAAQ,MAAwB;AACxC,UAAI,CAAC;AAAa,eAAA;AACd,UAAA,KAAK,WAAW,MAAM;AAAU,eAAA;AACpC,aAAOE,cAAAA,WAAW;AAAA,IACnB;AAEA,aAAS,SAAS;AACjBC,oBAAA,MAAI,aAAa;AAAA,IAClB;AAEA,aAAS,SAAS,IAAa;AAC9BA,oBAAA,MAAI,WAAW,EAAE,KAAK,4BAA4B,EAAE,IAAI;AAAA,IACzD;AAES,aAAA,aAAa,KAAc,OAAgB;AAC/C,UAAA,gBAAgB,GAAG,MAAM,OAAO;AACnC,eAAO,gBAAgB,GAAG;AAAA,MAAA,OACpB;AACN,wBAAgB,GAAG,IAAI;AAAA,MACxB;AACa;IACd;AAEA,mBAAe,cAAc;AACxB,UAAA;AACH,cAAM,MAAM,MAAMC,cAAAA,IAAW,mBAAmB,WAAW,KAAK,UAAU;AAClE,gBAAA,QAAQ,OAAO;MAAC,QACjB;AAAE,gBAAQ,QAAQ;MAAG;AAAA,IAC9B;AAEA,mBAAe,eAAe;AAC7B,cAAQ,QAAQ;AACZ,UAAA;AACH,cAAM,SAA+B;AAAA,UACpC,YAAY,WAAW;AAAA,UACvB,UAAU;AAAA,QAAA;AAGX,eAAO,KAAK,eAAe,EAAE,QAAQ,CAAO,QAAA;AAC3C,cAAI,gBAAgB,GAAG;AAAU,mBAAA,GAAG,IAAI,gBAAgB,GAAG;AAAA,QAAA,CAC3D;AACD,cAAM,MAAM,MAAMA,cAAAA,IAAsC,iBAAiB,MAAM;AACtE,iBAAA,SAAQ,2BAAK,SAAQ,CAAA;AAAA,MAAC,QACxB;AAAE,iBAAS,QAAQ;MAAC,UAC5B;AAAU,gBAAQ,QAAQ;AAAA,MAAM;AAAA,IACjC;AAEAC,kBAAAA,UAAU,MAAM;;AACT,YAAA,UAAUF,oBAAI;AACJ,sBAAA,QAAQ,QAAQ,mBAAmB;AAC7C,YAAA,UAAUA,oBAAI;AACpB,mBAAa,QAAQ,QAAQ,UAAU,QAAQ,OAAO,QAAQ,mBAAmB,MAAM;AAEvF,YAAM,QAAQ;AACd,YAAM,cAAc,MAAM,MAAM,SAAS,CAAC;AAC1C,iBAAW,QAAQ,SAAO,iBAAY,YAAZ,mBAAqB,OAAM,CAAC;AACtD,mBAAa,QAAQ,qBAAmB,iBAAY,YAAZ,mBAAqB,SAAQ,EAAE;AAE3D;AACC;IAAA,CACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzHF,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map deleted file mode 100644 index 05aa0eb1..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sources":["pages/index/index.vue","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaW5kZXgvaW5kZXgudnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n","import MiniProgramPage from 'F:/gitCode/uniapp/JewelryMall/miniprogram/pages/index/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni","BASE_URL","getCategories","getProducts","onMounted"],"mappings":";;;;;;;;AA8EC,MAAA,cAAwB,MAAA;AACxB,MAAA,qBAA+B,MAAA;AAS/B,MAAM,WAAW;;;;AAPX,UAAA,WAAWA,kBAAe,CAAA,CAAE;AAC5B,UAAA,aAAaA,kBAAgB,CAAA,CAAE;AAC/B,UAAA,mBAAmBA,cAAAA,IAAwB,MAAS;AACpD,UAAA,UAAUA,kBAAI,KAAK;AACnB,UAAA,aAAaA,kBAAI,KAAK;AACtB,UAAA,OAAOA,kBAAI,CAAC;AACZ,UAAA,UAAUA,kBAAI,EAAE;AAIhB,UAAA,kBAAkBA,kBAAI,EAAE;AACxB,UAAA,eAAeA,kBAAI,EAAE;AAEvB,QAAA;AACG,YAAA,UAAUC,oBAAI;AACJ,sBAAA,QAAQ,QAAQ,mBAAmB;AAE7C,YAAA,UAAUA,oBAAI;AACpB,mBAAa,SAAS,QAAQ,OAAO,QAAQ,mBAAmB,OAAO,IAAI,QAAQ;AAAA,IAAA,QAE5E;AAAA,IAAiB;AAEzB,aAAS,QAAQ,MAAwB;AACxC,UAAI,CAAC;AAAa,eAAA;AACd,UAAA,KAAK,WAAW,MAAM;AAAU,eAAA;AACpC,aAAOC,cAAAA,WAAW;AAAA,IACnB;AAEA,mBAAe,iBAAiB;AAC3B,UAAA;AACG,cAAA,OAAO,MAAMC,YAAAA;AACnB,mBAAW,QAAQ;AAAA,MAAA,QACZ;AAAA,MAAgB;AAAA,IACzB;AAEe,mBAAA,aAAa,QAAQ,OAAO;AAC1C,UAAI,OAAO;AAAE,aAAK,QAAQ;AAAG,iBAAS,QAAQ;MAAG;AACjD,cAAQ,QAAQ;AACZ,UAAA;AACH,cAAM,SAAmC,EAAE,MAAM,KAAK,OAAO,SAAS;AACtE,YAAI,iBAAiB;AAAO,iBAAO,aAAa,iBAAiB;AACjE,YAAI,QAAQ;AAAO,iBAAO,UAAU,QAAQ;AACtC,cAAA,OAAO,MAAMC,wBAAY,MAAa;AAC5C,YAAI,OAAO;AAAE,mBAAS,QAAQ,KAAK;AAAA,QAAA,OAAY;AAAE,mBAAS,MAAM,KAAK,GAAG,KAAK,IAAI;AAAA,QAAE;AAAA,MAAA,QAC5E;AAAA,MAAA,UACR;AAAU,gBAAQ,QAAQ;AAAA,MAAM;AAAA,IACjC;AAEA,aAAS,eAAe,IAAa;AAC9B,YAAA,MAAM,WAAW,MAAM,KAAK,CAAC,MAAW,EAAE,OAAO,EAAE;AACzD,YAAM,OAAO,MAAM,mBAAmB,IAAI,IAAI,IAAI;AAC9CH,0BAAA,WAAW,EAAE,KAAK,4BAA4B,EAAE,SAAS,IAAI,IAAI;AAAA,IACtE;AAEA,aAAS,WAAW;AACf,UAAA,CAAC,QAAQ,MAAM,KAAK;AAAG;AACvBA,oBAAAA,MAAA,WAAW,EAAE,KAAK,+BAA+B,mBAAmB,QAAQ,MAAM,KAAK,CAAC,CAAC,GAAI,CAAA;AAAA,IAClG;AAEA,aAAS,eAAe;AACvBA,oBAAAA,MAAI,WAAW,EAAE,KAAK,0BAA2B,CAAA;AAAA,IAClD;AAEAI,kBAAAA,UAAU,MAAM;AAAiB;AAAG,mBAAa,IAAI;AAAA,IAAA,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/IzD,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/index.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/index.js.map deleted file mode 100644 index 1f85c6cf..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sources":["pages/login/index.vue","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbG9naW4vaW5kZXgudnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'F:/gitCode/uniapp/JewelryMall/miniprogram/pages/login/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","useUserStore","autoLogin","uni"],"mappings":";;;;;;;;AAwBM,UAAA,UAAUA,kBAAI,KAAK;AACzB,UAAM,YAAYC,WAAAA;AAElB,mBAAe,cAAc;AAC3B,UAAI,QAAQ;AAAO;AACnB,cAAQ,QAAQ;AACZ,UAAA;AACF,cAAMC,cAAU,UAAA;AAChB,cAAM,UAAU;AAChBC,sBAAA,MAAI,UAAU,EAAE,OAAO,QAAQ,MAAM,WAAW;AAChD,mBAAW,MAAM;AACfA,wBAAAA,MAAI,aAAa,EAAE,OAAO,GAAG,MAAM,MAAM;AACvCA,0BAAAA,MAAI,UAAU,EAAE,KAAK,qBAAsB,CAAA;AAAA,aAC3C;AAAA,WACD,GAAG;AAAA,MAAA,QACA;AACNA,sBAAA,MAAI,UAAU,EAAE,OAAO,YAAY,MAAM,QAAQ;AAAA,MAAA,UACjD;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IACF;AAEA,aAAS,SAAS;AAChBA,oBAAAA,MAAI,aAAa,EAAE,OAAO,GAAG,MAAM,MAAM;AACvCA,sBAAAA,MAAI,UAAU,EAAE,KAAK,qBAAsB,CAAA;AAAA,SAC3C;AAAA,IACJ;;;;;;;;;;;;ACjDA,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/index.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/index.js.map deleted file mode 100644 index 0c91b954..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sources":["pages/mine/index.vue","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbWluZS9pbmRleC52dWU"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'F:/gitCode/uniapp/JewelryMall/miniprogram/pages/mine/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["useUserStore","ref","uni","getOrderList","onShow"],"mappings":";;;;;;;;AA+EA,MAAA,qBAA+B,MAAA;;;;AAE/B,UAAM,YAAYA,WAAAA;AACZ,UAAA,aAAaC,kBAAI,KAAK;AACtB,UAAA,YAAYA,kBAAI,KAAK;AACrB,UAAA,aAAaA,kBAAI,CAAC;AAClB,UAAA,aAAaA,kBAAI,KAAK;AAEtB,UAAA,kBAAkBA,kBAAI,EAAE;AACxB,UAAA,eAAeA,kBAAI,EAAE;AACvB,QAAA;AACI,YAAA,UAAUC,oBAAI;AACJ,sBAAA,QAAQ,QAAQ,mBAAmB;AAE7C,YAAA,UAAUA,oBAAI;AACpB,mBAAa,SAAS,QAAQ,OAAO,QAAQ,mBAAmB,OAAO,IAAI,QAAQ;AAAA,IAAA,QAE7E;AAAA,IAAiB;AAEzB,aAAS,cAAc;AACf,YAAA,QAAQA,cAAAA,MAAI,eAAe,OAAO;AAC7B,iBAAA,QAAQ,CAAC,CAAC;AACrB,UAAI,OAAO;AACT,kBAAU,aAAa;AACVC,+BAAA,EAAE,KAAK,CAAC,SAAc;AACtB,qBAAA,QAAQ,MAAM,QAAQ,IAAI,IAAI,KAAK,UAAU,6BAAM,UAAS;AAAA,QAAA,CACxE,EAAE,MAAM,MAAM;AAAA,QAAA,CAAE;AAAA,MACnB;AAAA,IACF;AAEAC,kBAAAA,OAAO,MAAM;AACC;IAAA,CACb;AAED,aAAS,sBAAsB;AACzB,UAAA,CAAC,WAAW,OAAO;AACrBF,sBAAAA,MAAI,WAAW,EAAE,KAAK,qBAAsB,CAAA;AAAA,MAC9C;AAAA,IACF;AAEA,aAAS,WAAW,KAAa;AACzB,YAAA,QAAQA,cAAAA,MAAI,eAAe,OAAO;AACxC,UAAI,CAAC,OAAO;AACVA,sBAAAA,MAAI,WAAW,EAAE,KAAK,qBAAsB,CAAA;AAC5C;AAAA,MACF;AACIA,oBAAAA,MAAA,WAAW,EAAE,IAAA,CAAK;AAAA,IACxB;AAEA,aAAS,cAAc,MAA0B;AACzC,YAAA,QAAQ,SAAS,SAAS,SAAS;AACzCA,oBAAAA,MAAI,UAAU;AAAA,QACZ;AAAA,QACA,SAAS,SAAS,SACd,sCACA;AAAA,QACJ,YAAY;AAAA,QACZ,aAAa;AAAA,MAAA,CACd;AAAA,IACH;AAEA,aAAS,eAAe;AACtBA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO;AAAA,QACP,SAAS;AAAA,QACT,SAAS,CAAC,QAAQ;AAChB,cAAI,IAAI,SAAS;AACf,sBAAU,OAAO;AACjB,uBAAW,QAAQ;AACnB,uBAAW,QAAQ;AACnBA,0BAAA,MAAI,UAAU,EAAE,OAAO,SAAS,MAAM,WAAW;AACjD,uBAAW,MAAM;AACfA,4BAAAA,MAAI,UAAU,EAAE,KAAK,qBAAsB,CAAA;AAAA,eAC1C,GAAI;AAAA,UACT;AAAA,QACF;AAAA,MAAA,CACD;AAAA,IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3JA,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/mold/index.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/mold/index.js.map deleted file mode 100644 index 63046921..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/mold/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sources":["pages/mold/index.vue","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvbW9sZC9pbmRleC52dWU"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'F:/gitCode/uniapp/JewelryMall/miniprogram/pages/mold/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni","computed","searchMolds","BASE_URL","get","onMounted","onShow"],"mappings":";;;;;;;AAqEM,UAAA,QAAQA,kBAAgB,CAAA,CAAE;AAC1B,UAAA,UAAUA,kBAAI,EAAE;AAChB,UAAA,UAAUA,kBAAI,KAAK;AAEnB,UAAA,kBAAkBA,kBAAI,EAAE;AACxB,UAAA,eAAeA,kBAAI,EAAE;AACvB,QAAA;AACI,YAAA,UAAUC,oBAAI;AACJ,sBAAA,QAAQ,QAAQ,mBAAmB;AAE7C,YAAA,UAAUA,oBAAI;AACpB,mBAAa,SAAS,QAAQ,OAAO,QAAQ,mBAAmB,OAAO,IAAI,QAAQ;AAAA,IAAA,QAE7E;AAAA,IAAiB;AAEnB,UAAA,gBAAgBC,uBAAS,MAAMC,iBAAA,YAAY,MAAM,OAAO,QAAQ,KAAK,CAAC;AAE5E,aAAS,QAAQ,MAAsB;AACrC,UAAI,CAAC;AAAa,eAAA;AACd,UAAA,KAAK,WAAW,MAAM;AAAU,eAAA;AACpC,aAAOC,cAAAA,WAAW;AAAA,IACpB;AAEA,aAAS,YAAY,QAAuB;AACtC,UAAA,MAAM,QAAQ,MAAM;AAAU,eAAA;AAC9B,UAAA,OAAO,WAAW,UAAU;AAC1B,YAAA;AAAS,iBAAA,KAAK,MAAM,MAAM;AAAA,QAAA,QAAU;AAAE,iBAAO;QAAG;AAAA,MACtD;AACA,aAAO;IACT;AAEA,aAAS,cAAc,GAAkC;AAC/C,cAAA,QAAQ,EAAE,OAAO;AAAA,IAC3B;AAEA,aAAS,WAAW;AAAA,IAEpB;AAES,aAAA,aAAa,QAAkB,SAAiB;AACvD,YAAM,OAAO,OAAO,IAAI,CAAO,QAAA,QAAQ,GAAG,CAAC;AAC3CH,oBAAA,MAAI,aAAa,EAAE,MAAM,SAAS,KAAK,OAAO,GAAG;AAAA,IACnD;AAEA,aAAS,iBAAiB;AACxBA,oBAAAA,MAAI,UAAU;AAAA,QACZ,OAAO;AAAA,QACP,SAAS;AAAA,QACT,YAAY;AAAA,MAAA,CACb;AAAA,IACH;AAEA,mBAAe,YAAY;AACzB,cAAQ,QAAQ;AACZ,UAAA;AACF,cAAM,MAAM,MAAMI,kBAAoC,cAAc,EAAE,UAAU,KAAY;AACtF,cAAA,QAAO,2BAAK,SAAQ;AAC1B,cAAM,QAAQ,KAAK,IAAI,CAAC,OAAY;AAAA,UAClC,GAAG;AAAA,UACH,QAAQ,YAAY,EAAE,MAAM;AAAA,QAC5B,EAAA;AAAA,MAAA,QACI;AAAA,MAAA,UAEN;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IACF;AAEAC,kBAAAA,UAAU,MAAM;AACJ;IAAA,CACX;AAEDC,kBAAAA,OAAO,MAAM;AACD;IAAA,CACX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9ID,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/detail.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/detail.js.map deleted file mode 100644 index e1efe3a2..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/detail.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"detail.js","sources":["pages/order/detail.vue","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvb3JkZXIvZGV0YWlsLnZ1ZQ"],"sourcesContent":["\r\n\r\n\r\n\r\n","import MiniProgramPage from 'F:/gitCode/uniapp/JewelryMall/miniprogram/pages/order/detail.vue'\nwx.createPage(MiniProgramPage)"],"names":["useOrderStore","ref","uni","BASE_URL","onMounted","onShow","getOrderDetail","cancelOrder"],"mappings":";;;;;;;;;AAoGC,UAAM,aAAaA,YAAAA;AACb,UAAA,QAAQC,kBAAkB,IAAI;AAC9B,UAAA,aAAaA,kBAAiB,CAAA,CAAE;AAChC,UAAA,UAAUA,kBAAI,CAAC;AAEf,UAAA,kBAAkBA,kBAAI,EAAE;AACxB,UAAA,eAAeA,kBAAI,EAAE;AACvB,QAAA;AACG,YAAA,UAAUC,oBAAI;AACJ,sBAAA,QAAQ,QAAQ,mBAAmB;AAE7C,YAAA,UAAUA,oBAAI;AACpB,mBAAa,SAAS,QAAQ,OAAO,QAAQ,mBAAmB,OAAO,IAAI,QAAQ;AAAA,IAAA,QAE5E;AAAA,IAAiB;AAEzB,aAAS,SAAS;AACjBA,oBAAAA,MAAI,aAAa,EAAE,OAAO,EAAG,CAAA;AAAA,IAC9B;AAEA,aAAS,QAAQ,MAAwB;AACxC,UAAI,CAAC;AAAa,eAAA;AACd,UAAA,KAAK,WAAW,MAAM;AAAU,eAAA;AACpC,aAAOC,cAAAA,WAAW;AAAA,IACnB;AAEA,aAAS,aAAa,MAA2B;;AAC1C,YAAA,QAAO,UAAK,YAAL,mBAAc;AACvB,UAAA,QAAQ,KAAK,SAAS;AAAU,eAAA,QAAQ,KAAK,CAAC,CAAC;AAC7C,YAAA,SAAS,UAAK,YAAL,mBAAsB;AACjC,UAAA;AAAO,eAAO,QAAQ,KAAK;AACxB,aAAA;AAAA,IACR;AAEAC,kBAAAA,UAAU,MAAM;;AACf,YAAM,QAAQ;AACd,YAAM,cAAc,MAAM,MAAM,SAAS,CAAC;AAC1C,cAAQ,QAAQ,QAAO,iBAAY,YAAZ,mBAAqB,EAAE;AAC9C,UAAI,QAAQ;AAAO,kBAAU,QAAQ,KAAK;AAAA,IAAA,CAC1C;AAEDC,kBAAAA,OAAO,MAAM;AACZ,UAAI,QAAQ;AAAO,kBAAU,QAAQ,KAAK;AAAA,IAAA,CAC1C;AAED,mBAAe,UAAU,IAAa;AACjC,UAAA;AACG,cAAA,OAAO,MAAMC,yBAAe,EAAE;AACpC,cAAM,QAAQ;AACH,mBAAA,QAAQ,KAAK,SAAS,CAAA;AACjC,mBAAW,gBAAgB,IAAI;AAAA,MAAA,QACxB;AACPJ,sBAAA,MAAI,UAAU,EAAE,OAAO,UAAU,MAAM,QAAQ;AAAA,MAChD;AAAA,IACD;AAEA,mBAAe,eAAe;AAC7B,UAAI,CAAC,MAAM;AAAO;AAClBA,oBAAAA,MAAI,UAAU;AAAA,QACb,OAAO;AAAA,QACP,SAAS;AAAA,QACT,SAAS,OAAO,QAAQ;AACnB,cAAA,IAAI,WAAW,MAAM,OAAO;AAC3B,gBAAA;AACG,oBAAAK,sBAAY,MAAM,MAAM,EAAE;AAChC,oBAAM,MAAM,SAAS;AACrB,yBAAW,kBAAkB,MAAM,MAAM,IAAI,WAAW;AACxDL,4BAAA,MAAI,UAAU,EAAE,OAAO,SAAS,MAAM,WAAW;AAAA,YAAA,QAC1C;AACPA,4BAAA,MAAI,UAAU,EAAE,OAAO,UAAU,MAAM,QAAQ;AAAA,YAChD;AAAA,UACD;AAAA,QACD;AAAA,MAAA,CACA;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7KD,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/list.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/list.js.map deleted file mode 100644 index 3a807cef..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/list.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"list.js","sources":["pages/order/list.vue","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvb3JkZXIvbGlzdC52dWU"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'F:/gitCode/uniapp/JewelryMall/miniprogram/pages/order/list.vue'\nwx.createPage(MiniProgramPage)"],"names":["useOrderStore","ref","uni","getOrderList","onMounted","onShow"],"mappings":";;;;;;;;AA4CA,UAAM,aAAaA,YAAAA;AACb,UAAA,SAASC,kBAAa,CAAA,CAAE;AACxB,UAAA,UAAUA,kBAAI,KAAK;AAEnB,UAAA,kBAAkBA,kBAAI,EAAE;AACxB,UAAA,eAAeA,kBAAI,EAAE;AACvB,QAAA;AACI,YAAA,UAAUC,oBAAI;AACJ,sBAAA,QAAQ,QAAQ,mBAAmB;AAE7C,YAAA,UAAUA,oBAAI;AACpB,mBAAa,SAAS,QAAQ,OAAO,QAAQ,mBAAmB,OAAO,IAAI,QAAQ;AAAA,IAAA,QAE7E;AAAA,IAAiB;AAEzB,aAAS,SAAS;AAChBA,oBAAAA,MAAI,aAAa,EAAE,OAAO,EAAG,CAAA;AAAA,IAC/B;AAaA,aAAS,WAAW,KAAqB;AACjC,YAAA,IAAI,IAAI,KAAK,GAAG;AAChB,YAAA,IAAI,EAAE;AACN,YAAA,IAAI,OAAO,EAAE,SAAA,IAAa,CAAC,EAAE,SAAS,GAAG,GAAG;AAC5C,YAAA,IAAI,OAAO,EAAE,QAAS,CAAA,EAAE,SAAS,GAAG,GAAG;AACvC,YAAA,IAAI,OAAO,EAAE,SAAU,CAAA,EAAE,SAAS,GAAG,GAAG;AACxC,YAAA,IAAI,OAAO,EAAE,WAAY,CAAA,EAAE,SAAS,GAAG,GAAG;AACzC,aAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAAA,IACjC;AAEA,aAAS,SAAS,IAAY;AAC5BA,oBAAA,MAAI,WAAW,EAAE,KAAK,0BAA0B,EAAE,IAAI;AAAA,IACxD;AAEA,mBAAe,aAAa;AAC1B,cAAQ,QAAQ;AACZ,UAAA;AACI,cAAA,OAAO,MAAMC,UAAAA;AACnB,eAAO,QAAQ;AACf,mBAAW,UAAU,IAAI;AAAA,MAAA,QACnB;AACND,sBAAA,MAAI,UAAU,EAAE,OAAO,UAAU,MAAM,QAAQ;AAAA,MAAA,UAC/C;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IACF;AAGAE,kBAAAA,UAAU,MAAM;AACH;IAAA,CACZ;AAGDC,kBAAAA,OAAO,MAAM;AACA;IAAA,CACZ;;;;;;;;;;;;;;;;;;;;;;;;;AC5GD,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/submit.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/submit.js.map deleted file mode 100644 index b9367492..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/submit.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"submit.js","sources":["pages/order/submit.vue","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvb3JkZXIvc3VibWl0LnZ1ZQ"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'F:/gitCode/uniapp/JewelryMall/miniprogram/pages/order/submit.vue'\nwx.createPage(MiniProgramPage)"],"names":["useCartStore","ref","BASE_URL","uni","computed","createOrder","onMounted"],"mappings":";;;;;;;;;AA+GA,UAAM,YAAYA,WAAAA;AAEZ,UAAA,kBAAkBC,kBAAI,CAAC;AACvB,UAAA,eAAeA,kBAAI,EAAE;AACrB,UAAA,eAAeA,kBAAI,EAAE;AACrB,UAAA,gBAAgBA,kBAAI,EAAE;AACtB,UAAA,kBAAkBA,kBAAI,EAAE;AACxB,UAAA,SAASA,kBAAI,EAAE;AACf,UAAA,SAASA,kBAAI,KAAK;AAClB,UAAA,aAAaA,kBAAI,KAAK;AAE5B,aAAS,QAAQ,MAAsB;AACrC,UAAI,CAAC;AAAa,eAAA;AACd,UAAA,KAAK,WAAW,MAAM;AAAU,eAAA;AACpC,aAAOC,cAAAA,WAAW;AAAA,IACpB;AAEA,aAAS,SAAS;AAChBC,oBAAA,MAAI,aAAa;AAAA,IACnB;AAGA,UAAM,aAAaC,cAAA,SAAqB,MAAM,UAAU,YAAY;AAEpE,UAAM,aAAaA,cAAA;AAAA,MAAS,MAC1B,WAAW,MAAM,OAAO,CAAC,KAAK,SAAS,MAAM,KAAK,SAAS,aAAa,KAAK,UAAU,CAAC;AAAA,IAAA;AAG1F,UAAM,YAAYA,cAAAA,SAAS,MAAM,OAAO,SAAS,CAAC,WAAW,KAAK;AAElE,mBAAe,eAAe;AAC5B,UAAI,CAAC,UAAU;AAAO;AAEtB,UAAI,CAAC,aAAa,MAAM,QAAQ;AAC9BD,sBAAA,MAAI,UAAU,EAAE,OAAO,YAAY,MAAM,QAAQ;AACjD;AAAA,MACF;AACA,UAAI,CAAC,cAAc,MAAM,QAAQ;AAC/BA,sBAAA,MAAI,UAAU,EAAE,OAAO,WAAW,MAAM,QAAQ;AAChD;AAAA,MACF;AACA,UAAI,CAAC,gBAAgB,MAAM,QAAQ;AACjCA,sBAAA,MAAI,UAAU,EAAE,OAAO,WAAW,MAAM,QAAQ;AAChD;AAAA,MACF;AAEA,iBAAW,QAAQ;AACf,UAAA;AACI,cAAA,QAAQ,MAAME,sBAAY;AAAA,UAC9B,OAAO,WAAW,MAAM,IAAI,CAAC,UAAU;AAAA,YACrC,WAAW,KAAK;AAAA,YAChB,YAAY,KAAK;AAAA,YACjB,UAAU,KAAK;AAAA,YACf,WAAW,KAAK,SAAS;AAAA,UAAA,EACzB;AAAA,UACF,cAAc,aAAa,MAAM,KAAK;AAAA,UACtC,eAAe,cAAc,MAAM,KAAK;AAAA,UACxC,iBAAiB,gBAAgB,MAAM,KAAK;AAAA,QAAA,CAC7C;AAGU,mBAAA,QAAQ,WAAW,OAAO;AACzB,oBAAA,eAAe,KAAK,EAAE;AAAA,QAClC;AAEAF,4BAAI,WAAW,EAAE,KAAK,0BAA0B,MAAM,EAAE,IAAI;AAAA,MAAA,QACtD;AACNA,sBAAA,MAAI,UAAU,EAAE,OAAO,cAAc,MAAM,QAAQ;AAAA,MAAA,UACnD;AACA,mBAAW,QAAQ;AAAA,MACrB;AAAA,IACF;AAEAG,kBAAAA,UAAU,MAAM;AACR,YAAA,UAAUH,oBAAI;AACJ,sBAAA,QAAQ,QAAQ,mBAAmB;AAC7C,YAAA,UAAUA,oBAAI;AACpB,mBAAa,QAAQ,QAAQ,UAAU,QAAQ,OAAO,QAAQ,mBAAmB,MAAM;AAAA,IAAA,CACxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5LD,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/product/detail.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/product/detail.js.map deleted file mode 100644 index 6572000f..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/product/detail.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"detail.js","sources":["pages/product/detail.vue","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvcHJvZHVjdC9kZXRhaWwudnVl"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'F:/gitCode/uniapp/JewelryMall/miniprogram/pages/product/detail.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni","BASE_URL","onMounted","getProductDetail"],"mappings":";;;;;;;;AA4FA,MAAA,eAAyB,MAAA;AACzB,MAAA,iBAA2B,MAAA;AAC3B,MAAA,YAAsB,MAAA;AACtB,MAAA,qBAA+B,MAAA;;;;AAEzB,UAAA,UAAUA,kBAAoB,IAAI;AAClC,UAAA,gBAAgBA,kBAAI,KAAK;AACzB,UAAA,aAAaA,kBAAI,KAAK;AAEtB,UAAA,kBAAkBA,kBAAI,EAAE;AACxB,UAAA,eAAeA,kBAAI,EAAE;AACvB,QAAA;AACI,YAAA,UAAUC,oBAAI;AACJ,sBAAA,QAAQ,QAAQ,mBAAmB;AAE7C,YAAA,UAAUA,oBAAI;AACpB,mBAAa,SAAS,QAAQ,OAAO,QAAQ,mBAAmB,OAAO,IAAI,QAAQ;AAAA,IAAA,QAE7E;AAAA,IAAiB;AAEzB,aAAS,SAAS;AAChBA,oBAAAA,MAAI,aAAa,EAAE,OAAO,EAAG,CAAA;AAAA,IAC/B;AAEA,aAAS,QAAQ,MAAsB;AACrC,UAAI,CAAC;AAAa,eAAA;AACd,UAAA,KAAK,WAAW,MAAM;AAAU,eAAA;AACpC,aAAOC,cAAAA,WAAW;AAAA,IACpB;AAEA,aAAS,SAAS;AAChBD,oBAAAA,MAAI,UAAU,EAAE,KAAK,oBAAqB,CAAA;AAAA,IAC5C;AAEAE,kBAAAA,UAAU,MAAM;;AACd,YAAM,QAAQ;AACd,YAAM,cAAc,MAAM,MAAM,SAAS,CAAC;AAC1C,YAAM,KAAK,QAAO,iBAAY,YAAZ,mBAAqB,EAAE;AACrC,UAAA;AAAI,oBAAY,EAAE;AAAA,IAAA,CACvB;AAED,mBAAe,YAAY,IAAY;AACjC,UAAA;AACM,gBAAA,QAAQ,MAAMC,YAAA,iBAAiB,EAAE;AAAA,MAAA,QACnC;AACNH,sBAAA,MAAI,UAAU,EAAE,OAAO,UAAU,MAAM,QAAQ;AAAA,MACjD;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1IA,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/search/index.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/search/index.js.map deleted file mode 100644 index fc70b719..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/pages/search/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sources":["pages/search/index.vue","../../../../Software/HBuilderX.4.76.2025082103/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvc2VhcmNoL2luZGV4LnZ1ZQ"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import MiniProgramPage from 'F:/gitCode/uniapp/JewelryMall/miniprogram/pages/search/index.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","uni","BASE_URL","getProducts","onMounted"],"mappings":";;;;;AAiEA,MAAM,WAAW;;;;AALX,UAAA,UAAUA,kBAAI,EAAE;AAChB,UAAA,WAAWA,kBAAe,CAAA,CAAE;AAC5B,UAAA,UAAUA,kBAAI,KAAK;AACnB,UAAA,QAAQA,kBAAI,CAAC;AACb,UAAA,OAAOA,kBAAI,CAAC;AAEZ,UAAA,SAASA,kBAAI,KAAK;AAElB,UAAA,kBAAkBA,kBAAI,EAAE;AACxB,UAAA,eAAeA,kBAAI,EAAE;AACvB,QAAA;AACI,YAAA,UAAUC,oBAAI;AACJ,sBAAA,QAAQ,QAAQ,mBAAmB;AAE7C,YAAA,UAAUA,oBAAI;AACpB,mBAAa,SAAS,QAAQ,OAAO,QAAQ,mBAAmB,OAAO,IAAI,QAAQ;AAAA,IAAA,QAE7E;AAAA,IAAiB;AAEzB,aAAS,SAAS;AAChBA,oBAAAA,MAAI,aAAa,EAAE,OAAO,EAAG,CAAA;AAAA,IAC/B;AAEA,aAAS,QAAQ,MAAsB;AACrC,UAAI,CAAC;AAAa,eAAA;AACd,UAAA,KAAK,WAAW,MAAM;AAAU,eAAA;AACpC,aAAOC,cAAAA,WAAW;AAAA,IACpB;AAEA,aAAS,SAAS,IAAY;AAC5BD,oBAAA,MAAI,WAAW,EAAE,KAAK,4BAA4B,EAAE,IAAI;AAAA,IAC1D;AAEe,mBAAA,OAAO,QAAQ,OAAO;AACnC,UAAI,OAAO;AAAE,aAAK,QAAQ;AAAG,iBAAS,QAAQ;MAAG;AACjD,cAAQ,QAAQ;AACZ,UAAA;AACI,cAAA,OAAO,MAAME,wBAAY,EAAE,MAAM,KAAK,OAAO,UAAU,SAAS,QAAQ,MAAc,CAAA;AAC5F,YAAI,OAAO;AACT,mBAAS,QAAQ,KAAK;AAAA,QAAA,OACjB;AACL,mBAAS,MAAM,KAAK,GAAG,KAAK,IAAI;AAAA,QAClC;AACA,cAAM,QAAQ,KAAK,SAAS,KAAK,KAAK;AAC/B,eAAA,QAAQ,KAAK,KAAK,SAAS;AAAA,MAAA,QAC5B;AACNF,sBAAA,MAAI,UAAU,EAAE,OAAO,QAAQ,MAAM,QAAQ;AAAA,MAAA,UAC7C;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IACF;AAEAG,kBAAAA,UAAU,MAAM;;AACd,YAAM,QAAQ;AACd,YAAM,cAAc,MAAM,MAAM,SAAS,CAAC;AAC1C,cAAQ,QAAQ,qBAAmB,iBAAY,YAAZ,mBAAqB,YAAW,EAAE;AACrE,UAAI,QAAQ;AAAO,eAAO,IAAI;AAAA,IAAA,CAC/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpHD,GAAG,WAAW,eAAe;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/store/cart.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/store/cart.js.map deleted file mode 100644 index 6b52e59e..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/store/cart.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"cart.js","sources":["store/cart.ts"],"sourcesContent":["import { defineStore } from 'pinia'\r\nimport { ref, computed } from 'vue'\r\nimport type { CartItem } from '../types'\r\nimport { getCartList, addToCart as apiAddToCart, deleteCartItem as apiDeleteCartItem, updateCartItem as apiUpdateCartItem } from '../api/cart'\r\n\r\nexport const useCartStore = defineStore('cart', () => {\r\n const items = ref([])\r\n\r\n const checkedItems = computed(() => items.value.filter((item) => item.checked))\r\n\r\n const totalAmount = computed(() =>\r\n checkedItems.value.reduce((sum, item) => sum + (item.specData?.totalPrice || 0) * item.quantity, 0),\r\n )\r\n\r\n async function fetchCart() {\r\n const token = uni.getStorageSync('token')\r\n if (!token) return\r\n try {\r\n const list: any[] = await getCartList() as any\r\n items.value = list.map((row: any) => ({\r\n id: row.id,\r\n userId: 0,\r\n productId: row.product_id,\r\n specDataId: row.spec_data_id,\r\n quantity: row.quantity,\r\n checked: true,\r\n product: {\r\n id: row.product_id,\r\n name: row.product_name,\r\n basePrice: row.base_price,\r\n styleNo: row.style_no,\r\n bannerImages: typeof row.banner_images === 'string' ? JSON.parse(row.banner_images || '[]') : (row.banner_images || []),\r\n thumb: row.thumb || '',\r\n },\r\n specData: {\r\n id: row.spec_data_id,\r\n modelName: row.model_name,\r\n fineness: row.fineness,\r\n mainStone: row.main_stone,\r\n ringSize: row.ring_size,\r\n goldTotalWeight: row.gold_total_weight || 0,\r\n totalPrice: row.unit_price || 0,\r\n },\r\n }))\r\n } catch {\r\n // 未登录或网络异常,保留本地数据\r\n }\r\n }\r\n\r\n function addToCart(item: CartItem) {\r\n items.value.push(item)\r\n apiAddToCart({\r\n productId: item.productId,\r\n specDataId: item.specDataId,\r\n quantity: item.quantity,\r\n }).catch(() => { /* 静默处理 */ })\r\n }\r\n\r\n function removeFromCart(id: number) {\r\n const index = items.value.findIndex((item) => item.id === id)\r\n if (index !== -1) {\r\n items.value.splice(index, 1)\r\n apiDeleteCartItem(id).catch(() => { /* 静默处理 */ })\r\n }\r\n }\r\n\r\n function updateQuantity(id: number, quantity: number) {\r\n const item = items.value.find((item) => item.id === id)\r\n if (item) {\r\n item.quantity = quantity\r\n apiUpdateCartItem(id, { quantity }).catch(() => { /* 静默处理 */ })\r\n }\r\n }\r\n\r\n /** 切换勾选状态(纯本地操作) */\r\n function toggleCheck(id: number) {\r\n const item = items.value.find((item) => item.id === id)\r\n if (item) {\r\n item.checked = !item.checked\r\n }\r\n }\r\n\r\n /** 全选/取消全选(纯本地操作) */\r\n function toggleCheckAll() {\r\n const allChecked = items.value.every((item) => item.checked)\r\n items.value.forEach((item) => {\r\n item.checked = !allChecked\r\n })\r\n }\r\n\r\n return {\r\n items,\r\n checkedItems,\r\n totalAmount,\r\n fetchCart,\r\n addToCart,\r\n removeFromCart,\r\n updateQuantity,\r\n toggleCheck,\r\n toggleCheckAll,\r\n }\r\n})\r\n"],"names":["defineStore","ref","computed","uni","getCartList","apiAddToCart","apiDeleteCartItem","item","apiUpdateCartItem"],"mappings":";;;AAKa,MAAA,eAAeA,cAAAA,YAAY,QAAQ,MAAM;AAC9C,QAAA,QAAQC,kBAAgB,CAAA,CAAE;AAE1B,QAAA,eAAeC,cAAAA,SAAS,MAAM,MAAM,MAAM,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC;AAE9E,QAAM,cAAcA,cAAA;AAAA,IAAS,MAC3B,aAAa,MAAM,OAAO,CAAC,KAAK,SAAA;;AAAS,sBAAO,UAAK,aAAL,mBAAe,eAAc,KAAK,KAAK;AAAA,OAAU,CAAC;AAAA,EAAA;AAGpG,iBAAe,YAAY;AACnB,UAAA,QAAQC,cAAAA,MAAI,eAAe,OAAO;AACxC,QAAI,CAAC;AAAO;AACR,QAAA;AACI,YAAA,OAAc,MAAMC,SAAAA;AAC1B,YAAM,QAAQ,KAAK,IAAI,CAAC,SAAc;AAAA,QACpC,IAAI,IAAI;AAAA,QACR,QAAQ;AAAA,QACR,WAAW,IAAI;AAAA,QACf,YAAY,IAAI;AAAA,QAChB,UAAU,IAAI;AAAA,QACd,SAAS;AAAA,QACT,SAAS;AAAA,UACP,IAAI,IAAI;AAAA,UACR,MAAM,IAAI;AAAA,UACV,WAAW,IAAI;AAAA,UACf,SAAS,IAAI;AAAA,UACb,cAAc,OAAO,IAAI,kBAAkB,WAAW,KAAK,MAAM,IAAI,iBAAiB,IAAI,IAAK,IAAI,iBAAiB,CAAC;AAAA,UACrH,OAAO,IAAI,SAAS;AAAA,QACtB;AAAA,QACA,UAAU;AAAA,UACR,IAAI,IAAI;AAAA,UACR,WAAW,IAAI;AAAA,UACf,UAAU,IAAI;AAAA,UACd,WAAW,IAAI;AAAA,UACf,UAAU,IAAI;AAAA,UACd,iBAAiB,IAAI,qBAAqB;AAAA,UAC1C,YAAY,IAAI,cAAc;AAAA,QAChC;AAAA,MACA,EAAA;AAAA,IAAA,QACI;AAAA,IAER;AAAA,EACF;AAEA,WAAS,UAAU,MAAgB;AAC3B,UAAA,MAAM,KAAK,IAAI;AACRC,uBAAA;AAAA,MACX,WAAW,KAAK;AAAA,MAChB,YAAY,KAAK;AAAA,MACjB,UAAU,KAAK;AAAA,IAAA,CAChB,EAAE,MAAM,MAAM;AAAA,IAAA,CAAc;AAAA,EAC/B;AAEA,WAAS,eAAe,IAAY;AAC5B,UAAA,QAAQ,MAAM,MAAM,UAAU,CAAC,SAAS,KAAK,OAAO,EAAE;AAC5D,QAAI,UAAU,IAAI;AACV,YAAA,MAAM,OAAO,OAAO,CAAC;AACTC,8BAAA,EAAE,EAAE,MAAM,MAAM;AAAA,MAAA,CAAc;AAAA,IAClD;AAAA,EACF;AAES,WAAA,eAAe,IAAY,UAAkB;AAC9C,UAAA,OAAO,MAAM,MAAM,KAAK,CAACC,UAASA,MAAK,OAAO,EAAE;AACtD,QAAI,MAAM;AACR,WAAK,WAAW;AAChBC,eAAAA,eAAkB,IAAI,EAAE,SAAA,CAAU,EAAE,MAAM,MAAM;AAAA,MAAA,CAAc;AAAA,IAChE;AAAA,EACF;AAGA,WAAS,YAAY,IAAY;AACzB,UAAA,OAAO,MAAM,MAAM,KAAK,CAACD,UAASA,MAAK,OAAO,EAAE;AACtD,QAAI,MAAM;AACH,WAAA,UAAU,CAAC,KAAK;AAAA,IACvB;AAAA,EACF;AAGA,WAAS,iBAAiB;AACxB,UAAM,aAAa,MAAM,MAAM,MAAM,CAAC,SAAS,KAAK,OAAO;AACrD,UAAA,MAAM,QAAQ,CAAC,SAAS;AAC5B,WAAK,UAAU,CAAC;AAAA,IAAA,CACjB;AAAA,EACH;AAEO,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ,CAAC;;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/store/order.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/store/order.js.map deleted file mode 100644 index d5347504..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/store/order.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"order.js","sources":["store/order.ts"],"sourcesContent":["import { defineStore } from 'pinia'\r\nimport { ref } from 'vue'\r\nimport type { Order } from '../types'\r\nimport { getOrderList, getOrderDetail as fetchOrderDetail } from '../api/order'\r\n\r\nexport const useOrderStore = defineStore('order', () => {\r\n const orders = ref([])\r\n const currentOrder = ref(null)\r\n\r\n function setOrders(list: Order[]) {\r\n orders.value = list\r\n }\r\n\r\n function setCurrentOrder(order: Order | null) {\r\n currentOrder.value = order\r\n }\r\n\r\n function updateOrderStatus(orderId: number, status: Order['status']) {\r\n const order = orders.value.find((o) => o.id === orderId)\r\n if (order) {\r\n order.status = status\r\n }\r\n if (currentOrder.value?.id === orderId) {\r\n currentOrder.value.status = status\r\n }\r\n }\r\n\r\n /** 从后端拉取订单列表 */\r\n async function fetchOrders() {\r\n try {\r\n const list = await getOrderList()\r\n orders.value = list\r\n } catch {\r\n // 静默处理\r\n }\r\n }\r\n\r\n /** 从后端拉取订单详情 */\r\n async function fetchOrder(id: number) {\r\n try {\r\n const data = await fetchOrderDetail(id)\r\n currentOrder.value = data\r\n return data\r\n } catch {\r\n // 静默处理\r\n return null\r\n }\r\n }\r\n\r\n return {\r\n orders,\r\n currentOrder,\r\n setOrders,\r\n setCurrentOrder,\r\n updateOrderStatus,\r\n fetchOrders,\r\n fetchOrder,\r\n }\r\n})\r\n"],"names":["defineStore","ref","getOrderList","fetchOrderDetail"],"mappings":";;;AAKa,MAAA,gBAAgBA,cAAAA,YAAY,SAAS,MAAM;AAChD,QAAA,SAASC,kBAAa,CAAA,CAAE;AACxB,QAAA,eAAeA,kBAAkB,IAAI;AAE3C,WAAS,UAAU,MAAe;AAChC,WAAO,QAAQ;AAAA,EACjB;AAEA,WAAS,gBAAgB,OAAqB;AAC5C,iBAAa,QAAQ;AAAA,EACvB;AAES,WAAA,kBAAkB,SAAiB,QAAyB;;AAC7D,UAAA,QAAQ,OAAO,MAAM,KAAK,CAAC,MAAM,EAAE,OAAO,OAAO;AACvD,QAAI,OAAO;AACT,YAAM,SAAS;AAAA,IACjB;AACI,UAAA,kBAAa,UAAb,mBAAoB,QAAO,SAAS;AACtC,mBAAa,MAAM,SAAS;AAAA,IAC9B;AAAA,EACF;AAGA,iBAAe,cAAc;AACvB,QAAA;AACI,YAAA,OAAO,MAAMC,UAAAA;AACnB,aAAO,QAAQ;AAAA,IAAA,QACT;AAAA,IAER;AAAA,EACF;AAGA,iBAAe,WAAW,IAAY;AAChC,QAAA;AACI,YAAA,OAAO,MAAMC,yBAAiB,EAAE;AACtC,mBAAa,QAAQ;AACd,aAAA;AAAA,IAAA,QACD;AAEC,aAAA;AAAA,IACT;AAAA,EACF;AAEO,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ,CAAC;;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/store/user.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/store/user.js.map deleted file mode 100644 index 36d74ef0..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/store/user.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"user.js","sources":["store/user.ts"],"sourcesContent":["import { defineStore } from 'pinia'\r\nimport { ref } from 'vue'\r\nimport type { User, Address } from '../types'\r\nimport { getUserProfile, getAddressList } from '../api/user'\r\n\r\nexport const useUserStore = defineStore('user', () => {\r\n const user = ref(null)\r\n const token = ref(uni.getStorageSync('token') || '')\r\n const addresses = ref([])\r\n\r\n function setUser(u: User) {\r\n user.value = u\r\n }\r\n\r\n function setToken(t: string) {\r\n token.value = t\r\n uni.setStorageSync('token', t)\r\n }\r\n\r\n function logout() {\r\n user.value = null\r\n token.value = ''\r\n uni.removeStorageSync('token')\r\n }\r\n\r\n function setAddresses(list: Address[]) {\r\n addresses.value = list\r\n }\r\n\r\n /** 从后端拉取用户信息 */\r\n async function fetchProfile() {\r\n try {\r\n const data = await getUserProfile()\r\n user.value = data\r\n } catch {\r\n // token 可能失效,静默处理\r\n }\r\n }\r\n\r\n /** 从后端拉取收货地址列表 */\r\n async function fetchAddresses() {\r\n try {\r\n const list = await getAddressList()\r\n addresses.value = list\r\n } catch {\r\n // 静默处理\r\n }\r\n }\r\n\r\n return {\r\n user,\r\n token,\r\n addresses,\r\n setUser,\r\n setToken,\r\n logout,\r\n setAddresses,\r\n fetchProfile,\r\n fetchAddresses,\r\n }\r\n})\r\n"],"names":["defineStore","ref","uni","getUserProfile","getAddressList"],"mappings":";;;AAKa,MAAA,eAAeA,cAAAA,YAAY,QAAQ,MAAM;AAC9C,QAAA,OAAOC,kBAAiB,IAAI;AAClC,QAAM,QAAQA,cAAAA,IAAYC,cAAA,MAAI,eAAe,OAAO,KAAK,EAAE;AACrD,QAAA,YAAYD,kBAAe,CAAA,CAAE;AAEnC,WAAS,QAAQ,GAAS;AACxB,SAAK,QAAQ;AAAA,EACf;AAEA,WAAS,SAAS,GAAW;AAC3B,UAAM,QAAQ;AACVC,kBAAAA,MAAA,eAAe,SAAS,CAAC;AAAA,EAC/B;AAEA,WAAS,SAAS;AAChB,SAAK,QAAQ;AACb,UAAM,QAAQ;AACdA,wBAAI,kBAAkB,OAAO;AAAA,EAC/B;AAEA,WAAS,aAAa,MAAiB;AACrC,cAAU,QAAQ;AAAA,EACpB;AAGA,iBAAe,eAAe;AACxB,QAAA;AACI,YAAA,OAAO,MAAMC,SAAAA;AACnB,WAAK,QAAQ;AAAA,IAAA,QACP;AAAA,IAER;AAAA,EACF;AAGA,iBAAe,iBAAiB;AAC1B,QAAA;AACI,YAAA,OAAO,MAAMC,SAAAA;AACnB,gBAAU,QAAQ;AAAA,IAAA,QACZ;AAAA,IAER;AAAA,EACF;AAEO,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ,CAAC;;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/utils/calculator.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/utils/calculator.js.map deleted file mode 100644 index 743b813b..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/utils/calculator.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"calculator.js","sources":["utils/calculator.ts"],"sourcesContent":["import type { RingCalculatorInput, RingCalculatorResult } from '../types/calculator'\r\n\r\n/**\r\n * 校验计算器输入,所有数值字段必须为非负数\r\n * @throws Error 如果任意字段为负数\r\n */\r\nexport function validateInput(input: RingCalculatorInput): void {\r\n const fields: Array<[keyof RingCalculatorInput, string]> = [\r\n ['goldWeight', '金重'],\r\n ['mainStoneWeight', '主石重'],\r\n ['sideStoneWeight', '副石重'],\r\n ['lossRate', '损耗'],\r\n ['moldGoldPrice', '倒模金价'],\r\n ['mainStoneUnitPrice', '主石单价'],\r\n ['sideStoneUnitPrice', '副石单价'],\r\n ['sideStoneCount', '副石粒数'],\r\n ['microSettingFee', '微镶费'],\r\n ['mainStoneSettingFee', '主石镶费'],\r\n ['threeDFee', '3D起板费'],\r\n ['basicLaborCost', '基本工费'],\r\n ['otherCost', '其他费用'],\r\n ]\r\n\r\n for (const [key, label] of fields) {\r\n if (input[key] < 0) {\r\n throw new Error(`${label}不能为负数`)\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * 钻戒计算器核心计算函数\r\n *\r\n * 公式:\r\n * - 净金重(g) = 金重(g) - 主石重(ct)×0.2 - 副石重(ct)×0.2\r\n * - 含耗重(g) = 净金重(g) × 损耗\r\n * - 金值(元) = 含耗重(g) × 倒模金价(元)\r\n * - 主石总价(元) = 主石重(ct) × 主石单价(元)\r\n * - 副石总价(元) = 副石重(ct) × 副石单价(元)\r\n * - 微镶总价(元) = 副石粒数(p) × 微镶费(元)\r\n * - 总价 = 金值 + 主石总价 + 副石总价 + 主石镶费 + 微镶总价 + 3D起板费 + 基本工费 + 其他费用\r\n */\r\nexport function calculateRing(input: RingCalculatorInput): RingCalculatorResult {\r\n validateInput(input)\r\n\r\n const netGoldWeight = input.goldWeight - input.mainStoneWeight * 0.2 - input.sideStoneWeight * 0.2\r\n const weightWithLoss = netGoldWeight * input.lossRate\r\n const goldValue = weightWithLoss * input.moldGoldPrice\r\n const mainStoneTotal = input.mainStoneWeight * input.mainStoneUnitPrice\r\n const sideStoneTotal = input.sideStoneWeight * input.sideStoneUnitPrice\r\n const microSettingTotal = input.sideStoneCount * input.microSettingFee\r\n const totalPrice = goldValue + mainStoneTotal + sideStoneTotal\r\n + input.mainStoneSettingFee + microSettingTotal\r\n + input.threeDFee + input.basicLaborCost + input.otherCost\r\n\r\n return {\r\n netGoldWeight,\r\n weightWithLoss,\r\n goldValue,\r\n mainStoneTotal,\r\n sideStoneTotal,\r\n microSettingTotal,\r\n totalPrice,\r\n }\r\n}\r\n"],"names":[],"mappings":";AAMO,SAAS,cAAc,OAAkC;AAC9D,QAAM,SAAqD;AAAA,IACzD,CAAC,cAAc,IAAI;AAAA,IACnB,CAAC,mBAAmB,KAAK;AAAA,IACzB,CAAC,mBAAmB,KAAK;AAAA,IACzB,CAAC,YAAY,IAAI;AAAA,IACjB,CAAC,iBAAiB,MAAM;AAAA,IACxB,CAAC,sBAAsB,MAAM;AAAA,IAC7B,CAAC,sBAAsB,MAAM;AAAA,IAC7B,CAAC,kBAAkB,MAAM;AAAA,IACzB,CAAC,mBAAmB,KAAK;AAAA,IACzB,CAAC,uBAAuB,MAAM;AAAA,IAC9B,CAAC,aAAa,OAAO;AAAA,IACrB,CAAC,kBAAkB,MAAM;AAAA,IACzB,CAAC,aAAa,MAAM;AAAA,EAAA;AAGtB,aAAW,CAAC,KAAK,KAAK,KAAK,QAAQ;AAC7B,QAAA,MAAM,GAAG,IAAI,GAAG;AAClB,YAAM,IAAI,MAAM,GAAG,KAAK,OAAO;AAAA,IACjC;AAAA,EACF;AACF;AAcO,SAAS,cAAc,OAAkD;AAC9E,gBAAc,KAAK;AAEnB,QAAM,gBAAgB,MAAM,aAAa,MAAM,kBAAkB,MAAM,MAAM,kBAAkB;AACzF,QAAA,iBAAiB,gBAAgB,MAAM;AACvC,QAAA,YAAY,iBAAiB,MAAM;AACnC,QAAA,iBAAiB,MAAM,kBAAkB,MAAM;AAC/C,QAAA,iBAAiB,MAAM,kBAAkB,MAAM;AAC/C,QAAA,oBAAoB,MAAM,iBAAiB,MAAM;AACjD,QAAA,aAAa,YAAY,iBAAiB,iBAC5C,MAAM,sBAAsB,oBAC5B,MAAM,YAAY,MAAM,iBAAiB,MAAM;AAE5C,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/utils/moldSearch.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/utils/moldSearch.js.map deleted file mode 100644 index 34bdc1ee..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/utils/moldSearch.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"moldSearch.js","sources":["utils/moldSearch.ts"],"sourcesContent":["import type { MoldInfo } from '../types/mold'\r\n\r\n/**\r\n * 在版房数据集中按关键词搜索\r\n * 匹配字段:名称(name)、款号(styleNo)、条码号(barcodeNo)、款式(style)\r\n * 关键词为空时返回全部数据\r\n */\r\nexport function searchMolds(molds: MoldInfo[], keyword: string): MoldInfo[] {\r\n const trimmed = keyword.trim().toLowerCase()\r\n if (!trimmed) return molds\r\n\r\n return molds.filter((mold) => {\r\n const fields = [\r\n mold.name,\r\n mold.styleNo ?? '',\r\n mold.barcodeNo ?? '',\r\n mold.style ?? '',\r\n ]\r\n return fields.some((f) => f.toLowerCase().includes(trimmed))\r\n })\r\n}\r\n"],"names":[],"mappings":";AAOgB,SAAA,YAAY,OAAmB,SAA6B;AAC1E,QAAM,UAAU,QAAQ,KAAK,EAAE,YAAY;AAC3C,MAAI,CAAC;AAAgB,WAAA;AAEd,SAAA,MAAM,OAAO,CAAC,SAAS;AAC5B,UAAM,SAAS;AAAA,MACb,KAAK;AAAA,MACL,KAAK,WAAW;AAAA,MAChB,KAAK,aAAa;AAAA,MAClB,KAAK,SAAS;AAAA,IAAA;AAET,WAAA,OAAO,KAAK,CAAC,MAAM,EAAE,cAAc,SAAS,OAAO,CAAC;AAAA,EAAA,CAC5D;AACH;;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/utils/request.js.map b/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/utils/request.js.map deleted file mode 100644 index 282a8ee9..00000000 --- a/miniprogram/unpackage/dist/dev/.sourcemap/mp-weixin/utils/request.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"request.js","sources":["utils/request.ts"],"sourcesContent":["// 手动切换后端地址,部署时改成线上域名即可\r\n// const BASE_URL = 'http://localhost:3000'\r\nconst BASE_URL = 'http://115.190.188.216:2850'\r\n\r\nexport { BASE_URL }\r\n\r\ninterface RequestOptions {\r\n url: string\r\n method?: 'GET' | 'POST' | 'PUT' | 'DELETE'\r\n data?: Record\r\n header?: Record\r\n}\r\n\r\ninterface ApiResponse {\r\n code: number\r\n data: T\r\n message: string\r\n}\r\n\r\n/** 将下划线命名转换为驼峰命名 */\r\nfunction toCamelCase(obj: any): any {\r\n if (obj === null || typeof obj !== 'object') return obj\r\n \r\n if (Array.isArray(obj)) {\r\n return obj.map(item => toCamelCase(item))\r\n }\r\n \r\n const result: any = {}\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n const camelKey = key.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase())\r\n result[camelKey] = toCamelCase(obj[key])\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction getToken(): string {\r\n return uni.getStorageSync('token') || ''\r\n}\r\n\r\nexport function request(options: RequestOptions): Promise {\r\n const { url, method = 'GET', data, header = {} } = options\r\n const token = getToken()\r\n\r\n return new Promise((resolve, reject) => {\r\n uni.request({\r\n url: `${BASE_URL}${url}`,\r\n method,\r\n data,\r\n header: {\r\n 'Content-Type': 'application/json',\r\n ...(token ? { Authorization: `Bearer ${token}` } : {}),\r\n ...header,\r\n },\r\n success(res) {\r\n const statusCode = res.statusCode\r\n if (statusCode === 401) {\r\n uni.removeStorageSync('token')\r\n uni.showToast({ title: '请重新登录', icon: 'none' })\r\n autoLogin()\r\n reject(new Error('未授权'))\r\n return\r\n }\r\n if (statusCode >= 200 && statusCode < 300) {\r\n const body = res.data as ApiResponse\r\n if (body.code === 0) {\r\n // 将下划线命名转换为驼峰命名\r\n const camelData = toCamelCase(body.data)\r\n resolve(camelData)\r\n } else {\r\n uni.showToast({ title: body.message || '请求失败', icon: 'none' })\r\n reject(new Error(body.message))\r\n }\r\n } else {\r\n uni.showToast({ title: '网络异常,请稍后重试', icon: 'none' })\r\n reject(new Error(`HTTP ${statusCode}`))\r\n }\r\n },\r\n fail(err) {\r\n uni.showToast({ title: '网络异常,请稍后重试', icon: 'none' })\r\n reject(err)\r\n },\r\n })\r\n })\r\n}\r\n\r\n/** 微信小程序自动登录 */\r\nexport function autoLogin(): Promise {\r\n return new Promise((resolve, reject) => {\r\n uni.login({\r\n provider: 'weixin',\r\n success: async (loginRes) => {\r\n if (loginRes.code) {\r\n try {\r\n const data = await request<{ token: string; userId: number }>({\r\n url: '/api/auth/wx-login',\r\n method: 'POST',\r\n data: { code: loginRes.code },\r\n })\r\n uni.setStorageSync('token', data.token)\r\n resolve()\r\n } catch (err) {\r\n console.error('登录接口调用失败:', err)\r\n reject(err)\r\n }\r\n } else {\r\n console.error('微信登录获取 code 失败')\r\n reject(new Error('获取微信 code 失败'))\r\n }\r\n },\r\n fail: (err) => {\r\n console.error('uni.login 失败:', err)\r\n reject(err)\r\n },\r\n })\r\n })\r\n}\r\n\r\nexport const get = (url: string, data?: Record) =>\r\n request({ url, method: 'GET', data })\r\n\r\nexport const post = (url: string, data?: Record) =>\r\n request({ url, method: 'POST', data })\r\n\r\nexport const put = (url: string, data?: Record) =>\r\n request({ url, method: 'PUT', data })\r\n\r\nexport const del = (url: string, data?: Record) =>\r\n request({ url, method: 'DELETE', data })\r\n"],"names":["uni"],"mappings":";;AAEA,MAAM,WAAW;AAkBjB,SAAS,YAAY,KAAe;AAC9B,MAAA,QAAQ,QAAQ,OAAO,QAAQ;AAAiB,WAAA;AAEhD,MAAA,MAAM,QAAQ,GAAG,GAAG;AACtB,WAAO,IAAI,IAAI,CAAQ,SAAA,YAAY,IAAI,CAAC;AAAA,EAC1C;AAEA,QAAM,SAAc,CAAA;AACpB,aAAW,OAAO,KAAK;AACrB,QAAI,OAAO,UAAU,eAAe,KAAK,KAAK,GAAG,GAAG;AAC5C,YAAA,WAAW,IAAI,QAAQ,aAAa,CAAC,GAAG,WAAW,OAAO,YAAA,CAAa;AAC7E,aAAO,QAAQ,IAAI,YAAY,IAAI,GAAG,CAAC;AAAA,IACzC;AAAA,EACF;AACO,SAAA;AACT;AAEA,SAAS,WAAmB;AACnB,SAAAA,oBAAI,eAAe,OAAO,KAAK;AACxC;AAEO,SAAS,QAAqB,SAAqC;AAClE,QAAA,EAAE,KAAK,SAAS,OAAO,MAAM,SAAS,CAAA,EAAO,IAAA;AACnD,QAAM,QAAQ;AAEd,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtCA,kBAAAA,MAAI,QAAQ;AAAA,MACV,KAAK,GAAG,QAAQ,GAAG,GAAG;AAAA,MACtB;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,QACN,gBAAgB;AAAA,QAChB,GAAI,QAAQ,EAAE,eAAe,UAAU,KAAK,GAAA,IAAO,CAAC;AAAA,QACpD,GAAG;AAAA,MACL;AAAA,MACA,QAAQ,KAAK;AACX,cAAM,aAAa,IAAI;AACvB,YAAI,eAAe,KAAK;AACtBA,8BAAI,kBAAkB,OAAO;AAC7BA,wBAAA,MAAI,UAAU,EAAE,OAAO,SAAS,MAAM,QAAQ;AACpC;AACH,iBAAA,IAAI,MAAM,KAAK,CAAC;AACvB;AAAA,QACF;AACI,YAAA,cAAc,OAAO,aAAa,KAAK;AACzC,gBAAM,OAAO,IAAI;AACb,cAAA,KAAK,SAAS,GAAG;AAEb,kBAAA,YAAY,YAAY,KAAK,IAAI;AACvC,oBAAQ,SAAS;AAAA,UAAA,OACZ;AACDA,gCAAA,UAAU,EAAE,OAAO,KAAK,WAAW,QAAQ,MAAM,QAAQ;AAC7D,mBAAO,IAAI,MAAM,KAAK,OAAO,CAAC;AAAA,UAChC;AAAA,QAAA,OACK;AACLA,wBAAA,MAAI,UAAU,EAAE,OAAO,cAAc,MAAM,QAAQ;AACnD,iBAAO,IAAI,MAAM,QAAQ,UAAU,EAAE,CAAC;AAAA,QACxC;AAAA,MACF;AAAA,MACA,KAAK,KAAK;AACRA,sBAAA,MAAI,UAAU,EAAE,OAAO,cAAc,MAAM,QAAQ;AACnD,eAAO,GAAG;AAAA,MACZ;AAAA,IAAA,CACD;AAAA,EAAA,CACF;AACH;AAGO,SAAS,YAA2B;AACzC,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtCA,kBAAAA,MAAI,MAAM;AAAA,MACR,UAAU;AAAA,MACV,SAAS,OAAO,aAAa;AAC3B,YAAI,SAAS,MAAM;AACb,cAAA;AACI,kBAAA,OAAO,MAAM,QAA2C;AAAA,cAC5D,KAAK;AAAA,cACL,QAAQ;AAAA,cACR,MAAM,EAAE,MAAM,SAAS,KAAK;AAAA,YAAA,CAC7B;AACGA,0BAAAA,MAAA,eAAe,SAAS,KAAK,KAAK;AAC9B;mBACD,KAAK;AACZA,0BAAA,MAAA,MAAA,SAAA,2BAAc,aAAa,GAAG;AAC9B,mBAAO,GAAG;AAAA,UACZ;AAAA,QAAA,OACK;AACSA,wBAAAA,MAAA,MAAA,SAAA,2BAAA,gBAAgB;AACvB,iBAAA,IAAI,MAAM,cAAc,CAAC;AAAA,QAClC;AAAA,MACF;AAAA,MACA,MAAM,CAAC,QAAQ;AACbA,sBAAA,MAAA,MAAA,SAAA,2BAAc,iBAAiB,GAAG;AAClC,eAAO,GAAG;AAAA,MACZ;AAAA,IAAA,CACD;AAAA,EAAA,CACF;AACH;AAEa,MAAA,MAAM,CAAc,KAAa,SAC5C,QAAW,EAAE,KAAK,QAAQ,OAAO,MAAM;AAE5B,MAAA,OAAO,CAAc,KAAa,SAC7C,QAAW,EAAE,KAAK,QAAQ,QAAQ,MAAM;AAE7B,MAAA,MAAM,CAAc,KAAa,SAC5C,QAAW,EAAE,KAAK,QAAQ,OAAO,MAAM;AAE5B,MAAA,MAAM,CAAc,KAAa,SAC5C,QAAW,EAAE,KAAK,QAAQ,UAAU,KAAM,CAAA;;;;;;;"} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/mp-weixin/api/cart.js b/miniprogram/unpackage/dist/dev/mp-weixin/api/cart.js deleted file mode 100644 index 7f8a1c49..00000000 --- a/miniprogram/unpackage/dist/dev/mp-weixin/api/cart.js +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; -const utils_request = require("../utils/request.js"); -const getCartList = () => utils_request.get("/api/cart"); -const addToCart = (data) => utils_request.post("/api/cart", data); -const updateCartItem = (id, data) => utils_request.put(`/api/cart/${id}`, data); -const deleteCartItem = (id) => utils_request.del(`/api/cart/${id}`); -exports.addToCart = addToCart; -exports.deleteCartItem = deleteCartItem; -exports.getCartList = getCartList; -exports.updateCartItem = updateCartItem; -//# sourceMappingURL=../../.sourcemap/mp-weixin/api/cart.js.map diff --git a/miniprogram/unpackage/dist/dev/mp-weixin/api/order.js b/miniprogram/unpackage/dist/dev/mp-weixin/api/order.js deleted file mode 100644 index 728273fd..00000000 --- a/miniprogram/unpackage/dist/dev/mp-weixin/api/order.js +++ /dev/null @@ -1,11 +0,0 @@ -"use strict"; -const utils_request = require("../utils/request.js"); -const createOrder = (data) => utils_request.post("/api/orders", data); -const getOrderList = () => utils_request.get("/api/orders"); -const getOrderDetail = (id) => utils_request.get(`/api/orders/${id}`); -const cancelOrder = (id) => utils_request.put(`/api/orders/${id}/cancel`); -exports.cancelOrder = cancelOrder; -exports.createOrder = createOrder; -exports.getOrderDetail = getOrderDetail; -exports.getOrderList = getOrderList; -//# sourceMappingURL=../../.sourcemap/mp-weixin/api/order.js.map diff --git a/miniprogram/unpackage/dist/dev/mp-weixin/api/product.js b/miniprogram/unpackage/dist/dev/mp-weixin/api/product.js deleted file mode 100644 index b4e4083e..00000000 --- a/miniprogram/unpackage/dist/dev/mp-weixin/api/product.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; -const utils_request = require("../utils/request.js"); -const getProducts = (params) => utils_request.get("/api/products", params); -const getProductDetail = (id) => utils_request.get(`/api/products/${id}`); -const getProductSpecs = (id) => utils_request.get(`/api/products/${id}/specs`); -const getSpecDataList = (id, params) => utils_request.post(`/api/products/${id}/spec-data`, params || {}); -const getCategories = () => utils_request.get("/api/categories"); -exports.getCategories = getCategories; -exports.getProductDetail = getProductDetail; -exports.getProductSpecs = getProductSpecs; -exports.getProducts = getProducts; -exports.getSpecDataList = getSpecDataList; -//# sourceMappingURL=../../.sourcemap/mp-weixin/api/product.js.map diff --git a/miniprogram/unpackage/dist/dev/mp-weixin/api/user.js b/miniprogram/unpackage/dist/dev/mp-weixin/api/user.js deleted file mode 100644 index b9c80a8b..00000000 --- a/miniprogram/unpackage/dist/dev/mp-weixin/api/user.js +++ /dev/null @@ -1,13 +0,0 @@ -"use strict"; -const utils_request = require("../utils/request.js"); -const getUserProfile = () => utils_request.get("/api/user/profile"); -const getAddressList = () => utils_request.get("/api/user/addresses"); -const addAddress = (data) => utils_request.post("/api/user/addresses", data); -const updateAddress = (id, data) => utils_request.put(`/api/user/addresses/${id}`, data); -const deleteAddress = (id) => utils_request.del(`/api/user/addresses/${id}`); -exports.addAddress = addAddress; -exports.deleteAddress = deleteAddress; -exports.getAddressList = getAddressList; -exports.getUserProfile = getUserProfile; -exports.updateAddress = updateAddress; -//# sourceMappingURL=../../.sourcemap/mp-weixin/api/user.js.map diff --git a/miniprogram/unpackage/dist/dev/mp-weixin/app.js b/miniprogram/unpackage/dist/dev/mp-weixin/app.js deleted file mode 100644 index dccff3b2..00000000 --- a/miniprogram/unpackage/dist/dev/mp-weixin/app.js +++ /dev/null @@ -1,40 +0,0 @@ -"use strict"; -Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); -const common_vendor = require("./common/vendor.js"); -if (!Math) { - "./pages/index/index.js"; - "./pages/category/index.js"; - "./pages/product/detail.js"; - "./pages/cart/index.js"; - "./pages/order/submit.js"; - "./pages/order/detail.js"; - "./pages/order/list.js"; - "./pages/mold/index.js"; - "./pages/calculator/index.js"; - "./pages/mine/index.js"; - "./pages/address/index.js"; - "./pages/search/index.js"; - "./pages/login/index.js"; -} -const _sfc_main = { - onLaunch() { - common_vendor.index.__f__("log", "at App.vue:4", "App Launch"); - }, - onShow() { - common_vendor.index.__f__("log", "at App.vue:7", "App Show"); - }, - onHide() { - common_vendor.index.__f__("log", "at App.vue:10", "App Hide"); - } -}; -function createApp() { - const app = common_vendor.createSSRApp(_sfc_main); - const pinia = common_vendor.createPinia(); - app.use(pinia); - return { - app - }; -} -createApp().app.mount("#app"); -exports.createApp = createApp; -//# sourceMappingURL=../.sourcemap/mp-weixin/app.js.map diff --git a/miniprogram/unpackage/dist/dev/mp-weixin/app.json b/miniprogram/unpackage/dist/dev/mp-weixin/app.json deleted file mode 100644 index ebaf25be..00000000 --- a/miniprogram/unpackage/dist/dev/mp-weixin/app.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "pages": [ - "pages/index/index", - "pages/category/index", - "pages/product/detail", - "pages/cart/index", - "pages/order/submit", - "pages/order/detail", - "pages/order/list", - "pages/mold/index", - "pages/calculator/index", - "pages/mine/index", - "pages/address/index", - "pages/search/index", - "pages/login/index" - ], - "window": { - "navigationBarTextStyle": "black", - "navigationBarTitleText": "珠宝商城", - "navigationBarBackgroundColor": "#F8F8F8", - "backgroundColor": "#F8F8F8" - }, - "tabBar": { - "color": "#999", - "selectedColor": "#e4393c", - "backgroundColor": "#fff", - "list": [ - { - "pagePath": "pages/index/index", - "iconPath": "static/tab/home.png", - "selectedIconPath": "static/tab/home_s.png", - "text": "首页" - }, - { - "pagePath": "pages/mold/index", - "iconPath": "static/tab/model_house.png", - "selectedIconPath": "static/tab/model_house_s.png", - "text": "版房" - }, - { - "pagePath": "pages/cart/index", - "iconPath": "static/tab/car.png", - "selectedIconPath": "static/tab/car_s.png", - "text": "购物车" - }, - { - "pagePath": "pages/mine/index", - "iconPath": "static/tab/me.png", - "selectedIconPath": "static/tab/me_s.png", - "text": "我的" - } - ] - }, - "permission": {}, - "usingComponents": {} -} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/mp-weixin/app.wxss b/miniprogram/unpackage/dist/dev/mp-weixin/app.wxss deleted file mode 100644 index be5b2dcc..00000000 --- a/miniprogram/unpackage/dist/dev/mp-weixin/app.wxss +++ /dev/null @@ -1,3 +0,0 @@ - -/* 每个页面公共 css */ -page{--status-bar-height:25px;--top-window-height:0px;--window-top:0px;--window-bottom:0px;--window-left:0px;--window-right:0px;--window-magin:0px}[data-c-h="true"]{display: none !important;} \ No newline at end of file diff --git a/miniprogram/unpackage/dist/dev/mp-weixin/common/assets.js b/miniprogram/unpackage/dist/dev/mp-weixin/common/assets.js deleted file mode 100644 index f0ff7cae..00000000 --- a/miniprogram/unpackage/dist/dev/mp-weixin/common/assets.js +++ /dev/null @@ -1,42 +0,0 @@ -"use strict"; -const _imports_0$5 = "/static/ic_search.png"; -const _imports_1$3 = "/static/ic_jz.png"; -const _imports_2$4 = "/static/ic_kf.png"; -const _imports_0$4 = "/static/ic_back.png"; -const _imports_0$3 = "/static/ic_none.png"; -const _imports_2$3 = "/static/ic_customer.png"; -const _imports_2$2 = "/static/tab/car.png"; -const _imports_1$2 = "/static/ic_address.png"; -const _imports_2$1 = "/static/ic_tip.png"; -const _imports_3$1 = "/static/ic_time.png"; -const _imports_1$1 = "/static/ic_address2.png"; -const _imports_2 = "/static/ic_phone.png"; -const _imports_0$2 = "/static/tab/me_s.png"; -const _imports_3 = "/static/ic_about.png"; -const _imports_4 = "/static/ic_agreement1.png"; -const _imports_5 = "/static/ic_agreement2.png"; -const _imports_6 = "/static/ic_loginout.png"; -const _imports_1 = "/static/ic_empty.png"; -const _imports_0$1 = "/static/logo.png"; -const _imports_0 = "/static/ic_notice.png"; -exports._imports_0 = _imports_0$5; -exports._imports_0$1 = _imports_0$3; -exports._imports_0$2 = _imports_0$4; -exports._imports_0$3 = _imports_0$2; -exports._imports_0$4 = _imports_0$1; -exports._imports_0$5 = _imports_0; -exports._imports_1 = _imports_1$3; -exports._imports_1$1 = _imports_1$2; -exports._imports_1$2 = _imports_1$1; -exports._imports_1$3 = _imports_1; -exports._imports_2 = _imports_2$4; -exports._imports_2$1 = _imports_2$3; -exports._imports_2$2 = _imports_2$2; -exports._imports_2$3 = _imports_2$1; -exports._imports_2$4 = _imports_2; -exports._imports_3 = _imports_3$1; -exports._imports_3$1 = _imports_3; -exports._imports_4 = _imports_4; -exports._imports_5 = _imports_5; -exports._imports_6 = _imports_6; -//# sourceMappingURL=../../.sourcemap/mp-weixin/common/assets.js.map diff --git a/miniprogram/unpackage/dist/dev/mp-weixin/common/vendor.js b/miniprogram/unpackage/dist/dev/mp-weixin/common/vendor.js deleted file mode 100644 index fdb30a35..00000000 --- a/miniprogram/unpackage/dist/dev/mp-weixin/common/vendor.js +++ /dev/null @@ -1,8588 +0,0 @@ -"use strict"; -/** -* @vue/shared v3.4.21 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/ -function makeMap(str, expectsLowerCase) { - const set2 = new Set(str.split(",")); - return expectsLowerCase ? (val) => set2.has(val.toLowerCase()) : (val) => set2.has(val); -} -const EMPTY_OBJ = Object.freeze({}); -const EMPTY_ARR = Object.freeze([]); -const NOOP = () => { -}; -const NO = () => false; -const isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter -(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97); -const isModelListener = (key) => key.startsWith("onUpdate:"); -const extend = Object.assign; -const remove = (arr, el) => { - const i = arr.indexOf(el); - if (i > -1) { - arr.splice(i, 1); - } -}; -const hasOwnProperty$1 = Object.prototype.hasOwnProperty; -const hasOwn = (val, key) => hasOwnProperty$1.call(val, key); -const isArray = Array.isArray; -const isMap = (val) => toTypeString(val) === "[object Map]"; -const isSet = (val) => toTypeString(val) === "[object Set]"; -const isFunction = (val) => typeof val === "function"; -const isString = (val) => typeof val === "string"; -const isSymbol = (val) => typeof val === "symbol"; -const isObject = (val) => val !== null && typeof val === "object"; -const isPromise = (val) => { - return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch); -}; -const objectToString = Object.prototype.toString; -const toTypeString = (value) => objectToString.call(value); -const toRawType = (value) => { - return toTypeString(value).slice(8, -1); -}; -const isPlainObject$1 = (val) => toTypeString(val) === "[object Object]"; -const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; -const isReservedProp = /* @__PURE__ */ makeMap( - // the leading comma is intentional so empty string "" is also included - ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted" -); -const isBuiltInDirective = /* @__PURE__ */ makeMap( - "bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo" -); -const cacheStringFunction = (fn) => { - const cache = /* @__PURE__ */ Object.create(null); - return (str) => { - const hit = cache[str]; - return hit || (cache[str] = fn(str)); - }; -}; -const camelizeRE = /-(\w)/g; -const camelize = cacheStringFunction((str) => { - return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : ""); -}); -const hyphenateRE = /\B([A-Z])/g; -const hyphenate = cacheStringFunction( - (str) => str.replace(hyphenateRE, "-$1").toLowerCase() -); -const capitalize = cacheStringFunction((str) => { - return str.charAt(0).toUpperCase() + str.slice(1); -}); -const toHandlerKey = cacheStringFunction((str) => { - const s = str ? `on${capitalize(str)}` : ``; - return s; -}); -const hasChanged = (value, oldValue) => !Object.is(value, oldValue); -const invokeArrayFns$1 = (fns, arg) => { - for (let i = 0; i < fns.length; i++) { - fns[i](arg); - } -}; -const def = (obj, key, value) => { - Object.defineProperty(obj, key, { - configurable: true, - enumerable: false, - value - }); -}; -const looseToNumber = (val) => { - const n = parseFloat(val); - return isNaN(n) ? val : n; -}; -const toDisplayString = (val) => { - return isString(val) ? val : val == null ? "" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val); -}; -const replacer = (_key, val) => { - if (val && val.__v_isRef) { - return replacer(_key, val.value); - } else if (isMap(val)) { - return { - [`Map(${val.size})`]: [...val.entries()].reduce( - (entries, [key, val2], i) => { - entries[stringifySymbol(key, i) + " =>"] = val2; - return entries; - }, - {} - ) - }; - } else if (isSet(val)) { - return { - [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v)) - }; - } else if (isSymbol(val)) { - return stringifySymbol(val); - } else if (isObject(val) && !isArray(val) && !isPlainObject$1(val)) { - return String(val); - } - return val; -}; -const stringifySymbol = (v, i = "") => { - var _a; - return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v; -}; -const LOCALE_ZH_HANS = "zh-Hans"; -const LOCALE_ZH_HANT = "zh-Hant"; -const LOCALE_EN = "en"; -const LOCALE_FR = "fr"; -const LOCALE_ES = "es"; -function include(str, parts) { - return !!parts.find((part) => str.indexOf(part) !== -1); -} -function startsWith(str, parts) { - return parts.find((part) => str.indexOf(part) === 0); -} -function normalizeLocale(locale, messages) { - if (!locale) { - return; - } - locale = locale.trim().replace(/_/g, "-"); - if (messages && messages[locale]) { - return locale; - } - locale = locale.toLowerCase(); - if (locale === "chinese") { - return LOCALE_ZH_HANS; - } - if (locale.indexOf("zh") === 0) { - if (locale.indexOf("-hans") > -1) { - return LOCALE_ZH_HANS; - } - if (locale.indexOf("-hant") > -1) { - return LOCALE_ZH_HANT; - } - if (include(locale, ["-tw", "-hk", "-mo", "-cht"])) { - return LOCALE_ZH_HANT; - } - return LOCALE_ZH_HANS; - } - let locales = [LOCALE_EN, LOCALE_FR, LOCALE_ES]; - if (messages && Object.keys(messages).length > 0) { - locales = Object.keys(messages); - } - const lang = startsWith(locale, locales); - if (lang) { - return lang; - } -} -const SLOT_DEFAULT_NAME = "d"; -const ON_SHOW = "onShow"; -const ON_HIDE = "onHide"; -const ON_LAUNCH = "onLaunch"; -const ON_ERROR = "onError"; -const ON_THEME_CHANGE = "onThemeChange"; -const ON_PAGE_NOT_FOUND = "onPageNotFound"; -const ON_UNHANDLE_REJECTION = "onUnhandledRejection"; -const ON_EXIT = "onExit"; -const ON_LOAD = "onLoad"; -const ON_READY = "onReady"; -const ON_UNLOAD = "onUnload"; -const ON_INIT = "onInit"; -const ON_SAVE_EXIT_STATE = "onSaveExitState"; -const ON_RESIZE = "onResize"; -const ON_BACK_PRESS = "onBackPress"; -const ON_PAGE_SCROLL = "onPageScroll"; -const ON_TAB_ITEM_TAP = "onTabItemTap"; -const ON_REACH_BOTTOM = "onReachBottom"; -const ON_PULL_DOWN_REFRESH = "onPullDownRefresh"; -const ON_SHARE_TIMELINE = "onShareTimeline"; -const ON_SHARE_CHAT = "onShareChat"; -const ON_ADD_TO_FAVORITES = "onAddToFavorites"; -const ON_SHARE_APP_MESSAGE = "onShareAppMessage"; -const ON_NAVIGATION_BAR_BUTTON_TAP = "onNavigationBarButtonTap"; -const ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED = "onNavigationBarSearchInputClicked"; -const ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED = "onNavigationBarSearchInputChanged"; -const ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED = "onNavigationBarSearchInputConfirmed"; -const ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED = "onNavigationBarSearchInputFocusChanged"; -const VIRTUAL_HOST_STYLE = "virtualHostStyle"; -const VIRTUAL_HOST_CLASS = "virtualHostClass"; -const VIRTUAL_HOST_HIDDEN = "virtualHostHidden"; -const VIRTUAL_HOST_ID = "virtualHostId"; -function hasLeadingSlash(str) { - return str.indexOf("/") === 0; -} -function addLeadingSlash(str) { - return hasLeadingSlash(str) ? str : "/" + str; -} -const invokeArrayFns = (fns, arg) => { - let ret; - for (let i = 0; i < fns.length; i++) { - ret = fns[i](arg); - } - return ret; -}; -function once(fn, ctx = null) { - let res; - return (...args) => { - if (fn) { - res = fn.apply(ctx, args); - fn = null; - } - return res; - }; -} -function getValueByDataPath(obj, path) { - if (!isString(path)) { - return; - } - path = path.replace(/\[(\d+)\]/g, ".$1"); - const parts = path.split("."); - let key = parts[0]; - if (!obj) { - obj = {}; - } - if (parts.length === 1) { - return obj[key]; - } - return getValueByDataPath(obj[key], parts.slice(1).join(".")); -} -function sortObject(obj) { - let sortObj = {}; - if (isPlainObject$1(obj)) { - Object.keys(obj).sort().forEach((key) => { - const _key = key; - sortObj[_key] = obj[_key]; - }); - } - return !Object.keys(sortObj) ? obj : sortObj; -} -const customizeRE = /:/g; -function customizeEvent(str) { - return camelize(str.replace(customizeRE, "-")); -} -const encode = encodeURIComponent; -function stringifyQuery(obj, encodeStr = encode) { - const res = obj ? Object.keys(obj).map((key) => { - let val = obj[key]; - if (typeof val === void 0 || val === null) { - val = ""; - } else if (isPlainObject$1(val)) { - val = JSON.stringify(val); - } - return encodeStr(key) + "=" + encodeStr(val); - }).filter((x) => x.length > 0).join("&") : null; - return res ? `?${res}` : ""; -} -const PAGE_HOOKS = [ - ON_INIT, - ON_LOAD, - ON_SHOW, - ON_HIDE, - ON_UNLOAD, - ON_BACK_PRESS, - ON_PAGE_SCROLL, - ON_TAB_ITEM_TAP, - ON_REACH_BOTTOM, - ON_PULL_DOWN_REFRESH, - ON_SHARE_TIMELINE, - ON_SHARE_APP_MESSAGE, - ON_SHARE_CHAT, - ON_ADD_TO_FAVORITES, - ON_SAVE_EXIT_STATE, - ON_NAVIGATION_BAR_BUTTON_TAP, - ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED, - ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED, - ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED, - ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED -]; -function isRootHook(name) { - return PAGE_HOOKS.indexOf(name) > -1; -} -const UniLifecycleHooks = [ - ON_SHOW, - ON_HIDE, - ON_LAUNCH, - ON_ERROR, - ON_THEME_CHANGE, - ON_PAGE_NOT_FOUND, - ON_UNHANDLE_REJECTION, - ON_EXIT, - ON_INIT, - ON_LOAD, - ON_READY, - ON_UNLOAD, - ON_RESIZE, - ON_BACK_PRESS, - ON_PAGE_SCROLL, - ON_TAB_ITEM_TAP, - ON_REACH_BOTTOM, - ON_PULL_DOWN_REFRESH, - ON_SHARE_TIMELINE, - ON_ADD_TO_FAVORITES, - ON_SHARE_APP_MESSAGE, - ON_SHARE_CHAT, - ON_SAVE_EXIT_STATE, - ON_NAVIGATION_BAR_BUTTON_TAP, - ON_NAVIGATION_BAR_SEARCH_INPUT_CLICKED, - ON_NAVIGATION_BAR_SEARCH_INPUT_CHANGED, - ON_NAVIGATION_BAR_SEARCH_INPUT_CONFIRMED, - ON_NAVIGATION_BAR_SEARCH_INPUT_FOCUS_CHANGED -]; -const MINI_PROGRAM_PAGE_RUNTIME_HOOKS = /* @__PURE__ */ (() => { - return { - onPageScroll: 1, - onShareAppMessage: 1 << 1, - onShareTimeline: 1 << 2, - onShareChat: 1 << 3 - }; -})(); -function isUniLifecycleHook(name, value, checkType = true) { - if (checkType && !isFunction(value)) { - return false; - } - if (UniLifecycleHooks.indexOf(name) > -1) { - return true; - } else if (name.indexOf("on") === 0) { - return true; - } - return false; -} -let vueApp; -const createVueAppHooks = []; -function onCreateVueApp(hook) { - if (vueApp) { - return hook(vueApp); - } - createVueAppHooks.push(hook); -} -function invokeCreateVueAppHook(app) { - vueApp = app; - createVueAppHooks.forEach((hook) => hook(app)); -} -const invokeCreateErrorHandler = once((app, createErrorHandler2) => { - return createErrorHandler2(app); -}); -const E = function() { -}; -E.prototype = { - _id: 1, - on: function(name, callback, ctx) { - var e2 = this.e || (this.e = {}); - (e2[name] || (e2[name] = [])).push({ - fn: callback, - ctx, - _id: this._id - }); - return this._id++; - }, - once: function(name, callback, ctx) { - var self2 = this; - function listener() { - self2.off(name, listener); - callback.apply(ctx, arguments); - } - listener._ = callback; - return this.on(name, listener, ctx); - }, - emit: function(name) { - var data = [].slice.call(arguments, 1); - var evtArr = ((this.e || (this.e = {}))[name] || []).slice(); - var i = 0; - var len = evtArr.length; - for (i; i < len; i++) { - evtArr[i].fn.apply(evtArr[i].ctx, data); - } - return this; - }, - off: function(name, event) { - var e2 = this.e || (this.e = {}); - var evts = e2[name]; - var liveEvents = []; - if (evts && event) { - for (var i = evts.length - 1; i >= 0; i--) { - if (evts[i].fn === event || evts[i].fn._ === event || evts[i]._id === event) { - evts.splice(i, 1); - break; - } - } - liveEvents = evts; - } - liveEvents.length ? e2[name] = liveEvents : delete e2[name]; - return this; - } -}; -var E$1 = E; -/** -* @dcloudio/uni-mp-vue v3.4.21 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/ -function warn$2(msg, ...args) { - console.warn(`[Vue warn] ${msg}`, ...args); -} -let activeEffectScope; -class EffectScope { - constructor(detached = false) { - this.detached = detached; - this._active = true; - this.effects = []; - this.cleanups = []; - this.parent = activeEffectScope; - if (!detached && activeEffectScope) { - this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push( - this - ) - 1; - } - } - get active() { - return this._active; - } - run(fn) { - if (this._active) { - const currentEffectScope = activeEffectScope; - try { - activeEffectScope = this; - return fn(); - } finally { - activeEffectScope = currentEffectScope; - } - } else { - warn$2(`cannot run an inactive effect scope.`); - } - } - /** - * This should only be called on non-detached scopes - * @internal - */ - on() { - activeEffectScope = this; - } - /** - * This should only be called on non-detached scopes - * @internal - */ - off() { - activeEffectScope = this.parent; - } - stop(fromParent) { - if (this._active) { - let i, l; - for (i = 0, l = this.effects.length; i < l; i++) { - this.effects[i].stop(); - } - for (i = 0, l = this.cleanups.length; i < l; i++) { - this.cleanups[i](); - } - if (this.scopes) { - for (i = 0, l = this.scopes.length; i < l; i++) { - this.scopes[i].stop(true); - } - } - if (!this.detached && this.parent && !fromParent) { - const last = this.parent.scopes.pop(); - if (last && last !== this) { - this.parent.scopes[this.index] = last; - last.index = this.index; - } - } - this.parent = void 0; - this._active = false; - } - } -} -function effectScope(detached) { - return new EffectScope(detached); -} -function recordEffectScope(effect2, scope = activeEffectScope) { - if (scope && scope.active) { - scope.effects.push(effect2); - } -} -function getCurrentScope() { - return activeEffectScope; -} -function onScopeDispose(fn) { - if (activeEffectScope) { - activeEffectScope.cleanups.push(fn); - } else { - warn$2( - `onScopeDispose() is called when there is no active effect scope to be associated with.` - ); - } -} -let activeEffect; -class ReactiveEffect { - constructor(fn, trigger2, scheduler, scope) { - this.fn = fn; - this.trigger = trigger2; - this.scheduler = scheduler; - this.active = true; - this.deps = []; - this._dirtyLevel = 4; - this._trackId = 0; - this._runnings = 0; - this._shouldSchedule = false; - this._depsLength = 0; - recordEffectScope(this, scope); - } - get dirty() { - if (this._dirtyLevel === 2 || this._dirtyLevel === 3) { - this._dirtyLevel = 1; - pauseTracking(); - for (let i = 0; i < this._depsLength; i++) { - const dep = this.deps[i]; - if (dep.computed) { - triggerComputed(dep.computed); - if (this._dirtyLevel >= 4) { - break; - } - } - } - if (this._dirtyLevel === 1) { - this._dirtyLevel = 0; - } - resetTracking(); - } - return this._dirtyLevel >= 4; - } - set dirty(v) { - this._dirtyLevel = v ? 4 : 0; - } - run() { - this._dirtyLevel = 0; - if (!this.active) { - return this.fn(); - } - let lastShouldTrack = shouldTrack; - let lastEffect = activeEffect; - try { - shouldTrack = true; - activeEffect = this; - this._runnings++; - preCleanupEffect(this); - return this.fn(); - } finally { - postCleanupEffect(this); - this._runnings--; - activeEffect = lastEffect; - shouldTrack = lastShouldTrack; - } - } - stop() { - var _a; - if (this.active) { - preCleanupEffect(this); - postCleanupEffect(this); - (_a = this.onStop) == null ? void 0 : _a.call(this); - this.active = false; - } - } -} -function triggerComputed(computed2) { - return computed2.value; -} -function preCleanupEffect(effect2) { - effect2._trackId++; - effect2._depsLength = 0; -} -function postCleanupEffect(effect2) { - if (effect2.deps.length > effect2._depsLength) { - for (let i = effect2._depsLength; i < effect2.deps.length; i++) { - cleanupDepEffect(effect2.deps[i], effect2); - } - effect2.deps.length = effect2._depsLength; - } -} -function cleanupDepEffect(dep, effect2) { - const trackId = dep.get(effect2); - if (trackId !== void 0 && effect2._trackId !== trackId) { - dep.delete(effect2); - if (dep.size === 0) { - dep.cleanup(); - } - } -} -let shouldTrack = true; -let pauseScheduleStack = 0; -const trackStack = []; -function pauseTracking() { - trackStack.push(shouldTrack); - shouldTrack = false; -} -function resetTracking() { - const last = trackStack.pop(); - shouldTrack = last === void 0 ? true : last; -} -function pauseScheduling() { - pauseScheduleStack++; -} -function resetScheduling() { - pauseScheduleStack--; - while (!pauseScheduleStack && queueEffectSchedulers.length) { - queueEffectSchedulers.shift()(); - } -} -function trackEffect(effect2, dep, debuggerEventExtraInfo) { - var _a; - if (dep.get(effect2) !== effect2._trackId) { - dep.set(effect2, effect2._trackId); - const oldDep = effect2.deps[effect2._depsLength]; - if (oldDep !== dep) { - if (oldDep) { - cleanupDepEffect(oldDep, effect2); - } - effect2.deps[effect2._depsLength++] = dep; - } else { - effect2._depsLength++; - } - { - (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo)); - } - } -} -const queueEffectSchedulers = []; -function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) { - var _a; - pauseScheduling(); - for (const effect2 of dep.keys()) { - let tracking; - if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) { - effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0); - effect2._dirtyLevel = dirtyLevel; - } - if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) { - { - (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo)); - } - effect2.trigger(); - if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) { - effect2._shouldSchedule = false; - if (effect2.scheduler) { - queueEffectSchedulers.push(effect2.scheduler); - } - } - } - } - resetScheduling(); -} -const createDep = (cleanup, computed2) => { - const dep = /* @__PURE__ */ new Map(); - dep.cleanup = cleanup; - dep.computed = computed2; - return dep; -}; -const targetMap = /* @__PURE__ */ new WeakMap(); -const ITERATE_KEY = Symbol("iterate"); -const MAP_KEY_ITERATE_KEY = Symbol("Map key iterate"); -function track(target, type, key) { - if (shouldTrack && activeEffect) { - let depsMap = targetMap.get(target); - if (!depsMap) { - targetMap.set(target, depsMap = /* @__PURE__ */ new Map()); - } - let dep = depsMap.get(key); - if (!dep) { - depsMap.set(key, dep = createDep(() => depsMap.delete(key))); - } - trackEffect( - activeEffect, - dep, - { - target, - type, - key - } - ); - } -} -function trigger(target, type, key, newValue, oldValue, oldTarget) { - const depsMap = targetMap.get(target); - if (!depsMap) { - return; - } - let deps = []; - if (type === "clear") { - deps = [...depsMap.values()]; - } else if (key === "length" && isArray(target)) { - const newLength = Number(newValue); - depsMap.forEach((dep, key2) => { - if (key2 === "length" || !isSymbol(key2) && key2 >= newLength) { - deps.push(dep); - } - }); - } else { - if (key !== void 0) { - deps.push(depsMap.get(key)); - } - switch (type) { - case "add": - if (!isArray(target)) { - deps.push(depsMap.get(ITERATE_KEY)); - if (isMap(target)) { - deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); - } - } else if (isIntegerKey(key)) { - deps.push(depsMap.get("length")); - } - break; - case "delete": - if (!isArray(target)) { - deps.push(depsMap.get(ITERATE_KEY)); - if (isMap(target)) { - deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); - } - } - break; - case "set": - if (isMap(target)) { - deps.push(depsMap.get(ITERATE_KEY)); - } - break; - } - } - pauseScheduling(); - for (const dep of deps) { - if (dep) { - triggerEffects( - dep, - 4, - { - target, - type, - key, - newValue, - oldValue, - oldTarget - } - ); - } - } - resetScheduling(); -} -function getDepFromReactive(object, key) { - var _a; - return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key); -} -const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`); -const builtInSymbols = new Set( - /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol) -); -const arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations(); -function createArrayInstrumentations() { - const instrumentations = {}; - ["includes", "indexOf", "lastIndexOf"].forEach((key) => { - instrumentations[key] = function(...args) { - const arr = toRaw(this); - for (let i = 0, l = this.length; i < l; i++) { - track(arr, "get", i + ""); - } - const res = arr[key](...args); - if (res === -1 || res === false) { - return arr[key](...args.map(toRaw)); - } else { - return res; - } - }; - }); - ["push", "pop", "shift", "unshift", "splice"].forEach((key) => { - instrumentations[key] = function(...args) { - pauseTracking(); - pauseScheduling(); - const res = toRaw(this)[key].apply(this, args); - resetScheduling(); - resetTracking(); - return res; - }; - }); - return instrumentations; -} -function hasOwnProperty(key) { - const obj = toRaw(this); - track(obj, "has", key); - return obj.hasOwnProperty(key); -} -class BaseReactiveHandler { - constructor(_isReadonly = false, _isShallow = false) { - this._isReadonly = _isReadonly; - this._isShallow = _isShallow; - } - get(target, key, receiver) { - const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow; - if (key === "__v_isReactive") { - return !isReadonly2; - } else if (key === "__v_isReadonly") { - return isReadonly2; - } else if (key === "__v_isShallow") { - return isShallow2; - } else if (key === "__v_raw") { - if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype - // this means the reciever is a user proxy of the reactive proxy - Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) { - return target; - } - return; - } - const targetIsArray = isArray(target); - if (!isReadonly2) { - if (targetIsArray && hasOwn(arrayInstrumentations, key)) { - return Reflect.get(arrayInstrumentations, key, receiver); - } - if (key === "hasOwnProperty") { - return hasOwnProperty; - } - } - const res = Reflect.get(target, key, receiver); - if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { - return res; - } - if (!isReadonly2) { - track(target, "get", key); - } - if (isShallow2) { - return res; - } - if (isRef(res)) { - return targetIsArray && isIntegerKey(key) ? res : res.value; - } - if (isObject(res)) { - return isReadonly2 ? readonly(res) : reactive(res); - } - return res; - } -} -class MutableReactiveHandler extends BaseReactiveHandler { - constructor(isShallow2 = false) { - super(false, isShallow2); - } - set(target, key, value, receiver) { - let oldValue = target[key]; - if (!this._isShallow) { - const isOldValueReadonly = isReadonly(oldValue); - if (!isShallow(value) && !isReadonly(value)) { - oldValue = toRaw(oldValue); - value = toRaw(value); - } - if (!isArray(target) && isRef(oldValue) && !isRef(value)) { - if (isOldValueReadonly) { - return false; - } else { - oldValue.value = value; - return true; - } - } - } - const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key); - const result = Reflect.set(target, key, value, receiver); - if (target === toRaw(receiver)) { - if (!hadKey) { - trigger(target, "add", key, value); - } else if (hasChanged(value, oldValue)) { - trigger(target, "set", key, value, oldValue); - } - } - return result; - } - deleteProperty(target, key) { - const hadKey = hasOwn(target, key); - const oldValue = target[key]; - const result = Reflect.deleteProperty(target, key); - if (result && hadKey) { - trigger(target, "delete", key, void 0, oldValue); - } - return result; - } - has(target, key) { - const result = Reflect.has(target, key); - if (!isSymbol(key) || !builtInSymbols.has(key)) { - track(target, "has", key); - } - return result; - } - ownKeys(target) { - track( - target, - "iterate", - isArray(target) ? "length" : ITERATE_KEY - ); - return Reflect.ownKeys(target); - } -} -class ReadonlyReactiveHandler extends BaseReactiveHandler { - constructor(isShallow2 = false) { - super(true, isShallow2); - } - set(target, key) { - { - warn$2( - `Set operation on key "${String(key)}" failed: target is readonly.`, - target - ); - } - return true; - } - deleteProperty(target, key) { - { - warn$2( - `Delete operation on key "${String(key)}" failed: target is readonly.`, - target - ); - } - return true; - } -} -const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler(); -const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(); -const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler( - true -); -const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true); -const toShallow = (value) => value; -const getProto = (v) => Reflect.getPrototypeOf(v); -function get(target, key, isReadonly2 = false, isShallow2 = false) { - target = target["__v_raw"]; - const rawTarget = toRaw(target); - const rawKey = toRaw(key); - if (!isReadonly2) { - if (hasChanged(key, rawKey)) { - track(rawTarget, "get", key); - } - track(rawTarget, "get", rawKey); - } - const { has: has2 } = getProto(rawTarget); - const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; - if (has2.call(rawTarget, key)) { - return wrap(target.get(key)); - } else if (has2.call(rawTarget, rawKey)) { - return wrap(target.get(rawKey)); - } else if (target !== rawTarget) { - target.get(key); - } -} -function has$1(key, isReadonly2 = false) { - const target = this["__v_raw"]; - const rawTarget = toRaw(target); - const rawKey = toRaw(key); - if (!isReadonly2) { - if (hasChanged(key, rawKey)) { - track(rawTarget, "has", key); - } - track(rawTarget, "has", rawKey); - } - return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); -} -function size(target, isReadonly2 = false) { - target = target["__v_raw"]; - !isReadonly2 && track(toRaw(target), "iterate", ITERATE_KEY); - return Reflect.get(target, "size", target); -} -function add(value) { - value = toRaw(value); - const target = toRaw(this); - const proto = getProto(target); - const hadKey = proto.has.call(target, value); - if (!hadKey) { - target.add(value); - trigger(target, "add", value, value); - } - return this; -} -function set$1(key, value) { - value = toRaw(value); - const target = toRaw(this); - const { has: has2, get: get2 } = getProto(target); - let hadKey = has2.call(target, key); - if (!hadKey) { - key = toRaw(key); - hadKey = has2.call(target, key); - } else { - checkIdentityKeys(target, has2, key); - } - const oldValue = get2.call(target, key); - target.set(key, value); - if (!hadKey) { - trigger(target, "add", key, value); - } else if (hasChanged(value, oldValue)) { - trigger(target, "set", key, value, oldValue); - } - return this; -} -function deleteEntry(key) { - const target = toRaw(this); - const { has: has2, get: get2 } = getProto(target); - let hadKey = has2.call(target, key); - if (!hadKey) { - key = toRaw(key); - hadKey = has2.call(target, key); - } else { - checkIdentityKeys(target, has2, key); - } - const oldValue = get2 ? get2.call(target, key) : void 0; - const result = target.delete(key); - if (hadKey) { - trigger(target, "delete", key, void 0, oldValue); - } - return result; -} -function clear() { - const target = toRaw(this); - const hadItems = target.size !== 0; - const oldTarget = isMap(target) ? new Map(target) : new Set(target); - const result = target.clear(); - if (hadItems) { - trigger(target, "clear", void 0, void 0, oldTarget); - } - return result; -} -function createForEach(isReadonly2, isShallow2) { - return function forEach(callback, thisArg) { - const observed = this; - const target = observed["__v_raw"]; - const rawTarget = toRaw(target); - const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; - !isReadonly2 && track(rawTarget, "iterate", ITERATE_KEY); - return target.forEach((value, key) => { - return callback.call(thisArg, wrap(value), wrap(key), observed); - }); - }; -} -function createIterableMethod(method, isReadonly2, isShallow2) { - return function(...args) { - const target = this["__v_raw"]; - const rawTarget = toRaw(target); - const targetIsMap = isMap(rawTarget); - const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; - const isKeyOnly = method === "keys" && targetIsMap; - const innerIterator = target[method](...args); - const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; - !isReadonly2 && track( - rawTarget, - "iterate", - isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY - ); - return { - // iterator protocol - next() { - const { value, done } = innerIterator.next(); - return done ? { value, done } : { - value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), - done - }; - }, - // iterable protocol - [Symbol.iterator]() { - return this; - } - }; - }; -} -function createReadonlyMethod(type) { - return function(...args) { - { - const key = args[0] ? `on key "${args[0]}" ` : ``; - warn$2( - `${capitalize(type)} operation ${key}failed: target is readonly.`, - toRaw(this) - ); - } - return type === "delete" ? false : type === "clear" ? void 0 : this; - }; -} -function createInstrumentations() { - const mutableInstrumentations2 = { - get(key) { - return get(this, key); - }, - get size() { - return size(this); - }, - has: has$1, - add, - set: set$1, - delete: deleteEntry, - clear, - forEach: createForEach(false, false) - }; - const shallowInstrumentations2 = { - get(key) { - return get(this, key, false, true); - }, - get size() { - return size(this); - }, - has: has$1, - add, - set: set$1, - delete: deleteEntry, - clear, - forEach: createForEach(false, true) - }; - const readonlyInstrumentations2 = { - get(key) { - return get(this, key, true); - }, - get size() { - return size(this, true); - }, - has(key) { - return has$1.call(this, key, true); - }, - add: createReadonlyMethod("add"), - set: createReadonlyMethod("set"), - delete: createReadonlyMethod("delete"), - clear: createReadonlyMethod("clear"), - forEach: createForEach(true, false) - }; - const shallowReadonlyInstrumentations2 = { - get(key) { - return get(this, key, true, true); - }, - get size() { - return size(this, true); - }, - has(key) { - return has$1.call(this, key, true); - }, - add: createReadonlyMethod("add"), - set: createReadonlyMethod("set"), - delete: createReadonlyMethod("delete"), - clear: createReadonlyMethod("clear"), - forEach: createForEach(true, true) - }; - const iteratorMethods = [ - "keys", - "values", - "entries", - Symbol.iterator - ]; - iteratorMethods.forEach((method) => { - mutableInstrumentations2[method] = createIterableMethod(method, false, false); - readonlyInstrumentations2[method] = createIterableMethod(method, true, false); - shallowInstrumentations2[method] = createIterableMethod(method, false, true); - shallowReadonlyInstrumentations2[method] = createIterableMethod( - method, - true, - true - ); - }); - return [ - mutableInstrumentations2, - readonlyInstrumentations2, - shallowInstrumentations2, - shallowReadonlyInstrumentations2 - ]; -} -const [ - mutableInstrumentations, - readonlyInstrumentations, - shallowInstrumentations, - shallowReadonlyInstrumentations -] = /* @__PURE__ */ createInstrumentations(); -function createInstrumentationGetter(isReadonly2, shallow) { - const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations; - return (target, key, receiver) => { - if (key === "__v_isReactive") { - return !isReadonly2; - } else if (key === "__v_isReadonly") { - return isReadonly2; - } else if (key === "__v_raw") { - return target; - } - return Reflect.get( - hasOwn(instrumentations, key) && key in target ? instrumentations : target, - key, - receiver - ); - }; -} -const mutableCollectionHandlers = { - get: /* @__PURE__ */ createInstrumentationGetter(false, false) -}; -const shallowCollectionHandlers = { - get: /* @__PURE__ */ createInstrumentationGetter(false, true) -}; -const readonlyCollectionHandlers = { - get: /* @__PURE__ */ createInstrumentationGetter(true, false) -}; -const shallowReadonlyCollectionHandlers = { - get: /* @__PURE__ */ createInstrumentationGetter(true, true) -}; -function checkIdentityKeys(target, has2, key) { - const rawKey = toRaw(key); - if (rawKey !== key && has2.call(target, rawKey)) { - const type = toRawType(target); - warn$2( - `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.` - ); - } -} -const reactiveMap = /* @__PURE__ */ new WeakMap(); -const shallowReactiveMap = /* @__PURE__ */ new WeakMap(); -const readonlyMap = /* @__PURE__ */ new WeakMap(); -const shallowReadonlyMap = /* @__PURE__ */ new WeakMap(); -function targetTypeMap(rawType) { - switch (rawType) { - case "Object": - case "Array": - return 1; - case "Map": - case "Set": - case "WeakMap": - case "WeakSet": - return 2; - default: - return 0; - } -} -function getTargetType(value) { - return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value)); -} -function reactive(target) { - if (isReadonly(target)) { - return target; - } - return createReactiveObject( - target, - false, - mutableHandlers, - mutableCollectionHandlers, - reactiveMap - ); -} -function shallowReactive(target) { - return createReactiveObject( - target, - false, - shallowReactiveHandlers, - shallowCollectionHandlers, - shallowReactiveMap - ); -} -function readonly(target) { - return createReactiveObject( - target, - true, - readonlyHandlers, - readonlyCollectionHandlers, - readonlyMap - ); -} -function shallowReadonly(target) { - return createReactiveObject( - target, - true, - shallowReadonlyHandlers, - shallowReadonlyCollectionHandlers, - shallowReadonlyMap - ); -} -function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { - if (!isObject(target)) { - { - warn$2(`value cannot be made reactive: ${String(target)}`); - } - return target; - } - if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) { - return target; - } - const existingProxy = proxyMap.get(target); - if (existingProxy) { - return existingProxy; - } - const targetType = getTargetType(target); - if (targetType === 0) { - return target; - } - const proxy = new Proxy( - target, - targetType === 2 ? collectionHandlers : baseHandlers - ); - proxyMap.set(target, proxy); - return proxy; -} -function isReactive(value) { - if (isReadonly(value)) { - return isReactive(value["__v_raw"]); - } - return !!(value && value["__v_isReactive"]); -} -function isReadonly(value) { - return !!(value && value["__v_isReadonly"]); -} -function isShallow(value) { - return !!(value && value["__v_isShallow"]); -} -function isProxy(value) { - return isReactive(value) || isReadonly(value); -} -function toRaw(observed) { - const raw = observed && observed["__v_raw"]; - return raw ? toRaw(raw) : observed; -} -function markRaw(value) { - if (Object.isExtensible(value)) { - def(value, "__v_skip", true); - } - return value; -} -const toReactive = (value) => isObject(value) ? reactive(value) : value; -const toReadonly = (value) => isObject(value) ? readonly(value) : value; -const COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`; -class ComputedRefImpl { - constructor(getter, _setter, isReadonly2, isSSR) { - this.getter = getter; - this._setter = _setter; - this.dep = void 0; - this.__v_isRef = true; - this["__v_isReadonly"] = false; - this.effect = new ReactiveEffect( - () => getter(this._value), - () => triggerRefValue( - this, - this.effect._dirtyLevel === 2 ? 2 : 3 - ) - ); - this.effect.computed = this; - this.effect.active = this._cacheable = !isSSR; - this["__v_isReadonly"] = isReadonly2; - } - get value() { - const self = toRaw(this); - if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) { - triggerRefValue(self, 4); - } - trackRefValue(self); - if (self.effect._dirtyLevel >= 2) { - if (this._warnRecursive) { - warn$2(COMPUTED_SIDE_EFFECT_WARN, ` - -getter: `, this.getter); - } - triggerRefValue(self, 2); - } - return self._value; - } - set value(newValue) { - this._setter(newValue); - } - // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x - get _dirty() { - return this.effect.dirty; - } - set _dirty(v) { - this.effect.dirty = v; - } - // #endregion -} -function computed$1(getterOrOptions, debugOptions, isSSR = false) { - let getter; - let setter; - const onlyGetter = isFunction(getterOrOptions); - if (onlyGetter) { - getter = getterOrOptions; - setter = () => { - warn$2("Write operation failed: computed value is readonly"); - }; - } else { - getter = getterOrOptions.get; - setter = getterOrOptions.set; - } - const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR); - if (debugOptions && !isSSR) { - cRef.effect.onTrack = debugOptions.onTrack; - cRef.effect.onTrigger = debugOptions.onTrigger; - } - return cRef; -} -function trackRefValue(ref2) { - var _a; - if (shouldTrack && activeEffect) { - ref2 = toRaw(ref2); - trackEffect( - activeEffect, - (_a = ref2.dep) != null ? _a : ref2.dep = createDep( - () => ref2.dep = void 0, - ref2 instanceof ComputedRefImpl ? ref2 : void 0 - ), - { - target: ref2, - type: "get", - key: "value" - } - ); - } -} -function triggerRefValue(ref2, dirtyLevel = 4, newVal) { - ref2 = toRaw(ref2); - const dep = ref2.dep; - if (dep) { - triggerEffects( - dep, - dirtyLevel, - { - target: ref2, - type: "set", - key: "value", - newValue: newVal - } - ); - } -} -function isRef(r2) { - return !!(r2 && r2.__v_isRef === true); -} -function ref(value) { - return createRef(value, false); -} -function createRef(rawValue, shallow) { - if (isRef(rawValue)) { - return rawValue; - } - return new RefImpl(rawValue, shallow); -} -class RefImpl { - constructor(value, __v_isShallow) { - this.__v_isShallow = __v_isShallow; - this.dep = void 0; - this.__v_isRef = true; - this._rawValue = __v_isShallow ? value : toRaw(value); - this._value = __v_isShallow ? value : toReactive(value); - } - get value() { - trackRefValue(this); - return this._value; - } - set value(newVal) { - const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal); - newVal = useDirectValue ? newVal : toRaw(newVal); - if (hasChanged(newVal, this._rawValue)) { - this._rawValue = newVal; - this._value = useDirectValue ? newVal : toReactive(newVal); - triggerRefValue(this, 4, newVal); - } - } -} -function unref(ref2) { - return isRef(ref2) ? ref2.value : ref2; -} -const shallowUnwrapHandlers = { - get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)), - set: (target, key, value, receiver) => { - const oldValue = target[key]; - if (isRef(oldValue) && !isRef(value)) { - oldValue.value = value; - return true; - } else { - return Reflect.set(target, key, value, receiver); - } - } -}; -function proxyRefs(objectWithRefs) { - return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); -} -function toRefs(object) { - if (!isProxy(object)) { - warn$2(`toRefs() expects a reactive object but received a plain one.`); - } - const ret = isArray(object) ? new Array(object.length) : {}; - for (const key in object) { - ret[key] = propertyToRef(object, key); - } - return ret; -} -class ObjectRefImpl { - constructor(_object, _key, _defaultValue) { - this._object = _object; - this._key = _key; - this._defaultValue = _defaultValue; - this.__v_isRef = true; - } - get value() { - const val = this._object[this._key]; - return val === void 0 ? this._defaultValue : val; - } - set value(newVal) { - this._object[this._key] = newVal; - } - get dep() { - return getDepFromReactive(toRaw(this._object), this._key); - } -} -class GetterRefImpl { - constructor(_getter) { - this._getter = _getter; - this.__v_isRef = true; - this.__v_isReadonly = true; - } - get value() { - return this._getter(); - } -} -function toRef(source, key, defaultValue) { - if (isRef(source)) { - return source; - } else if (isFunction(source)) { - return new GetterRefImpl(source); - } else if (isObject(source) && arguments.length > 1) { - return propertyToRef(source, key, defaultValue); - } else { - return ref(source); - } -} -function propertyToRef(source, key, defaultValue) { - const val = source[key]; - return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue); -} -const stack = []; -function pushWarningContext(vnode) { - stack.push(vnode); -} -function popWarningContext() { - stack.pop(); -} -function warn$1(msg, ...args) { - pauseTracking(); - const instance = stack.length ? stack[stack.length - 1].component : null; - const appWarnHandler = instance && instance.appContext.config.warnHandler; - const trace = getComponentTrace(); - if (appWarnHandler) { - callWithErrorHandling( - appWarnHandler, - instance, - 11, - [ - msg + args.map((a) => { - var _a, _b; - return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a); - }).join(""), - instance && instance.proxy, - trace.map( - ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>` - ).join("\n"), - trace - ] - ); - } else { - const warnArgs = [`[Vue warn]: ${msg}`, ...args]; - if (trace.length && // avoid spamming console during tests - true) { - warnArgs.push(` -`, ...formatTrace(trace)); - } - console.warn(...warnArgs); - } - resetTracking(); -} -function getComponentTrace() { - let currentVNode = stack[stack.length - 1]; - if (!currentVNode) { - return []; - } - const normalizedStack = []; - while (currentVNode) { - const last = normalizedStack[0]; - if (last && last.vnode === currentVNode) { - last.recurseCount++; - } else { - normalizedStack.push({ - vnode: currentVNode, - recurseCount: 0 - }); - } - const parentInstance = currentVNode.component && currentVNode.component.parent; - currentVNode = parentInstance && parentInstance.vnode; - } - return normalizedStack; -} -function formatTrace(trace) { - const logs = []; - trace.forEach((entry, i) => { - logs.push(...i === 0 ? [] : [` -`], ...formatTraceEntry(entry)); - }); - return logs; -} -function formatTraceEntry({ vnode, recurseCount }) { - const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``; - const isRoot = vnode.component ? vnode.component.parent == null : false; - const open = ` at <${formatComponentName( - vnode.component, - vnode.type, - isRoot - )}`; - const close = `>` + postfix; - return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close]; -} -function formatProps(props) { - const res = []; - const keys = Object.keys(props); - keys.slice(0, 3).forEach((key) => { - res.push(...formatProp(key, props[key])); - }); - if (keys.length > 3) { - res.push(` ...`); - } - return res; -} -function formatProp(key, value, raw) { - if (isString(value)) { - value = JSON.stringify(value); - return raw ? value : [`${key}=${value}`]; - } else if (typeof value === "number" || typeof value === "boolean" || value == null) { - return raw ? value : [`${key}=${value}`]; - } else if (isRef(value)) { - value = formatProp(key, toRaw(value.value), true); - return raw ? value : [`${key}=Ref<`, value, `>`]; - } else if (isFunction(value)) { - return [`${key}=fn${value.name ? `<${value.name}>` : ``}`]; - } else { - value = toRaw(value); - return raw ? value : [`${key}=`, value]; - } -} -const ErrorTypeStrings = { - ["sp"]: "serverPrefetch hook", - ["bc"]: "beforeCreate hook", - ["c"]: "created hook", - ["bm"]: "beforeMount hook", - ["m"]: "mounted hook", - ["bu"]: "beforeUpdate hook", - ["u"]: "updated", - ["bum"]: "beforeUnmount hook", - ["um"]: "unmounted hook", - ["a"]: "activated hook", - ["da"]: "deactivated hook", - ["ec"]: "errorCaptured hook", - ["rtc"]: "renderTracked hook", - ["rtg"]: "renderTriggered hook", - [0]: "setup function", - [1]: "render function", - [2]: "watcher getter", - [3]: "watcher callback", - [4]: "watcher cleanup function", - [5]: "native event handler", - [6]: "component event handler", - [7]: "vnode hook", - [8]: "directive hook", - [9]: "transition hook", - [10]: "app errorHandler", - [11]: "app warnHandler", - [12]: "ref function", - [13]: "async component loader", - [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ." -}; -function callWithErrorHandling(fn, instance, type, args) { - try { - return args ? fn(...args) : fn(); - } catch (err) { - handleError(err, instance, type); - } -} -function callWithAsyncErrorHandling(fn, instance, type, args) { - if (isFunction(fn)) { - const res = callWithErrorHandling(fn, instance, type, args); - if (res && isPromise(res)) { - res.catch((err) => { - handleError(err, instance, type); - }); - } - return res; - } - const values = []; - for (let i = 0; i < fn.length; i++) { - values.push(callWithAsyncErrorHandling(fn[i], instance, type, args)); - } - return values; -} -function handleError(err, instance, type, throwInDev = true) { - const contextVNode = instance ? instance.vnode : null; - if (instance) { - let cur = instance.parent; - const exposedInstance = instance.proxy; - const errorInfo = ErrorTypeStrings[type] || type; - while (cur) { - const errorCapturedHooks = cur.ec; - if (errorCapturedHooks) { - for (let i = 0; i < errorCapturedHooks.length; i++) { - if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) { - return; - } - } - } - cur = cur.parent; - } - const appErrorHandler = instance.appContext.config.errorHandler; - if (appErrorHandler) { - callWithErrorHandling( - appErrorHandler, - null, - 10, - [err, exposedInstance, errorInfo] - ); - return; - } - } - logError(err, type, contextVNode, throwInDev); -} -function logError(err, type, contextVNode, throwInDev = true) { - { - const info = ErrorTypeStrings[type] || type; - if (contextVNode) { - pushWarningContext(contextVNode); - } - warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`); - if (contextVNode) { - popWarningContext(); - } - if (throwInDev) { - console.error(err); - } else { - console.error(err); - } - } -} -let isFlushing = false; -let isFlushPending = false; -const queue$1 = []; -let flushIndex = 0; -const pendingPostFlushCbs = []; -let activePostFlushCbs = null; -let postFlushIndex = 0; -const resolvedPromise = /* @__PURE__ */ Promise.resolve(); -let currentFlushPromise = null; -const RECURSION_LIMIT = 100; -function nextTick$1(fn) { - const p2 = currentFlushPromise || resolvedPromise; - return fn ? p2.then(this ? fn.bind(this) : fn) : p2; -} -function findInsertionIndex(id) { - let start = flushIndex + 1; - let end = queue$1.length; - while (start < end) { - const middle = start + end >>> 1; - const middleJob = queue$1[middle]; - const middleJobId = getId(middleJob); - if (middleJobId < id || middleJobId === id && middleJob.pre) { - start = middle + 1; - } else { - end = middle; - } - } - return start; -} -function queueJob(job) { - if (!queue$1.length || !queue$1.includes( - job, - isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex - )) { - if (job.id == null) { - queue$1.push(job); - } else { - queue$1.splice(findInsertionIndex(job.id), 0, job); - } - queueFlush(); - } -} -function queueFlush() { - if (!isFlushing && !isFlushPending) { - isFlushPending = true; - currentFlushPromise = resolvedPromise.then(flushJobs); - } -} -function hasQueueJob(job) { - return queue$1.indexOf(job) > -1; -} -function invalidateJob(job) { - const i = queue$1.indexOf(job); - if (i > flushIndex) { - queue$1.splice(i, 1); - } -} -function queuePostFlushCb(cb) { - if (!isArray(cb)) { - if (!activePostFlushCbs || !activePostFlushCbs.includes( - cb, - cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex - )) { - pendingPostFlushCbs.push(cb); - } - } else { - pendingPostFlushCbs.push(...cb); - } - queueFlush(); -} -function flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) { - { - seen = seen || /* @__PURE__ */ new Map(); - } - for (; i < queue$1.length; i++) { - const cb = queue$1[i]; - if (cb && cb.pre) { - if (checkRecursiveUpdates(seen, cb)) { - continue; - } - queue$1.splice(i, 1); - i--; - cb(); - } - } -} -function flushPostFlushCbs(seen) { - if (pendingPostFlushCbs.length) { - const deduped = [...new Set(pendingPostFlushCbs)].sort( - (a, b) => getId(a) - getId(b) - ); - pendingPostFlushCbs.length = 0; - if (activePostFlushCbs) { - activePostFlushCbs.push(...deduped); - return; - } - activePostFlushCbs = deduped; - { - seen = seen || /* @__PURE__ */ new Map(); - } - for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) { - if (checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) { - continue; - } - activePostFlushCbs[postFlushIndex](); - } - activePostFlushCbs = null; - postFlushIndex = 0; - } -} -const getId = (job) => job.id == null ? Infinity : job.id; -const comparator = (a, b) => { - const diff2 = getId(a) - getId(b); - if (diff2 === 0) { - if (a.pre && !b.pre) - return -1; - if (b.pre && !a.pre) - return 1; - } - return diff2; -}; -function flushJobs(seen) { - isFlushPending = false; - isFlushing = true; - { - seen = seen || /* @__PURE__ */ new Map(); - } - queue$1.sort(comparator); - const check = (job) => checkRecursiveUpdates(seen, job); - try { - for (flushIndex = 0; flushIndex < queue$1.length; flushIndex++) { - const job = queue$1[flushIndex]; - if (job && job.active !== false) { - if (check(job)) { - continue; - } - callWithErrorHandling(job, null, 14); - } - } - } finally { - flushIndex = 0; - queue$1.length = 0; - flushPostFlushCbs(seen); - isFlushing = false; - currentFlushPromise = null; - if (queue$1.length || pendingPostFlushCbs.length) { - flushJobs(seen); - } - } -} -function checkRecursiveUpdates(seen, fn) { - if (!seen.has(fn)) { - seen.set(fn, 1); - } else { - const count = seen.get(fn); - if (count > RECURSION_LIMIT) { - const instance = fn.ownerInstance; - const componentName = instance && getComponentName(instance.type); - handleError( - `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`, - null, - 10 - ); - return true; - } else { - seen.set(fn, count + 1); - } - } -} -let devtools; -let buffer = []; -let devtoolsNotInstalled = false; -function emit$1(event, ...args) { - if (devtools) { - devtools.emit(event, ...args); - } else if (!devtoolsNotInstalled) { - buffer.push({ event, args }); - } -} -function setDevtoolsHook(hook, target) { - var _a, _b; - devtools = hook; - if (devtools) { - devtools.enabled = true; - buffer.forEach(({ event, args }) => devtools.emit(event, ...args)); - buffer = []; - } else if ( - // handle late devtools injection - only do this if we are in an actual - // browser environment to avoid the timer handle stalling test runner exit - // (#4815) - typeof window !== "undefined" && // some envs mock window but not fully - window.HTMLElement && // also exclude jsdom - !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes("jsdom")) - ) { - const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []; - replay.push((newHook) => { - setDevtoolsHook(newHook, target); - }); - setTimeout(() => { - if (!devtools) { - target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null; - devtoolsNotInstalled = true; - buffer = []; - } - }, 3e3); - } else { - devtoolsNotInstalled = true; - buffer = []; - } -} -function devtoolsInitApp(app, version2) { - emit$1("app:init", app, version2, { - Fragment, - Text, - Comment, - Static - }); -} -const devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook( - "component:added" - /* COMPONENT_ADDED */ -); -const devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook( - "component:updated" - /* COMPONENT_UPDATED */ -); -const _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook( - "component:removed" - /* COMPONENT_REMOVED */ -); -const devtoolsComponentRemoved = (component) => { - if (devtools && typeof devtools.cleanupBuffer === "function" && // remove the component if it wasn't buffered - !devtools.cleanupBuffer(component)) { - _devtoolsComponentRemoved(component); - } -}; -/*! #__NO_SIDE_EFFECTS__ */ -// @__NO_SIDE_EFFECTS__ -function createDevtoolsComponentHook(hook) { - return (component) => { - emit$1( - hook, - component.appContext.app, - component.uid, - // fixed by xxxxxx - // 为 0 是 App,无 parent 是 Page 指向 App - component.uid === 0 ? void 0 : component.parent ? component.parent.uid : 0, - component - ); - }; -} -const devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook( - "perf:start" - /* PERFORMANCE_START */ -); -const devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook( - "perf:end" - /* PERFORMANCE_END */ -); -function createDevtoolsPerformanceHook(hook) { - return (component, type, time) => { - emit$1(hook, component.appContext.app, component.uid, component, type, time); - }; -} -function devtoolsComponentEmit(component, event, params) { - emit$1( - "component:emit", - component.appContext.app, - component, - event, - params - ); -} -function emit(instance, event, ...rawArgs) { - if (instance.isUnmounted) - return; - const props = instance.vnode.props || EMPTY_OBJ; - { - const { - emitsOptions, - propsOptions: [propsOptions] - } = instance; - if (emitsOptions) { - if (!(event in emitsOptions) && true) { - if (!propsOptions || !(toHandlerKey(event) in propsOptions)) { - warn$1( - `Component emitted event "${event}" but it is neither declared in the emits option nor as an "${toHandlerKey(event)}" prop.` - ); - } - } else { - const validator = emitsOptions[event]; - if (isFunction(validator)) { - const isValid = validator(...rawArgs); - if (!isValid) { - warn$1( - `Invalid event arguments: event validation failed for event "${event}".` - ); - } - } - } - } - } - let args = rawArgs; - const isModelListener2 = event.startsWith("update:"); - const modelArg = isModelListener2 && event.slice(7); - if (modelArg && modelArg in props) { - const modifiersKey = `${modelArg === "modelValue" ? "model" : modelArg}Modifiers`; - const { number, trim } = props[modifiersKey] || EMPTY_OBJ; - if (trim) { - args = rawArgs.map((a) => isString(a) ? a.trim() : a); - } - if (number) { - args = rawArgs.map(looseToNumber); - } - } - { - devtoolsComponentEmit(instance, event, args); - } - { - const lowerCaseEvent = event.toLowerCase(); - if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) { - warn$1( - `Event "${lowerCaseEvent}" is emitted in component ${formatComponentName( - instance, - instance.type - )} but the handler is registered for "${event}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${hyphenate( - event - )}" instead of "${event}".` - ); - } - } - let handlerName; - let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249) - props[handlerName = toHandlerKey(camelize(event))]; - if (!handler && isModelListener2) { - handler = props[handlerName = toHandlerKey(hyphenate(event))]; - } - if (handler) { - callWithAsyncErrorHandling( - handler, - instance, - 6, - args - ); - } - const onceHandler = props[handlerName + `Once`]; - if (onceHandler) { - if (!instance.emitted) { - instance.emitted = {}; - } else if (instance.emitted[handlerName]) { - return; - } - instance.emitted[handlerName] = true; - callWithAsyncErrorHandling( - onceHandler, - instance, - 6, - args - ); - } -} -function normalizeEmitsOptions(comp, appContext, asMixin = false) { - const cache = appContext.emitsCache; - const cached = cache.get(comp); - if (cached !== void 0) { - return cached; - } - const raw = comp.emits; - let normalized = {}; - let hasExtends = false; - if (!isFunction(comp)) { - const extendEmits = (raw2) => { - const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true); - if (normalizedFromExtend) { - hasExtends = true; - extend(normalized, normalizedFromExtend); - } - }; - if (!asMixin && appContext.mixins.length) { - appContext.mixins.forEach(extendEmits); - } - if (comp.extends) { - extendEmits(comp.extends); - } - if (comp.mixins) { - comp.mixins.forEach(extendEmits); - } - } - if (!raw && !hasExtends) { - if (isObject(comp)) { - cache.set(comp, null); - } - return null; - } - if (isArray(raw)) { - raw.forEach((key) => normalized[key] = null); - } else { - extend(normalized, raw); - } - if (isObject(comp)) { - cache.set(comp, normalized); - } - return normalized; -} -function isEmitListener(options, key) { - if (!options || !isOn(key)) { - return false; - } - key = key.slice(2).replace(/Once$/, ""); - return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key); -} -let currentRenderingInstance = null; -function setCurrentRenderingInstance(instance) { - const prev = currentRenderingInstance; - currentRenderingInstance = instance; - instance && instance.type.__scopeId || null; - return prev; -} -const INITIAL_WATCHER_VALUE = {}; -function watch(source, cb, options) { - if (!isFunction(cb)) { - warn$1( - `\`watch(fn, options?)\` signature has been moved to a separate API. Use \`watchEffect(fn, options?)\` instead. \`watch\` now only supports \`watch(source, cb, options?) signature.` - ); - } - return doWatch(source, cb, options); -} -function doWatch(source, cb, { - immediate, - deep, - flush, - once: once2, - onTrack, - onTrigger -} = EMPTY_OBJ) { - if (cb && once2) { - const _cb = cb; - cb = (...args) => { - _cb(...args); - unwatch(); - }; - } - if (deep !== void 0 && typeof deep === "number") { - warn$1( - `watch() "deep" option with number value will be used as watch depth in future versions. Please use a boolean instead to avoid potential breakage.` - ); - } - if (!cb) { - if (immediate !== void 0) { - warn$1( - `watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.` - ); - } - if (deep !== void 0) { - warn$1( - `watch() "deep" option is only respected when using the watch(source, callback, options?) signature.` - ); - } - if (once2 !== void 0) { - warn$1( - `watch() "once" option is only respected when using the watch(source, callback, options?) signature.` - ); - } - } - const warnInvalidSource = (s2) => { - warn$1( - `Invalid watch source: `, - s2, - `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.` - ); - }; - const instance = currentInstance; - const reactiveGetter = (source2) => deep === true ? source2 : ( - // for deep: false, only traverse root-level properties - traverse(source2, deep === false ? 1 : void 0) - ); - let getter; - let forceTrigger = false; - let isMultiSource = false; - if (isRef(source)) { - getter = () => source.value; - forceTrigger = isShallow(source); - } else if (isReactive(source)) { - getter = () => reactiveGetter(source); - forceTrigger = true; - } else if (isArray(source)) { - isMultiSource = true; - forceTrigger = source.some((s2) => isReactive(s2) || isShallow(s2)); - getter = () => source.map((s2) => { - if (isRef(s2)) { - return s2.value; - } else if (isReactive(s2)) { - return reactiveGetter(s2); - } else if (isFunction(s2)) { - return callWithErrorHandling(s2, instance, 2); - } else { - warnInvalidSource(s2); - } - }); - } else if (isFunction(source)) { - if (cb) { - getter = () => callWithErrorHandling(source, instance, 2); - } else { - getter = () => { - if (cleanup) { - cleanup(); - } - return callWithAsyncErrorHandling( - source, - instance, - 3, - [onCleanup] - ); - }; - } - } else { - getter = NOOP; - warnInvalidSource(source); - } - if (cb && deep) { - const baseGetter = getter; - getter = () => traverse(baseGetter()); - } - let cleanup; - let onCleanup = (fn) => { - cleanup = effect2.onStop = () => { - callWithErrorHandling(fn, instance, 4); - cleanup = effect2.onStop = void 0; - }; - }; - let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE; - const job = () => { - if (!effect2.active || !effect2.dirty) { - return; - } - if (cb) { - const newValue = effect2.run(); - if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) { - if (cleanup) { - cleanup(); - } - callWithAsyncErrorHandling(cb, instance, 3, [ - newValue, - // pass undefined as the old value when it's changed for the first time - oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue, - onCleanup - ]); - oldValue = newValue; - } - } else { - effect2.run(); - } - }; - job.allowRecurse = !!cb; - let scheduler; - if (flush === "sync") { - scheduler = job; - } else if (flush === "post") { - scheduler = () => queuePostRenderEffect$1(job, instance && instance.suspense); - } else { - job.pre = true; - if (instance) - job.id = instance.uid; - scheduler = () => queueJob(job); - } - const effect2 = new ReactiveEffect(getter, NOOP, scheduler); - const scope = getCurrentScope(); - const unwatch = () => { - effect2.stop(); - if (scope) { - remove(scope.effects, effect2); - } - }; - { - effect2.onTrack = onTrack; - effect2.onTrigger = onTrigger; - } - if (cb) { - if (immediate) { - job(); - } else { - oldValue = effect2.run(); - } - } else if (flush === "post") { - queuePostRenderEffect$1( - effect2.run.bind(effect2), - instance && instance.suspense - ); - } else { - effect2.run(); - } - return unwatch; -} -function instanceWatch(source, value, options) { - const publicThis = this.proxy; - const getter = isString(source) ? source.includes(".") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis); - let cb; - if (isFunction(value)) { - cb = value; - } else { - cb = value.handler; - options = value; - } - const reset = setCurrentInstance(this); - const res = doWatch(getter, cb.bind(publicThis), options); - reset(); - return res; -} -function createPathGetter(ctx, path) { - const segments = path.split("."); - return () => { - let cur = ctx; - for (let i = 0; i < segments.length && cur; i++) { - cur = cur[segments[i]]; - } - return cur; - }; -} -function traverse(value, depth, currentDepth = 0, seen) { - if (!isObject(value) || value["__v_skip"]) { - return value; - } - if (depth && depth > 0) { - if (currentDepth >= depth) { - return value; - } - currentDepth++; - } - seen = seen || /* @__PURE__ */ new Set(); - if (seen.has(value)) { - return value; - } - seen.add(value); - if (isRef(value)) { - traverse(value.value, depth, currentDepth, seen); - } else if (isArray(value)) { - for (let i = 0; i < value.length; i++) { - traverse(value[i], depth, currentDepth, seen); - } - } else if (isSet(value) || isMap(value)) { - value.forEach((v) => { - traverse(v, depth, currentDepth, seen); - }); - } else if (isPlainObject$1(value)) { - for (const key in value) { - traverse(value[key], depth, currentDepth, seen); - } - } - return value; -} -function validateDirectiveName(name) { - if (isBuiltInDirective(name)) { - warn$1("Do not use built-in directive ids as custom directive id: " + name); - } -} -function createAppContext() { - return { - app: null, - config: { - isNativeTag: NO, - performance: false, - globalProperties: {}, - optionMergeStrategies: {}, - errorHandler: void 0, - warnHandler: void 0, - compilerOptions: {} - }, - mixins: [], - components: {}, - directives: {}, - provides: /* @__PURE__ */ Object.create(null), - optionsCache: /* @__PURE__ */ new WeakMap(), - propsCache: /* @__PURE__ */ new WeakMap(), - emitsCache: /* @__PURE__ */ new WeakMap() - }; -} -let uid$1 = 0; -function createAppAPI(render, hydrate) { - return function createApp2(rootComponent, rootProps = null) { - if (!isFunction(rootComponent)) { - rootComponent = extend({}, rootComponent); - } - if (rootProps != null && !isObject(rootProps)) { - warn$1(`root props passed to app.mount() must be an object.`); - rootProps = null; - } - const context = createAppContext(); - const installedPlugins = /* @__PURE__ */ new WeakSet(); - const app = context.app = { - _uid: uid$1++, - _component: rootComponent, - _props: rootProps, - _container: null, - _context: context, - _instance: null, - version, - get config() { - return context.config; - }, - set config(v) { - { - warn$1( - `app.config cannot be replaced. Modify individual options instead.` - ); - } - }, - use(plugin2, ...options) { - if (installedPlugins.has(plugin2)) { - warn$1(`Plugin has already been applied to target app.`); - } else if (plugin2 && isFunction(plugin2.install)) { - installedPlugins.add(plugin2); - plugin2.install(app, ...options); - } else if (isFunction(plugin2)) { - installedPlugins.add(plugin2); - plugin2(app, ...options); - } else { - warn$1( - `A plugin must either be a function or an object with an "install" function.` - ); - } - return app; - }, - mixin(mixin) { - { - if (!context.mixins.includes(mixin)) { - context.mixins.push(mixin); - } else { - warn$1( - "Mixin has already been applied to target app" + (mixin.name ? `: ${mixin.name}` : "") - ); - } - } - return app; - }, - component(name, component) { - { - validateComponentName(name, context.config); - } - if (!component) { - return context.components[name]; - } - if (context.components[name]) { - warn$1(`Component "${name}" has already been registered in target app.`); - } - context.components[name] = component; - return app; - }, - directive(name, directive) { - { - validateDirectiveName(name); - } - if (!directive) { - return context.directives[name]; - } - if (context.directives[name]) { - warn$1(`Directive "${name}" has already been registered in target app.`); - } - context.directives[name] = directive; - return app; - }, - // fixed by xxxxxx - mount() { - }, - // fixed by xxxxxx - unmount() { - }, - provide(key, value) { - if (key in context.provides) { - warn$1( - `App already provides property with key "${String(key)}". It will be overwritten with the new value.` - ); - } - context.provides[key] = value; - return app; - }, - runWithContext(fn) { - const lastApp = currentApp; - currentApp = app; - try { - return fn(); - } finally { - currentApp = lastApp; - } - } - }; - return app; - }; -} -let currentApp = null; -function provide(key, value) { - if (!currentInstance) { - { - warn$1(`provide() can only be used inside setup().`); - } - } else { - let provides = currentInstance.provides; - const parentProvides = currentInstance.parent && currentInstance.parent.provides; - if (parentProvides === provides) { - provides = currentInstance.provides = Object.create(parentProvides); - } - provides[key] = value; - if (currentInstance.type.mpType === "app") { - currentInstance.appContext.app.provide(key, value); - } - } -} -function inject(key, defaultValue, treatDefaultAsFactory = false) { - const instance = currentInstance || currentRenderingInstance; - if (instance || currentApp) { - const provides = instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : currentApp._context.provides; - if (provides && key in provides) { - return provides[key]; - } else if (arguments.length > 1) { - return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue; - } else { - warn$1(`injection "${String(key)}" not found.`); - } - } else { - warn$1(`inject() can only be used inside setup() or functional components.`); - } -} -function hasInjectionContext() { - return !!(currentInstance || currentRenderingInstance || currentApp); -} -/*! #__NO_SIDE_EFFECTS__ */ -// @__NO_SIDE_EFFECTS__ -function defineComponent(options, extraOptions) { - return isFunction(options) ? ( - // #8326: extend call and options.name access are considered side-effects - // by Rollup, so we have to wrap it in a pure-annotated IIFE. - /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))() - ) : options; -} -const isKeepAlive = (vnode) => vnode.type.__isKeepAlive; -function onActivated(hook, target) { - registerKeepAliveHook(hook, "a", target); -} -function onDeactivated(hook, target) { - registerKeepAliveHook(hook, "da", target); -} -function registerKeepAliveHook(hook, type, target = currentInstance) { - const wrappedHook = hook.__wdc || (hook.__wdc = () => { - let current = target; - while (current) { - if (current.isDeactivated) { - return; - } - current = current.parent; - } - return hook(); - }); - injectHook(type, wrappedHook, target); - if (target) { - let current = target.parent; - while (current && current.parent) { - if (isKeepAlive(current.parent.vnode)) { - injectToKeepAliveRoot(wrappedHook, type, target, current); - } - current = current.parent; - } - } -} -function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) { - const injected = injectHook( - type, - hook, - keepAliveRoot, - true - /* prepend */ - ); - onUnmounted(() => { - remove(keepAliveRoot[type], injected); - }, target); -} -function injectHook(type, hook, target = currentInstance, prepend = false) { - if (target) { - if (isRootHook(type)) { - target = target.root; - } - const hooks = target[type] || (target[type] = []); - const wrappedHook = hook.__weh || (hook.__weh = (...args) => { - if (target.isUnmounted) { - return; - } - pauseTracking(); - const reset = setCurrentInstance(target); - const res = callWithAsyncErrorHandling(hook, target, type, args); - reset(); - resetTracking(); - return res; - }); - if (prepend) { - hooks.unshift(wrappedHook); - } else { - hooks.push(wrappedHook); - } - return wrappedHook; - } else { - const apiName = toHandlerKey( - (ErrorTypeStrings[type] || type.replace(/^on/, "")).replace(/ hook$/, "") - ); - warn$1( - `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` - ); - } -} -const createHook = (lifecycle) => (hook, target = currentInstance) => ( - // post-create lifecycle registrations are noops during SSR (except for serverPrefetch) - (!isInSSRComponentSetup || lifecycle === "sp") && injectHook(lifecycle, (...args) => hook(...args), target) -); -const onBeforeMount = createHook("bm"); -const onMounted = createHook("m"); -const onBeforeUpdate = createHook("bu"); -const onUpdated = createHook("u"); -const onBeforeUnmount = createHook("bum"); -const onUnmounted = createHook("um"); -const onServerPrefetch = createHook("sp"); -const onRenderTriggered = createHook( - "rtg" -); -const onRenderTracked = createHook( - "rtc" -); -function onErrorCaptured(hook, target = currentInstance) { - injectHook("ec", hook, target); -} -const getPublicInstance = (i) => { - if (!i) - return null; - if (isStatefulComponent(i)) - return getExposeProxy(i) || i.proxy; - return getPublicInstance(i.parent); -}; -function getComponentInternalInstance(i) { - return i; -} -const publicPropertiesMap = ( - // Move PURE marker to new line to workaround compiler discarding it - // due to type annotation - /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), { - // fixed by xxxxxx - $: getComponentInternalInstance, - // fixed by xxxxxx vue-i18n 在 dev 模式,访问了 $el,故模拟一个假的 - // $el: i => i.vnode.el, - $el: (i) => i.__$el || (i.__$el = {}), - $data: (i) => i.data, - $props: (i) => shallowReadonly(i.props), - $attrs: (i) => shallowReadonly(i.attrs), - $slots: (i) => shallowReadonly(i.slots), - $refs: (i) => shallowReadonly(i.refs), - $parent: (i) => getPublicInstance(i.parent), - $root: (i) => getPublicInstance(i.root), - $emit: (i) => i.emit, - $options: (i) => resolveMergedOptions(i), - $forceUpdate: (i) => i.f || (i.f = () => { - i.effect.dirty = true; - queueJob(i.update); - }), - // $nextTick: i => i.n || (i.n = nextTick.bind(i.proxy!)),// fixed by xxxxxx - $watch: (i) => instanceWatch.bind(i) - }) -); -const isReservedPrefix = (key) => key === "_" || key === "$"; -const hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key); -const PublicInstanceProxyHandlers = { - get({ _: instance }, key) { - const { ctx, setupState, data, props, accessCache, type, appContext } = instance; - if (key === "__isVue") { - return true; - } - let normalizedProps; - if (key[0] !== "$") { - const n2 = accessCache[key]; - if (n2 !== void 0) { - switch (n2) { - case 1: - return setupState[key]; - case 2: - return data[key]; - case 4: - return ctx[key]; - case 3: - return props[key]; - } - } else if (hasSetupBinding(setupState, key)) { - accessCache[key] = 1; - return setupState[key]; - } else if (data !== EMPTY_OBJ && hasOwn(data, key)) { - accessCache[key] = 2; - return data[key]; - } else if ( - // only cache other properties when instance has declared (thus stable) - // props - (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key) - ) { - accessCache[key] = 3; - return props[key]; - } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { - accessCache[key] = 4; - return ctx[key]; - } else if (shouldCacheAccess) { - accessCache[key] = 0; - } - } - const publicGetter = publicPropertiesMap[key]; - let cssModule, globalProperties; - if (publicGetter) { - if (key === "$attrs") { - track(instance, "get", key); - } else if (key === "$slots") { - track(instance, "get", key); - } - return publicGetter(instance); - } else if ( - // css module (injected by vue-loader) - (cssModule = type.__cssModules) && (cssModule = cssModule[key]) - ) { - return cssModule; - } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { - accessCache[key] = 4; - return ctx[key]; - } else if ( - // global properties - globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key) - ) { - { - return globalProperties[key]; - } - } else if (currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading - // to infinite warning loop - key.indexOf("__v") !== 0)) { - if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) { - warn$1( - `Property ${JSON.stringify( - key - )} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.` - ); - } else if (instance === currentRenderingInstance) { - warn$1( - `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.` - ); - } - } - }, - set({ _: instance }, key, value) { - const { data, setupState, ctx } = instance; - if (hasSetupBinding(setupState, key)) { - setupState[key] = value; - return true; - } else if (setupState.__isScriptSetup && hasOwn(setupState, key)) { - warn$1(`Cannot mutate