diff --git a/dist/custom-tab-bar/index.js b/dist/custom-tab-bar/index.js
index c9cb552..3e6a422 100644
--- a/dist/custom-tab-bar/index.js
+++ b/dist/custom-tab-bar/index.js
@@ -1 +1 @@
-"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[777],{7914:function(e,n,t){var a=t(7842),c=t(5544),r=t(118),u=t(758),i=t.n(u),o=t(6540),s=t(1457),l=t(9703),f=t(6606),h=t(8199);function g(e,n,t){return Number.isFinite(e)?Math.min(t,Math.max(n,e)):n}function v(e){return g(e,0,100)}function d(e,n){return!Number.isFinite(e)||n<=0?0:g(Math.floor(v(e)/100*n),0,n-1)}function m(e,n,t){return Math.abs(n-e)>=t}function p(e){var n=e/750;return{left:36*n,width:Math.max(0,e-72*n)}}var b=t(4848),x=[{pagePath:"/pages/index/index",label:"\u9996\u9875",icon:(0,h.uq)("/icon/\u9996\u9875.svg"),iconActive:(0,h.uq)("/icon/\u9996\u9875-fill.svg")},{pagePath:"/pages/shop/index",label:"\u5546\u54c1",icon:(0,h.uq)("/icon/\u5546\u54c1.svg"),iconActive:(0,h.uq)("/icon/\u5546\u54c1-fill.svg")},{pagePath:"/pages/designList/index",label:"\u8bbe\u8ba1\u6e05\u5355",icon:(0,h.uq)("/icon/\u8c03\u8272\u76d8.svg"),iconActive:(0,h.uq)("/icon/\u8c03\u8272\u76d8-fill.svg")},{pagePath:"/pages/orders/index",label:"\u8ba2\u5355",icon:(0,h.uq)("/icon/\u5305\u88f9.svg"),iconActive:(0,h.uq)("/icon/\u5305\u88f9-fill.svg")},{pagePath:"/pages/profile/index",label:"\u6211\u7684",icon:(0,h.uq)("/icon/\u4e2a\u4eba.svg"),iconActive:(0,h.uq)("/icon/\u4e2a\u4eba-fill.svg")}],C=100/x.length,S=12;function P(e){var n=x.findIndex(function(n){return e.endsWith(n.pagePath)});return x[n>=0?n:0].pagePath}function T(){var e=i().getCurrentInstance().router,n=e&&e.path?e.path:"pages/index/index";return P(n)}function q(){var e=(0,o.useState)((0,s.eW)((0,s.O4)())),n=(0,c.A)(e,2),t=n[0],a=n[1],u=(0,o.useState)(T),h=(0,c.A)(u,2),g=h[0],q=h[1],N=(0,o.useState)(null),w=(0,c.A)(N,2),A=w[0],j=w[1],M=(0,o.useState)(!1),E=(0,c.A)(M,2),I=E[0],R=E[1],W=(0,o.useRef)(!1),k=(0,o.useRef)(null),O=(0,o.useRef)(0),X=(0,o.useRef)(null);(0,o.useEffect)(function(){var e=function(e){return a(e)};return i().eventCenter.on(l.Wo,e),function(){i().eventCenter.off(l.Wo,e)}},[]),(0,o.useEffect)(function(){var e=function(e){!e||"dark"!==e.theme&&"light"!==e.theme||((0,s.Rq)(e.theme),"auto"===(0,s.O4)()&&a(e.theme))},n=i();return n.onThemeChange&&n.onThemeChange(e),function(){n.offThemeChange&&n.offThemeChange(e)}},[]),(0,o.useEffect)(function(){var e=function(e){var n=i().getCurrentInstance().router,t=n&&n.path?n.path:"pages/index/index";q(P(e||t))};return i().eventCenter.on("tabBarChange",e),function(){i().eventCenter.off("tabBarChange",e)}},[]),(0,o.useEffect)(function(){(0,f.G)(t)},[t]);var y=function(e){q(P(e)),i().switchTab({url:e}),i().eventCenter.trigger("tabBarChange",e)},B=function(e){var n=e.touches&&e.touches[0];if(n){var t=p(i().getSystemInfoSync().windowWidth);X.current=t,O.current=n.clientX,W.current=!1,R(!1),k.current=null,j(null)}},F=function(e){var n=X.current,t=e.touches&&e.touches[0];if(n&&t){if(!W.current){if(!m(O.current,t.clientX,S))return;W.current=!0,R(!0)}var a=v((t.clientX-n.left)/n.width*100);k.current=a,j(a)}},J=function(e){var n=X.current;if(n){var t;if(W.current){var a;t=d(null!==(a=k.current)&&void 0!==a?a:0,x.length),W.current=!1,R(!1),i().nextTick(function(){k.current=null,j(null)})}else{var c=e.changedTouches&&e.changedTouches[0],r=c?c.clientX:O.current;t=d(v((r-n.left)/n.width*100),x.length)}var u=x[t];u&&u.pagePath!==g&&y(u.pagePath),X.current=null,O.current=0}},G=function(){X.current=null,O.current=0,W.current=!1,R(!1),k.current=null,j(null)},L=Math.max(0,x.findIndex(function(e){return e.pagePath===g}));return(0,b.jsxs)(r.Ss,{className:"tab-bar-root theme-".concat(t),children:[(0,b.jsx)(r.Ss,{className:"tab-bar-gradient"}),(0,b.jsxs)(r.Ss,{className:"custom-tab-bar theme-".concat(t),onTouchStart:B,onTouchMove:F,onTouchEnd:J,onTouchCancel:G,catchMove:!0,children:[(0,b.jsx)(r.Ss,{className:"tab-bar-caustic"}),(0,b.jsx)(r.Ss,{className:"tab-bar-rim"}),(0,b.jsx)(r.Ss,{className:"tab-indicator ".concat(I?"dragging":""),style:{left:"".concat(null===A?(L+.5)*C:A,"%")}}),x.map(function(e){var n=e.pagePath===g;return(0,b.jsxs)(r.Ss,{className:"tab-item ".concat(n?"active":""),children:[(0,b.jsx)(r._V,{className:"tab-icon-img ".concat(n?"active":""),src:n?e.iconActive:e.icon,mode:"aspectFit"}),(0,b.jsx)(r.EY,{className:"tab-label",children:e.label})]},e.pagePath)})]})]})}Component((0,a.createComponentConfig)(q,"custom-tab-bar/index"))}},function(e){var n=function(n){return e(e.s=n)};e.O(0,[907,96,76],function(){return n(7914)});e.O()}]);
\ No newline at end of file
+"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[777],{7914:function(n,e,t){var a=t(7842),c=t(5544),r=t(118),u=t(758),i=t.n(u),o=t(6540),s=t(1457),l=t(9703),f=t(6606),h=t(8199);function g(n,e,t){return Number.isFinite(n)?Math.min(t,Math.max(e,n)):e}function v(n){return g(n,0,100)}function p(n,e){return!Number.isFinite(n)||e<=0?0:g(Math.floor(v(n)/100*e),0,e-1)}function d(n,e,t){return Math.abs(e-n)>=t}function m(n){var e=n/750;return{left:36*e,width:Math.max(0,n-72*e)}}var b=t(4848),x=[{pagePath:"/pages/index/index",label:"\u9996\u9875",icon:(0,h.uq)("/icon/\u9996\u9875.svg"),iconActive:(0,h.uq)("/icon/\u9996\u9875-fill.svg")},{pagePath:"/pages/shop/index",label:"\u5546\u54c1",icon:(0,h.uq)("/icon/\u5546\u54c1.svg"),iconActive:(0,h.uq)("/icon/\u5546\u54c1-fill.svg")},{pagePath:"/pages/designList/index",label:"\u8bbe\u8ba1\u6e05\u5355",icon:(0,h.uq)("/icon/\u8c03\u8272\u76d8.svg"),iconActive:(0,h.uq)("/icon/\u8c03\u8272\u76d8-fill.svg")},{pagePath:"/pages/orders/index",label:"\u8ba2\u5355",icon:(0,h.uq)("/icon/\u5305\u88f9.svg"),iconActive:(0,h.uq)("/icon/\u5305\u88f9-fill.svg")},{pagePath:"/pages/profile/index",label:"\u6211\u7684",icon:(0,h.uq)("/icon/\u4e2a\u4eba.svg"),iconActive:(0,h.uq)("/icon/\u4e2a\u4eba-fill.svg")}],C=100/x.length,P=12;function S(n){var e=x.findIndex(function(e){return n.endsWith(e.pagePath)});return x[e>=0?e:0].pagePath}function T(){var n=i().getCurrentInstance().router,e=n&&n.path?n.path:"pages/index/index";return S(e)}function q(){var n=(0,o.useState)((0,s.eW)((0,s.O4)())),e=(0,c.A)(n,2),t=e[0],a=e[1],u=(0,o.useState)(T),h=(0,c.A)(u,2),g=h[0],q=h[1],N=(0,o.useState)(null),w=(0,c.A)(N,2),A=w[0],j=w[1],M=(0,o.useState)(!1),E=(0,c.A)(M,2),k=E[0],I=E[1],R=(0,o.useRef)(!1),W=(0,o.useRef)(null),O=(0,o.useRef)(0),X=(0,o.useRef)(null);(0,o.useEffect)(function(){var n=function(n){return a(n)};return i().eventCenter.on(l.Wo,n),function(){i().eventCenter.off(l.Wo,n)}},[]),(0,o.useEffect)(function(){var n=function(n){!n||"dark"!==n.theme&&"light"!==n.theme||((0,s.Rq)(n.theme),"auto"===(0,s.O4)()&&a(n.theme))},e=i();return e.onThemeChange&&e.onThemeChange(n),function(){e.offThemeChange&&e.offThemeChange(n)}},[]),(0,o.useEffect)(function(){var n=function(n){var e=i().getCurrentInstance().router,t=e&&e.path?e.path:"pages/index/index";q(S(n||t))};return i().eventCenter.on("tabBarChange",n),function(){i().eventCenter.off("tabBarChange",n)}},[]),(0,o.useEffect)(function(){(0,f.G)(t)},[t]);var y=function(n){q(S(n)),i().switchTab({url:n}),i().eventCenter.trigger("tabBarChange",n)},B=function(n){R.current||n===g||y(n)},F=function(n){var e=n.touches&&n.touches[0];if(e){var t=m(i().getSystemInfoSync().windowWidth);X.current=t,O.current=e.clientX,R.current=!1,I(!1),W.current=null,j(null)}},J=function(n){var e=X.current,t=n.touches&&n.touches[0];if(e&&t){if(!R.current){if(!d(O.current,t.clientX,P))return;R.current=!0,I(!0)}var a=v((t.clientX-e.left)/e.width*100);W.current=a,j(a)}},G=function(n){var e=X.current;if(e){var t;if(R.current){var a;t=p(null!==(a=W.current)&&void 0!==a?a:0,x.length),R.current=!1,I(!1),i().nextTick(function(){W.current=null,j(null)})}else{var c=n.changedTouches&&n.changedTouches[0],r=c?c.clientX:O.current;t=p(v((r-e.left)/e.width*100),x.length)}var u=x[t];u&&u.pagePath!==g&&y(u.pagePath),X.current=null,O.current=0}},L=function(){X.current=null,O.current=0,R.current=!1,I(!1),W.current=null,j(null)},V=Math.max(0,x.findIndex(function(n){return n.pagePath===g}));return(0,b.jsxs)(r.Ss,{className:"tab-bar-root theme-".concat(t),children:[(0,b.jsx)(r.Ss,{className:"tab-bar-gradient"}),(0,b.jsxs)(r.Ss,{className:"custom-tab-bar theme-".concat(t),onTouchStart:F,onTouchMove:J,onTouchEnd:G,onTouchCancel:L,catchMove:!0,children:[(0,b.jsx)(r.Ss,{className:"tab-bar-caustic"}),(0,b.jsx)(r.Ss,{className:"tab-bar-rim"}),(0,b.jsx)(r.Ss,{className:"tab-indicator ".concat(k?"dragging":""),style:{left:"".concat(null===A?(V+.5)*C:A,"%")}}),x.map(function(n){var e=n.pagePath===g;return(0,b.jsxs)(r.Ss,{className:"tab-item ".concat(e?"active":""),onTap:function(){return B(n.pagePath)},onClick:function(){return B(n.pagePath)},children:[(0,b.jsx)(r._V,{className:"tab-icon-img ".concat(e?"active":""),src:e?n.iconActive:n.icon,mode:"aspectFit"}),(0,b.jsx)(r.EY,{className:"tab-label",children:n.label})]},n.pagePath)})]})]})}Component((0,a.createComponentConfig)(q,"custom-tab-bar/index"))}},function(n){var e=function(e){return n(n.s=e)};n.O(0,[907,96,76],function(){return e(7914)});n.O()}]);
\ No newline at end of file
diff --git a/dist/custom-tab-bar/index.wxss b/dist/custom-tab-bar/index.wxss
index 7da6a96..bf79de2 100644
--- a/dist/custom-tab-bar/index.wxss
+++ b/dist/custom-tab-bar/index.wxss
@@ -1 +1 @@
-.tab-bar-root{bottom:0;height:160rpx;left:0;pointer-events:none;position:fixed;right:0;z-index:999}.tab-bar-gradient{bottom:0;height:100%;left:0;position:absolute;right:0}.tab-bar-root.theme-light .tab-bar-gradient{background:-webkit-gradient(linear,left bottom,left top,from(hsla(38,44%,96%,.5)),color-stop(50%,hsla(38,44%,96%,.1)),color-stop(86%,hsla(38,44%,96%,0)));background:-webkit-linear-gradient(bottom,hsla(38,44%,96%,.5),hsla(38,44%,96%,.1) 50%,hsla(38,44%,96%,0) 86%);background:linear-gradient(0deg,hsla(38,44%,96%,.5) 0,hsla(38,44%,96%,.1) 50%,hsla(38,44%,96%,0) 86%)}.tab-bar-root.theme-dark .tab-bar-gradient{background:-webkit-gradient(linear,left bottom,left top,from(rgba(25,25,25,.5)),color-stop(50%,rgba(25,25,25,.1)),color-stop(86%,rgba(25,25,25,0)));background:-webkit-linear-gradient(bottom,rgba(25,25,25,.5),rgba(25,25,25,.1) 50%,rgba(25,25,25,0) 86%);background:linear-gradient(0deg,rgba(25,25,25,.5) 0,rgba(25,25,25,.1) 50%,rgba(25,25,25,0) 86%)}.custom-tab-bar{-ms-flex-pack:distribute;-ms-flex-align:center;-webkit-align-items:center;align-items:center;backdrop-filter:blur(32rpx) saturate(1.7) brightness(1.05);-webkit-backdrop-filter:blur(32rpx) saturate(1.7) brightness(1.05);background:hsla(0,0%,100%,.24);border:1rpx solid hsla(0,0%,100%,.14);border-radius:64rpx;bottom:36rpx;-webkit-box-shadow:0 24rpx 60rpx rgba(20,14,10,.22),0 4rpx 12rpx rgba(0,0,0,.08),inset 0 2rpx 0 hsla(0,0%,100%,.35);box-shadow:0 24rpx 60rpx rgba(20,14,10,.22),0 4rpx 12rpx rgba(0,0,0,.08),inset 0 2rpx 0 hsla(0,0%,100%,.35);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:116rpx;-webkit-justify-content:space-around;justify-content:space-around;left:36rpx;overflow:hidden;pointer-events:auto;position:absolute;right:36rpx;z-index:1000}.custom-tab-bar.theme-dark{backdrop-filter:blur(32rpx) saturate(1.7) brightness(1.05);-webkit-backdrop-filter:blur(32rpx) saturate(1.7) brightness(1.05);background:rgba(25,25,25,.24);border-color:hsla(0,0%,100%,.1);-webkit-box-shadow:0 24rpx 60rpx rgba(0,0,0,.55),0 4rpx 12rpx rgba(0,0,0,.3),inset 0 2rpx 0 hsla(0,0%,100%,.12);box-shadow:0 24rpx 60rpx rgba(0,0,0,.55),0 4rpx 12rpx rgba(0,0,0,.3),inset 0 2rpx 0 hsla(0,0%,100%,.12)}.tab-bar-caustic{background:-webkit-gradient(linear,left top,left bottom,from(hsla(0,0%,100%,.32)),to(hsla(0,0%,100%,0)));background:-webkit-linear-gradient(top,hsla(0,0%,100%,.32),hsla(0,0%,100%,0));background:linear-gradient(180deg,hsla(0,0%,100%,.32),hsla(0,0%,100%,0));border-radius:64rpx 64rpx 0 0;-webkit-box-shadow:inset 0 1rpx 0 hsla(0,0%,100%,.55);box-shadow:inset 0 1rpx 0 hsla(0,0%,100%,.55);height:56rpx;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:2}.custom-tab-bar.theme-dark .tab-bar-caustic{background:-webkit-gradient(linear,left top,left bottom,from(hsla(0,0%,100%,.12)),to(hsla(0,0%,100%,0)));background:-webkit-linear-gradient(top,hsla(0,0%,100%,.12),hsla(0,0%,100%,0));background:linear-gradient(180deg,hsla(0,0%,100%,.12),hsla(0,0%,100%,0));-webkit-box-shadow:inset 0 1rpx 0 hsla(0,0%,100%,.22);box-shadow:inset 0 1rpx 0 hsla(0,0%,100%,.22)}.tab-bar-rim{background:-webkit-linear-gradient(315deg,hsla(0,0%,100%,.6),hsla(0,0%,100%,.18) 32%,hsla(0,0%,100%,.03) 68%,hsla(0,0%,100%,.24));background:linear-gradient(135deg,hsla(0,0%,100%,.6),hsla(0,0%,100%,.18) 32%,hsla(0,0%,100%,.03) 68%,hsla(0,0%,100%,.24));border-radius:inherit;bottom:0;left:0;-webkit-mask:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff)) content-box,-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff));-webkit-mask:-webkit-linear-gradient(#fff 0 0) content-box,-webkit-linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:1rpx;pointer-events:none;position:absolute;right:0;top:0;z-index:3}.custom-tab-bar.theme-dark .tab-bar-rim{background:-webkit-linear-gradient(315deg,hsla(0,0%,100%,.34),hsla(0,0%,100%,.12) 32%,hsla(0,0%,100%,.02) 68%,hsla(0,0%,100%,.16));background:linear-gradient(135deg,hsla(0,0%,100%,.34),hsla(0,0%,100%,.12) 32%,hsla(0,0%,100%,.02) 68%,hsla(0,0%,100%,.16))}.tab-item{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100%;-webkit-justify-content:center;justify-content:center;max-width:160rpx;padding:0 12rpx;position:relative;z-index:10}.tab-indicator{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.1)),to(rgba(0,0,0,.16)));background:-webkit-linear-gradient(top,rgba(0,0,0,.1),rgba(0,0,0,.16));background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.16));border:1rpx solid hsla(0,0%,100%,.25);border-radius:50rpx;bottom:6rpx;-webkit-box-shadow:inset 0 2rpx 4rpx hsla(0,0%,100%,.35),inset 0 -2rpx 4rpx rgba(0,0,0,.06),0 4rpx 10rpx rgba(0,0,0,.08);box-shadow:inset 0 2rpx 4rpx hsla(0,0%,100%,.35),inset 0 -2rpx 4rpx rgba(0,0,0,.06),0 4rpx 10rpx rgba(0,0,0,.08);height:100rpx;pointer-events:none;position:absolute;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);-webkit-transition:left .25s ease;transition:left .25s ease;width:120rpx;z-index:4}.custom-tab-bar.theme-dark .tab-indicator{background:-webkit-gradient(linear,left top,left bottom,from(hsla(0,0%,100%,.08)),to(hsla(0,0%,100%,.16)));background:-webkit-linear-gradient(top,hsla(0,0%,100%,.08),hsla(0,0%,100%,.16));background:linear-gradient(180deg,hsla(0,0%,100%,.08),hsla(0,0%,100%,.16));border-color:hsla(0,0%,100%,.18);-webkit-box-shadow:inset 0 2rpx 4rpx hsla(0,0%,100%,.12),inset 0 -2rpx 4rpx rgba(0,0,0,.3),0 4rpx 10rpx rgba(0,0,0,.2);box-shadow:inset 0 2rpx 4rpx hsla(0,0%,100%,.12),inset 0 -2rpx 4rpx rgba(0,0,0,.3),0 4rpx 10rpx rgba(0,0,0,.2)}.tab-indicator.dragging{-webkit-transition:none;transition:none}.tab-icon-img{height:40rpx;margin-bottom:2rpx;opacity:.8;position:relative;-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s;width:40rpx;z-index:1}.tab-item.active .tab-icon-img{opacity:1;-webkit-transform:scale(1.08);-ms-transform:scale(1.08);transform:scale(1.08)}.tab-label{color:#8a7e76;font-size:20rpx;font-weight:700;line-height:22rpx;position:relative;-webkit-transition:color .2s;transition:color .2s;z-index:1}.custom-tab-bar.theme-dark .tab-label{color:#b3a79c}.tab-item.active .tab-label{color:#d96c6a}.custom-tab-bar.theme-dark .tab-item.active .tab-label{color:#f09198}
\ No newline at end of file
+.tab-bar-root{bottom:0;height:160rpx;left:0;pointer-events:auto;position:fixed;right:0;z-index:999}.tab-bar-gradient{bottom:0;height:100%;left:0;pointer-events:none;position:absolute;right:0}.tab-bar-root.theme-light .tab-bar-gradient{background:-webkit-gradient(linear,left bottom,left top,from(hsla(38,44%,96%,.5)),color-stop(50%,hsla(38,44%,96%,.1)),color-stop(86%,hsla(38,44%,96%,0)));background:-webkit-linear-gradient(bottom,hsla(38,44%,96%,.5),hsla(38,44%,96%,.1) 50%,hsla(38,44%,96%,0) 86%);background:linear-gradient(0deg,hsla(38,44%,96%,.5) 0,hsla(38,44%,96%,.1) 50%,hsla(38,44%,96%,0) 86%)}.tab-bar-root.theme-dark .tab-bar-gradient{background:-webkit-gradient(linear,left bottom,left top,from(rgba(25,25,25,.5)),color-stop(50%,rgba(25,25,25,.1)),color-stop(86%,rgba(25,25,25,0)));background:-webkit-linear-gradient(bottom,rgba(25,25,25,.5),rgba(25,25,25,.1) 50%,rgba(25,25,25,0) 86%);background:linear-gradient(0deg,rgba(25,25,25,.5) 0,rgba(25,25,25,.1) 50%,rgba(25,25,25,0) 86%)}.custom-tab-bar{-ms-flex-pack:distribute;-ms-flex-align:center;-webkit-align-items:center;align-items:center;backdrop-filter:blur(32rpx) saturate(1.7) brightness(1.05);-webkit-backdrop-filter:blur(32rpx) saturate(1.7) brightness(1.05);background:hsla(0,0%,100%,.24);border:1rpx solid hsla(0,0%,100%,.14);border-radius:64rpx;bottom:36rpx;-webkit-box-shadow:0 24rpx 60rpx rgba(20,14,10,.22),0 4rpx 12rpx rgba(0,0,0,.08),inset 0 2rpx 0 hsla(0,0%,100%,.35);box-shadow:0 24rpx 60rpx rgba(20,14,10,.22),0 4rpx 12rpx rgba(0,0,0,.08),inset 0 2rpx 0 hsla(0,0%,100%,.35);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:116rpx;-webkit-justify-content:space-around;justify-content:space-around;left:36rpx;overflow:hidden;pointer-events:auto;position:absolute;right:36rpx;z-index:1000}.custom-tab-bar.theme-dark{backdrop-filter:blur(32rpx) saturate(1.7) brightness(1.05);-webkit-backdrop-filter:blur(32rpx) saturate(1.7) brightness(1.05);background:rgba(25,25,25,.24);border-color:hsla(0,0%,100%,.1);-webkit-box-shadow:0 24rpx 60rpx rgba(0,0,0,.55),0 4rpx 12rpx rgba(0,0,0,.3),inset 0 2rpx 0 hsla(0,0%,100%,.12);box-shadow:0 24rpx 60rpx rgba(0,0,0,.55),0 4rpx 12rpx rgba(0,0,0,.3),inset 0 2rpx 0 hsla(0,0%,100%,.12)}.tab-bar-caustic{background:-webkit-gradient(linear,left top,left bottom,from(hsla(0,0%,100%,.32)),to(hsla(0,0%,100%,0)));background:-webkit-linear-gradient(top,hsla(0,0%,100%,.32),hsla(0,0%,100%,0));background:linear-gradient(180deg,hsla(0,0%,100%,.32),hsla(0,0%,100%,0));border-radius:64rpx 64rpx 0 0;-webkit-box-shadow:inset 0 1rpx 0 hsla(0,0%,100%,.55);box-shadow:inset 0 1rpx 0 hsla(0,0%,100%,.55);height:56rpx;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:2}.custom-tab-bar.theme-dark .tab-bar-caustic{background:-webkit-gradient(linear,left top,left bottom,from(hsla(0,0%,100%,.12)),to(hsla(0,0%,100%,0)));background:-webkit-linear-gradient(top,hsla(0,0%,100%,.12),hsla(0,0%,100%,0));background:linear-gradient(180deg,hsla(0,0%,100%,.12),hsla(0,0%,100%,0));-webkit-box-shadow:inset 0 1rpx 0 hsla(0,0%,100%,.22);box-shadow:inset 0 1rpx 0 hsla(0,0%,100%,.22)}.tab-bar-rim{background:-webkit-linear-gradient(315deg,hsla(0,0%,100%,.6),hsla(0,0%,100%,.18) 32%,hsla(0,0%,100%,.03) 68%,hsla(0,0%,100%,.24));background:linear-gradient(135deg,hsla(0,0%,100%,.6),hsla(0,0%,100%,.18) 32%,hsla(0,0%,100%,.03) 68%,hsla(0,0%,100%,.24));border-radius:inherit;bottom:0;left:0;-webkit-mask:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff)) content-box,-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff));-webkit-mask:-webkit-linear-gradient(#fff 0 0) content-box,-webkit-linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:1rpx;pointer-events:none;position:absolute;right:0;top:0;z-index:3}.custom-tab-bar.theme-dark .tab-bar-rim{background:-webkit-linear-gradient(315deg,hsla(0,0%,100%,.34),hsla(0,0%,100%,.12) 32%,hsla(0,0%,100%,.02) 68%,hsla(0,0%,100%,.16));background:linear-gradient(135deg,hsla(0,0%,100%,.34),hsla(0,0%,100%,.12) 32%,hsla(0,0%,100%,.02) 68%,hsla(0,0%,100%,.16))}.tab-item{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100%;-webkit-justify-content:center;justify-content:center;max-width:160rpx;padding:0 12rpx;position:relative;z-index:10}.tab-indicator{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.1)),to(rgba(0,0,0,.16)));background:-webkit-linear-gradient(top,rgba(0,0,0,.1),rgba(0,0,0,.16));background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.16));border:1rpx solid hsla(0,0%,100%,.25);border-radius:50rpx;bottom:6rpx;-webkit-box-shadow:inset 0 2rpx 4rpx hsla(0,0%,100%,.35),inset 0 -2rpx 4rpx rgba(0,0,0,.06),0 4rpx 10rpx rgba(0,0,0,.08);box-shadow:inset 0 2rpx 4rpx hsla(0,0%,100%,.35),inset 0 -2rpx 4rpx rgba(0,0,0,.06),0 4rpx 10rpx rgba(0,0,0,.08);height:100rpx;pointer-events:none;position:absolute;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);-webkit-transition:left .25s ease;transition:left .25s ease;width:120rpx;z-index:4}.custom-tab-bar.theme-dark .tab-indicator{background:-webkit-gradient(linear,left top,left bottom,from(hsla(0,0%,100%,.08)),to(hsla(0,0%,100%,.16)));background:-webkit-linear-gradient(top,hsla(0,0%,100%,.08),hsla(0,0%,100%,.16));background:linear-gradient(180deg,hsla(0,0%,100%,.08),hsla(0,0%,100%,.16));border-color:hsla(0,0%,100%,.18);-webkit-box-shadow:inset 0 2rpx 4rpx hsla(0,0%,100%,.12),inset 0 -2rpx 4rpx rgba(0,0,0,.3),0 4rpx 10rpx rgba(0,0,0,.2);box-shadow:inset 0 2rpx 4rpx hsla(0,0%,100%,.12),inset 0 -2rpx 4rpx rgba(0,0,0,.3),0 4rpx 10rpx rgba(0,0,0,.2)}.tab-indicator.dragging{-webkit-transition:none;transition:none}.tab-icon-img{height:40rpx;margin-bottom:2rpx;opacity:.8;position:relative;-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s;width:40rpx;z-index:1}.tab-item.active .tab-icon-img{opacity:1;-webkit-transform:scale(1.08);-ms-transform:scale(1.08);transform:scale(1.08)}.tab-label{color:#8a7e76;font-size:20rpx;font-weight:700;line-height:22rpx;position:relative;-webkit-transition:color .2s;transition:color .2s;z-index:1}.custom-tab-bar.theme-dark .tab-label{color:#b3a79c}.tab-item.active .tab-label{color:#d96c6a}.custom-tab-bar.theme-dark .tab-item.active .tab-label{color:#f09198}
\ No newline at end of file
diff --git a/dist/pages/index/index.js b/dist/pages/index/index.js
index e09346e..5c5a3d8 100644
--- a/dist/pages/index/index.js
+++ b/dist/pages/index/index.js
@@ -1 +1 @@
-"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[421],{7265:function(e,s,a){var c=a(7842),i=a(5544),t=a(118),l=a(758),n=a.n(l),r=a(6540),o=a(5234),d=a(8199),m=a(2371),h=a(9703),g=a(9201),p=a(5414),u=a(9674),x=a(3053),j=a(1133),N=a(4848),b=[{title:"\u6bd5\u4e1a\u7eaa\u5ff5\u7b14\u8bb0\u672c",desc:"\u5168\u73ed\u540d\u5b57\u7ec4\u6210\u6821\u5fbd",priceText:"\xa545 \u8d77",categoryId:"notebook-large",image:(0,d.uq)("/img/book_small/The1.jpg")},{title:"\u94dc\u8d28\u676f\u57ab",desc:"\u91d1\u5c5e\u8d28\u611f\u684c\u9762\u827a\u672f",priceText:"\xa525 \u8d77",categoryId:"coaster",image:(0,d.uq)("/img/cup/The1.jpg")},{title:"\u7af9\u5236\u7b14\u76d2",desc:"\u81ea\u7136\u7af9\u7eb9\u6587\u623f\u96c5\u5668",priceText:"\xa575 \u8d77",categoryId:"penbox",image:(0,d.uq)("/img/penbox/The1.jpg")},{title:"\u4e66\u672c\u578b\u706f",desc:"\u6e29\u6696\u5149\u5f71\u70b9\u4eae\u5fc3\u610f",priceText:"\xa545 \u8d77",categoryId:"booklamp",image:(0,d.uq)("/img/booklight/The1.jpg")},{title:"\u60c5\u4fa3\u5b9a\u5236\u793c",desc:"\u4e24\u4e2a\u4eba\u7684\u540d\u5b57\u4ea4\u7ec7",priceText:"\xa545 \u8d77",categoryId:"notebook-large",image:(0,d.uq)("/img/book_big/The1.jpg")},{title:"\u4f01\u4e1a\u5e74\u4f1a\u793c",desc:"\u5458\u5de5\u540d\u5b57\u7ec4\u6210Logo",priceText:"\xa575 \u8d77",categoryId:"penbox",image:(0,d.uq)("/img/penbox/The2.jpg")}],f={"notebook-small":(0,d.uq)("/img/book_small/The1.jpg"),"notebook-large":(0,d.uq)("/img/book_big/The1.jpg"),coaster:(0,d.uq)("/img/cup/The1.jpg"),penbox:(0,d.uq)("/img/penbox/The1.jpg"),booklamp:(0,d.uq)("/img/booklight/The1.jpg")};function T(){var e=(0,h.wR)(),s=(e.theme,e.resolvedTheme),a=(0,g.c)();(0,p.l)(s);var c=(0,r.useState)(""),l=(0,i.A)(c,2),T=l[0],y=l[1],S=(0,r.useState)(o.R6),E=(0,i.A)(S,2),k=E[0],v=E[1];(0,r.useEffect)(function(){(0,m.j0)({page:1,pageSize:100}).then(function(e){return v(e.list)}).catch(function(){})},[]);var Y=function(e){n().navigateTo({url:"/pages/product/index?id=".concat(e)})},q=function(e){e.categoryId?Y(e.categoryId):n().showToast({title:"\u201c".concat(e.title,"\u201d\u5b9a\u5236\u901a\u9053\u5373\u5c06\u5f00\u653e"),icon:"none"})},w=T.trim()?k.filter(function(e){return e.name.includes(T)||e.desc.includes(T)}):k,I=function(e){y(e.detail.value)};return(0,N.jsxs)(t.Ss,{className:"theme-".concat(s),children:[(0,N.jsx)(u.A,{}),(0,N.jsx)(x.A,{title:"\u667a\u7ed8\u5fae\u523b",targetSelector:".home-header"}),(0,N.jsxs)(t.Ss,{className:"index-page",children:[(0,N.jsx)(t.Ss,{className:"home-header",style:{paddingTop:"".concat(a.statusBarHeight+12,"px")},children:(0,N.jsx)(t.EY,{className:"home-title",children:"\u667a\u7ed8\u5fae\u523b"})}),(0,N.jsxs)(t.Ss,{className:"searchbox",children:[(0,N.jsx)(t._V,{className:"search-icon-img",src:(0,d.uq)("/icon/\u641c\u7d22.svg"),mode:"aspectFit"}),(0,N.jsx)(t.pd,{className:"search-input",type:"text",placeholder:"\u641c\u7d22\u5b9a\u5236\u54c1\u7c7b\uff0c\u5982\u7b14\u8bb0\u672c\u3001\u676f\u57ab\u3001\u4e66\u706f",placeholderClass:"search-input-placeholder",value:T,onInput:I,confirmType:"search"})]}),T.trim()&&(0,N.jsx)(t.Ss,{className:"search-result-hint",children:(0,N.jsx)(t.EY,{className:"hint-text",children:w.length>0?"\u627e\u5230 ".concat(w.length," \u4e2a\u76f8\u5173\u54c1\u7c7b"):"\u6ca1\u6709\u627e\u5230\u76f8\u5173\u54c1\u7c7b\uff0c\u8bd5\u8bd5\u770b\u5176\u4ed6\u5173\u952e\u8bcd"})}),(0,N.jsxs)(t.Ss,{className:"showcase-section",children:[(0,N.jsx)(t.EY,{className:"home-section-title",children:"\u5b9a\u5236\u6210\u54c1\u5c55\u793a"}),(0,N.jsx)(t.RC,{className:"showcase-swiper",circular:!0,autoplay:!0,interval:3e3,duration:500,indicatorDots:!0,children:b.map(function(e,s){return(0,N.jsx)(t.wu,{className:"showcase-swiper-item",children:(0,N.jsxs)(t.Ss,{className:"hero-block",children:[(0,N.jsx)(j.A,{className:"hero-media",src:e.image,fallback:(0,o.QE)(o.R6.find(function(s){return s.id===e.categoryId})),mode:"aspectFill"}),(0,N.jsxs)(t.Ss,{className:"glass-overlay",children:[(0,N.jsx)(t.EY,{className:"hero-title",children:e.title}),(0,N.jsx)(t.EY,{className:"hero-desc",children:e.desc})]})]})},s)})})]}),(0,N.jsxs)(t.Ss,{className:"category-section",children:[(0,N.jsx)(t.EY,{className:"home-section-title",children:"\u70ed\u95e8\u54c1\u7c7b"}),(0,N.jsx)(t.Ss,{className:"home-grid",children:w.map(function(e){return(0,N.jsxs)(t.Ss,{className:"media-card",onTap:function(){return Y(e.id)},children:[(0,N.jsx)(t.Ss,{className:"media-card-image",children:(0,N.jsx)(j.A,{className:"media-card-img",src:f[e.id]||(0,d.uq)("/icon/\u56db\u89d2\u661f.svg"),fallback:(0,o.QE)(e),mode:"aspectFill"})}),(0,N.jsxs)(t.Ss,{className:"media-card-body",children:[(0,N.jsx)(t.EY,{className:"media-card-title",children:e.name}),(0,N.jsx)(t.EY,{className:"media-card-desc",children:e.desc}),(0,N.jsxs)(t.EY,{className:"media-card-price",children:["\xa5",e.price," \u8d77"]})]})]},e.id)})}),0===w.length&&(0,N.jsxs)(t.Ss,{className:"empty-category",children:[(0,N.jsx)(t._V,{className:"empty-icon-img",src:(0,d.uq)("/icon/\u641c\u7d22.svg"),mode:"aspectFit"}),(0,N.jsx)(t.EY,{className:"empty-text",children:"\u672a\u627e\u5230\u5339\u914d\u7684\u54c1\u7c7b"}),(0,N.jsx)(t.EY,{className:"empty-sub",children:"\u5c1d\u8bd5\u641c\u7d22\u201c\u7b14\u8bb0\u672c\u201d\u3001\u201c\u676f\u57ab\u201d\u7b49"})]})]}),(0,N.jsxs)(t.Ss,{className:"recommend-section",children:[(0,N.jsx)(t.EY,{className:"home-section-title",children:"\u4e3a\u4f60\u63a8\u8350"}),(0,N.jsx)(t.Ss,{className:"home-grid",children:b.slice(0,4).map(function(e,s){return(0,N.jsxs)(t.Ss,{className:"media-card",onTap:function(){return q(e)},children:[(0,N.jsx)(t.Ss,{className:"media-card-image",children:(0,N.jsx)(j.A,{className:"media-card-img",src:e.image,fallback:(0,o.QE)(o.R6.find(function(s){return s.id===e.categoryId})),mode:"aspectFill"})}),(0,N.jsxs)(t.Ss,{className:"media-card-body",children:[(0,N.jsx)(t.EY,{className:"media-card-title",children:e.title}),(0,N.jsx)(t.EY,{className:"media-card-desc",children:e.desc}),(0,N.jsx)(t.EY,{className:"media-card-price",children:e.priceText})]})]},s)})})]})]})]})}var y={navigationStyle:"custom",enablePageMeta:!0,navigationBarTitleText:"\u667a\u7ed8\u5fae\u523b"};Page((0,c.createPageConfig)(T,"pages/index/index",{root:{cn:[]}},y||{}))}},function(e){var s=function(s){return e(e.s=s)};e.O(0,[907,96,76],function(){return s(7265)});e.O()}]);
\ No newline at end of file
+"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[421],{7265:function(e,s,a){var c=a(7842),i=a(5544),t=a(118),l=a(758),n=a.n(l),r=a(6540),o=a(5234),m=a(8199),d=a(2371),h=a(9703),g=a(9201),u=a(5414),x=a(9674),p=a(3053),j=a(1133),N=a(4848),b=[{title:"\u6bd5\u4e1a\u7eaa\u5ff5\u7b14\u8bb0\u672c",desc:"\u5168\u73ed\u540d\u5b57\u7ec4\u6210\u6821\u5fbd",priceText:"\xa545 \u8d77",categoryId:"notebook-large",image:(0,m.uq)("/img/book_small/The1.jpg")},{title:"\u94dc\u8d28\u676f\u57ab",desc:"\u91d1\u5c5e\u8d28\u611f\u684c\u9762\u827a\u672f",priceText:"\xa525 \u8d77",categoryId:"coaster",image:(0,m.uq)("/img/cup/The1.jpg")},{title:"\u7af9\u5236\u7b14\u76d2",desc:"\u81ea\u7136\u7af9\u7eb9\u6587\u623f\u96c5\u5668",priceText:"\xa575 \u8d77",categoryId:"penbox",image:(0,m.uq)("/img/penbox/The1.jpg")},{title:"\u4e66\u672c\u578b\u706f",desc:"\u6e29\u6696\u5149\u5f71\u70b9\u4eae\u5fc3\u610f",priceText:"\xa545 \u8d77",categoryId:"booklamp",image:(0,m.uq)("/img/booklight/The1.jpg")},{title:"\u60c5\u4fa3\u5b9a\u5236\u793c",desc:"\u4e24\u4e2a\u4eba\u7684\u540d\u5b57\u4ea4\u7ec7",priceText:"\xa545 \u8d77",categoryId:"notebook-large",image:(0,m.uq)("/img/book_big/The1.jpg")},{title:"\u4f01\u4e1a\u5e74\u4f1a\u793c",desc:"\u5458\u5de5\u540d\u5b57\u7ec4\u6210Logo",priceText:"\xa575 \u8d77",categoryId:"penbox",image:(0,m.uq)("/img/penbox/The2.jpg")}],f={"notebook-small":(0,m.uq)("/img/book_small/The1.jpg"),"notebook-large":(0,m.uq)("/img/book_big/The1.jpg"),coaster:(0,m.uq)("/img/cup/The1.jpg"),penbox:(0,m.uq)("/img/penbox/The1.jpg"),booklamp:(0,m.uq)("/img/booklight/The1.jpg")};function y(){var e=(0,h.wR)(),s=e.resolvedTheme,a=(0,g.c)();(0,u.l)(s);var c=(0,r.useState)(""),l=(0,i.A)(c,2),y=l[0],S=l[1],T=(0,r.useState)(o.R6),k=(0,i.A)(T,2),v=k[0],E=k[1];(0,r.useEffect)(function(){(0,d.j0)({page:1,pageSize:100}).then(function(e){return E(e.list)}).catch(function(){})},[]);var Y=function(e){n().navigateTo({url:"/pages/product/index?id=".concat(e)})},q=y.trim().toLocaleLowerCase(),w=q.length>0,I=w?v.filter(function(e){return[e.name,e.desc,e.description].some(function(e){return null===e||void 0===e?void 0:e.toLocaleLowerCase().includes(q)})}):v,A=function(e){S(e.detail.value)};return(0,N.jsxs)(t.Ss,{className:"theme-".concat(s),children:[(0,N.jsx)(x.A,{}),(0,N.jsx)(p.A,{title:"\u667a\u7ed8\u5fae\u523b",targetSelector:".home-header"}),(0,N.jsxs)(t.Ss,{className:"index-page",children:[(0,N.jsx)(t.Ss,{className:"home-header",style:{paddingTop:"".concat(a.statusBarHeight+12,"px")},children:(0,N.jsx)(t.EY,{className:"home-title",children:"\u667a\u7ed8\u5fae\u523b"})}),(0,N.jsxs)(t.Ss,{className:"searchbox",children:[(0,N.jsx)(t._V,{className:"search-icon-img",src:(0,m.uq)("/icon/\u641c\u7d22.svg"),mode:"aspectFit"}),(0,N.jsx)(t.pd,{className:"search-input",type:"text",placeholder:"\u641c\u7d22\u5b9a\u5236\u54c1\u7c7b\uff0c\u5982\u7b14\u8bb0\u672c\u3001\u676f\u57ab\u3001\u4e66\u706f",placeholderClass:"search-input-placeholder",value:y,onInput:A,confirmType:"search"}),y.length>0&&(0,N.jsx)(t.$n,{className:"search-clear",onClick:function(){return S("")},children:"\u6e05\u9664"})]}),w&&(0,N.jsx)(t.Ss,{className:"search-result-hint",children:(0,N.jsx)(t.EY,{className:"hint-text",children:I.length>0?"\u627e\u5230 ".concat(I.length," \u4ef6\u76f8\u5173\u5546\u54c1"):"\u6ca1\u6709\u627e\u5230\u76f8\u5173\u5546\u54c1\uff0c\u8bd5\u8bd5\u770b\u5176\u4ed6\u5173\u952e\u8bcd"})}),!w&&(0,N.jsxs)(t.Ss,{className:"showcase-section",children:[(0,N.jsx)(t.EY,{className:"home-section-title",children:"\u5b9a\u5236\u6210\u54c1\u5c55\u793a"}),(0,N.jsx)(t.RC,{className:"showcase-swiper",circular:!0,autoplay:!0,interval:3e3,duration:500,indicatorDots:!0,children:b.map(function(e,s){return(0,N.jsx)(t.wu,{className:"showcase-swiper-item",children:(0,N.jsxs)(t.Ss,{className:"hero-block",children:[(0,N.jsx)(j.A,{className:"hero-media",src:e.image,fallback:(0,o.QE)(o.R6.find(function(s){return s.id===e.categoryId})),mode:"aspectFill"}),(0,N.jsxs)(t.Ss,{className:"glass-overlay",children:[(0,N.jsx)(t.EY,{className:"hero-title",children:e.title}),(0,N.jsx)(t.EY,{className:"hero-desc",children:e.desc})]})]})},s)})})]}),!w&&(0,N.jsxs)(t.Ss,{className:"category-section",children:[(0,N.jsxs)(t.Ss,{className:"section-heading",children:[(0,N.jsx)(t.EY,{className:"home-section-title",children:"\u70ed\u95e8\u54c1\u7c7b"}),(0,N.jsx)(t.EY,{className:"section-subtitle",children:"\u6309\u54c1\u7c7b\uff0c\u5feb\u901f\u5f00\u542f\u5b9a\u5236"})]}),(0,N.jsx)(t.BM,{className:"category-rail",scrollX:!0,enhanced:!0,showScrollbar:!1,children:v.map(function(e){return(0,N.jsxs)(t.Ss,{className:"category-tile",onTap:function(){return Y(e.id)},children:[(0,N.jsx)(j.A,{className:"category-tile-image",src:e.images[0]||f[e.id]||(0,m.uq)("/icon/\u56db\u89d2\u661f.svg"),fallback:(0,o.QE)(e),mode:"aspectFill"}),(0,N.jsxs)(t.Ss,{className:"category-tile-shade",children:[(0,N.jsx)(t.EY,{className:"category-tile-name",children:e.name}),(0,N.jsx)(t.EY,{className:"category-tile-action",children:"\u53bb\u5b9a\u5236"})]})]},e.id)})})]}),(0,N.jsxs)(t.Ss,{className:w?"search-results-section":"recommend-section",children:[(0,N.jsxs)(t.Ss,{className:"section-heading",children:[(0,N.jsx)(t.EY,{className:"home-section-title",children:w?"\u641c\u7d22\u7ed3\u679c":"\u4e3a\u4f60\u63a8\u8350"}),!w&&(0,N.jsx)(t.EY,{className:"section-subtitle",children:"\u6311\u4e00\u4ef6\u597d\u7269\uff0c\u7559\u4e0b\u4f60\u7684\u4e13\u5c5e\u5370\u8bb0"})]}),(0,N.jsx)(t.Ss,{className:"home-grid",children:I.map(function(e){return(0,N.jsxs)(t.Ss,{className:"media-card",onTap:function(){return Y(e.id)},children:[(0,N.jsx)(t.Ss,{className:"media-card-image",children:(0,N.jsx)(j.A,{className:"media-card-img",src:e.images[0]||f[e.id]||(0,m.uq)("/icon/\u56db\u89d2\u661f.svg"),fallback:(0,o.QE)(e),mode:"aspectFill"})}),(0,N.jsxs)(t.Ss,{className:"media-card-body",children:[(0,N.jsx)(t.EY,{className:"media-card-title",children:e.name}),(0,N.jsx)(t.EY,{className:"media-card-desc",children:e.desc}),(0,N.jsxs)(t.EY,{className:"media-card-price",children:["\xa5",e.price," \u8d77"]})]})]},e.id)})}),0===I.length&&(0,N.jsxs)(t.Ss,{className:"empty-category",children:[(0,N.jsx)(t._V,{className:"empty-icon-img",src:(0,m.uq)("/icon/\u641c\u7d22.svg"),mode:"aspectFit"}),(0,N.jsx)(t.EY,{className:"empty-text",children:w?"\u672a\u627e\u5230\u5339\u914d\u7684\u5546\u54c1":"\u6682\u65e0\u5728\u552e\u5546\u54c1"}),w&&(0,N.jsx)(t.EY,{className:"empty-sub",children:"\u5c1d\u8bd5\u641c\u7d22\u201c\u7b14\u8bb0\u672c\u201d\u3001\u201c\u676f\u57ab\u201d\u7b49"}),w&&(0,N.jsx)(t.$n,{className:"search-reset",onClick:function(){return S("")},children:"\u6e05\u9664\u641c\u7d22\uff0c\u8fd4\u56de\u9996\u9875"})]})]})]})]})}var S={navigationStyle:"custom",enablePageMeta:!0,navigationBarTitleText:"\u667a\u7ed8\u5fae\u523b"};Page((0,c.createPageConfig)(y,"pages/index/index",{root:{cn:[]}},S||{}))}},function(e){var s=function(s){return e(e.s=s)};e.O(0,[907,96,76],function(){return s(7265)});e.O()}]);
\ No newline at end of file
diff --git a/dist/pages/index/index.wxss b/dist/pages/index/index.wxss
index 5e5d0a8..5f94545 100644
--- a/dist/pages/index/index.wxss
+++ b/dist/pages/index/index.wxss
@@ -1 +1 @@
-.index-page{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 32rpx calc(220rpx + env(safe-area-inset-bottom))}.home-header{-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-bottom:32rpx}.home-title{color:var(--text-primary);font-size:56rpx;font-weight:800;letter-spacing:0;line-height:1.15}.searchbox{-ms-flex-align:center;-webkit-align-items:center;align-items:center;background:var(--bg-input);border:1rpx solid transparent;border-radius:999rpx;-webkit-box-shadow:var(--shadow-card);box-shadow:var(--shadow-card);display:-webkit-flex;display:-ms-flexbox;display:flex;height:88rpx;padding:0 24rpx;-webkit-transition:border-color .16s ease,background .16s ease,-webkit-box-shadow .16s ease;transition:border-color .16s ease,background .16s ease,-webkit-box-shadow .16s ease;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,-webkit-box-shadow .16s ease}.searchbox:focus-within{background:var(--bg-card);border-color:var(--accent-primary);-webkit-box-shadow:0 0 0 6rpx var(--accent-primary-soft);box-shadow:0 0 0 6rpx var(--accent-primary-soft)}.search-icon-img{-ms-flex-negative:0;-webkit-flex-shrink:0;flex-shrink:0;height:36rpx;margin-right:12rpx;width:36rpx}.search-input{background:transparent;border:none;color:var(--text-primary);-webkit-flex:1;-ms-flex:1;flex:1;font-size:28rpx;height:88rpx;outline:none}.search-input::-webkit-input-placeholder{color:var(--text-secondary);font-size:26rpx}.search-input::-moz-placeholder{color:var(--text-secondary);font-size:26rpx}.search-input:-ms-input-placeholder{color:var(--text-secondary);font-size:26rpx}.search-input::-ms-input-placeholder{color:var(--text-secondary);font-size:26rpx}.search-input::placeholder{color:var(--text-secondary);font-size:26rpx}.search-input-placeholder{color:var(--text-secondary);font-size:26rpx}.search-result-hint{color:var(--text-secondary);font-size:24rpx;margin:16rpx 8rpx 0}.hint-text{display:block}.home-section-title{color:var(--text-primary);display:block;font-size:36rpx;font-weight:700;letter-spacing:0;margin:48rpx 0 24rpx}.showcase-swiper{height:360rpx;width:100%}.showcase-swiper-item{border-radius:24rpx;height:360rpx;overflow:hidden}.hero-block{background:-webkit-linear-gradient(300deg,hsla(1,59%,63%,.42),rgba(108,123,219,.18)),var(--bg-muted);background:linear-gradient(150deg,hsla(1,59%,63%,.42),rgba(108,123,219,.18)),var(--bg-muted);border-radius:24rpx;height:100%;overflow:hidden;position:relative;width:100%}.hero-media{height:100%;left:0;position:absolute;top:0;width:100%}.glass-overlay{-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start;backdrop-filter:blur(24rpx);-webkit-backdrop-filter:blur(24rpx);background:var(--glass);border:1rpx solid var(--glass-line);border-radius:24rpx;bottom:24rpx;-webkit-box-shadow:var(--shadow-card);box-shadow:var(--shadow-card);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;left:24rpx;max-width:78%;padding:16rpx 24rpx;position:absolute;z-index:2}.hero-title{color:var(--text-primary);display:block;font-size:32rpx;font-weight:700;letter-spacing:0;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-desc{color:var(--text-secondary);display:block;font-size:24rpx;letter-spacing:0;margin-top:8rpx;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-grid{display:grid;gap:24rpx;grid-template-columns:repeat(2,minmax(0,1fr))}.media-card{background:var(--bg-card);border:1rpx solid var(--border);border-radius:24rpx;-webkit-box-shadow:var(--shadow-card);box-shadow:var(--shadow-card);overflow:hidden;-webkit-transition:-webkit-transform .2s ease;transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease}.media-card:active{-webkit-transform:scale(.98);-ms-transform:scale(.98);transform:scale(.98)}.media-card-image{aspect-ratio:1/1;background:var(--bg-muted);overflow:hidden;position:relative}.media-card-img{display:block;height:100%;width:100%}.media-card-body{-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:20rpx 16rpx 24rpx;text-align:center}.media-card-title{color:var(--text-primary);display:block;font-size:28rpx;font-weight:700;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.media-card-desc{color:var(--text-secondary);display:block;font-size:22rpx;letter-spacing:0;margin-top:8rpx;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.media-card-price{color:var(--accent-primary);display:block;font-size:28rpx;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:0;margin-top:12rpx}.empty-category{-ms-flex-align:center;-webkit-align-items:center;align-items:center;background:var(--bg-muted);border-radius:24rpx;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-top:24rpx;padding:48rpx 32rpx;text-align:center}.empty-icon-img{height:64rpx;margin-bottom:16rpx;width:64rpx}.empty-text{color:var(--text-primary);font-size:30rpx;font-weight:600;margin-bottom:8rpx}.empty-sub{color:var(--text-secondary);font-size:24rpx}
\ No newline at end of file
+.index-page{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 32rpx calc(220rpx + env(safe-area-inset-bottom))}.home-header{-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-bottom:32rpx}.home-title{color:var(--text-primary);font-size:56rpx;font-weight:800;letter-spacing:0;line-height:1.15}.searchbox{-ms-flex-align:center;-webkit-align-items:center;align-items:center;background:var(--bg-input);border:1rpx solid transparent;border-radius:999rpx;-webkit-box-shadow:var(--shadow-card);box-shadow:var(--shadow-card);display:-webkit-flex;display:-ms-flexbox;display:flex;height:88rpx;padding:0 24rpx;-webkit-transition:border-color .16s ease,background .16s ease,-webkit-box-shadow .16s ease;transition:border-color .16s ease,background .16s ease,-webkit-box-shadow .16s ease;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,-webkit-box-shadow .16s ease}.searchbox:focus-within{background:var(--bg-card);border-color:var(--accent-primary);-webkit-box-shadow:0 0 0 6rpx var(--accent-primary-soft);box-shadow:0 0 0 6rpx var(--accent-primary-soft)}.search-icon-img{-ms-flex-negative:0;-webkit-flex-shrink:0;flex-shrink:0;height:36rpx;margin-right:12rpx;width:36rpx}.search-input{background:transparent;border:none;color:var(--text-primary);-webkit-flex:1;-ms-flex:1;flex:1;font-size:28rpx;height:88rpx;min-width:0;outline:none}.search-input::-webkit-input-placeholder{color:var(--text-secondary);font-size:26rpx}.search-input::-moz-placeholder{color:var(--text-secondary);font-size:26rpx}.search-input:-ms-input-placeholder{color:var(--text-secondary);font-size:26rpx}.search-input::-ms-input-placeholder{color:var(--text-secondary);font-size:26rpx}.search-input::placeholder{color:var(--text-secondary);font-size:26rpx}.search-input-placeholder{color:var(--text-secondary);font-size:26rpx}.search-result-hint{color:var(--text-secondary);font-size:24rpx;margin:16rpx 8rpx 0}.hint-text{display:block}.search-clear,.search-reset{background:transparent;color:var(--accent-primary);font-size:26rpx;line-height:72rpx;margin:0;min-width:80rpx;padding:0 16rpx}.search-clear::after,.search-reset::after{border:none}.search-clear{-ms-flex-negative:0;-webkit-flex-shrink:0;flex-shrink:0}.search-reset{background:var(--bg-card);border-radius:999rpx;margin-top:24rpx}.section-heading{margin-bottom:24rpx}.section-heading .home-section-title{margin:0}.section-subtitle{color:var(--text-secondary);display:block;font-size:24rpx;line-height:1.5;margin-top:8rpx}.category-section{background:var(--bg-card);border:1rpx solid var(--border);border-radius:24rpx;margin-top:32rpx;padding:28rpx 24rpx}.category-rail{margin:0 -24rpx -28rpx;white-space:nowrap;width:calc(100% + 48rpx)}.category-tile{background:var(--bg-muted);border-radius:20rpx;-webkit-box-shadow:var(--shadow-card);box-shadow:var(--shadow-card);display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;height:168rpx;margin:0 0 28rpx 24rpx;overflow:hidden;position:relative;vertical-align:top;width:252rpx}.category-tile:last-child{margin-right:24rpx}.category-tile-image{height:100%;width:100%}.category-tile-shade{-ms-flex-pack:end;background:-webkit-gradient(linear,left top,left bottom,from(transparent),to(rgba(20,18,16,.78)));background:-webkit-linear-gradient(transparent,rgba(20,18,16,.78));background:linear-gradient(transparent,rgba(20,18,16,.78));bottom:0;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-justify-content:flex-end;justify-content:flex-end;left:0;min-height:84rpx;padding:14rpx 16rpx;position:absolute;right:0}.category-tile-name{color:#fff;font-size:27rpx;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-tile-action{color:hsla(0,0%,100%,.8);font-size:20rpx;line-height:1.2;margin-top:5rpx}.recommend-section{border-top:2rpx solid var(--border);margin-top:40rpx;padding-top:32rpx}.search-results-section{margin-top:32rpx}.home-section-title{color:var(--text-primary);display:block;font-size:36rpx;font-weight:700;letter-spacing:0;margin:48rpx 0 24rpx}.showcase-swiper{height:360rpx;width:100%}.showcase-swiper-item{border-radius:24rpx;height:360rpx;overflow:hidden}.hero-block{background:-webkit-linear-gradient(300deg,hsla(1,59%,63%,.42),rgba(108,123,219,.18)),var(--bg-muted);background:linear-gradient(150deg,hsla(1,59%,63%,.42),rgba(108,123,219,.18)),var(--bg-muted);border-radius:24rpx;height:100%;overflow:hidden;position:relative;width:100%}.hero-media{height:100%;left:0;position:absolute;top:0;width:100%}.glass-overlay{-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start;backdrop-filter:blur(24rpx);-webkit-backdrop-filter:blur(24rpx);background:var(--glass);border:1rpx solid var(--glass-line);border-radius:24rpx;bottom:24rpx;-webkit-box-shadow:var(--shadow-card);box-shadow:var(--shadow-card);display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;left:24rpx;max-width:78%;padding:16rpx 24rpx;position:absolute;z-index:2}.hero-title{color:var(--text-primary);display:block;font-size:32rpx;font-weight:700;letter-spacing:0;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-desc{color:var(--text-secondary);display:block;font-size:24rpx;letter-spacing:0;margin-top:8rpx;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-grid{display:grid;gap:24rpx;grid-template-columns:repeat(2,minmax(0,1fr))}.media-card{background:var(--bg-card);border:1rpx solid var(--border);border-radius:24rpx;-webkit-box-shadow:var(--shadow-card);box-shadow:var(--shadow-card);overflow:hidden;-webkit-transition:-webkit-transform .2s ease;transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease}.media-card:active{-webkit-transform:scale(.98);-ms-transform:scale(.98);transform:scale(.98)}.media-card-image{aspect-ratio:1/1;background:var(--bg-muted);overflow:hidden;position:relative}.media-card-img{display:block;height:100%;width:100%}.media-card-body{-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:20rpx 16rpx 24rpx;text-align:center}.media-card-title{color:var(--text-primary);display:block;font-size:28rpx;font-weight:700;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.media-card-desc{color:var(--text-secondary);display:block;font-size:22rpx;letter-spacing:0;margin-top:8rpx;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.media-card-price{color:var(--accent-primary);display:block;font-size:28rpx;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:0;margin-top:12rpx}.empty-category{-ms-flex-align:center;-webkit-align-items:center;align-items:center;background:var(--bg-muted);border-radius:24rpx;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-top:24rpx;padding:48rpx 32rpx;text-align:center}.empty-icon-img{height:64rpx;margin-bottom:16rpx;width:64rpx}.empty-text{color:var(--text-primary);font-size:30rpx;font-weight:600;margin-bottom:8rpx}.empty-sub{color:var(--text-secondary);font-size:24rpx}
\ No newline at end of file
diff --git a/dist/pages/shop/detail/index.js b/dist/pages/shop/detail/index.js
index 87e4ed5..b5ae135 100644
--- a/dist/pages/shop/detail/index.js
+++ b/dist/pages/shop/detail/index.js
@@ -1 +1 @@
-"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[158],{3483:function(s,e,a){var c=a(7842),t=a(5544),n=a(118),o=a(758),r=a.n(o),i=a(6540),l=a(5234),h=a(2371),p=a(9201),d=a(5414),m=a(9703),x=a(9674),g=a(3053),u=a(9513),j=a(1133),N=a(4848),b=function(s,e,a){return Math.min(Math.max(s,e),a)},f=function(s,e,a){return s+(e-s)*a},y=function(s){return 1-Math.pow(1-s,3)};function S(){var s=(0,m.wR)(),e=s.resolvedTheme,a=(0,i.useState)(667),c=(0,t.A)(a,2),o=c[0],S=c[1],v=(0,i.useState)(0),Y=(0,t.A)(v,2),E=Y[0],k=Y[1],w=(0,p.c)();(0,d.l)(e,{mode:"light"});var O=r().getCurrentInstance().router,P=O?O.params:void 0,B=P?P.id:"",T=(0,i.useState)(l.zv.find(function(s){return s.id===B})),A=(0,t.A)(T,2),C=A[0],M=A[1];(0,i.useEffect)(function(){B&&(0,h.yj)(B).then(M).catch(function(){})},[B]),(0,i.useEffect)(function(){try{var s=r().getSystemInfoSync();S(s.windowHeight)}catch(s){}},[]);var I=(0,i.useCallback)(function(s){var e=s.detail&&s.detail.scrollTop||0,a=1.2*o,c=b(e/a,0,1);k(c)},[o]),H=(0,i.useMemo)(function(){var s=E,e=0,a=0;if(s<=.4){var c=y(s/.4);e=f(0,32,c),a=f(0,38,c)}else if(s<=.55){var t=(s-.4)/.15;e=f(32,34,t),a=f(38,41,t)}else e=34,a=41;var n=0;n=s<=.4?0:s<=.7?f(0,-75,(s-.4)/.3):-75;var o=1;o=s<=.35?1:s<=.48?b(1-(s-.35)/.13,0,1):0;var r=0;r=s<=.55?0:s<=.7?(s-.55)/.15:1;var i=1,l=0;if(s<=.05)i=0,l=60;else if(s<=.22){var h=(s-.05)/.17;i=y(h),l=f(60,0,y(h))}var p=1;return s<=.15&&(p=b(1-s/.15,0,1)),{topCrop:e,bottomCrop:a,translateY:n,heroInfoOpacity:o,bandOpacity:r,contentOpacity:i,contentOffset:l,backBtnOpacity:p,visibleHeight:100-e-a}},[E]),F=(0,i.useMemo)(function(){return C?C.tone:[28,22,18]},[C]);return C?(0,N.jsxs)(n.Ss,{className:"shop-detail-page theme-dark",children:[(0,N.jsx)(x.A,{darkTop:!0}),(0,N.jsx)(g.A,{title:"\u5546\u54c1\u8be6\u60c5",targetSelector:".shop-back-btn",showBack:!0}),(0,N.jsxs)(n.Ss,{className:"shop-hero-fixed",children:[(0,N.jsx)(n.Ss,{className:"shop-hero-clip",style:{height:"".concat(o*H.visibleHeight/100,"px"),overflow:"hidden",transform:"translateY(".concat(o*H.translateY/100,"px)")},children:(0,N.jsx)(j.A,{className:"shop-hero-img",src:C.images&&C.images[0]||C.iconImg||"",fallback:C.iconImg||C.icon,mode:"aspectFill",style:{width:"100%",height:"".concat(o,"px"),position:"absolute",top:"".concat(-o*H.topCrop/100,"px"),left:0}})}),(0,N.jsx)(n.Ss,{className:"shop-hero-overlay",style:{background:"linear-gradient(to bottom, rgba(".concat(F[0],", ").concat(F[1],", ").concat(F[2],", 0) 0%, rgba(").concat(F[0],", ").concat(F[1],", ").concat(F[2],", 0.55) 40%, rgba(").concat(F[0],", ").concat(F[1],", ").concat(F[2],", 0.95) 100%)")}}),(0,N.jsxs)(n.Ss,{className:"shop-hero-info",style:{opacity:H.heroInfoOpacity},children:[(0,N.jsx)(n.EY,{className:"shop-hero-title",children:C.name}),(0,N.jsx)(n.EY,{className:"shop-hero-subtitle",children:C.subtitle||C.desc}),(0,N.jsxs)(n.Ss,{className:"shop-hero-price-row",children:[(0,N.jsxs)(n.EY,{className:"shop-hero-price",children:["\xa5",C.price]}),C.originalPrice&&C.originalPrice>C.price&&(0,N.jsxs)(n.EY,{className:"shop-hero-original",children:["\xa5",C.originalPrice]})]})]})]}),(0,N.jsxs)(n.BM,{className:"shop-scroll",scrollY:!0,scrollEventThrottle:16,style:{height:"".concat(o,"px")},onScroll:I,children:[(0,N.jsx)(n.Ss,{style:{height:"".concat(.65*o,"px")}}),(0,N.jsxs)(n.Ss,{className:"shop-content",style:{backgroundColor:"rgb(".concat(F[0],", ").concat(F[1],", ").concat(F[2],")")},children:[(0,N.jsxs)(n.Ss,{className:"shop-band",style:{top:"".concat(w.statusBarHeight,"px"),opacity:H.bandOpacity,backgroundColor:"rgba(".concat(F[0],", ").concat(F[1],", ").concat(F[2],", 0.88)"),backdropFilter:"blur(12px)",WebkitBackdropFilter:"blur(12px)"},children:[(0,N.jsx)(n.EY,{className:"shop-band-title",children:C.name}),(0,N.jsx)(n.EY,{className:"shop-band-subtitle",children:C.subtitle||C.desc}),(0,N.jsxs)(n.Ss,{className:"shop-band-price-row",children:[(0,N.jsxs)(n.EY,{className:"shop-band-price",children:["\xa5",C.price]}),C.originalPrice&&C.originalPrice>C.price&&(0,N.jsxs)(n.EY,{className:"shop-band-original",children:["\xa5",C.originalPrice]})]})]}),(0,N.jsxs)(n.Ss,{className:"shop-detail-body",style:{opacity:H.contentOpacity,transform:"translateY(".concat(H.contentOffset,"px)")},children:[(0,N.jsxs)(n.Ss,{className:"shop-content-card",children:[C.story&&(0,N.jsxs)(n.Ss,{className:"shop-section",children:[(0,N.jsx)(n.EY,{className:"shop-section-title",children:"\u8bbe\u8ba1\u7406\u5ff5"}),(0,N.jsx)(n.EY,{className:"shop-section-text",children:C.story})]}),C.story&&C.scene&&(0,N.jsx)(n.Ss,{className:"shop-divider"}),C.scene&&(0,N.jsxs)(n.Ss,{className:"shop-section",children:[(0,N.jsx)(n.EY,{className:"shop-section-title",children:"\u4f7f\u7528\u573a\u666f"}),(0,N.jsx)(n.EY,{className:"shop-section-text",children:C.scene})]}),C.tags&&C.tags.length>0&&(0,N.jsx)(n.Ss,{className:"shop-section",children:(0,N.jsx)(n.Ss,{className:"shop-tag-row",children:C.tags.map(function(s){return(0,N.jsx)(n.Ss,{className:"shop-tag",children:(0,N.jsx)(n.EY,{className:"shop-tag-text",children:s})},s)})})}),(C.story||C.scene)&&C.tags&&C.tags.length>0&&(0,N.jsx)(n.Ss,{className:"shop-divider"}),(C.story||C.scene||C.tags&&C.tags.length>0)&&C.specs&&C.specs.length>0&&(0,N.jsx)(n.Ss,{className:"shop-divider"}),C.specs&&C.specs.length>0&&(0,N.jsxs)(n.Ss,{className:"shop-section",children:[(0,N.jsx)(n.EY,{className:"shop-section-title",children:"\u89c4\u683c\u53c2\u6570"}),(0,N.jsx)(n.Ss,{className:"shop-spec-table",children:C.specs.map(function(s){var e=(0,t.A)(s,2),a=e[0],c=e[1];return(0,N.jsxs)(n.Ss,{className:"shop-spec-row",children:[(0,N.jsx)(n.EY,{className:"shop-spec-key",children:a}),(0,N.jsx)(n.EY,{className:"shop-spec-val",children:c})]},a)})})]})]}),(0,N.jsx)(n.Ss,{className:"shop-bottom-spacer"})]})]})]},C.id),(0,N.jsx)(n.Ss,{className:"shop-back-btn",onTap:function(){return r().navigateBack()},style:{top:"".concat(w.menuButtonTop,"px"),opacity:H.backBtnOpacity},children:(0,N.jsx)(n.EY,{className:"shop-back-arrow",children:"\u2190"})}),(0,N.jsxs)(u.A,{children:[(0,N.jsxs)(n.Ss,{className:"price-summary",children:[(0,N.jsx)(n.EY,{className:"summary-label",children:"\u8d77\u4ef7"}),(0,N.jsxs)(n.EY,{className:"summary-price",children:["\xa5",C.price]}),C.originalPrice&&C.originalPrice>C.price&&(0,N.jsxs)(n.EY,{className:"summary-original",children:["\xa5",C.originalPrice]})]}),(0,N.jsx)(n.Ss,{className:"btn-secondary",onTap:function(){return r().navigateBack()},children:(0,N.jsx)(n.EY,{children:"\u8fd4\u56de"})}),(0,N.jsx)(n.Ss,{className:"btn-primary",onTap:function(){return r().navigateTo({url:"/pages/product/index?id=".concat(C.id)})},children:(0,N.jsx)(n.EY,{children:"\u7acb\u5373\u5b9a\u5236"})})]}),(0,N.jsx)(n.Ss,{className:"safe-bottom-placeholder"})]}):(0,N.jsxs)(n.Ss,{className:"shop-detail-page theme-dark",children:[(0,N.jsx)(x.A,{darkTop:!0}),(0,N.jsx)(g.A,{title:"\u5546\u54c1\u8be6\u60c5",targetSelector:".shop-back-btn",showBack:!0}),(0,N.jsx)(n.EY,{style:{color:"#fff",padding:"40rpx"},children:"\u5546\u54c1\u4e0d\u5b58\u5728"})]})}var v={navigationStyle:"custom",enablePageMeta:!0,navigationBarTextStyle:"white"};Page((0,c.createPageConfig)(S,"pages/shop/detail/index",{root:{cn:[]}},v||{}))}},function(s){var e=function(e){return s(s.s=e)};s.O(0,[907,96,76],function(){return e(3483)});s.O()}]);
\ No newline at end of file
+"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[158],{3483:function(s,e,c){var a=c(7842),n=c(9379),t=c(5544),r=c(118),o=c(758),i=c.n(o),l=c(6540),h=c(5234),p=c(2371),d=c(9201),u=c(5414),m=c(9703),x=c(9674),g=c(9513),j=c(1133),f=c(4848),N=function(s,e,c){return Math.min(Math.max(s,e),c)},b=function(s,e,c){return s+(e-s)*c},v=function(s){return 1-Math.pow(1-s,3)};function y(){var s=(0,m.wR)(),e=s.resolvedTheme,c=(0,l.useState)(667),a=(0,t.A)(c,2),o=a[0],y=a[1],S=(0,l.useState)(0),Y=(0,t.A)(S,2),E=Y[0],k=Y[1],w=(0,l.useRef)(0),T=(0,l.useRef)(null),P=(0,d.c)();(0,u.l)(e,{mode:"light"});var A=i().getCurrentInstance().router,C=A?A.params:void 0,O=C?C.id:"",M=(0,l.useMemo)(function(){return h.zv.find(function(s){return s.id===O})},[O]),I=(0,l.useState)(M),B=(0,t.A)(I,2),F=B[0],H=B[1];(0,l.useEffect)(function(){O&&(0,p.yj)(O).then(function(s){var e,c,a;H(M?(0,n.A)((0,n.A)((0,n.A)({},M),s),{},{description:s.description||M.description,story:s.story||M.story,scene:s.scene||M.scene,tags:null!==(e=s.tags)&&void 0!==e&&e.length?s.tags:M.tags,specs:null!==(c=s.specs)&&void 0!==c&&c.length?s.specs:M.specs,images:null!==(a=s.images)&&void 0!==a&&a.length?s.images:M.images}):s)}).catch(function(){return H(M)})},[M,O]),(0,l.useEffect)(function(){try{var s=i().getSystemInfoSync();y(s.windowHeight)}catch(s){}},[]);var R=(0,l.useCallback)(function(s){var e=s.detail&&s.detail.scrollTop||0;w.current=N(e/(1.2*o),0,1),null===T.current&&(T.current=setTimeout(function(){T.current=null,k(function(s){return Math.abs(s-w.current)<.002?s:w.current})},16))},[o]);(0,l.useEffect)(function(){return function(){null!==T.current&&clearTimeout(T.current)}},[]);var J=(0,l.useMemo)(function(){var s=E,e=0,c=0;if(s<=.4){var a=v(s/.4);e=b(0,32,a),c=b(0,38,a)}else if(s<=.55){var n=(s-.4)/.15;e=b(32,34,n),c=b(38,41,n)}else e=34,c=41;var t=s<=.4?0:s<=.7?b(0,-75,(s-.4)/.3):-75,r=s<=.35?1:s<=.48?N(1-(s-.35)/.13,0,1):0,o=s<=.55?0:s<=.7?(s-.55)/.15:1,i=s<=.05?0:s<=.22?v((s-.05)/.17):1,l=s<=.05?60:s<=.22?b(60,0,v((s-.05)/.17)):0;return{topCrop:e,bottomCrop:c,translateY:t,heroInfoOpacity:r,bandOpacity:o,contentOpacity:i,contentOffset:l,visibleHeight:100-e-c}},[E]),z=(0,l.useMemo)(function(){return F?F.tone:[28,22,18]},[F]),L=(null===F||void 0===F?void 0:F.description)||(null===F||void 0===F?void 0:F.subtitle)||(null===F||void 0===F?void 0:F.desc)||"",W=(0,l.useRef)(!1),q=function(){if(!W.current){W.current=!0;var s={url:"/pages/shop/index"};i().switchTab(s).catch(function(){return i().reLaunch(s)}).catch(function(){W.current=!1})}};return F?(0,f.jsxs)(r.Ss,{className:"shop-detail-page theme-dark",children:[(0,f.jsx)(x.A,{darkTop:!0}),(0,f.jsxs)(r.Ss,{className:"shop-hero-fixed",children:[(0,f.jsx)(r.Ss,{className:"shop-hero-clip",style:{height:"".concat(o*J.visibleHeight/100,"px"),overflow:"hidden",transform:"translateY(".concat(o*J.translateY/100,"px)")},children:(0,f.jsx)(j.A,{className:"shop-hero-img",src:F.images&&F.images[0]||F.iconImg||"",fallback:F.iconImg||F.icon,mode:"aspectFill",style:{width:"100%",height:"".concat(o,"px"),position:"absolute",top:"".concat(-o*J.topCrop/100,"px"),left:0}})}),(0,f.jsx)(r.Ss,{className:"shop-hero-overlay",style:{background:"linear-gradient(to bottom, rgba(".concat(z[0],", ").concat(z[1],", ").concat(z[2],", 0) 0%, rgba(").concat(z[0],", ").concat(z[1],", ").concat(z[2],", 0.55) 40%, rgba(").concat(z[0],", ").concat(z[1],", ").concat(z[2],", 0.95) 100%)")}}),(0,f.jsxs)(r.Ss,{className:"shop-hero-info",style:{opacity:J.heroInfoOpacity},children:[(0,f.jsx)(r.EY,{className:"shop-hero-title",children:F.name}),(0,f.jsx)(r.EY,{className:"shop-hero-subtitle",children:F.subtitle||F.desc}),(0,f.jsxs)(r.Ss,{className:"shop-hero-price-row",children:[(0,f.jsxs)(r.EY,{className:"shop-hero-price",children:["\xa5",F.price]}),F.originalPrice&&F.originalPrice>F.price&&(0,f.jsxs)(r.EY,{className:"shop-hero-original",children:["\xa5",F.originalPrice]})]})]})]}),(0,f.jsxs)(r.BM,{className:"shop-scroll",scrollY:!0,scrollEventThrottle:16,style:{height:"".concat(o,"px")},onScroll:R,children:[(0,f.jsx)(r.Ss,{style:{height:"".concat(.65*o,"px")}}),(0,f.jsxs)(r.Ss,{className:"shop-content",style:{backgroundColor:"rgb(".concat(z[0],", ").concat(z[1],", ").concat(z[2],")")},children:[(0,f.jsxs)(r.Ss,{className:"shop-band",style:{top:"".concat(P.statusBarHeight,"px"),opacity:J.bandOpacity,backgroundColor:"rgba(".concat(z[0],", ").concat(z[1],", ").concat(z[2],", 0.88)"),backdropFilter:"blur(12px)",WebkitBackdropFilter:"blur(12px)"},children:[(0,f.jsx)(r.EY,{className:"shop-band-title",children:F.name}),(0,f.jsx)(r.EY,{className:"shop-band-subtitle",children:F.subtitle||F.desc}),(0,f.jsxs)(r.Ss,{className:"shop-band-price-row",children:[(0,f.jsxs)(r.EY,{className:"shop-band-price",children:["\xa5",F.price]}),F.originalPrice&&F.originalPrice>F.price&&(0,f.jsxs)(r.EY,{className:"shop-band-original",children:["\xa5",F.originalPrice]})]})]}),(0,f.jsxs)(r.Ss,{className:"shop-detail-body",style:{opacity:J.contentOpacity,transform:"translateY(".concat(J.contentOffset,"px)")},children:[(0,f.jsxs)(r.Ss,{className:"shop-content-card",children:[(0,f.jsxs)(r.Ss,{className:"shop-section",children:[(0,f.jsx)(r.EY,{className:"shop-section-title",children:"\u5546\u54c1\u4ecb\u7ecd"}),(0,f.jsx)(r.EY,{className:"shop-section-text",children:L})]}),F.story&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(r.Ss,{className:"shop-divider"}),(0,f.jsxs)(r.Ss,{className:"shop-section",children:[(0,f.jsx)(r.EY,{className:"shop-section-title",children:"\u8bbe\u8ba1\u7406\u5ff5"}),(0,f.jsx)(r.EY,{className:"shop-section-text",children:F.story})]})]}),F.scene&&(0,f.jsx)(r.Ss,{className:"shop-divider"}),F.scene&&(0,f.jsxs)(r.Ss,{className:"shop-section",children:[(0,f.jsx)(r.EY,{className:"shop-section-title",children:"\u4f7f\u7528\u573a\u666f"}),(0,f.jsx)(r.EY,{className:"shop-section-text",children:F.scene})]}),F.tags&&F.tags.length>0&&(0,f.jsx)(r.Ss,{className:"shop-section",children:(0,f.jsx)(r.Ss,{className:"shop-tag-row",children:F.tags.map(function(s){return(0,f.jsx)(r.Ss,{className:"shop-tag",children:(0,f.jsx)(r.EY,{className:"shop-tag-text",children:s})},s)})})}),F.tags&&F.tags.length>0&&(0,f.jsx)(r.Ss,{className:"shop-divider"}),F.specs&&F.specs.length>0&&(0,f.jsx)(r.Ss,{className:"shop-divider"}),F.specs&&F.specs.length>0&&(0,f.jsxs)(r.Ss,{className:"shop-section",children:[(0,f.jsx)(r.EY,{className:"shop-section-title",children:"\u89c4\u683c\u53c2\u6570"}),(0,f.jsx)(r.Ss,{className:"shop-spec-table",children:F.specs.map(function(s){var e=(0,t.A)(s,2),c=e[0],a=e[1];return(0,f.jsxs)(r.Ss,{className:"shop-spec-row",children:[(0,f.jsx)(r.EY,{className:"shop-spec-key",children:c}),(0,f.jsx)(r.EY,{className:"shop-spec-val",children:a})]},c)})})]})]}),(0,f.jsx)(r.Ss,{className:"shop-bottom-spacer"})]})]})]},F.id),(0,f.jsx)(r.Ss,{className:"shop-back-btn",onTap:q,onClick:q,style:{top:"".concat(P.menuButtonTop,"px")},children:(0,f.jsx)(r.EY,{className:"shop-back-arrow",children:"\u2190"})}),(0,f.jsxs)(g.A,{children:[(0,f.jsxs)(r.Ss,{className:"price-summary",children:[(0,f.jsx)(r.EY,{className:"summary-label",children:"\u8d77\u4ef7"}),(0,f.jsxs)(r.EY,{className:"summary-price",children:["\xa5",F.price]}),F.originalPrice&&F.originalPrice>F.price&&(0,f.jsxs)(r.EY,{className:"summary-original",children:["\xa5",F.originalPrice]})]}),(0,f.jsx)(r.Ss,{className:"btn-secondary",onTap:q,onClick:q,children:(0,f.jsx)(r.EY,{children:"\u8fd4\u56de"})}),(0,f.jsx)(r.Ss,{className:"btn-primary",onTap:function(){return i().navigateTo({url:"/pages/product/index?id=".concat(F.id)})},children:(0,f.jsx)(r.EY,{children:"\u7acb\u5373\u5b9a\u5236"})})]}),(0,f.jsx)(r.Ss,{className:"safe-bottom-placeholder"})]}):(0,f.jsxs)(r.Ss,{className:"shop-detail-page theme-dark",children:[(0,f.jsx)(x.A,{darkTop:!0}),(0,f.jsx)(r.EY,{style:{color:"#fff",padding:"40rpx"},children:"\u5546\u54c1\u4e0d\u5b58\u5728"})]})}var S={navigationStyle:"custom",enablePageMeta:!0,navigationBarTextStyle:"white"};Page((0,a.createPageConfig)(y,"pages/shop/detail/index",{root:{cn:[]}},S||{}))}},function(s){var e=function(e){return s(s.s=e)};s.O(0,[907,96,76],function(){return e(3483)});s.O()}]);
\ No newline at end of file
diff --git a/dist/pages/shop/detail/index.wxss b/dist/pages/shop/detail/index.wxss
index eaebe21..a45f328 100644
--- a/dist/pages/shop/detail/index.wxss
+++ b/dist/pages/shop/detail/index.wxss
@@ -1 +1 @@
-.shop-detail-page{background:var(--bg-page);bottom:0;left:0;position:fixed;right:0;top:0}.shop-hero-fixed{height:65vh;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:0}.shop-hero-clip{bottom:0;left:0;position:absolute;right:0;top:0;will-change:height,transform}.shop-hero-img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%;will-change:top}.shop-hero-overlay{bottom:0;height:55%;left:0;pointer-events:none;position:absolute;right:0}.shop-hero-info{bottom:0;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:8rpx;left:0;padding:96rpx 40rpx calc(24rpx + env(safe-area-inset-bottom));position:absolute;right:0;z-index:2}.shop-hero-title{color:var(--text-primary);font-size:44rpx;font-weight:700;line-height:1.3}.shop-hero-subtitle{color:var(--text-secondary);font-size:24rpx;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shop-hero-price-row{-ms-flex-align:baseline;-webkit-align-items:baseline;align-items:baseline;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:16rpx;margin-top:6rpx}.shop-hero-price{color:var(--accent-primary);font-size:44rpx;font-weight:700}.shop-hero-original{color:var(--text-muted);font-size:26rpx;text-decoration:line-through}.shop-scroll{position:relative;z-index:3}.shop-content{min-height:100vh;will-change:transform}.shop-band{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:10rpx;padding:24rpx 40rpx;position:-webkit-sticky;position:sticky;top:0;-webkit-transition:opacity .15s ease;transition:opacity .15s ease;will-change:opacity;z-index:4}.shop-band-title{color:var(--text-primary);font-size:40rpx;font-weight:700;line-height:1.3}.shop-band-subtitle{color:var(--text-secondary);font-size:24rpx;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shop-band-price-row{-ms-flex-align:baseline;-webkit-align-items:baseline;align-items:baseline;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:16rpx;margin-top:6rpx}.shop-band-price{color:var(--accent-primary);font-size:40rpx;font-weight:700}.shop-band-original{color:var(--text-muted);font-size:26rpx;text-decoration:line-through}.shop-detail-body{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 32rpx calc(48rpx + env(safe-area-inset-bottom));will-change:opacity,transform}.shop-content-card{background:var(--bg-card);border:1rpx solid var(--border);border-radius:32rpx;-webkit-box-shadow:var(--shadow-card);box-shadow:var(--shadow-card);-webkit-box-sizing:border-box;box-sizing:border-box;padding:32rpx}.shop-section{margin-bottom:32rpx}.shop-section:last-child{margin-bottom:0}.shop-section-title{color:var(--text-primary);display:block;font-size:34rpx;font-weight:700;letter-spacing:0;margin:0 0 20rpx;padding-left:20rpx;position:relative}.shop-section-title::before{background:var(--accent-primary);border-radius:999rpx;bottom:8rpx;content:"";left:0;position:absolute;top:8rpx;width:6rpx}.shop-section-text{color:var(--text-secondary);display:block;font-size:28rpx;line-height:1.8}.shop-divider{background:var(--border);height:1rpx;margin:32rpx 0}.shop-tag-row{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:16rpx;margin:20rpx 0}.shop-tag{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;background:var(--accent-primary-soft);border:1rpx solid var(--accent-primary);border-radius:999rpx;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:22rpx;font-weight:600;height:56rpx;-webkit-justify-content:center;justify-content:center;padding:0 28rpx}.shop-tag-text{color:var(--accent-primary)}.shop-spec-table{background:var(--bg-muted);border:1rpx solid var(--border);border-radius:20rpx;overflow:hidden;width:100%}.shop-spec-row{border-bottom:1rpx solid var(--border);display:-webkit-flex;display:-ms-flexbox;display:flex;padding:24rpx 28rpx}.shop-spec-row:last-child{border-bottom:none}.shop-spec-key{color:var(--text-muted);font-size:24rpx;font-weight:500;width:35%}.shop-spec-val{color:var(--text-primary);-webkit-flex:1;-ms-flex:1;flex:1;font-size:26rpx;font-weight:500;word-break:break-all}.shop-bottom-spacer{height:200rpx}.shop-back-btn{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;backdrop-filter:blur(16rpx) saturate(1.4);-webkit-backdrop-filter:blur(16rpx) saturate(1.4);background:rgba(40,35,32,.5);border:1rpx solid var(--glass-line);border-radius:50%;-webkit-box-shadow:var(--shadow-elevated);box-shadow:var(--shadow-elevated);display:-webkit-flex;display:-ms-flexbox;display:flex;height:80rpx;-webkit-justify-content:center;justify-content:center;left:30rpx;position:fixed;top:calc(env(safe-area-inset-top, 20rpx) + 20rpx);-webkit-transition:opacity .2s ease,-webkit-transform .15s ease;transition:opacity .2s ease,-webkit-transform .15s ease;transition:opacity .2s ease,transform .15s ease;transition:opacity .2s ease,transform .15s ease,-webkit-transform .15s ease;width:80rpx;z-index:50}.shop-back-btn:active{-webkit-transform:scale(.92);-ms-transform:scale(.92);transform:scale(.92)}.shop-back-arrow{color:var(--text-primary);font-size:44rpx;font-weight:600;line-height:1}.bottom-action-bar .price-summary{-ms-flex-negative:0;-webkit-flex-shrink:0;flex-shrink:0}.bottom-action-bar .btn-primary,.bottom-action-bar .btn-secondary{-webkit-flex:1;-ms-flex:1;flex:1;font-size:28rpx;font-weight:600;line-height:1.2;padding:28rpx 0;text-align:center}.summary-label{color:var(--text-secondary);display:block;font-size:22rpx}.summary-price{color:var(--accent-primary);font-size:40rpx;font-weight:700}.summary-original{color:var(--text-muted);font-size:24rpx;text-decoration:line-through}
\ No newline at end of file
+.shop-detail-page{background:var(--bg-page);bottom:0;left:0;position:fixed;right:0;top:0}.shop-hero-fixed{height:65vh;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:0}.shop-hero-clip{bottom:0;left:0;position:absolute;right:0;top:0;will-change:height,transform}.shop-hero-img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%;will-change:top}.shop-hero-overlay{bottom:0;height:55%;left:0;pointer-events:none;position:absolute;right:0}.shop-hero-info{bottom:0;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:8rpx;left:0;padding:96rpx 40rpx calc(24rpx + env(safe-area-inset-bottom));position:absolute;right:0;z-index:2}.shop-hero-title{color:var(--text-primary);font-size:44rpx;font-weight:700;line-height:1.3}.shop-hero-subtitle{color:var(--text-secondary);font-size:24rpx;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shop-hero-price-row{-ms-flex-align:baseline;-webkit-align-items:baseline;align-items:baseline;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:16rpx;margin-top:6rpx}.shop-hero-price{color:var(--accent-primary);font-size:44rpx;font-weight:700}.shop-hero-original{color:var(--text-muted);font-size:26rpx;text-decoration:line-through}.shop-scroll{position:relative;z-index:3}.shop-content{min-height:100vh;will-change:transform}.shop-band{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:10rpx;padding:24rpx 40rpx;position:-webkit-sticky;position:sticky;top:0;-webkit-transition:opacity .15s ease;transition:opacity .15s ease;will-change:opacity;z-index:4}.shop-band-title{color:var(--text-primary);font-size:40rpx;font-weight:700;line-height:1.3}.shop-band-subtitle{color:var(--text-secondary);font-size:24rpx;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shop-band-price-row{-ms-flex-align:baseline;-webkit-align-items:baseline;align-items:baseline;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:16rpx;margin-top:6rpx}.shop-band-price{color:var(--accent-primary);font-size:40rpx;font-weight:700}.shop-band-original{color:var(--text-muted);font-size:26rpx;text-decoration:line-through}.shop-detail-body{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 32rpx calc(48rpx + env(safe-area-inset-bottom));will-change:opacity,transform}.shop-content-card{background:var(--bg-card);border:1rpx solid var(--border);border-radius:32rpx;-webkit-box-shadow:var(--shadow-card);box-shadow:var(--shadow-card);-webkit-box-sizing:border-box;box-sizing:border-box;padding:32rpx}.shop-section{margin-bottom:32rpx}.shop-section:last-child{margin-bottom:0}.shop-section-title{color:var(--text-primary);display:block;font-size:34rpx;font-weight:700;letter-spacing:0;margin:0 0 20rpx;padding-left:20rpx;position:relative}.shop-section-title::before{background:var(--accent-primary);border-radius:999rpx;bottom:8rpx;content:"";left:0;position:absolute;top:8rpx;width:6rpx}.shop-section-text{color:var(--text-secondary);display:block;font-size:28rpx;line-height:1.8}.shop-divider{background:var(--border);height:1rpx;margin:32rpx 0}.shop-tag-row{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:16rpx;margin:20rpx 0}.shop-tag{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;background:var(--accent-primary-soft);border:1rpx solid var(--accent-primary);border-radius:999rpx;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;font-size:22rpx;font-weight:600;height:56rpx;-webkit-justify-content:center;justify-content:center;padding:0 28rpx}.shop-tag-text{color:var(--accent-primary)}.shop-spec-table{background:var(--bg-muted);border:1rpx solid var(--border);border-radius:20rpx;overflow:hidden;width:100%}.shop-spec-row{border-bottom:1rpx solid var(--border);display:-webkit-flex;display:-ms-flexbox;display:flex;padding:24rpx 28rpx}.shop-spec-row:last-child{border-bottom:none}.shop-spec-key{color:var(--text-muted);font-size:24rpx;font-weight:500;width:35%}.shop-spec-val{color:var(--text-primary);-webkit-flex:1;-ms-flex:1;flex:1;font-size:26rpx;font-weight:500;word-break:break-all}.shop-bottom-spacer{height:200rpx}.shop-back-btn{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;backdrop-filter:blur(16rpx) saturate(1.4);-webkit-backdrop-filter:blur(16rpx) saturate(1.4);background:rgba(40,35,32,.5);border:1rpx solid var(--glass-line);border-radius:50%;-webkit-box-shadow:var(--shadow-elevated);box-shadow:var(--shadow-elevated);display:-webkit-flex;display:-ms-flexbox;display:flex;height:80rpx;-webkit-justify-content:center;justify-content:center;left:30rpx;pointer-events:auto;position:fixed;top:calc(env(safe-area-inset-top, 20rpx) + 20rpx);-webkit-transition:opacity .2s ease,-webkit-transform .15s ease;transition:opacity .2s ease,-webkit-transform .15s ease;transition:opacity .2s ease,transform .15s ease;transition:opacity .2s ease,transform .15s ease,-webkit-transform .15s ease;width:80rpx;z-index:1000}.shop-back-btn:active{-webkit-transform:scale(.92);-ms-transform:scale(.92);transform:scale(.92)}.shop-back-arrow{color:var(--text-primary);font-size:44rpx;font-weight:600;line-height:1}.bottom-action-bar .price-summary{-ms-flex-negative:0;-webkit-flex-shrink:0;flex-shrink:0}.bottom-action-bar .btn-primary,.bottom-action-bar .btn-secondary{-webkit-flex:1;-ms-flex:1;flex:1;font-size:28rpx;font-weight:600;line-height:1.2;padding:28rpx 0;text-align:center}.summary-label{color:var(--text-secondary);display:block;font-size:22rpx}.summary-price{color:var(--accent-primary);font-size:40rpx;font-weight:700}.summary-original{color:var(--text-muted);font-size:24rpx;text-decoration:line-through}
\ No newline at end of file
diff --git a/dist/project.config.json b/dist/project.config.json
index ca043bb..65f4d88 100644
--- a/dist/project.config.json
+++ b/dist/project.config.json
@@ -55,6 +55,5 @@
"include": []
},
"editorSetting": {},
- "libVersion": "3.17.0",
- "isGameTourist": false
+ "libVersion": "3.17.0"
}
\ No newline at end of file
diff --git a/src/custom-tab-bar/index.scss b/src/custom-tab-bar/index.scss
index 5664525..ad37390 100644
--- a/src/custom-tab-bar/index.scss
+++ b/src/custom-tab-bar/index.scss
@@ -4,7 +4,10 @@
right: 0;
bottom: 0;
height: 160rpx;
- pointer-events: none;
+ // 部分微信基础库对 pointer-events:none 的父节点命中测试不一致,
+ // 可能导致子节点虽然声明 auto 仍收不到点击。根容器直接参与命中,
+ // 背景渐变单独关闭事件,标签区域保持可点击。
+ pointer-events: auto;
z-index: 999;
}
@@ -14,6 +17,7 @@
right: 0;
bottom: 0;
height: 100%;
+ pointer-events: none;
}
.tab-bar-root.theme-light .tab-bar-gradient {
diff --git a/src/custom-tab-bar/index.tsx b/src/custom-tab-bar/index.tsx
index 4a6b26f..95fe326 100644
--- a/src/custom-tab-bar/index.tsx
+++ b/src/custom-tab-bar/index.tsx
@@ -101,6 +101,12 @@ export default function CustomTabBar() {
Taro.eventCenter.trigger('tabBarChange', url)
}
+ const tapTab = (url: string) => {
+ // 点击标签时直接切换;拖动手势由 onTouchEnd 统一处理,避免一次手势触发两次跳转。
+ if (isDraggingRef.current || url === activeTab) return
+ switchTab(url)
+ }
+
const startDrag = (e: any) => {
const touch = e.touches && e.touches[0]
if (!touch) return
@@ -181,7 +187,12 @@ export default function CustomTabBar() {
{TABS.map((tab) => {
const isActive = tab.pagePath === activeTab
return (
-
+ tapTab(tab.pagePath)}
+ onClick={() => tapTab(tab.pagePath)}
+ >
{tab.label}
diff --git a/src/pages/index/index.scss b/src/pages/index/index.scss
index 7d9c79f..de5d2d7 100644
--- a/src/pages/index/index.scss
+++ b/src/pages/index/index.scss
@@ -47,6 +47,7 @@
.search-input {
flex: 1;
+ min-width: 0;
height: 88rpx;
font-size: 28rpx;
color: var(--text-primary);
@@ -75,6 +76,114 @@
display: block;
}
+.search-clear,
+.search-reset {
+ margin: 0;
+ padding: 0 16rpx;
+ min-width: 80rpx;
+ font-size: 26rpx;
+ line-height: 72rpx;
+ color: var(--accent-primary);
+ background: transparent;
+
+ &::after { border: none; }
+}
+
+.search-clear { flex-shrink: 0; }
+
+.search-reset {
+ margin-top: 24rpx;
+ border-radius: 999rpx;
+ background: var(--bg-card);
+}
+
+.section-heading {
+ margin-bottom: 24rpx;
+
+ .home-section-title { margin: 0; }
+}
+
+.section-subtitle {
+ display: block;
+ margin-top: 8rpx;
+ font-size: 24rpx;
+ line-height: 1.5;
+ color: var(--text-secondary);
+}
+
+.category-section {
+ margin-top: 32rpx;
+ padding: 28rpx 24rpx;
+ border-radius: 24rpx;
+ background: var(--bg-card);
+ border: 1rpx solid var(--border);
+}
+
+.category-rail {
+ width: calc(100% + 48rpx);
+ margin: 0 -24rpx -28rpx;
+ white-space: nowrap;
+}
+
+.category-tile {
+ position: relative;
+ display: inline-flex;
+ width: 252rpx;
+ height: 168rpx;
+ margin: 0 0 28rpx 24rpx;
+ overflow: hidden;
+ border-radius: 20rpx;
+ vertical-align: top;
+ background: var(--bg-muted);
+ box-shadow: var(--shadow-card);
+}
+
+.category-tile:last-child { margin-right: 24rpx; }
+
+.category-tile-image {
+ width: 100%;
+ height: 100%;
+}
+
+.category-tile-shade {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-end;
+ min-height: 84rpx;
+ padding: 14rpx 16rpx;
+ box-sizing: border-box;
+ background: linear-gradient(transparent, rgba(20, 18, 16, 0.78));
+}
+
+.category-tile-name {
+ overflow: hidden;
+ color: #fff;
+ font-size: 27rpx;
+ font-weight: 700;
+ line-height: 1.2;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.category-tile-action {
+ margin-top: 5rpx;
+ color: rgba(255, 255, 255, 0.8);
+ font-size: 20rpx;
+ line-height: 1.2;
+}
+
+.recommend-section {
+ margin-top: 40rpx;
+ padding-top: 32rpx;
+ border-top: 2rpx solid var(--border);
+}
+
+.search-results-section { margin-top: 32rpx; }
+
/* 区块标题 */
.home-section-title {
display: block;
diff --git a/src/pages/index/index.tsx b/src/pages/index/index.tsx
index 4c77ff9..4a3b1b9 100644
--- a/src/pages/index/index.tsx
+++ b/src/pages/index/index.tsx
@@ -1,4 +1,4 @@
-import { View, Text, Image, Input, Button, Swiper, SwiperItem } from '@tarojs/components'
+import { View, Text, Image, Input, Button, Swiper, SwiperItem, ScrollView } from '@tarojs/components'
import Taro from '@tarojs/taro'
import { useState, useEffect } from 'react'
import './index.scss'
@@ -70,7 +70,7 @@ const PRODUCT_IMG_MAP: Record = {
}
export default function Index() {
- const { theme, resolvedTheme } = useThemeContext()
+ const { resolvedTheme } = useThemeContext()
const safe = useSafeArea()
useStatusBar(resolvedTheme)
const [searchKey, setSearchKey] = useState('')
@@ -81,20 +81,11 @@ export default function Index() {
Taro.navigateTo({ url: `/pages/product/index?id=${categoryId}` })
}
- const navigateFromShowcase = (item: { categoryId?: string; title: string }) => {
- if (item.categoryId) {
- navigateToProduct(item.categoryId)
- return
- }
- Taro.showToast({
- title: `“${item.title}”定制通道即将开放`,
- icon: 'none'
- })
- }
-
- const filteredCategories = searchKey.trim()
+ const keyword = searchKey.trim().toLocaleLowerCase()
+ const isSearching = keyword.length > 0
+ const filteredCategories = isSearching
? products.filter(
- (c) => c.name.includes(searchKey) || c.desc.includes(searchKey)
+ (c) => [c.name, c.desc, c.description].some(value => value?.toLocaleLowerCase().includes(keyword))
)
: products
@@ -125,19 +116,22 @@ export default function Index() {
onInput={handleSearch}
confirmType='search'
/>
+ {searchKey.length > 0 && (
+
+ )}
- {searchKey.trim() && (
+ {isSearching && (
{filteredCategories.length > 0
- ? `找到 ${filteredCategories.length} 个相关品类`
- : '没有找到相关品类,试试看其他关键词'}
+ ? `找到 ${filteredCategories.length} 件相关商品`
+ : '没有找到相关商品,试试看其他关键词'}
)}
{/* 定制成品展示 */}
-
+ {!isSearching &&
定制成品展示
))}
-
+ }
- {/* 热门品类 */}
-
- 热门品类
+ {/* 品类是快捷入口,与下方商品推荐采用不同布局。 */}
+ {!isSearching && (
+
+
+ 热门品类
+ 按品类,快速开启定制
+
+
+ {products.map(cat => (
+ navigateToProduct(cat.id)}>
+
+
+ {cat.name}
+ 去定制
+
+
+ ))}
+
+
+ )}
+
+ {/* 搜索与推荐互斥,共用后端商品卡片。 */}
+
+
+ {isSearching ? '搜索结果' : '为你推荐'}
+ {!isSearching && 挑一件好物,留下你的专属印记}
+
{filteredCategories.map((cat) => (
@@ -195,40 +218,13 @@ export default function Index() {
{filteredCategories.length === 0 && (
- 未找到匹配的品类
- 尝试搜索“笔记本”、“杯垫”等
+ {isSearching ? '未找到匹配的商品' : '暂无在售商品'}
+ {isSearching && 尝试搜索“笔记本”、“杯垫”等}
+ {isSearching && }
)}
- {/* 为你推荐 */}
-
- 为你推荐
-
- {SHOWCASE_LIST.slice(0, 4).map((item, idx) => (
- navigateFromShowcase(item)}
- >
-
- category.id === item.categoryId))}
- mode='aspectFill'
- />
-
-
- {item.title}
- {item.desc}
- {item.priceText}
-
-
- ))}
-
-
-
)
diff --git a/src/pages/shop/detail/index.scss b/src/pages/shop/detail/index.scss
index 0f12da7..65c1567 100644
--- a/src/pages/shop/detail/index.scss
+++ b/src/pages/shop/detail/index.scss
@@ -282,7 +282,7 @@
position: fixed;
top: calc(env(safe-area-inset-top, 20px) + 20rpx);
left: 30rpx;
- z-index: 50;
+ z-index: 1000;
width: 80rpx;
height: 80rpx;
border-radius: 50%;
@@ -294,6 +294,7 @@
display: flex;
align-items: center;
justify-content: center;
+ pointer-events: auto;
transition: opacity 0.2s ease, transform 0.15s ease;
}
diff --git a/src/pages/shop/detail/index.tsx b/src/pages/shop/detail/index.tsx
index 173bb39..ed109c9 100644
--- a/src/pages/shop/detail/index.tsx
+++ b/src/pages/shop/detail/index.tsx
@@ -1,6 +1,6 @@
import { View, Text, ScrollView } from '@tarojs/components'
import Taro from '@tarojs/taro'
-import { useState, useEffect, useCallback, useMemo } from 'react'
+import { useState, useEffect, useCallback, useMemo, useRef } from 'react'
import './index.scss'
import { PRODUCTS } from '../../../utils/productConfig'
import { fetchProduct } from '../../../utils/api/product'
@@ -9,7 +9,6 @@ import { useSafeArea } from '../../../hooks/useSafeArea'
import { useStatusBar } from '../../../hooks/useStatusBar'
import { useThemeContext } from '../../../context/ThemeContext'
import ThemedPageMeta from '../../../components/ThemedPageMeta'
-import ScrollTopMask from '../../../components/ScrollTopMask'
import BottomActionBar from '../../../components/BottomActionBar'
import ProductImage from '../../../components/ProductImage'
@@ -21,6 +20,8 @@ export default function ShopDetailPage() {
const { resolvedTheme } = useThemeContext()
const [winHeight, setWinHeight] = useState(667)
const [progress, setProgress] = useState(0)
+ const scrollProgressRef = useRef(0)
+ const scrollTimerRef = useRef | null>(null)
const safe = useSafeArea()
// 顶部为沉浸式商品图,状态栏始终使用白字。
useStatusBar(resolvedTheme, { mode: 'light' })
@@ -28,12 +29,29 @@ export default function ShopDetailPage() {
const routerParams = Taro.getCurrentInstance().router
const routerParamsValues = routerParams ? routerParams.params : undefined
const productId = routerParamsValues ? routerParamsValues.id : ''
- const [product, setProduct] = useState(PRODUCTS.find(p => p.id === productId))
+ const localProduct = useMemo(() => PRODUCTS.find(p => p.id === productId), [productId])
+ const [product, setProduct] = useState(localProduct)
useEffect(() => {
if (!productId) return
- fetchProduct(productId).then(setProduct).catch(() => { /* 保留本地兜底 */ })
- }, [productId])
+ fetchProduct(productId).then(remote => {
+ // 服务端优先,但介绍文案、规格和图片缺失时保留本地完整资料。
+ if (!localProduct) {
+ setProduct(remote)
+ return
+ }
+ setProduct({
+ ...localProduct,
+ ...remote,
+ description: remote.description || localProduct.description,
+ story: remote.story || localProduct.story,
+ scene: remote.scene || localProduct.scene,
+ tags: remote.tags?.length ? remote.tags : localProduct.tags,
+ specs: remote.specs?.length ? remote.specs : localProduct.specs,
+ images: remote.images?.length ? remote.images : localProduct.images,
+ })
+ }).catch(() => setProduct(localProduct))
+ }, [localProduct, productId])
useEffect(() => {
try {
@@ -44,19 +62,25 @@ export default function ShopDetailPage() {
}
}, [])
+ // 恢复原有的沉浸式收束动画;每帧只合并一次滚动状态,避免连续 setState 堆积。
const handleScroll = useCallback((e: any) => {
- const st = (e.detail && e.detail.scrollTop) || 0
- const total = winHeight * 1.2
- const p = clamp(st / total, 0, 1)
- setProgress(p)
+ const scrollTop = (e.detail && e.detail.scrollTop) || 0
+ scrollProgressRef.current = clamp(scrollTop / (winHeight * 1.2), 0, 1)
+ if (scrollTimerRef.current !== null) return
+ scrollTimerRef.current = setTimeout(() => {
+ scrollTimerRef.current = null
+ setProgress(current => Math.abs(current - scrollProgressRef.current) < 0.002 ? current : scrollProgressRef.current)
+ }, 16)
}, [winHeight])
- /* Scroll-progress → multi-stage hero & content animations */
+ useEffect(() => () => {
+ if (scrollTimerRef.current !== null) clearTimeout(scrollTimerRef.current)
+ }, [])
+
const heroStyles = useMemo(() => {
const p = progress
-
- // 1. Image crop insets (vh %)
- let topCrop = 0, bottomCrop = 0
+ let topCrop = 0
+ let bottomCrop = 0
if (p <= 0.4) {
const t = easeOut(p / 0.4)
topCrop = lerp(0, 32, t)
@@ -66,60 +90,36 @@ export default function ShopDetailPage() {
topCrop = lerp(32, 34, t)
bottomCrop = lerp(38, 41, t)
} else {
- topCrop = 34; bottomCrop = 41
+ topCrop = 34
+ bottomCrop = 41
}
- // 2. Hero translateY
- let translateY = 0
- if (p <= 0.4) translateY = 0
- else if (p <= 0.7) translateY = lerp(0, -75, (p - 0.4) / 0.3)
- else translateY = -75
-
- // 3. Hero bottom info opacity (always visible on open, fades after scroll)
- let heroInfoOpacity = 1
- if (p <= 0.35) heroInfoOpacity = 1
- else if (p <= 0.48) heroInfoOpacity = clamp(1 - (p - 0.35) / 0.13, 0, 1)
- else heroInfoOpacity = 0
-
- // 4. Transition band opacity
- let bandOpacity = 0
- if (p <= 0.55) bandOpacity = 0
- else if (p <= 0.7) bandOpacity = (p - 0.55) / 0.15
- else bandOpacity = 1
-
- // 5. Content reveal
- let contentOpacity = 1, contentOffset = 0
- if (p <= 0.05) { contentOpacity = 0; contentOffset = 60 }
- else if (p <= 0.22) {
- const t = (p - 0.05) / 0.17
- contentOpacity = easeOut(t)
- contentOffset = lerp(60, 0, easeOut(t))
- }
-
- // 6. Back button (fade out as hero scrolls)
- let backBtnOpacity = 1
- if (p <= 0.15) backBtnOpacity = clamp(1 - p / 0.15, 0, 1)
-
- return {
- topCrop,
- bottomCrop,
- translateY,
- heroInfoOpacity,
- bandOpacity,
- contentOpacity,
- contentOffset,
- backBtnOpacity,
- visibleHeight: 100 - topCrop - bottomCrop
- }
+ const translateY = p <= 0.4 ? 0 : p <= 0.7 ? lerp(0, -75, (p - 0.4) / 0.3) : -75
+ const heroInfoOpacity = p <= 0.35 ? 1 : p <= 0.48 ? clamp(1 - (p - 0.35) / 0.13, 0, 1) : 0
+ const bandOpacity = p <= 0.55 ? 0 : p <= 0.7 ? (p - 0.55) / 0.15 : 1
+ const contentOpacity = p <= 0.05 ? 0 : p <= 0.22 ? easeOut((p - 0.05) / 0.17) : 1
+ const contentOffset = p <= 0.05 ? 60 : p <= 0.22 ? lerp(60, 0, easeOut((p - 0.05) / 0.17)) : 0
+ return { topCrop, bottomCrop, translateY, heroInfoOpacity, bandOpacity, contentOpacity, contentOffset, visibleHeight: 100 - topCrop - bottomCrop }
}, [progress])
const tone = useMemo(() => (product ? product.tone : [28, 22, 18]), [product])
+ const productDescription = product?.description || product?.subtitle || product?.desc || ''
+ const leavingRef = useRef(false)
+
+ const returnToShop = () => {
+ // 详情页的稳定出口是商品 Tab,避免开发者工具直达页面或异常页面栈导致返回失效。
+ if (leavingRef.current) return
+ leavingRef.current = true
+ const target = { url: '/pages/shop/index' }
+ Taro.switchTab(target).catch(() => Taro.reLaunch(target)).catch(() => {
+ leavingRef.current = false
+ })
+ }
if (!product) {
return (
-
商品不存在
)
@@ -128,7 +128,6 @@ export default function ShopDetailPage() {
return (
-
{/* Fixed Hero */}
-
+
{product.name}
{product.subtitle || product.desc}
@@ -193,7 +189,7 @@ export default function ShopDetailPage() {
className="shop-content"
style={{ backgroundColor: `rgb(${tone[0]}, ${tone[1]}, ${tone[2]})` }}
>
- {/* Transition band — appears as hero scrolls away */}
+ {/* 原有的主图收束后,浮动信息条自然接替标题和价格。 */}
+
+ 商品介绍
+ {productDescription}
+
+
{product.story && (
-
- 设计理念
- {product.story}
-
+ <>
+
+
+ 设计理念
+ {product.story}
+
+ >
)}
- {(product.story && product.scene) && (
+ {product.scene && (
)}
@@ -253,11 +254,11 @@ export default function ShopDetailPage() {
)}
- {((product.story || product.scene) && product.tags && product.tags.length > 0) && (
+ {product.tags && product.tags.length > 0 && (
)}
- {((product.story || product.scene || (product.tags && product.tags.length > 0)) && product.specs && product.specs.length > 0) && (
+ {product.specs && product.specs.length > 0 && (
)}
@@ -284,8 +285,9 @@ export default function ShopDetailPage() {
{/* Back button — glass morphism circle */}
Taro.navigateBack()}
- style={{ top: `${safe.menuButtonTop}px`, opacity: heroStyles.backBtnOpacity }}
+ onTap={returnToShop}
+ onClick={returnToShop}
+ style={{ top: `${safe.menuButtonTop}px` }}
>
←
@@ -299,7 +301,7 @@ export default function ShopDetailPage() {
¥{product.originalPrice}
)}
- Taro.navigateBack()}>
+
返回
Taro.navigateTo({ url: `/pages/product/index?id=${product.id}` })}>