From 242c52af43786b8e6d7ce18bfcab2c376963c509 Mon Sep 17 00:00:00 2001 From: obroccolio Date: Tue, 18 Aug 2026 21:30:39 +0800 Subject: [PATCH 1/8] =?UTF-8?q?feat(ui):=20=E8=BF=81=E7=A7=BB=E6=B6=B2?= =?UTF-8?q?=E6=80=81=E7=8E=BB=E7=92=83=E8=B4=A8=E6=84=9F=EF=BC=88TabBar/?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E6=8C=89=E9=92=AE=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 自定义 TabBar 增加弯月面聚光带与银丝边缘,玻璃参数升级 - 全局返回按钮与 ScrollTopMask 返回按钮升级 135° 液态玻璃渐变 - 激活态升级为玻璃透镜,浅色/深色主题同步 - 新增 tools/liquid-glass.test.mjs 回归断言 - 同步构建产物 dist/,并合并此前未提交的 .claude 配置与 dist 变更 --- .claude/settings.local.json | 3 +- dist/app-origin.wxss | 2 +- dist/common.js | 2 +- dist/common.wxss | 2 +- dist/custom-tab-bar/index.js | 2 +- dist/custom-tab-bar/index.wxss | 2 +- dist/pages/diy/index.js | 2 +- dist/pages/diy/stickerEdit/index.js | 2 +- dist/pages/profile/index.js | 2 +- dist/pages/wordcloud/index.js | 2 +- dist/vendors.js | 2 +- src/app.scss | 36 +++++++--- src/components/ScrollTopMask/index.scss | 36 +++++++--- src/custom-tab-bar/index.scss | 96 +++++++++++++++++++++---- src/custom-tab-bar/index.tsx | 2 + tools/liquid-glass.test.mjs | 35 +++++++++ 16 files changed, 187 insertions(+), 41 deletions(-) create mode 100644 tools/liquid-glass.test.mjs diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 61d6a1d..55ddae6 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -18,7 +18,8 @@ "Bash(npm ls *)", "Bash(npm install *)", "Bash(node compress-images.js)", - "Bash(cd \"F:\\\\\\\\weixin_wordc\")" + "Bash(cd \"F:\\\\\\\\weixin_wordc\")", + "Bash(find ~/.claude /Users/broccoli/Project/wechat_wc/.claude -path '*skills*' -iname 'SKILL.md' 2>/dev/null | xargs grep -l -i cloudbase 2>/dev/null; echo \"---dirs---\"; find ~/.claude /Users/broccoli/Project/wechat_wc/.claude -type d -iname '*cloudbase*' 2>/dev/null)" ] } } diff --git a/dist/app-origin.wxss b/dist/app-origin.wxss index ebaa9bb..b221b1b 100644 --- a/dist/app-origin.wxss +++ b/dist/app-origin.wxss @@ -1 +1 @@ -.theme-light{background-color:var(--bg-page,#fff);-webkit-box-sizing:border-box;box-sizing:border-box;min-height:100vh}.theme-dark{background-color:var(--bg-page,#191919);-webkit-box-sizing:border-box;box-sizing:border-box;min-height:100vh}.theme-light{--bg-page:#faf7f2;--bg-card:#fff;--bg-muted:#f3eee7;--bg-input:#f5f1eb;--text-primary:#2e2622;--text-secondary:#8a7e76;--text-muted:#b3a89e;--accent-primary:#d96c6a;--accent-primary-strong:#c75b59;--accent-primary-soft:#f6e0dc;--accent-secondary:#6c7bdb;--accent-secondary-soft:rgba(108,123,219,.12);--success:#4fa477;--success-soft:rgba(79,164,119,.14);--warning:#d99a4e;--warning-soft:rgba(217,154,78,.14);--danger:#d85d5d;--danger-soft:rgba(216,93,93,.14);--border:#ede5dc;--border-strong:#e0d5c8;--glass:hsla(0,0%,100%,.72);--glass-line:hsla(0,0%,100%,.55);--shadow-card:0 8rpx 24rpx rgba(46,38,34,.08);--shadow-elevated:0 12rpx 40rpx rgba(46,38,34,.12)}.theme-dark{--bg-page:#191919;--bg-card:#23201d;--bg-muted:#2b2622;--bg-input:#2b2622;--text-primary:#f5efe8;--text-secondary:#b3a79c;--text-muted:#82766c;--accent-primary:#f09198;--accent-primary-strong:#ffa7ad;--accent-primary-soft:rgba(240,145,152,.14);--accent-secondary:#8e97e8;--accent-secondary-soft:rgba(142,151,232,.14);--success:#67c58e;--success-soft:rgba(103,197,142,.16);--warning:#e0ad68;--warning-soft:hsla(35,66%,64%,.16);--danger:#ef7a7a;--danger-soft:hsla(0,79%,71%,.16);--border:#37312c;--border-strong:#463e37;--glass:rgba(25,25,25,.72);--glass-line:hsla(0,0%,100%,.14);--shadow-card:0 8rpx 24rpx rgba(0,0,0,.32);--shadow-elevated:0 12rpx 40rpx rgba(0,0,0,.48)}page{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,Segoe UI,sans-serif}.surface-card{background:var(--bg-card);border:1rpx solid var(--border);border-radius:24rpx;-webkit-box-shadow:var(--shadow-card);box-shadow:var(--shadow-card)}.container{padding:48rpx}.flex{display:-webkit-flex;display:-ms-flexbox;display:flex}.flex-center{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;justify-content:center}.flex-between{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-between;justify-content:space-between}.flex-column{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.text-center{text-align:center}.mt-10{margin-top:20rpx}.mt-20{margin-top:40rpx}.mb-10{margin-bottom:20rpx}.mb-20{margin-bottom:40rpx}.btn-primary{background:var(--accent-primary);border-radius:999rpx;color:#fff}.btn-secondary{background:var(--bg-card);border:1rpx solid var(--border-strong);border-radius:999rpx;color:var(--text-primary)}.btn-ghost{background:transparent;color:var(--accent-primary)}.btn-danger{background:var(--danger);border-radius:999rpx;color:#fff}.page-title{color:var(--text-primary);display:block;font-size:80rpx;font-weight:800}.section-title{color:var(--text-primary);display:block;font-size:72rpx;font-weight:700;margin-bottom:48rpx}.badge{border-radius:100rpx;display:inline-block;font-size:44rpx;font-weight:500;padding:16rpx 40rpx}.badge-pink{background:var(--accent-primary-soft);color:var(--accent-primary)}.badge-blue{background:var(--accent-secondary-soft);color:var(--accent-secondary)}.badge-green{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-gray{background:var(--bg-muted);color:var(--text-secondary)}.safe-bottom{height:constant(safe-area-inset-bottom);height:env(safe-area-inset-bottom)}.safe-bottom-placeholder{height:400rpx}.page-header{padding-top:calc(env(safe-area-inset-top, 20rpx) + 96rpx)}.back-btn,.edit-back,.shop-back-btn{-ms-flex-align:center!important;-ms-flex-pack:center!important;-webkit-align-items:center!important;align-items:center!important;backdrop-filter:blur(32rpx) saturate(1.2)!important;-webkit-backdrop-filter:blur(32rpx) saturate(1.2)!important;background:hsla(0,0%,100%,.55)!important;border:1rpx solid hsla(0,0%,100%,.55)!important;border-radius:50%!important;-webkit-box-shadow:0 12rpx 40rpx rgba(0,0,0,.18),0 4rpx 12rpx rgba(0,0,0,.08)!important;box-shadow:0 12rpx 40rpx rgba(0,0,0,.18),0 4rpx 12rpx rgba(0,0,0,.08)!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;-webkit-justify-content:center!important;justify-content:center!important}.theme-dark .back-btn,.theme-dark .edit-back,.theme-dark .shop-back-btn{background:rgba(25,25,25,.55)!important;border-color:hsla(0,0%,100%,.14)!important;-webkit-box-shadow:0 12rpx 40rpx rgba(0,0,0,.5),0 4rpx 12rpx rgba(0,0,0,.3)!important;box-shadow:0 12rpx 40rpx rgba(0,0,0,.5),0 4rpx 12rpx rgba(0,0,0,.3)!important}.modal-overlay{-ms-flex-align:end;-ms-flex-pack:center;-webkit-align-items:flex-end;align-items:flex-end;background:rgba(0,0,0,.5);bottom:0;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:600}.addr-picker-sheet{background:var(--bg-card);border-radius:48rpx 48rpx 0 0;border-top:1rpx solid var(--border);-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;max-height:70vh;padding:48rpx 48rpx calc(48rpx + env(safe-area-inset-bottom));width:100%}.system-theme-detector{height:1rpx;left:-9999rpx;opacity:0;pointer-events:none;position:fixed;top:0;width:1rpx}@media (prefers-color-scheme:dark){.system-theme-detector{opacity:1}} \ No newline at end of file +.theme-light{background-color:var(--bg-page,#fff);-webkit-box-sizing:border-box;box-sizing:border-box;min-height:100vh}.theme-dark{background-color:var(--bg-page,#191919);-webkit-box-sizing:border-box;box-sizing:border-box;min-height:100vh}.theme-light{--bg-page:#faf7f2;--bg-card:#fff;--bg-muted:#f3eee7;--bg-input:#f5f1eb;--text-primary:#2e2622;--text-secondary:#8a7e76;--text-muted:#b3a89e;--accent-primary:#d96c6a;--accent-primary-strong:#c75b59;--accent-primary-soft:#f6e0dc;--accent-secondary:#6c7bdb;--accent-secondary-soft:rgba(108,123,219,.12);--success:#4fa477;--success-soft:rgba(79,164,119,.14);--warning:#d99a4e;--warning-soft:rgba(217,154,78,.14);--danger:#d85d5d;--danger-soft:rgba(216,93,93,.14);--border:#ede5dc;--border-strong:#e0d5c8;--glass:hsla(0,0%,100%,.72);--glass-line:hsla(0,0%,100%,.55);--shadow-card:0 8rpx 24rpx rgba(46,38,34,.08);--shadow-elevated:0 12rpx 40rpx rgba(46,38,34,.12)}.theme-dark{--bg-page:#191919;--bg-card:#23201d;--bg-muted:#2b2622;--bg-input:#2b2622;--text-primary:#f5efe8;--text-secondary:#b3a79c;--text-muted:#82766c;--accent-primary:#f09198;--accent-primary-strong:#ffa7ad;--accent-primary-soft:rgba(240,145,152,.14);--accent-secondary:#8e97e8;--accent-secondary-soft:rgba(142,151,232,.14);--success:#67c58e;--success-soft:rgba(103,197,142,.16);--warning:#e0ad68;--warning-soft:hsla(35,66%,64%,.16);--danger:#ef7a7a;--danger-soft:hsla(0,79%,71%,.16);--border:#37312c;--border-strong:#463e37;--glass:rgba(25,25,25,.72);--glass-line:hsla(0,0%,100%,.14);--shadow-card:0 8rpx 24rpx rgba(0,0,0,.32);--shadow-elevated:0 12rpx 40rpx rgba(0,0,0,.48)}page{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,Segoe UI,sans-serif}.surface-card{background:var(--bg-card);border:1rpx solid var(--border);border-radius:24rpx;-webkit-box-shadow:var(--shadow-card);box-shadow:var(--shadow-card)}.container{padding:48rpx}.flex{display:-webkit-flex;display:-ms-flexbox;display:flex}.flex-center{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;justify-content:center}.flex-between{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-between;justify-content:space-between}.flex-column{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.text-center{text-align:center}.mt-10{margin-top:20rpx}.mt-20{margin-top:40rpx}.mb-10{margin-bottom:20rpx}.mb-20{margin-bottom:40rpx}.btn-primary{background:var(--accent-primary);border-radius:999rpx;color:#fff}.btn-secondary{background:var(--bg-card);border:1rpx solid var(--border-strong);border-radius:999rpx;color:var(--text-primary)}.btn-ghost{background:transparent;color:var(--accent-primary)}.btn-danger{background:var(--danger);border-radius:999rpx;color:#fff}.page-title{color:var(--text-primary);display:block;font-size:80rpx;font-weight:800}.section-title{color:var(--text-primary);display:block;font-size:72rpx;font-weight:700;margin-bottom:48rpx}.badge{border-radius:100rpx;display:inline-block;font-size:44rpx;font-weight:500;padding:16rpx 40rpx}.badge-pink{background:var(--accent-primary-soft);color:var(--accent-primary)}.badge-blue{background:var(--accent-secondary-soft);color:var(--accent-secondary)}.badge-green{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-gray{background:var(--bg-muted);color:var(--text-secondary)}.safe-bottom{height:constant(safe-area-inset-bottom);height:env(safe-area-inset-bottom)}.safe-bottom-placeholder{height:400rpx}.page-header{padding-top:calc(env(safe-area-inset-top, 20rpx) + 96rpx)}.back-btn,.edit-back,.shop-back-btn{-ms-flex-align:center!important;-ms-flex-pack:center!important;-webkit-align-items:center!important;align-items:center!important;backdrop-filter:blur(24rpx) saturate(1.7) brightness(1.05)!important;-webkit-backdrop-filter:blur(24rpx) saturate(1.7) brightness(1.05)!important;background:-webkit-linear-gradient(315deg,hsla(0,0%,100%,.55),hsla(0,0%,100%,.28) 45%,hsla(0,0%,100%,.42))!important;background:linear-gradient(135deg,hsla(0,0%,100%,.55),hsla(0,0%,100%,.28) 45%,hsla(0,0%,100%,.42))!important;border:1rpx solid hsla(0,0%,100%,.35)!important;border-radius:50%!important;-webkit-box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.65),inset 0 -2rpx 4rpx rgba(0,0,0,.06),inset 0 0 0 1rpx hsla(0,0%,100%,.18),0 12rpx 40rpx rgba(0,0,0,.18),0 4rpx 12rpx rgba(0,0,0,.08)!important;box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.65),inset 0 -2rpx 4rpx rgba(0,0,0,.06),inset 0 0 0 1rpx hsla(0,0%,100%,.18),0 12rpx 40rpx rgba(0,0,0,.18),0 4rpx 12rpx rgba(0,0,0,.08)!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;-webkit-justify-content:center!important;justify-content:center!important}.theme-dark .back-btn,.theme-dark .edit-back,.theme-dark .shop-back-btn{background:-webkit-linear-gradient(315deg,hsla(0,0%,100%,.16),hsla(0,0%,100%,.06) 45%,hsla(0,0%,100%,.12))!important;background:linear-gradient(135deg,hsla(0,0%,100%,.16),hsla(0,0%,100%,.06) 45%,hsla(0,0%,100%,.12))!important;border-color:hsla(0,0%,100%,.18)!important;-webkit-box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.22),inset 0 -2rpx 4rpx rgba(0,0,0,.28),inset 0 0 0 1rpx hsla(0,0%,100%,.1),0 12rpx 40rpx rgba(0,0,0,.5),0 4rpx 12rpx rgba(0,0,0,.3)!important;box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.22),inset 0 -2rpx 4rpx rgba(0,0,0,.28),inset 0 0 0 1rpx hsla(0,0%,100%,.1),0 12rpx 40rpx rgba(0,0,0,.5),0 4rpx 12rpx rgba(0,0,0,.3)!important}.modal-overlay{-ms-flex-align:end;-ms-flex-pack:center;-webkit-align-items:flex-end;align-items:flex-end;background:rgba(0,0,0,.5);bottom:0;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:600}.addr-picker-sheet{background:var(--bg-card);border-radius:48rpx 48rpx 0 0;border-top:1rpx solid var(--border);-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;max-height:70vh;padding:48rpx 48rpx calc(48rpx + env(safe-area-inset-bottom));width:100%}.system-theme-detector{height:1rpx;left:-9999rpx;opacity:0;pointer-events:none;position:fixed;top:0;width:1rpx}@media (prefers-color-scheme:dark){.system-theme-detector{opacity:1}} \ No newline at end of file diff --git a/dist/common.js b/dist/common.js index 7f7389b..d58494f 100644 --- a/dist/common.js +++ b/dist/common.js @@ -1 +1 @@ -"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[76],{9513:function(n,t,e){e.d(t,{A:function(){return i}});var r=e(118),o=e(4848);function i(n){var t=n.children,e=n.className,i=n.style;return(0,o.jsx)(r.Ss,{className:"bottom-action-bar ".concat(e||""),style:i,children:t})}},7723:function(n,t,e){e.d(t,{A:function(){return f}});var r=e(5544),o=e(758),i=e.n(o),u=e(6540),c=e(118),a=e(6764),s=e(9703),l=e(8199),d=e(4848);function f(n){var t=(0,u.useState)("checking"),e=(0,r.A)(t,2),o=e[0],f=e[1],g=(0,u.useCallback)(function(){var n=!1;return(0,a.d)().then(function(t){n||f(t?"ok":"denied")}).catch(function(){n||f("denied")}),function(){n=!0}},[]);return(0,u.useEffect)(function(){var n=g(),t=function(){g()},e=function(){g()};return i().eventCenter.on("tabBarChange",t),i().eventCenter.on(s.Wo,e),i().eventCenter.on("authStateChanged",t),function(){n(),i().eventCenter.off("tabBarChange",t),i().eventCenter.off(s.Wo,e),i().eventCenter.off("authStateChanged",t)}},[g]),"checking"===o?(0,d.jsx)(c.Ss,{className:"login-guard",children:(0,d.jsxs)(c.Ss,{className:"login-guard-inner",children:[(0,d.jsx)(c._V,{className:"login-guard-icon",src:(0,l.uq)("/icon/\u8bbe\u7f6e.png"),mode:"aspectFit"}),(0,d.jsx)(c.EY,{className:"login-guard-title",children:"\u6821\u9a8c\u767b\u5f55\u72b6\u6001"})]})}):"denied"===o?(0,d.jsx)(c.Ss,{className:"login-guard",children:(0,d.jsxs)(c.Ss,{className:"login-guard-inner",children:[(0,d.jsx)(c._V,{className:"login-guard-icon",src:(0,l.uq)("/icon/\u4e2a\u4eba.png"),mode:"aspectFit"}),(0,d.jsx)(c.EY,{className:"login-guard-title",children:"\u8bf7\u5148\u767b\u5f55"}),(0,d.jsx)(c.EY,{className:"login-guard-desc",children:"\u767b\u5f55\u540e\u67e5\u770b\u60a8\u7684\u4e13\u5c5e\u5185\u5bb9"}),(0,d.jsx)(c.Ss,{className:"btn-primary login-guard-btn",onTap:function(){return i().switchTab({url:"/pages/profile/index"})},children:(0,d.jsx)(c.EY,{children:"\u53bb\u767b\u5f55"})})]})}):n.children}},3053:function(n,t,e){e.d(t,{A:function(){return f}});var r=e(5544),o=e(118),i=e(758),u=e.n(i),c=e(6540),a=e(9201);function s(n){var t=n.viewportBottom,e=n.scrollTop,r=n.statusBarHeight,o=Number.isFinite(t)?t:0,i=Number.isFinite(e)?e:0,u=Number.isFinite(r)?r:0;return Math.max(0,o+i-u-8)}function l(n){var t=n.scrollTop,e=n.startY,r=n.rangeY,o=Number.isFinite(t)?t:0,i=Math.max(0,Number.isFinite(e)?e:0),u=Math.max(1,Number.isFinite(r)?r:1);return o<=i?0:Math.min(1,(o-i)/u)}var d=e(4848);function f(n){var t=n.title,e=n.targetSelector,i=void 0===e?".page-header":e,f=n.showBack,g=void 0!==f&&f,h=(0,a.c)(),p=(0,c.useState)(0),m=(0,r.A)(p,2),v=m[0],S=m[1],y=(0,c.useMemo)(function(){return{startY:Math.max(0,h.headerPaddingTop-h.statusBarHeight),rangeY:Math.max(48,.45*h.headerPaddingTop)}},[h.headerPaddingTop,h.statusBarHeight]),k=(0,c.useRef)(y),b=(0,c.useRef)(null),A=(0,c.useRef)(0),T=(0,c.useCallback)(function(n){A.current=n,null===b.current&&(b.current=setTimeout(function(){b.current=null;var n=k.current,t=n.startY,e=n.rangeY;S(l({scrollTop:A.current,startY:t,rangeY:e}))},16))},[]);return(0,c.useEffect)(function(){var n=!1,t=null;k.current=y;var e=function(){n||u().createSelectorQuery().select(i).boundingClientRect(function(t){if(!n){if(!t||Array.isArray(t)||"number"!==typeof t.bottom||"number"!==typeof t.height)return k.current=y,void T(A.current);var e=s({viewportBottom:t.bottom,scrollTop:A.current,statusBarHeight:h.statusBarHeight}),r=Math.max(32,.7*t.height);k.current={startY:e,rangeY:r},T(A.current)}}).exec()};return u().nextTick(function(){n||(t=setTimeout(e,80))}),function(){n=!0,null!==t&&clearTimeout(t),null!==b.current&&clearTimeout(b.current),b.current=null}},[T,y,i]),u().usePageScroll(function(n){T(n.scrollTop)}),(0,d.jsxs)(o.Ss,{className:"scroll-top-mask",style:{height:"".concat(Math.max(h.menuButtonTop+h.menuButtonHeight+18,h.statusBarHeight+52)+24,"px"),opacity:v},children:[(0,d.jsx)(o.Ss,{className:"scroll-top-blur scroll-top-blur-mid"}),(0,d.jsx)(o.Ss,{className:"scroll-top-blur scroll-top-blur-soft"}),(0,d.jsx)(o.Ss,{className:"scroll-top-gradient"}),g&&(0,d.jsx)(o.Ss,{className:"scroll-top-back",style:{top:"".concat(h.menuButtonTop,"px")},onTap:function(){return u().navigateBack()},children:(0,d.jsx)(o.EY,{className:"scroll-top-back-arrow",children:"\u2190"})}),(0,d.jsx)(o.EY,{className:"scroll-top-title",style:{top:"calc(".concat(h.menuButtonTop,"px + 40rpx)"),transform:"translateY(-50%)",opacity:Math.max(0,Math.min(1,(v-.5)/.5))},children:t})]})}},9674:function(n,t,e){e.d(t,{A:function(){return u}});var r=e(118),o=e(9703),i=e(4848);function u(n){var t=n.darkTop,e=void 0!==t&&t,u=(0,o.wR)(),c=u.resolvedTheme,a="dark"===c||e,s=a?"#191919":"#faf7f2",l=a?"#ffffff":"#000000";return(0,i.jsx)(r.tf,{backgroundColor:s,backgroundColorTop:s,backgroundColorBottom:s,backgroundTextStyle:a?"light":"dark",rootBackgroundColor:s,children:(0,i.jsx)(r.yk,{frontColor:l,backgroundColor:s})})}},9703:function(n,t,e){e.d(t,{NP:function(){return g},Wo:function(){return f},wR:function(){return h}});var r=e(5544),o=e(6540),i=e(758),u=e.n(i),c=e(118),a=e(1457),s=e(6606),l=e(4848),d=(0,o.createContext)({theme:"auto",resolvedTheme:"light",toggleTheme:function(){},setTheme:function(){}}),f="themeChange";function g(n){var t=n.children,e=(0,o.useState)((0,a.O4)()),g=(0,r.A)(e,2),h=g[0],p=g[1],m=(0,o.useState)((0,a.eW)((0,a.O4)())),v=(0,r.A)(m,2),S=v[0],y=v[1],k=(0,o.useCallback)(function(n){y((0,a.eW)(n))},[]),b=(0,o.useCallback)(function(n){(0,a.Rq)(n),"auto"===(0,a.O4)()&&y(n)},[]),A=(0,o.useCallback)(function(){try{var n=u().getAppBaseInfo();b("dark"===n.theme?"dark":"light")}catch(n){}try{u().createSelectorQuery().select(".system-theme-detector").fields({computedStyle:["opacity"]}).exec(function(n){var t=n&&n[0]&&n[0].computedStyle&&n[0].computedStyle.opacity;b("1"===t?"dark":"light")})}catch(n){}},[b]),T=(0,o.useCallback)(function(n){(0,a.F0)(n),p(n),"auto"===n?A():k(n)},[A,k]),x=(0,o.useCallback)(function(){var n="light"===S?"dark":"light";T(n)},[S,T]);return(0,o.useEffect)(function(){A()},[A]),(0,o.useEffect)(function(){var n,t=function(n){!n||"dark"!==n.theme&&"light"!==n.theme||b(n.theme)},e=u();return null===(n=e.onThemeChange)||void 0===n||n.call(e,t),function(){var n;null===(n=e.offThemeChange)||void 0===n||n.call(e,t)}},[b]),(0,o.useEffect)(function(){u().eventCenter.trigger(f,S)},[S]),(0,o.useEffect)(function(){(0,s.G)(S)},[S]),(0,i.useDidShow)(function(){"auto"===h&&A()}),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c.Ss,{className:"system-theme-detector"}),(0,l.jsx)(d.Provider,{value:{theme:h,resolvedTheme:S,toggleTheme:x,setTheme:T},children:t})]})}function h(){return(0,o.useContext)(d)}},9201:function(n,t,e){e.d(t,{c:function(){return a}});var r=e(5544),o=e(6540),i=e(758),u=e.n(i),c=null;function a(){var n=(0,o.useState)(null!==c&&void 0!==c?c:{statusBarHeight:20,menuButtonTop:26,menuButtonHeight:32,capsuleRight:368,safeInsetTop:20,safeInsetBottom:0,headerPaddingTop:66,backBtnPaddingTop:20}),t=(0,r.A)(n,2),e=t[0],i=t[1];return(0,o.useEffect)(function(){if(c)i(c);else try{var n,t,e,r,o,a,s,l,d=u().getSystemInfoSync(),f=u().getMenuButtonBoundingClientRect(),g=d.statusBarHeight||20,h=null!==(n=f.top)&&void 0!==n?n:g+4,p=null!==(t=f.height)&&void 0!==t?t:32,m=null!==(e=f.right)&&void 0!==e?e:d.windowWidth-7,v=null!==(r=null===(o=d.safeArea)||void 0===o?void 0:o.top)&&void 0!==r?r:g,S=null!==(a=d.safeAreaInsetBottom)&&void 0!==a?a:d.screenHeight-(null!==(s=null===(l=d.safeArea)||void 0===l?void 0:l.bottom)&&void 0!==s?s:d.screenHeight),y=Math.max(h+p+6,g+44),k=Math.max(g,h-4),b={statusBarHeight:g,menuButtonTop:h,menuButtonHeight:p,capsuleRight:m,safeInsetTop:v,safeInsetBottom:S,headerPaddingTop:y,backBtnPaddingTop:k};c=b,i(b)}catch(n){}},[]),e}},5414:function(n,t,e){e.d(t,{l:function(){return c}});var r=e(6540),o=e(758),i=e.n(o),u=e(6606);function c(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=t.mode,c=void 0===e?"auto":e,a=(0,r.useCallback)(function(){var t="dark"===c||"auto"===c&&"light"===n,e=t?"#000000":"#ffffff",r=t?"#faf7f2":"#191919";i().setNavigationBarColor({frontColor:e,backgroundColor:r}),(0,u.G)(n,r)},[c,n]);(0,r.useEffect)(a,[a]),(0,o.useDidShow)(a)}},4093:function(n,t,e){e.d(t,{jp:function(){return d},gf:function(){return i.gf},iD:function(){return u},ri:function(){return a},r7:function(){return s}});var r=e(1212),o=e(467),i=e(3246);function u(n){return c.apply(this,arguments)}function c(){return c=(0,o.A)((0,r.A)().m(function n(t){var e;return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:return n.n=1,i.Ay.post("/api/auth/login",{code:t},{auth:!1});case 1:return e=n.v,null!==e&&void 0!==e&&e.accessToken&&(0,i.WG)(e.accessToken),n.a(2,e)}},n)})),c.apply(this,arguments)}function a(){(0,i.L)()}function s(n){return l.apply(this,arguments)}function l(){return l=(0,o.A)((0,r.A)().m(function n(t){return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:return n.a(2,i.Ay.patch("/api/users/me",t))}},n)})),l.apply(this,arguments)}function d(){return f.apply(this,arguments)}function f(){return f=(0,o.A)((0,r.A)().m(function n(){return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:return n.a(2,i.Ay.get("/api/users/me"))}},n)})),f.apply(this,arguments)}},8199:function(n,t,e){e.d(t,{uq:function(){return o}});var r="https://wordcloudwechat.oss-cn-hangzhou.aliyuncs.com";function o(n){if(!n)return"";if(/^(https?:|wxfile:|data:)/i.test(n))return n;if(!r)return n;var t=r.replace(/\/+$/,"");if(!n.startsWith("/img/"))return n;var e=n.startsWith("/")?n:"/".concat(n);return"".concat(t).concat(e)}},6764:function(n,t,e){e.d(t,{d:function(){return S},m:function(){return h}});var r=e(1212),o=e(467),i=e(2284),u=e(758),c=e.n(u),a=e(4093),s=e(1457),l="smart_auth_verified",d=18e5,f=null,g=null;function h(){f=null,g=null;try{c().removeStorageSync(l)}catch(n){}}function p(n){var t=f||function(){try{var n=c().getStorageSync(l);return n&&"object"===(0,i.A)(n)?n:null}catch(n){return null}}();return t&&t.openid===n?Date.now()-t.at>d?null:(f=t,t.ok):null}function m(n,t){var e={openid:n,ok:t,at:Date.now()};f=e;try{c().setStorageSync(l,e)}catch(n){}}function v(){var n=(0,s.Q4)();return!(null===n||void 0===n||!n.openid)&&!(0,s.Ic)(n.openid)&&!!n.accessToken&&!!(0,a.gf)()}function S(){return y.apply(this,arguments)}function y(){return y=(0,o.A)((0,r.A)().m(function n(){var t,e;return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:if(t=(0,s.Q4)(),null!==t&&void 0!==t&&t.openid){n.n=1;break}return console.log("[AuthGuard] \u65e0\u672c\u5730\u7528\u6237\uff0c\u5224\u5b9a\u672a\u767b\u5f55"),n.a(2,!1);case 1:if(console.log("[AuthGuard] \u672c\u5730\u7528\u6237 openid=",t.openid),!(0,s.Ic)(t.openid)){n.n=2;break}return(0,s.Hf)(),(0,a.ri)(),h(),n.a(2,!1);case 2:if(e=p(t.openid),null===e){n.n=3;break}return console.log("[AuthGuard] \u547d\u4e2d\u672c\u5730\u7f13\u5b58 ok=",e),n.a(2,e);case 3:return g||(g=(0,a.jp)().then(function(n){console.log("[AuthGuard] getMe \u8fd4\u56de:",JSON.stringify(n));var e=!!n&&!!n.id&&n.openid===t.openid;return console.log("[AuthGuard] \u4e00\u81f4\u6027=",e),e?(m(t.openid,!0),!0):((0,s.Hf)(),(0,a.ri)(),h(),!1)}).catch(function(n){return console.error("[AuthGuard] getMe \u5931\u8d25\uff0c\u8d70\u672c\u5730\u4f1a\u8bdd\u515c\u5e95:",n),v()}).finally(function(){g=null})),n.a(2,g)}},n)})),y.apply(this,arguments)}},5234:function(n,t,e){e.d(t,{QE:function(){return l},R6:function(){return c},rj:function(){return s},y9:function(){return a},zv:function(){return u}});var r=e(9379),o=e(8199),i=[{id:"notebook-small",name:"\u5fae\u96d5\u7b14\u8bb0\u672c\uff08\u5c0f\uff09",desc:"\u4fbf\u643a\u968f\u884c\uff0c\u8bb0\u5f55\u70b9\u6ef4",icon:"/icon/\u4e66\u672c.png",iconImg:"/icon/\u4e66\u672c.png",price:12,originalPrice:18,leadTime:"3-5\u4e2a\u5de5\u4f5c\u65e5",description:"\u7cbe\u9009\u4f18\u8d28\u7eb8\u5f20\uff0c\u5c01\u9762\u91c7\u7528\u9ad8\u6863PU\u6750\u8d28\uff0c\u624b\u611f\u7ec6\u817b\u3002\u5185\u9875\u53ef\u5b9a\u5236\u6a2a\u7ebf\u3001\u65b9\u683c\u6216\u7a7a\u767d\u4e09\u79cd\u7248\u5f0f\u3002\u6fc0\u5149\u5fae\u96d5\u5de5\u827a\u5c06\u540d\u5b57\u6216\u56fe\u6848\u7cbe\u51c6\u523b\u5370\u5728\u5c01\u9762\uff0c\u6c38\u4e0d\u892a\u8272\u3002\u5c0f\u5de7\u8f7b\u4fbf\uff0c\u9002\u5408\u968f\u8eab\u643a\u5e26\uff0c\u65e0\u8bba\u662f\u8bfe\u5802\u7b14\u8bb0\u8fd8\u662f\u65e5\u5e38\u5907\u5fd8\uff0c\u90fd\u662f\u4f60\u7684\u4e13\u5c5e\u4f34\u4fa3\u3002",subtitle:"\u638c\u5fc3\u95f4\u7684\u4e13\u5c5e\u5370\u8bb0 \xb7 \u6fc0\u5149\u5fae\u96d5 \xb7 \u4e09\u8272\u5185\u9875\u53ef\u9009",tone:[28,22,18],story:"\u7075\u611f\u6e90\u81ea\u624b\u8d26\u6587\u5316\u4e2d\u5bf9\u4e66\u5199\u4eea\u5f0f\u611f\u7684\u8ffd\u6c42\u3002\u6211\u4eec\u76f8\u4fe1\uff0c\u5728\u6570\u5b57\u6d2a\u6d41\u7684\u65f6\u4ee3\uff0c\u7eb8\u7b14\u7684\u6e29\u5ea6\u4f9d\u7136\u4e0d\u53ef\u66ff\u4ee3\u3002\u5f53\u6fc0\u5149\u5fae\u96d5\u5728PU\u5c01\u9762\u4e0a\u7559\u4e0b\u4e13\u5c5e\u5370\u8bb0\uff0c\u6bcf\u4e00\u7b14\u4e66\u5199\u90fd\u5728\u4e0e\u8fc7\u53bb\u5bf9\u8bdd\u3002\u7b14\u8bb0\u672c\u5c0f\u5de7\u5230\u8db3\u4ee5\u653e\u5165\u4efb\u4f55\u53e3\u888b\uff0c\u5374\u627f\u8f7d\u7740\u72ec\u4e00\u65e0\u4e8c\u7684\u8bb0\u5fc6\u3002",scene:"\u8bfe\u5802\u7b14\u8bb0\u3001\u65e5\u5e38\u5907\u5fd8\u3001\u65c5\u884c\u624b\u8d26\u3001\u5fc3\u60c5\u65e5\u8bb0\u3002\u9002\u5408\u9001\u7ed9\u540c\u5b66\u3001\u4f34\u4fa3\u6216\u4f5c\u4e3a\u6d3b\u52a8\u4f34\u624b\u793c\u2014\u2014\u8ba9\u6bcf\u4e00\u4e2a\u4eba\u90fd\u62e5\u6709\u523b\u7740\u81ea\u5df1\u540d\u5b57\u7684\u4e13\u5c5e\u7b14\u8bb0\u672c\u3002",tags:["\u4f34\u624b\u793c","\u5b66\u751f","\u624b\u8d26","\u4fbf\u643a","\u6fc0\u5149\u5fae\u96d5"],specs:[["\u5c3a\u5bf8","105 \xd7 148mm\uff08A6\uff09"],["\u9875\u6570","120\u5f20/240\u9875"],["\u5185\u9875\u7248\u5f0f","\u6a2a\u7ebf / \u65b9\u683c / \u7a7a\u767d \u53ef\u9009"],["\u5c01\u9762\u6750\u8d28","\u9ad8\u6863PU\u76ae\u9769"],["\u96d5\u523b\u5de5\u827a","CO2 \u6fc0\u5149\u5fae\u96d5\uff08\u6c38\u4e0d\u892a\u8272\uff09"],["\u9002\u7528\u573a\u666f","\u8bfe\u5802\u3001\u65c5\u884c\u3001\u65e5\u5e38\u5907\u5fd8"]],images:["/img/book_small/The1.jpg"],mask:{shape:"rect",width:300,height:420,borderRadius:8}},{id:"notebook-large",name:"\u5fae\u96d5\u7b14\u8bb0\u672c\uff08\u5927\uff09",desc:"\u5927\u5f00\u672c\uff0c\u66f4\u591a\u521b\u4f5c\u7a7a\u95f4",icon:"/icon/\u4e66\u672c_\u5927.png",iconImg:"/icon/\u4e66\u672c_\u5927.png",price:45,originalPrice:58,leadTime:"3-5\u4e2a\u5de5\u4f5c\u65e5",description:"A4\u5c3a\u5bf8\u5927\u5f00\u672c\uff0c180\xb0\u5e73\u644a\u8bbe\u8ba1\uff0c\u4e66\u5199\u66f4\u81ea\u7531\u3002\u5c01\u9762\u53ef\u9009\u771f\u76ae\u3001\u4eff\u5e03\u7eb9\u6216\u78e8\u7802\u6750\u8d28\uff0c\u6fc0\u5149\u5fae\u96d5\u533a\u57df\u66f4\u5927\uff0c\u9002\u5408\u5448\u73b0\u5168\u73ed\u540d\u5b57\u3001\u56e2\u961f\u53e3\u53f7\u6216\u516c\u53f8Logo\u7b49\u5927\u7bc7\u5e45\u5185\u5bb9\u3002\u662f\u6bd5\u4e1a\u7eaa\u5ff5\u3001\u4f01\u4e1a\u5e74\u4f1a\u793c\u54c1\u7684\u9996\u9009\u3002",subtitle:"\u5927\u7bc7\u5e45\u5b9a\u5236\u9996\u9009 \xb7 180\xb0\u5e73\u644a \xb7 \u6bd5\u4e1a/\u56e2\u5efa\u5fc5\u5907",tone:[35,28,22],story:"\u6bcf\u4e00\u6b21\u544a\u522b\u90fd\u503c\u5f97\u88ab\u90d1\u91cd\u4e66\u5199\u3002\u6bd5\u4e1a\u5b63\u7684\u6559\u5ba4\u91cc\uff0c\u7b14\u8bb0\u672c\u644a\u5f00\u5728\u8bfe\u684c\u4e0a\uff0c\u5168\u73ed\u7684\u540d\u5b57\u88ab\u6fc0\u5149\u523b\u5370\u5728\u5c01\u9762\u4e2d\u592e\uff0c\u6210\u4e3a\u6c38\u6052\u7684\u540c\u5b66\u5f55\u3002180\xb0\u5e73\u644a\u8bbe\u8ba1\u8ba9\u4e66\u5199\u4e0d\u518d\u88ab\u8ba2\u88c5\u675f\u7f1a\uff0cA4\u5927\u5c3a\u5bf8\u7ed9\u4f60\u5c3d\u60c5\u6325\u6d12\u7684\u5929\u5730\u3002\u8fd9\u662f\u9001\u7ed9\u4e00\u7fa4\u4eba\u6700\u597d\u7684\u544a\u522b\u793c\u7269\u3002",scene:"\u6bd5\u4e1a\u7eaa\u5ff5\u518c\u3001\u516c\u53f8\u5e74\u4f1a\u793c\u54c1\u3001\u56e2\u961f\u5efa\u8bbe\u4f34\u624b\u793c\u3001\u5ba2\u6237\u7b54\u8c22\u3002\u7279\u522b\u9002\u5408\u9700\u8981\u5728\u5c01\u9762\u5448\u73b0\u5927\u91cf\u6587\u5b57\u6216\u56fe\u6848\u7684\u5b9a\u5236\u9700\u6c42\u2014\u2014\u73ed\u7ea7\u540d\u5355\u3001\u516c\u53f8\u613f\u666f\u3001\u56e2\u961f\u53e3\u53f7\u4e00\u7f51\u6253\u5c3d\u3002",tags:["\u6bd5\u4e1a\u793c","\u56e2\u5efa","\u4f01\u4e1a\u5b9a\u5236","\u5927\u7bc7\u5e45","\u5e73\u644a\u8bbe\u8ba1"],specs:[["\u5c3a\u5bf8","210 \xd7 297mm\uff08A4\uff09"],["\u9875\u6570","100\u5f20/200\u9875"],["\u5c01\u9762\u6750\u8d28","\u771f\u76ae / \u4eff\u5e03\u7eb9 / \u78e8\u7802 \u53ef\u9009"],["\u5f00\u5408\u9002\u7528","180\xb0\u5e73\u644a\u8bbe\u8ba1"],["\u96d5\u523b\u5de5\u827a","CO2 \u6fc0\u5149\u5fae\u96d5\uff08\u9ad8\u6e05\u6670\u5ea6\uff09"],["\u5b9a\u5236\u9762\u79ef","\u5c01\u9762\u6574\u9762\u53ef\u96d5"]],images:["/img/book_big/The1.jpg","/img/book_big/The2.jpg"],mask:{shape:"rect",width:340,height:480,borderRadius:8}},{id:"coaster",name:"\u94dc\u8d28\u676f\u57ab",desc:"\u91d1\u5c5e\u8d28\u611f\uff0c\u684c\u9762\u827a\u672f",icon:"/icon/\u676f\u5b50.png",iconImg:"/icon/\u676f\u5b50.png",price:25,originalPrice:35,leadTime:"5-7\u4e2a\u5de5\u4f5c\u65e5",description:"\u91c7\u7528\u4f18\u8d28\u9ec4\u94dc\u6750\u8d28\uff0c\u8868\u9762\u7ecf\u62c9\u4e1d\u5de5\u827a\u5904\u7406\uff0c\u5448\u73b0\u54d1\u5149\u91d1\u5c5e\u8d28\u611f\u3002\u80cc\u9762\u914d\u6709\u9632\u6ed1\u8f6f\u6728\u57ab\uff0c\u4fdd\u62a4\u684c\u9762\u540c\u65f6\u9632\u6b62\u6ed1\u52a8\u3002\u6fc0\u5149\u5fae\u96d5\u53ef\u5728\u8868\u9762\u523b\u5370\u540d\u5b57\u3001\u65e5\u671f\u6216\u795d\u798f\u8bed\uff0c\u662f\u4e54\u8fc1\u65b0\u5c45\u3001\u65b0\u5a5a\u8d3a\u793c\u7684\u7cbe\u81f4\u4e4b\u9009\u3002",subtitle:"\u9ec4\u94dc\u8d28\u611f \xb7 \u62c9\u4e1d\u54d1\u5149 \xb7 \u684c\u9762\u4e0a\u7684\u5fae\u578b\u96d5\u5851",tone:[42,30,18],story:"\u8bbe\u8ba1\u7075\u611f\u6765\u81ea\u65e5\u5f0f\u4f98\u5bc2\u7f8e\u5b66\u3002\u5c81\u6708\u4f1a\u5728\u9ec4\u94dc\u8868\u9762\u7559\u4e0b\u6e29\u67d4\u7684\u6c27\u5316\u75d5\u8ff9\uff0c\u5c31\u5982\u540c\u4e00\u676f\u8336\u4ece\u70ed\u5230\u51c9\u7684\u8fc7\u7a0b\u3002\u62c9\u4e1d\u5904\u7406\u540e\u7684\u54d1\u5149\u8868\u9762\u5728\u706f\u5149\u4e0b\u5448\u73b0\u7ec6\u817b\u7684\u91d1\u5c5e\u7eb9\u7406\uff0c\u6fc0\u5149\u5fae\u96d5\u7684\u540d\u5b57\u6210\u4e3a\u8fd9\u4ef6\u5668\u7269\u4e0a\u6700\u51b7\u9759\u7684\u6ce8\u811a\u3002\u5b83\u4e0d\u53ea\u662f\u676f\u57ab\uff0c\u66f4\u662f\u684c\u9762\u4e0a\u7684\u5fae\u578b\u96d5\u5851\u3002",scene:"\u4e54\u8fc1\u9001\u793c\u3001\u65b0\u5a5a\u8d3a\u793c\u3001\u5496\u5561\u89d2\u5e03\u7f6e\u3001\u529e\u516c\u684c\u7f8e\u5b66\u3002\u9002\u5408\u9001\u7ed9\u559c\u6b22\u624b\u51b2\u5496\u5561\u7684\u670b\u53cb\uff0c\u6216\u4f5c\u4e3a\u5a5a\u793c\u5bbe\u5ba2\u7684\u56de\u793c\u2014\u2014\u6bcf\u4e00\u53ea\u676f\u57ab\u4e0a\u90fd\u523b\u7740\u5bbe\u5ba2\u7684\u540d\u5b57\uff0c\u8ba9\u793c\u7269\u672c\u8eab\u6210\u4e3a\u5ea7\u4f4d\u5361\u3002",tags:["\u4e54\u8fc1\u793c","\u65b0\u5a5a\u8d3a\u793c","\u684c\u9762\u7f8e\u5b66","\u9ec4\u94dc","\u624b\u51b2\u5496\u5561"],specs:[["\u6750\u8d28","\u9ec4\u94dc + \u80cc\u9762\u8f6f\u6728\u9632\u6ed1\u57ab"],["\u8868\u9762\u5904\u7406","\u62c9\u4e1d\u54d1\u5149"],["\u76f4\u5f84","100mm"],["\u539a\u5ea6","3mm"],["\u96d5\u523b\u5de5\u827a","\u5149\u7ea4\u6fc0\u5149\u7cbe\u7ec6\u5fae\u96d5"],["\u8010\u6e29","\u2264120\xb0C"]],images:["/img/cup/The1.jpg"],mask:{shape:"circle",width:280,height:280}},{id:"penbox",name:"\u7af9\u5236\u7b14\u76d2",desc:"\u81ea\u7136\u7af9\u7eb9\uff0c\u6587\u623f\u96c5\u5668",icon:"/icon/\u7b14\u76d2.png",iconImg:"/icon/\u7b14\u76d2.png",price:75,originalPrice:98,leadTime:"7-10\u4e2a\u5de5\u4f5c\u65e5",description:"\u7cbe\u9009\u5929\u7136\u6960\u7af9\uff0c\u7ecf\u591a\u9053\u5de5\u5e8f\u6253\u78e8\u629b\u5149\uff0c\u4fdd\u7559\u5929\u7136\u7af9\u7eb9\u808c\u7406\u3002\u76d2\u76d6\u91c7\u7528\u78c1\u5438\u5f00\u5408\uff0c\u5185\u90e8\u8bbe\u6709\u5206\u5c42\u9694\u677f\u3002\u6fc0\u5149\u5fae\u96d5\u5728\u7af9\u9762\u4e0a\u5448\u73b0\u6df1\u6d45\u4e0d\u4e00\u7684\u96d5\u523b\u6548\u679c\uff0c\u878d\u5165\u58a8\u9999\u6c14\u8d28\u3002\u9002\u5408\u4e66\u623f\u6848\u5934\u3001\u4e66\u6cd5\u7231\u597d\u8005\u7684\u6587\u623f\u4f34\u4fa3\u3002",subtitle:"\u5929\u7136\u6960\u7af9 \xb7 \u78c1\u5438\u5f00\u5408 \xb7 \u6587\u623f\u96c5\u5668\u4e4b\u9009",tone:[30,24,16],story:"\u6bcf\u4e00\u53ea\u7b14\u76d2\u90fd\u6765\u81ea\u540c\u4e00\u7247\u7af9\u6797\u7684\u4e0d\u540c\u90e8\u4f4d\uff0c\u56e0\u6b64\u7eb9\u8def\u7edd\u4e0d\u91cd\u590d\u2014\u2014\u6b63\u5982\u6ca1\u6709\u4e24\u4e2a\u4eba\u7684\u4e66\u6cd5\u98ce\u683c\u5b8c\u5168\u76f8\u540c\u3002\u6211\u4eec\u4fdd\u7559\u4e86\u6960\u7af9\u5929\u7136\u7684\u6e29\u6da6\u89e6\u611f\uff0c\u53ea\u5728\u8868\u9762\u4ee5\u6fc0\u5149\u523b\u4e0b\u540d\u5b57\u6216\u4e00\u53e5\u7bb4\u8a00\u3002\u6253\u5f00\u78c1\u5438\u76d2\u76d6\u65f6\u7684\u6e05\u8106\u58f0\u54cd\uff0c\u662f\u6587\u623f\u4e2d\u7684\u5c0f\u5c0f\u4eea\u5f0f\u3002",scene:"\u4e66\u623f\u6848\u5934\u3001\u4e66\u6cd5\u7231\u597d\u8005\u88c5\u5907\u3001\u6559\u5e08\u8282\u793c\u7269\u3001\u4e66\u623f\u6696\u623f\u793c\u3002\u9002\u5408\u9001\u7ed9\u5199\u5b57\u597d\u770b\u7684\u4eba\u2014\u2014\u56e0\u4e3a\u61c2\u4e66\u5199\u7684\u4eba\uff0c\u624d\u61c2\u4e00\u53ea\u597d\u7b14\u76d2\u7684\u5206\u91cf\u3002",tags:["\u6587\u623f","\u4e66\u6cd5","\u6559\u5e08\u8282","\u4e66\u623f","\u5929\u7136\u6750\u8d28"],specs:[["\u6750\u8d28","\u5929\u7136\u6960\u7af9"],["\u5f00\u5408\u65b9\u5f0f","\u78c1\u5438\u5f0f\u76d2\u76d6"],["\u5185\u90e8\u7ed3\u6784","\u5206\u5c42\u9694\u677f\uff08\u53ef\u8c03\u8282\uff09"],["\u5c3a\u5bf8","200 \xd7 65 \xd7 30mm"],["\u8868\u9762\u5904\u7406","\u624b\u5de5\u6253\u78e8\u629b\u5149\uff0c\u65e0\u6f06"],["\u96d5\u523b\u5de5\u827a","CO2 \u6fc0\u5149\u70e7\u8680\uff08\u6df1\u6d45\u53ef\u8c03\uff09"]],images:["/img/penbox/The1.jpg","/img/penbox/The2.jpg","/img/penbox/The3.jpg"],mask:{shape:"rect",width:320,height:160,borderRadius:12}},{id:"booklamp",name:"\u4e66\u672c\u578b\u706f",desc:"\u6e29\u6696\u5149\u5f71\uff0c\u70b9\u4eae\u5fc3\u610f",icon:"/icon/\u4e66\u706f.png",iconImg:"/icon/\u4e66\u706f.png",price:45,originalPrice:68,leadTime:"5-7\u4e2a\u5de5\u4f5c\u65e5",description:"\u5f00\u5408\u5f0f\u8bbe\u8ba1\uff0c\u6253\u5f00\u5373\u4eae\uff0c\u5408\u62e2\u5373\u706d\uff0c\u5982\u9b54\u6cd5\u4e66\u822c\u5145\u6ee1\u60ca\u559c\u3002\u91c7\u7528LED\u6696\u5149\u706f\u6e90\uff0c\u5149\u7ebf\u67d4\u548c\u4e0d\u523a\u773c\uff0c\u53ef\u6301\u7eed\u70b9\u4eae6-8\u5c0f\u65f6\u3002\u5c01\u9762\u6fc0\u5149\u5fae\u96d5\u53ef\u5b9a\u5236\u6587\u5b57\u3001\u56fe\u6848\u6216\u7167\u7247\uff0c\u8ba9\u6e29\u6696\u7684\u706f\u5149\u627f\u8f7d\u4e13\u5c5e\u8bb0\u5fc6\u3002\u662f\u60c5\u4fa3\u793c\u7269\u3001\u6bd5\u4e1a\u793c\u7269\u7684\u521b\u610f\u4e4b\u9009\u3002",subtitle:"\u5f00\u5408\u5373\u4eae \xb7 LED\u6696\u5149 \xb7 \u9b54\u6cd5\u4e66\u822c\u7684\u60ca\u559c",tone:[25,20,15],story:"\u7075\u611f\u6765\u81ea\u300a\u54c8\u5229\xb7\u6ce2\u7279\u300b\u4e2d\u7684\u9b54\u6cd5\u8bfe\u672c\u2014\u2014\u6253\u5f00\u4e00\u672c\u4e66\uff0c\u5149\u8292\u503e\u6cfb\u800c\u51fa\u3002\u6211\u4eec\u91c7\u7528\u675c\u90a6\u7eb8\u4e0e\u5b9e\u6728\u5c01\u9762\u7ed3\u5408\uff0c\u8ba9\u706f\u4f53\u65e2\u8f7b\u8584\u53c8\u575a\u56fa\u3002\u6fc0\u5149\u5fae\u96d5\u5728\u5c01\u9762\u7559\u4e0b\u4f60\u7684\u540d\u5b57\u6216\u4e00\u5e45\u5c0f\u753b\uff0c\u5f53\u706f\u5728\u6df1\u591c\u4eae\u8d77\uff0c\u90a3\u662f\u4e13\u5c5e\u4e8e\u4f60\u7684\u6e29\u6696\u89d2\u843d\u3002",scene:"\u60c5\u4fa3\u793c\u7269\u3001\u6bd5\u4e1a\u7eaa\u5ff5\u3001\u5e8a\u5934\u591c\u706f\u3001\u9732\u8425\u6c1b\u56f4\u706f\u3001\u513f\u7ae5\u623f\u3002\u7279\u522b\u9002\u5408\u5728\u5c01\u9762\u523b\u4e0a\u4e24\u4e2a\u4eba\u7684\u540d\u5b57\u548c\u4e00\u53e5\u60c5\u8bdd\uff0c\u5728\u60c5\u4eba\u8282\u6216\u7eaa\u5ff5\u65e5\u9001\u51fa\u2014\u2014\u6253\u5f00\u4e66\u706f\uff0c\u5c31\u50cf\u6253\u5f00\u4e00\u5c01\u4f1a\u53d1\u5149\u7684\u60c5\u4e66\u3002",tags:["\u60c5\u4fa3\u793c","\u6bd5\u4e1a\u7eaa\u5ff5","\u591c\u706f","\u6c1b\u56f4\u706f","\u521b\u610f\u793c\u7269"],specs:[["\u5149\u6e90","LED \u6696\u767d\u5149\uff083000K\uff09"],["\u7eed\u822a","6-8\u5c0f\u65f6\uff08\u5185\u7f6e\u53ef\u5145\u7535\u9502\u7535\u6c60\uff09"],["\u5145\u7535","USB Type-C \u63a5\u53e3"],["\u5c01\u9762\u6750\u8d28","\u675c\u90a6\u7eb8 + \u5b9e\u6728\u5c01\u9762"],["\u5c55\u5f00\u5c3a\u5bf8","210 \xd7 150mm"],["\u96d5\u523b\u5de5\u827a","\u6fc0\u5149\u5fae\u96d5\uff08\u652f\u6301\u6587\u5b57+\u7b80\u5355\u56fe\u6848\uff09"]],images:["/img/booklight/The1.jpg","/img/booklight/The2.jpg"],mask:{shape:"rect",width:320,height:240,borderRadius:4}}],u=i.map(function(n){return(0,r.A)((0,r.A)({},n),{},{images:(n.images||[]).map(function(n){return(0,o.uq)(n)}),iconImg:(0,o.uq)(n.iconImg)})}),c=u,a=function(n){return u.find(function(t){return t.id===n})},s={"notebook-small":(0,o.uq)("/icon/\u4e66\u672c.png"),"notebook-large":(0,o.uq)("/icon/\u4e66\u672c_\u5927.png"),coaster:(0,o.uq)("/icon/\u676f\u5b50.png"),penbox:(0,o.uq)("/icon/\u7b14\u76d2.png"),booklamp:(0,o.uq)("/icon/\u4e66\u706f.png")};function l(n){return null!==n&&void 0!==n&&n.iconImg?(0,o.uq)(n.iconImg):null!==n&&void 0!==n&&n.id?(0,o.uq)(s[n.id]||"/icon/\u56db\u89d2\u661f.svg"):(0,o.uq)("/icon/\u56db\u89d2\u661f.svg")}},3246:function(n,t,e){e.d(t,{L:function(){return g},Sy:function(){return l},WG:function(){return f},gf:function(){return d},q:function(){return m}});var r=e(1212),o=e(9379),i=e(467),u=e(758),c=e.n(u),a="https://wxbackend.tokenleaping.com",s="smart_access_token";function l(){try{c().hideLoading()}catch(n){}}function d(){try{return c().getStorageSync(s)||""}catch(n){return""}}function f(n){c().setStorageSync(s,n)}function g(){try{c().removeStorageSync(s)}catch(n){}}var h=null;var p=null;function m(n){p=n}function v(n,t,e,r){return S.apply(this,arguments)}function S(){return S=(0,i.A)((0,r.A)().m(function n(t,e,o,i){return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:return n.a(2,c().request({url:"".concat(a).concat(t),method:e,data:o,header:i}))}},n)})),S.apply(this,arguments)}function y(n){return k.apply(this,arguments)}function k(){return k=(0,i.A)((0,r.A)().m(function n(t){var e,i,u,c,a,s,l,f,m,S,y,k,b,A,T,x,w,C,_=arguments;return(0,r.A)().w(function(n){while(1)switch(n.p=n.n){case 0:return e=_.length>1&&void 0!==_[1]?_[1]:{},i=e.method,u=void 0===i?"GET":i,c=e.data,a=e.headers,s=void 0===a?{}:a,l=e.auth,f=void 0===l||l,m=e.skipAuthRefresh,S=void 0!==m&&m,y=function(){var n=d();return(0,o.A)((0,o.A)({"Content-Type":"application/json"},f&&n?{Authorization:"Bearer ".concat(n)}:{}),s)},n.p=1,n.n=2,v(t,u,c,y());case 2:k=n.v,n.n=4;break;case 3:throw n.p=3,n.v,b=new Error("\u7f51\u7edc\u5f02\u5e38\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5"),b.statusCode=-1,b;case 4:if(401!==k.statusCode||S||!p){n.n=9;break}return n.n=5,p();case 5:if(A=n.v,!A){n.n=9;break}return n.p=6,n.n=7,v(t,u,c,y());case 7:k=n.v,n.n=9;break;case 8:throw n.p=8,n.v,T=new Error("\u7f51\u7edc\u5f02\u5e38\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5"),T.statusCode=-1,T;case 9:if(401!==k.statusCode){n.n=10;break}throw g(),null===(x=h)||void 0===x||x(),w=new Error("\u767b\u5f55\u5df2\u8fc7\u671f\uff0c\u8bf7\u91cd\u65b0\u767b\u5f55"),w.statusCode=401,w;case 10:if(C=k.data,!C||"number"!==typeof C.code||0===C.code){n.n=11;break}throw new Error(C.message||"\u8bf7\u6c42\u5931\u8d25");case 11:return n.a(2,C&&"number"===typeof C.code?C.data:C)}},n,null,[[6,8],[1,3]])})),k.apply(this,arguments)}var b={get:function(n,t){return y(n,(0,o.A)((0,o.A)({},t),{},{method:"GET"}))},post:function(n,t,e){return y(n,(0,o.A)((0,o.A)({},e),{},{method:"POST",data:t}))},put:function(n,t,e){return y(n,(0,o.A)((0,o.A)({},e),{},{method:"PUT",data:t}))},patch:function(n,t,e){return y(n,(0,o.A)((0,o.A)({},e),{},{method:"PATCH",data:t}))},del:function(n,t){return y(n,(0,o.A)((0,o.A)({},t),{},{method:"DELETE"}))}};t.Ay=b},1457:function(n,t,e){e.d(t,{E1:function(){return U},cY:function(){return y},Hf:function(){return P},kg:function(){return Y},ab:function(){return Q},hG:function(){return G},IU:function(){return w},Re:function(){return W},EB:function(){return z},p_:function(){return v},n7:function(){return T},O4:function(){return V},ug:function(){return q},Q4:function(){return I},Ic:function(){return c},Q1:function(){return H},kh:function(){return b},eW:function(){return X},Fu:function(){return S},Rq:function(){return $},F0:function(){return K},iA:function(){return R},iZ:function(){return M},yU:function(){return L},i5:function(){return k},uF:function(){return F}});var r=e(758),o=e.n(r),i="smart_user_info",u="smart_active_openid";function c(n){return!!n&&(n.startsWith("mock_")||n.startsWith("mock-"))}function a(){var n,t=null;try{t=o().getStorageSync(i)}catch(n){t=null}var e=(null===(n=t)||void 0===n?void 0:n.openid)||o().getStorageSync(u)||"_guest_";return o().setStorageSync(u,e),e}function s(n){var t=a();return"".concat(n,"_").concat(t)}function l(n,t){return"".concat(n,"_").concat(t)}var d=e(6764),f=e(9379),g=e(436),h=e(8199),p=e(5234);function m(n){try{return o().getStorageSync(l("design_list",n))||[]}catch(n){return[]}}function v(){try{return o().getStorageSync(s("design_list"))||[]}catch(n){return[]}}function S(n){o().setStorageSync(s("design_list"),n)}function y(n,t){var e=v(),r=(0,h.uq)((null===n||void 0===n?void 0:n.iconImg)||p.rj[null===n||void 0===n?void 0:n.id]||"/icon/\u56db\u89d2\u661f.svg"),o={id:"DSG"+Date.now(),productId:n.id,productName:n.name,productIcon:r,unitPrice:n.price,count:t,status:"undesigned",createdAt:(new Date).toISOString().slice(0,10)};return S([].concat((0,g.A)(e),[o])),o}function k(n,t){var e=v(),r=e.findIndex(function(t){return t.id===n});-1!==r&&(e[r]=(0,f.A)((0,f.A)({},e[r]),t),S(e))}function b(n){var t=v().filter(function(t){return!n.includes(t.id)});S(t)}function A(n){try{return o().getStorageSync(l("order_list",n))||[]}catch(n){return[]}}function T(){try{return o().getStorageSync(s("order_list"))||[]}catch(n){return[]}}function x(n){o().setStorageSync(s("order_list"),n)}function w(n){var t,e=v(),r=T(),o=e.find(function(t){return t.id===n});if(!o)return null;var i=null!==(t=o.productIcon)&&void 0!==t&&t.startsWith("/icon/")||/^https?:/i.test(o.productIcon||"")?o.productIcon:p.rj[o.productId]||"/icon/\u56db\u89d2\u661f.svg",u=(0,h.uq)(i),c={id:"ORD"+Date.now().toString().slice(-9),productName:o.productName,productIcon:u,statusCode:"pending",date:(new Date).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).replace(/\//g,"-"),price:"\xa5"+(o.unitPrice*o.count).toFixed(2),count:o.count,sku:"".concat(o.productName," \xd7 ").concat(o.count)},a=e.findIndex(function(t){return t.id===n});return-1!==a&&(e[a].status="ordered",e[a].orderId=c.id),S(e),x([c].concat((0,g.A)(r))),c}var C="smart_user_registry",_="zhihui2024";function B(){try{return o().getStorageSync(C)||[]}catch(n){return[]}}function j(n){var t=B();t.includes(n)||(t.push(n),o().setStorageSync(C,t))}function N(n){var t=B().filter(function(t){return t!==n});o().setStorageSync(C,t)}function I(){try{return o().getStorageSync(i)}catch(n){return null}}function E(n){var t;o().setStorageSync(i,n),null!==n&&void 0!==n&&n.openid&&(o().setStorageSync(u,n.openid),o().setStorageSync("user_info_".concat(n.openid),n),j(n.openid)),(0,d.m)(),null===(t=o().eventCenter)||void 0===t||t.trigger("authStateChanged",{openid:(null===n||void 0===n?void 0:n.openid)||""})}function D(n){try{var t=o().getStorageSync("user_info_".concat(n));if(t)return t}catch(n){}var e=I();return(null===e||void 0===e?void 0:e.openid)===n?e:null}function P(){var n;o().removeStorageSync(i),o().removeStorageSync(u),(0,d.m)(),null===(n=o().eventCenter)||void 0===n||n.trigger("authStateChanged",{openid:""})}function R(n){E(n)}function q(){return I()}function H(){var n=B();return n.map(function(n){var t=D(n),e=m(n),r=A(n);return{openid:n,nickName:(null===t||void 0===t?void 0:t.nickName)||"\u672a\u77e5\u7528\u6237",avatarUrl:(null===t||void 0===t?void 0:t.avatarUrl)||"",loginAt:(null===t||void 0===t?void 0:t.loginAt)||0,designCount:e.length,orderCount:r.length}})}function Y(n,t){var e="mock_"+Date.now().toString(36)+"_"+Math.random().toString(36).slice(2,6),r={openid:e,nickName:n||"\u5fae\u4fe1\u7528\u6237",avatarUrl:t||"",loginAt:Date.now()};return E(r),r}function M(n){var t=D(n);return!!t&&(o().setStorageSync(i,t),o().setStorageSync(u,n),!0)}function G(n){o().removeStorageSync("user_info_".concat(n)),o().removeStorageSync("design_list_".concat(n)),o().removeStorageSync("order_list_".concat(n)),o().removeStorageSync("address_list_".concat(n)),N(n);var t=I();(null===t||void 0===t?void 0:t.openid)===n&&P()}function F(n){return n===_}function W(){try{return o().getStorageSync(s("address_list"))||[]}catch(n){return[]}}function O(n){o().setStorageSync(s("address_list"),n)}function U(n){var t=W(),e=(0,f.A)((0,f.A)({},n),{},{id:"ADR"+Date.now()});return e.isDefault&&t.forEach(function(n){n.isDefault=!1}),O([e].concat((0,g.A)(t))),e}function L(n,t){var e=W(),r=e.findIndex(function(t){return t.id===n});-1!==r&&(t.isDefault&&e.forEach(function(n){n.isDefault=!1}),e[r]=(0,f.A)((0,f.A)({},e[r]),t),O(e))}function Q(n){var t=W().filter(function(t){return t.id!==n});O(t)}function z(){return W().find(function(n){return n.isDefault})}var J="smart_theme";function V(){try{return o().getStorageSync(J)||"auto"}catch(n){return"auto"}}function K(n){o().setStorageSync(J,n)}var Z=null;function $(n){Z=n}function X(n){if("auto"===n){if(Z)return Z;try{var t=o().getAppBaseInfo();if("dark"===t.theme||"light"===t.theme)return t.theme}catch(n){}return"light"}return n}},6606:function(n,t,e){e.d(t,{G:function(){return u}});var r=e(758),o=e.n(r);function i(n){return"dark"===n?"#191919":"#faf7f2"}function u(n,t){var e=null!==t&&void 0!==t?t:i(n);o().setBackgroundColor({backgroundColor:e,backgroundColorTop:e,backgroundColorBottom:e}),o().setBackgroundTextStyle({textStyle:"dark"===n?"light":"dark"})}}}]); \ No newline at end of file +"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[76],{9513:function(n,t,e){e.d(t,{A:function(){return i}});var r=e(118),o=e(4848);function i(n){var t=n.children,e=n.className,i=n.style;return(0,o.jsx)(r.Ss,{className:"bottom-action-bar ".concat(e||""),style:i,children:t})}},7723:function(n,t,e){e.d(t,{A:function(){return d}});var r=e(5544),o=e(758),i=e.n(o),c=e(6540),u=e(118),a=e(6764),s=e(9703),l=e(8199),f=e(4848);function d(n){var t=(0,c.useState)("checking"),e=(0,r.A)(t,2),o=e[0],d=e[1],g=(0,c.useCallback)(function(){var n=!1;return(0,a.d)().then(function(t){n||d(t?"ok":"denied")}).catch(function(){n||d("denied")}),function(){n=!0}},[]);return(0,c.useEffect)(function(){var n=g(),t=function(){g()},e=function(){g()};return i().eventCenter.on("tabBarChange",t),i().eventCenter.on(s.Wo,e),i().eventCenter.on("authStateChanged",t),function(){n(),i().eventCenter.off("tabBarChange",t),i().eventCenter.off(s.Wo,e),i().eventCenter.off("authStateChanged",t)}},[g]),"checking"===o?(0,f.jsx)(u.Ss,{className:"login-guard",children:(0,f.jsxs)(u.Ss,{className:"login-guard-inner",children:[(0,f.jsx)(u._V,{className:"login-guard-icon",src:(0,l.uq)("/icon/\u8bbe\u7f6e.png"),mode:"aspectFit"}),(0,f.jsx)(u.EY,{className:"login-guard-title",children:"\u6821\u9a8c\u767b\u5f55\u72b6\u6001"})]})}):"denied"===o?(0,f.jsx)(u.Ss,{className:"login-guard",children:(0,f.jsxs)(u.Ss,{className:"login-guard-inner",children:[(0,f.jsx)(u._V,{className:"login-guard-icon",src:(0,l.uq)("/icon/\u4e2a\u4eba.png"),mode:"aspectFit"}),(0,f.jsx)(u.EY,{className:"login-guard-title",children:"\u8bf7\u5148\u767b\u5f55"}),(0,f.jsx)(u.EY,{className:"login-guard-desc",children:"\u767b\u5f55\u540e\u67e5\u770b\u60a8\u7684\u4e13\u5c5e\u5185\u5bb9"}),(0,f.jsx)(u.Ss,{className:"btn-primary login-guard-btn",onTap:function(){return i().switchTab({url:"/pages/profile/index"})},children:(0,f.jsx)(u.EY,{children:"\u53bb\u767b\u5f55"})})]})}):n.children}},3053:function(n,t,e){e.d(t,{A:function(){return d}});var r=e(5544),o=e(118),i=e(758),c=e.n(i),u=e(6540),a=e(9201);function s(n){var t=n.viewportBottom,e=n.scrollTop,r=n.statusBarHeight,o=Number.isFinite(t)?t:0,i=Number.isFinite(e)?e:0,c=Number.isFinite(r)?r:0;return Math.max(0,o+i-c-8)}function l(n){var t=n.scrollTop,e=n.startY,r=n.rangeY,o=Number.isFinite(t)?t:0,i=Math.max(0,Number.isFinite(e)?e:0),c=Math.max(1,Number.isFinite(r)?r:1);return o<=i?0:Math.min(1,(o-i)/c)}var f=e(4848);function d(n){var t=n.title,e=n.targetSelector,i=void 0===e?".page-header":e,d=n.showBack,g=void 0!==d&&d,h=(0,a.c)(),p=(0,u.useState)(0),m=(0,r.A)(p,2),v=m[0],y=m[1],S=(0,u.useMemo)(function(){return{startY:Math.max(0,h.headerPaddingTop-h.statusBarHeight),rangeY:Math.max(48,.45*h.headerPaddingTop)}},[h.headerPaddingTop,h.statusBarHeight]),k=(0,u.useRef)(S),b=(0,u.useRef)(null),A=(0,u.useRef)(0),w=(0,u.useCallback)(function(n){A.current=n,null===b.current&&(b.current=setTimeout(function(){b.current=null;var n=k.current,t=n.startY,e=n.rangeY;y(l({scrollTop:A.current,startY:t,rangeY:e}))},16))},[]);return(0,u.useEffect)(function(){var n=!1,t=null;k.current=S;var e=function(){n||c().createSelectorQuery().select(i).boundingClientRect(function(t){if(!n){if(!t||Array.isArray(t)||"number"!==typeof t.bottom||"number"!==typeof t.height)return k.current=S,void w(A.current);var e=s({viewportBottom:t.bottom,scrollTop:A.current,statusBarHeight:h.statusBarHeight}),r=Math.max(32,.7*t.height);k.current={startY:e,rangeY:r},w(A.current)}}).exec()};return c().nextTick(function(){n||(t=setTimeout(e,80))}),function(){n=!0,null!==t&&clearTimeout(t),null!==b.current&&clearTimeout(b.current),b.current=null}},[w,S,i]),c().usePageScroll(function(n){w(n.scrollTop)}),(0,f.jsxs)(o.Ss,{className:"scroll-top-mask",style:{height:"".concat(Math.max(h.menuButtonTop+h.menuButtonHeight+18,h.statusBarHeight+52)+24,"px"),opacity:v},children:[(0,f.jsx)(o.Ss,{className:"scroll-top-blur scroll-top-blur-mid"}),(0,f.jsx)(o.Ss,{className:"scroll-top-blur scroll-top-blur-soft"}),(0,f.jsx)(o.Ss,{className:"scroll-top-gradient"}),g&&(0,f.jsx)(o.Ss,{className:"scroll-top-back",style:{top:"".concat(h.menuButtonTop,"px")},onTap:function(){return c().navigateBack()},children:(0,f.jsx)(o.EY,{className:"scroll-top-back-arrow",children:"\u2190"})}),(0,f.jsx)(o.EY,{className:"scroll-top-title",style:{top:"calc(".concat(h.menuButtonTop,"px + 40rpx)"),transform:"translateY(-50%)",opacity:Math.max(0,Math.min(1,(v-.5)/.5))},children:t})]})}},9674:function(n,t,e){e.d(t,{A:function(){return c}});var r=e(118),o=e(9703),i=e(4848);function c(n){var t=n.darkTop,e=void 0!==t&&t,c=(0,o.wR)(),u=c.resolvedTheme,a="dark"===u||e,s=a?"#191919":"#faf7f2",l=a?"#ffffff":"#000000";return(0,i.jsx)(r.tf,{backgroundColor:s,backgroundColorTop:s,backgroundColorBottom:s,backgroundTextStyle:a?"light":"dark",rootBackgroundColor:s,children:(0,i.jsx)(r.yk,{frontColor:l,backgroundColor:s})})}},9703:function(n,t,e){e.d(t,{NP:function(){return g},Wo:function(){return d},wR:function(){return h}});var r=e(5544),o=e(6540),i=e(758),c=e.n(i),u=e(118),a=e(1457),s=e(6606),l=e(4848),f=(0,o.createContext)({theme:"auto",resolvedTheme:"light",toggleTheme:function(){},setTheme:function(){}}),d="themeChange";function g(n){var t=n.children,e=(0,o.useState)((0,a.O4)()),g=(0,r.A)(e,2),h=g[0],p=g[1],m=(0,o.useState)((0,a.eW)((0,a.O4)())),v=(0,r.A)(m,2),y=v[0],S=v[1],k=(0,o.useCallback)(function(n){S((0,a.eW)(n))},[]),b=(0,o.useCallback)(function(n){(0,a.Rq)(n),"auto"===(0,a.O4)()&&S(n)},[]),A=(0,o.useCallback)(function(){try{var n=c().getAppBaseInfo();b("dark"===n.theme?"dark":"light")}catch(n){}try{c().createSelectorQuery().select(".system-theme-detector").fields({computedStyle:["opacity"]}).exec(function(n){var t=n&&n[0]&&n[0].computedStyle&&n[0].computedStyle.opacity;b("1"===t?"dark":"light")})}catch(n){}},[b]),w=(0,o.useCallback)(function(n){(0,a.F0)(n),p(n),"auto"===n?A():k(n)},[A,k]),T=(0,o.useCallback)(function(){var n="light"===y?"dark":"light";w(n)},[y,w]);return(0,o.useEffect)(function(){A()},[A]),(0,o.useEffect)(function(){var n,t=function(n){!n||"dark"!==n.theme&&"light"!==n.theme||b(n.theme)},e=c();return null===(n=e.onThemeChange)||void 0===n||n.call(e,t),function(){var n;null===(n=e.offThemeChange)||void 0===n||n.call(e,t)}},[b]),(0,o.useEffect)(function(){c().eventCenter.trigger(d,y)},[y]),(0,o.useEffect)(function(){(0,s.G)(y)},[y]),(0,i.useDidShow)(function(){"auto"===h&&A()}),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(u.Ss,{className:"system-theme-detector"}),(0,l.jsx)(f.Provider,{value:{theme:h,resolvedTheme:y,toggleTheme:T,setTheme:w},children:t})]})}function h(){return(0,o.useContext)(f)}},9201:function(n,t,e){e.d(t,{c:function(){return a}});var r=e(5544),o=e(6540),i=e(758),c=e.n(i),u=null;function a(){var n=(0,o.useState)(null!==u&&void 0!==u?u:{statusBarHeight:20,menuButtonTop:26,menuButtonHeight:32,capsuleRight:368,safeInsetTop:20,safeInsetBottom:0,headerPaddingTop:66,backBtnPaddingTop:20}),t=(0,r.A)(n,2),e=t[0],i=t[1];return(0,o.useEffect)(function(){if(u)i(u);else try{var n,t,e,r,o,a,s,l,f=c().getSystemInfoSync(),d=c().getMenuButtonBoundingClientRect(),g=f.statusBarHeight||20,h=null!==(n=d.top)&&void 0!==n?n:g+4,p=null!==(t=d.height)&&void 0!==t?t:32,m=null!==(e=d.right)&&void 0!==e?e:f.windowWidth-7,v=null!==(r=null===(o=f.safeArea)||void 0===o?void 0:o.top)&&void 0!==r?r:g,y=null!==(a=f.safeAreaInsetBottom)&&void 0!==a?a:f.screenHeight-(null!==(s=null===(l=f.safeArea)||void 0===l?void 0:l.bottom)&&void 0!==s?s:f.screenHeight),S=Math.max(h+p+6,g+44),k=Math.max(g,h-4),b={statusBarHeight:g,menuButtonTop:h,menuButtonHeight:p,capsuleRight:m,safeInsetTop:v,safeInsetBottom:y,headerPaddingTop:S,backBtnPaddingTop:k};u=b,i(b)}catch(n){}},[]),e}},5414:function(n,t,e){e.d(t,{l:function(){return u}});var r=e(6540),o=e(758),i=e.n(o),c=e(6606);function u(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=t.mode,u=void 0===e?"auto":e,a=(0,r.useCallback)(function(){var t="dark"===u||"auto"===u&&"light"===n,e=t?"#000000":"#ffffff",r=t?"#faf7f2":"#191919";i().setNavigationBarColor({frontColor:e,backgroundColor:r}),(0,c.G)(n,r)},[u,n]);(0,r.useEffect)(a,[a]),(0,o.useDidShow)(a)}},5787:function(n,t,e){e.d(t,{l8:function(){return w},jp:function(){return f},gf:function(){return i.gf},xZ:function(){return T},iD:function(){return c},ri:function(){return a},x5:function(){return j},W$:function(){return A},r7:function(){return s}});var r=e(1212),o=e(467),i=e(3246);function c(n){return u.apply(this,arguments)}function u(){return u=(0,o.A)((0,r.A)().m(function n(t){var e;return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:return n.n=1,i.Ay.post("/api/auth/login",{code:t},{auth:!1});case 1:return e=n.v,null!==e&&void 0!==e&&e.accessToken&&(0,i.WG)(e.accessToken),n.a(2,e)}},n)})),u.apply(this,arguments)}function a(){(0,i.L)()}function s(n){return l.apply(this,arguments)}function l(){return l=(0,o.A)((0,r.A)().m(function n(t){return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:return n.a(2,i.Ay.patch("/api/users/me",t))}},n)})),l.apply(this,arguments)}function f(){return d.apply(this,arguments)}function d(){return d=(0,o.A)((0,r.A)().m(function n(){return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:return n.a(2,i.Ay.get("/api/users/me"))}},n)})),d.apply(this,arguments)}var g=e(4765),h=e(9379),p=e(758),m=e.n(p);function v(n,t,e,r){return y.apply(this,arguments)}function y(){return y=(0,o.A)((0,r.A)().m(function n(t,e,o,c){var u,a;return(0,r.A)().w(function(n){while(1)switch(n.p=n.n){case 0:return n.n=1,m().uploadFile({url:"".concat(i.C1).concat(t),filePath:e,name:o,formData:c,header:{Authorization:"Bearer ".concat((0,i.gf)())}});case 1:u=n.v,n.p=2,a=JSON.parse(u.data),n.n=4;break;case 3:throw n.p=3,n.v,new Error("\u7f51\u7edc\u5f02\u5e38\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5");case 4:if(!a||"number"!==typeof a.code||0===a.code){n.n=5;break}throw new Error(a.message||"\u8bf7\u6c42\u5931\u8d25");case 5:return n.a(2,a&&"number"===typeof a.code?a.data:a)}},n,null,[[2,3]])})),y.apply(this,arguments)}function S(n){return i.Ay.get("/api/upload/credentials?key=".concat(encodeURIComponent(n)))}function k(n,t){return b.apply(this,arguments)}function b(){return b=(0,o.A)((0,r.A)().m(function n(t,e){var o,i;return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:if(e.presignedUrl){n.n=1;break}throw new Error("\u83b7\u53d6 COS \u76f4\u4f20\u5730\u5740\u5931\u8d25");case 1:return o=m().getFileSystemManager(),i=o.readFileSync(t),n.n=2,m().request({url:e.presignedUrl,method:"PUT",data:i,header:{"Content-Type":"application/octet-stream"}});case 2:return n.a(2,e.presignedUrl.split("?")[0])}},n)})),b.apply(this,arguments)}function A(n){return v("/api/sketch",n,"image")}function w(n,t,e){return v("/api/wordcloud/generate",n,"image",(0,h.A)({names:t},e?{params:JSON.stringify(e)}:{}))}function T(n){return i.Ay.get("/api/wordcloud/jobs/".concat(n))}function C(n){return!!n&&/^(wxfile:|http:\/\/tmp\/|tmp\/)/i.test(n)}function x(n){return _.apply(this,arguments)}function _(){return _=(0,o.A)((0,r.A)().m(function n(t){var e,o;return(0,r.A)().w(function(n){while(1)switch(n.p=n.n){case 0:return n.p=0,e="uploads/sticker/".concat(Date.now(),"_").concat(Math.floor(1e6*Math.random()),".jpg"),n.n=1,S(e);case 1:return o=n.v,n.n=2,k(t,o);case 2:return n.a(2,n.v);case 3:return n.p=3,n.v,n.a(2,t)}},n,null,[[0,3]])})),_.apply(this,arguments)}function j(n){return B.apply(this,arguments)}function B(){return B=(0,o.A)((0,r.A)().m(function n(t){var e,o,i,c,u,a,s,l,f,d,p,m,v,y,S,k;return(0,r.A)().w(function(n){while(1)switch(n.p=n.n){case 0:if(t){n.n=1;break}return n.a(2,t);case 1:if(e=(0,h.A)({},t),!t.background||!C(t.background.src)){n.n=3;break}return a=h.A,s=(0,h.A)({},t.background),l={},n.n=2,x(t.background.src);case 2:f=n.v,e.background=a(s,l,{src:f});case 3:if(!t.stickers||!t.stickers.length){n.n=14;break}o=[],i=(0,g.A)(t.stickers),n.p=4,i.s();case 5:if((c=i.n()).done){n.n=10;break}if(u=c.value,d=o,!C(u.src)){n.n=7;break}return m=h.A,v=(0,h.A)({},u),y={},n.n=6,x(u.src);case 6:S=n.v,p=m(v,y,{src:S}),n.n=8;break;case 7:p=u;case 8:d.push.call(d,p);case 9:n.n=5;break;case 10:n.n=12;break;case 11:n.p=11,k=n.v,i.e(k);case 12:return n.p=12,i.f(),n.f(12);case 13:e.stickers=o;case 14:return n.a(2,e)}},n,null,[[4,11,12,13]])})),B.apply(this,arguments)}},8199:function(n,t,e){e.d(t,{uq:function(){return o}});var r="https://wordcloudwechat.oss-cn-hangzhou.aliyuncs.com";function o(n){if(!n)return"";if(/^(https?:|wxfile:|data:)/i.test(n))return n;if(!r)return n;var t=r.replace(/\/+$/,"");if(!n.startsWith("/img/"))return n;var e=n.startsWith("/")?n:"/".concat(n);return"".concat(t).concat(e)}},6764:function(n,t,e){e.d(t,{d:function(){return y},m:function(){return h}});var r=e(1212),o=e(467),i=e(2284),c=e(758),u=e.n(c),a=e(5787),s=e(1457),l="smart_auth_verified",f=18e5,d=null,g=null;function h(){d=null,g=null;try{u().removeStorageSync(l)}catch(n){}}function p(n){var t=d||function(){try{var n=u().getStorageSync(l);return n&&"object"===(0,i.A)(n)?n:null}catch(n){return null}}();return t&&t.openid===n?Date.now()-t.at>f?null:(d=t,t.ok):null}function m(n,t){var e={openid:n,ok:t,at:Date.now()};d=e;try{u().setStorageSync(l,e)}catch(n){}}function v(){var n=(0,s.Q4)();return!(null===n||void 0===n||!n.openid)&&!(0,s.Ic)(n.openid)&&!!n.accessToken&&!!(0,a.gf)()}function y(){return S.apply(this,arguments)}function S(){return S=(0,o.A)((0,r.A)().m(function n(){var t,e;return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:if(t=(0,s.Q4)(),null!==t&&void 0!==t&&t.openid){n.n=1;break}return console.log("[AuthGuard] \u65e0\u672c\u5730\u7528\u6237\uff0c\u5224\u5b9a\u672a\u767b\u5f55"),n.a(2,!1);case 1:if(console.log("[AuthGuard] \u672c\u5730\u7528\u6237 openid=",t.openid),!(0,s.Ic)(t.openid)){n.n=2;break}return(0,s.Hf)(),(0,a.ri)(),h(),n.a(2,!1);case 2:if(e=p(t.openid),null===e){n.n=3;break}return console.log("[AuthGuard] \u547d\u4e2d\u672c\u5730\u7f13\u5b58 ok=",e),n.a(2,e);case 3:return g||(g=(0,a.jp)().then(function(n){console.log("[AuthGuard] getMe \u8fd4\u56de:",JSON.stringify(n));var e=!!n&&!!n.id&&n.openid===t.openid;return console.log("[AuthGuard] \u4e00\u81f4\u6027=",e),e?(m(t.openid,!0),!0):((0,s.Hf)(),(0,a.ri)(),h(),!1)}).catch(function(n){return console.error("[AuthGuard] getMe \u5931\u8d25\uff0c\u8d70\u672c\u5730\u4f1a\u8bdd\u515c\u5e95:",n),v()}).finally(function(){g=null})),n.a(2,g)}},n)})),S.apply(this,arguments)}},5234:function(n,t,e){e.d(t,{QE:function(){return l},R6:function(){return u},rj:function(){return s},y9:function(){return a},zv:function(){return c}});var r=e(9379),o=e(8199),i=[{id:"notebook-small",name:"\u5fae\u96d5\u7b14\u8bb0\u672c\uff08\u5c0f\uff09",desc:"\u4fbf\u643a\u968f\u884c\uff0c\u8bb0\u5f55\u70b9\u6ef4",icon:"/icon/\u4e66\u672c.png",iconImg:"/icon/\u4e66\u672c.png",price:12,originalPrice:18,leadTime:"3-5\u4e2a\u5de5\u4f5c\u65e5",description:"\u7cbe\u9009\u4f18\u8d28\u7eb8\u5f20\uff0c\u5c01\u9762\u91c7\u7528\u9ad8\u6863PU\u6750\u8d28\uff0c\u624b\u611f\u7ec6\u817b\u3002\u5185\u9875\u53ef\u5b9a\u5236\u6a2a\u7ebf\u3001\u65b9\u683c\u6216\u7a7a\u767d\u4e09\u79cd\u7248\u5f0f\u3002\u6fc0\u5149\u5fae\u96d5\u5de5\u827a\u5c06\u540d\u5b57\u6216\u56fe\u6848\u7cbe\u51c6\u523b\u5370\u5728\u5c01\u9762\uff0c\u6c38\u4e0d\u892a\u8272\u3002\u5c0f\u5de7\u8f7b\u4fbf\uff0c\u9002\u5408\u968f\u8eab\u643a\u5e26\uff0c\u65e0\u8bba\u662f\u8bfe\u5802\u7b14\u8bb0\u8fd8\u662f\u65e5\u5e38\u5907\u5fd8\uff0c\u90fd\u662f\u4f60\u7684\u4e13\u5c5e\u4f34\u4fa3\u3002",subtitle:"\u638c\u5fc3\u95f4\u7684\u4e13\u5c5e\u5370\u8bb0 \xb7 \u6fc0\u5149\u5fae\u96d5 \xb7 \u4e09\u8272\u5185\u9875\u53ef\u9009",tone:[28,22,18],story:"\u7075\u611f\u6e90\u81ea\u624b\u8d26\u6587\u5316\u4e2d\u5bf9\u4e66\u5199\u4eea\u5f0f\u611f\u7684\u8ffd\u6c42\u3002\u6211\u4eec\u76f8\u4fe1\uff0c\u5728\u6570\u5b57\u6d2a\u6d41\u7684\u65f6\u4ee3\uff0c\u7eb8\u7b14\u7684\u6e29\u5ea6\u4f9d\u7136\u4e0d\u53ef\u66ff\u4ee3\u3002\u5f53\u6fc0\u5149\u5fae\u96d5\u5728PU\u5c01\u9762\u4e0a\u7559\u4e0b\u4e13\u5c5e\u5370\u8bb0\uff0c\u6bcf\u4e00\u7b14\u4e66\u5199\u90fd\u5728\u4e0e\u8fc7\u53bb\u5bf9\u8bdd\u3002\u7b14\u8bb0\u672c\u5c0f\u5de7\u5230\u8db3\u4ee5\u653e\u5165\u4efb\u4f55\u53e3\u888b\uff0c\u5374\u627f\u8f7d\u7740\u72ec\u4e00\u65e0\u4e8c\u7684\u8bb0\u5fc6\u3002",scene:"\u8bfe\u5802\u7b14\u8bb0\u3001\u65e5\u5e38\u5907\u5fd8\u3001\u65c5\u884c\u624b\u8d26\u3001\u5fc3\u60c5\u65e5\u8bb0\u3002\u9002\u5408\u9001\u7ed9\u540c\u5b66\u3001\u4f34\u4fa3\u6216\u4f5c\u4e3a\u6d3b\u52a8\u4f34\u624b\u793c\u2014\u2014\u8ba9\u6bcf\u4e00\u4e2a\u4eba\u90fd\u62e5\u6709\u523b\u7740\u81ea\u5df1\u540d\u5b57\u7684\u4e13\u5c5e\u7b14\u8bb0\u672c\u3002",tags:["\u4f34\u624b\u793c","\u5b66\u751f","\u624b\u8d26","\u4fbf\u643a","\u6fc0\u5149\u5fae\u96d5"],specs:[["\u5c3a\u5bf8","105 \xd7 148mm\uff08A6\uff09"],["\u9875\u6570","120\u5f20/240\u9875"],["\u5185\u9875\u7248\u5f0f","\u6a2a\u7ebf / \u65b9\u683c / \u7a7a\u767d \u53ef\u9009"],["\u5c01\u9762\u6750\u8d28","\u9ad8\u6863PU\u76ae\u9769"],["\u96d5\u523b\u5de5\u827a","CO2 \u6fc0\u5149\u5fae\u96d5\uff08\u6c38\u4e0d\u892a\u8272\uff09"],["\u9002\u7528\u573a\u666f","\u8bfe\u5802\u3001\u65c5\u884c\u3001\u65e5\u5e38\u5907\u5fd8"]],images:["/img/book_small/The1.jpg"],mask:{shape:"rect",width:300,height:420,borderRadius:8}},{id:"notebook-large",name:"\u5fae\u96d5\u7b14\u8bb0\u672c\uff08\u5927\uff09",desc:"\u5927\u5f00\u672c\uff0c\u66f4\u591a\u521b\u4f5c\u7a7a\u95f4",icon:"/icon/\u4e66\u672c_\u5927.png",iconImg:"/icon/\u4e66\u672c_\u5927.png",price:45,originalPrice:58,leadTime:"3-5\u4e2a\u5de5\u4f5c\u65e5",description:"A4\u5c3a\u5bf8\u5927\u5f00\u672c\uff0c180\xb0\u5e73\u644a\u8bbe\u8ba1\uff0c\u4e66\u5199\u66f4\u81ea\u7531\u3002\u5c01\u9762\u53ef\u9009\u771f\u76ae\u3001\u4eff\u5e03\u7eb9\u6216\u78e8\u7802\u6750\u8d28\uff0c\u6fc0\u5149\u5fae\u96d5\u533a\u57df\u66f4\u5927\uff0c\u9002\u5408\u5448\u73b0\u5168\u73ed\u540d\u5b57\u3001\u56e2\u961f\u53e3\u53f7\u6216\u516c\u53f8Logo\u7b49\u5927\u7bc7\u5e45\u5185\u5bb9\u3002\u662f\u6bd5\u4e1a\u7eaa\u5ff5\u3001\u4f01\u4e1a\u5e74\u4f1a\u793c\u54c1\u7684\u9996\u9009\u3002",subtitle:"\u5927\u7bc7\u5e45\u5b9a\u5236\u9996\u9009 \xb7 180\xb0\u5e73\u644a \xb7 \u6bd5\u4e1a/\u56e2\u5efa\u5fc5\u5907",tone:[35,28,22],story:"\u6bcf\u4e00\u6b21\u544a\u522b\u90fd\u503c\u5f97\u88ab\u90d1\u91cd\u4e66\u5199\u3002\u6bd5\u4e1a\u5b63\u7684\u6559\u5ba4\u91cc\uff0c\u7b14\u8bb0\u672c\u644a\u5f00\u5728\u8bfe\u684c\u4e0a\uff0c\u5168\u73ed\u7684\u540d\u5b57\u88ab\u6fc0\u5149\u523b\u5370\u5728\u5c01\u9762\u4e2d\u592e\uff0c\u6210\u4e3a\u6c38\u6052\u7684\u540c\u5b66\u5f55\u3002180\xb0\u5e73\u644a\u8bbe\u8ba1\u8ba9\u4e66\u5199\u4e0d\u518d\u88ab\u8ba2\u88c5\u675f\u7f1a\uff0cA4\u5927\u5c3a\u5bf8\u7ed9\u4f60\u5c3d\u60c5\u6325\u6d12\u7684\u5929\u5730\u3002\u8fd9\u662f\u9001\u7ed9\u4e00\u7fa4\u4eba\u6700\u597d\u7684\u544a\u522b\u793c\u7269\u3002",scene:"\u6bd5\u4e1a\u7eaa\u5ff5\u518c\u3001\u516c\u53f8\u5e74\u4f1a\u793c\u54c1\u3001\u56e2\u961f\u5efa\u8bbe\u4f34\u624b\u793c\u3001\u5ba2\u6237\u7b54\u8c22\u3002\u7279\u522b\u9002\u5408\u9700\u8981\u5728\u5c01\u9762\u5448\u73b0\u5927\u91cf\u6587\u5b57\u6216\u56fe\u6848\u7684\u5b9a\u5236\u9700\u6c42\u2014\u2014\u73ed\u7ea7\u540d\u5355\u3001\u516c\u53f8\u613f\u666f\u3001\u56e2\u961f\u53e3\u53f7\u4e00\u7f51\u6253\u5c3d\u3002",tags:["\u6bd5\u4e1a\u793c","\u56e2\u5efa","\u4f01\u4e1a\u5b9a\u5236","\u5927\u7bc7\u5e45","\u5e73\u644a\u8bbe\u8ba1"],specs:[["\u5c3a\u5bf8","210 \xd7 297mm\uff08A4\uff09"],["\u9875\u6570","100\u5f20/200\u9875"],["\u5c01\u9762\u6750\u8d28","\u771f\u76ae / \u4eff\u5e03\u7eb9 / \u78e8\u7802 \u53ef\u9009"],["\u5f00\u5408\u9002\u7528","180\xb0\u5e73\u644a\u8bbe\u8ba1"],["\u96d5\u523b\u5de5\u827a","CO2 \u6fc0\u5149\u5fae\u96d5\uff08\u9ad8\u6e05\u6670\u5ea6\uff09"],["\u5b9a\u5236\u9762\u79ef","\u5c01\u9762\u6574\u9762\u53ef\u96d5"]],images:["/img/book_big/The1.jpg","/img/book_big/The2.jpg"],mask:{shape:"rect",width:340,height:480,borderRadius:8}},{id:"coaster",name:"\u94dc\u8d28\u676f\u57ab",desc:"\u91d1\u5c5e\u8d28\u611f\uff0c\u684c\u9762\u827a\u672f",icon:"/icon/\u676f\u5b50.png",iconImg:"/icon/\u676f\u5b50.png",price:25,originalPrice:35,leadTime:"5-7\u4e2a\u5de5\u4f5c\u65e5",description:"\u91c7\u7528\u4f18\u8d28\u9ec4\u94dc\u6750\u8d28\uff0c\u8868\u9762\u7ecf\u62c9\u4e1d\u5de5\u827a\u5904\u7406\uff0c\u5448\u73b0\u54d1\u5149\u91d1\u5c5e\u8d28\u611f\u3002\u80cc\u9762\u914d\u6709\u9632\u6ed1\u8f6f\u6728\u57ab\uff0c\u4fdd\u62a4\u684c\u9762\u540c\u65f6\u9632\u6b62\u6ed1\u52a8\u3002\u6fc0\u5149\u5fae\u96d5\u53ef\u5728\u8868\u9762\u523b\u5370\u540d\u5b57\u3001\u65e5\u671f\u6216\u795d\u798f\u8bed\uff0c\u662f\u4e54\u8fc1\u65b0\u5c45\u3001\u65b0\u5a5a\u8d3a\u793c\u7684\u7cbe\u81f4\u4e4b\u9009\u3002",subtitle:"\u9ec4\u94dc\u8d28\u611f \xb7 \u62c9\u4e1d\u54d1\u5149 \xb7 \u684c\u9762\u4e0a\u7684\u5fae\u578b\u96d5\u5851",tone:[42,30,18],story:"\u8bbe\u8ba1\u7075\u611f\u6765\u81ea\u65e5\u5f0f\u4f98\u5bc2\u7f8e\u5b66\u3002\u5c81\u6708\u4f1a\u5728\u9ec4\u94dc\u8868\u9762\u7559\u4e0b\u6e29\u67d4\u7684\u6c27\u5316\u75d5\u8ff9\uff0c\u5c31\u5982\u540c\u4e00\u676f\u8336\u4ece\u70ed\u5230\u51c9\u7684\u8fc7\u7a0b\u3002\u62c9\u4e1d\u5904\u7406\u540e\u7684\u54d1\u5149\u8868\u9762\u5728\u706f\u5149\u4e0b\u5448\u73b0\u7ec6\u817b\u7684\u91d1\u5c5e\u7eb9\u7406\uff0c\u6fc0\u5149\u5fae\u96d5\u7684\u540d\u5b57\u6210\u4e3a\u8fd9\u4ef6\u5668\u7269\u4e0a\u6700\u51b7\u9759\u7684\u6ce8\u811a\u3002\u5b83\u4e0d\u53ea\u662f\u676f\u57ab\uff0c\u66f4\u662f\u684c\u9762\u4e0a\u7684\u5fae\u578b\u96d5\u5851\u3002",scene:"\u4e54\u8fc1\u9001\u793c\u3001\u65b0\u5a5a\u8d3a\u793c\u3001\u5496\u5561\u89d2\u5e03\u7f6e\u3001\u529e\u516c\u684c\u7f8e\u5b66\u3002\u9002\u5408\u9001\u7ed9\u559c\u6b22\u624b\u51b2\u5496\u5561\u7684\u670b\u53cb\uff0c\u6216\u4f5c\u4e3a\u5a5a\u793c\u5bbe\u5ba2\u7684\u56de\u793c\u2014\u2014\u6bcf\u4e00\u53ea\u676f\u57ab\u4e0a\u90fd\u523b\u7740\u5bbe\u5ba2\u7684\u540d\u5b57\uff0c\u8ba9\u793c\u7269\u672c\u8eab\u6210\u4e3a\u5ea7\u4f4d\u5361\u3002",tags:["\u4e54\u8fc1\u793c","\u65b0\u5a5a\u8d3a\u793c","\u684c\u9762\u7f8e\u5b66","\u9ec4\u94dc","\u624b\u51b2\u5496\u5561"],specs:[["\u6750\u8d28","\u9ec4\u94dc + \u80cc\u9762\u8f6f\u6728\u9632\u6ed1\u57ab"],["\u8868\u9762\u5904\u7406","\u62c9\u4e1d\u54d1\u5149"],["\u76f4\u5f84","100mm"],["\u539a\u5ea6","3mm"],["\u96d5\u523b\u5de5\u827a","\u5149\u7ea4\u6fc0\u5149\u7cbe\u7ec6\u5fae\u96d5"],["\u8010\u6e29","\u2264120\xb0C"]],images:["/img/cup/The1.jpg"],mask:{shape:"circle",width:280,height:280}},{id:"penbox",name:"\u7af9\u5236\u7b14\u76d2",desc:"\u81ea\u7136\u7af9\u7eb9\uff0c\u6587\u623f\u96c5\u5668",icon:"/icon/\u7b14\u76d2.png",iconImg:"/icon/\u7b14\u76d2.png",price:75,originalPrice:98,leadTime:"7-10\u4e2a\u5de5\u4f5c\u65e5",description:"\u7cbe\u9009\u5929\u7136\u6960\u7af9\uff0c\u7ecf\u591a\u9053\u5de5\u5e8f\u6253\u78e8\u629b\u5149\uff0c\u4fdd\u7559\u5929\u7136\u7af9\u7eb9\u808c\u7406\u3002\u76d2\u76d6\u91c7\u7528\u78c1\u5438\u5f00\u5408\uff0c\u5185\u90e8\u8bbe\u6709\u5206\u5c42\u9694\u677f\u3002\u6fc0\u5149\u5fae\u96d5\u5728\u7af9\u9762\u4e0a\u5448\u73b0\u6df1\u6d45\u4e0d\u4e00\u7684\u96d5\u523b\u6548\u679c\uff0c\u878d\u5165\u58a8\u9999\u6c14\u8d28\u3002\u9002\u5408\u4e66\u623f\u6848\u5934\u3001\u4e66\u6cd5\u7231\u597d\u8005\u7684\u6587\u623f\u4f34\u4fa3\u3002",subtitle:"\u5929\u7136\u6960\u7af9 \xb7 \u78c1\u5438\u5f00\u5408 \xb7 \u6587\u623f\u96c5\u5668\u4e4b\u9009",tone:[30,24,16],story:"\u6bcf\u4e00\u53ea\u7b14\u76d2\u90fd\u6765\u81ea\u540c\u4e00\u7247\u7af9\u6797\u7684\u4e0d\u540c\u90e8\u4f4d\uff0c\u56e0\u6b64\u7eb9\u8def\u7edd\u4e0d\u91cd\u590d\u2014\u2014\u6b63\u5982\u6ca1\u6709\u4e24\u4e2a\u4eba\u7684\u4e66\u6cd5\u98ce\u683c\u5b8c\u5168\u76f8\u540c\u3002\u6211\u4eec\u4fdd\u7559\u4e86\u6960\u7af9\u5929\u7136\u7684\u6e29\u6da6\u89e6\u611f\uff0c\u53ea\u5728\u8868\u9762\u4ee5\u6fc0\u5149\u523b\u4e0b\u540d\u5b57\u6216\u4e00\u53e5\u7bb4\u8a00\u3002\u6253\u5f00\u78c1\u5438\u76d2\u76d6\u65f6\u7684\u6e05\u8106\u58f0\u54cd\uff0c\u662f\u6587\u623f\u4e2d\u7684\u5c0f\u5c0f\u4eea\u5f0f\u3002",scene:"\u4e66\u623f\u6848\u5934\u3001\u4e66\u6cd5\u7231\u597d\u8005\u88c5\u5907\u3001\u6559\u5e08\u8282\u793c\u7269\u3001\u4e66\u623f\u6696\u623f\u793c\u3002\u9002\u5408\u9001\u7ed9\u5199\u5b57\u597d\u770b\u7684\u4eba\u2014\u2014\u56e0\u4e3a\u61c2\u4e66\u5199\u7684\u4eba\uff0c\u624d\u61c2\u4e00\u53ea\u597d\u7b14\u76d2\u7684\u5206\u91cf\u3002",tags:["\u6587\u623f","\u4e66\u6cd5","\u6559\u5e08\u8282","\u4e66\u623f","\u5929\u7136\u6750\u8d28"],specs:[["\u6750\u8d28","\u5929\u7136\u6960\u7af9"],["\u5f00\u5408\u65b9\u5f0f","\u78c1\u5438\u5f0f\u76d2\u76d6"],["\u5185\u90e8\u7ed3\u6784","\u5206\u5c42\u9694\u677f\uff08\u53ef\u8c03\u8282\uff09"],["\u5c3a\u5bf8","200 \xd7 65 \xd7 30mm"],["\u8868\u9762\u5904\u7406","\u624b\u5de5\u6253\u78e8\u629b\u5149\uff0c\u65e0\u6f06"],["\u96d5\u523b\u5de5\u827a","CO2 \u6fc0\u5149\u70e7\u8680\uff08\u6df1\u6d45\u53ef\u8c03\uff09"]],images:["/img/penbox/The1.jpg","/img/penbox/The2.jpg","/img/penbox/The3.jpg"],mask:{shape:"rect",width:320,height:160,borderRadius:12}},{id:"booklamp",name:"\u4e66\u672c\u578b\u706f",desc:"\u6e29\u6696\u5149\u5f71\uff0c\u70b9\u4eae\u5fc3\u610f",icon:"/icon/\u4e66\u706f.png",iconImg:"/icon/\u4e66\u706f.png",price:45,originalPrice:68,leadTime:"5-7\u4e2a\u5de5\u4f5c\u65e5",description:"\u5f00\u5408\u5f0f\u8bbe\u8ba1\uff0c\u6253\u5f00\u5373\u4eae\uff0c\u5408\u62e2\u5373\u706d\uff0c\u5982\u9b54\u6cd5\u4e66\u822c\u5145\u6ee1\u60ca\u559c\u3002\u91c7\u7528LED\u6696\u5149\u706f\u6e90\uff0c\u5149\u7ebf\u67d4\u548c\u4e0d\u523a\u773c\uff0c\u53ef\u6301\u7eed\u70b9\u4eae6-8\u5c0f\u65f6\u3002\u5c01\u9762\u6fc0\u5149\u5fae\u96d5\u53ef\u5b9a\u5236\u6587\u5b57\u3001\u56fe\u6848\u6216\u7167\u7247\uff0c\u8ba9\u6e29\u6696\u7684\u706f\u5149\u627f\u8f7d\u4e13\u5c5e\u8bb0\u5fc6\u3002\u662f\u60c5\u4fa3\u793c\u7269\u3001\u6bd5\u4e1a\u793c\u7269\u7684\u521b\u610f\u4e4b\u9009\u3002",subtitle:"\u5f00\u5408\u5373\u4eae \xb7 LED\u6696\u5149 \xb7 \u9b54\u6cd5\u4e66\u822c\u7684\u60ca\u559c",tone:[25,20,15],story:"\u7075\u611f\u6765\u81ea\u300a\u54c8\u5229\xb7\u6ce2\u7279\u300b\u4e2d\u7684\u9b54\u6cd5\u8bfe\u672c\u2014\u2014\u6253\u5f00\u4e00\u672c\u4e66\uff0c\u5149\u8292\u503e\u6cfb\u800c\u51fa\u3002\u6211\u4eec\u91c7\u7528\u675c\u90a6\u7eb8\u4e0e\u5b9e\u6728\u5c01\u9762\u7ed3\u5408\uff0c\u8ba9\u706f\u4f53\u65e2\u8f7b\u8584\u53c8\u575a\u56fa\u3002\u6fc0\u5149\u5fae\u96d5\u5728\u5c01\u9762\u7559\u4e0b\u4f60\u7684\u540d\u5b57\u6216\u4e00\u5e45\u5c0f\u753b\uff0c\u5f53\u706f\u5728\u6df1\u591c\u4eae\u8d77\uff0c\u90a3\u662f\u4e13\u5c5e\u4e8e\u4f60\u7684\u6e29\u6696\u89d2\u843d\u3002",scene:"\u60c5\u4fa3\u793c\u7269\u3001\u6bd5\u4e1a\u7eaa\u5ff5\u3001\u5e8a\u5934\u591c\u706f\u3001\u9732\u8425\u6c1b\u56f4\u706f\u3001\u513f\u7ae5\u623f\u3002\u7279\u522b\u9002\u5408\u5728\u5c01\u9762\u523b\u4e0a\u4e24\u4e2a\u4eba\u7684\u540d\u5b57\u548c\u4e00\u53e5\u60c5\u8bdd\uff0c\u5728\u60c5\u4eba\u8282\u6216\u7eaa\u5ff5\u65e5\u9001\u51fa\u2014\u2014\u6253\u5f00\u4e66\u706f\uff0c\u5c31\u50cf\u6253\u5f00\u4e00\u5c01\u4f1a\u53d1\u5149\u7684\u60c5\u4e66\u3002",tags:["\u60c5\u4fa3\u793c","\u6bd5\u4e1a\u7eaa\u5ff5","\u591c\u706f","\u6c1b\u56f4\u706f","\u521b\u610f\u793c\u7269"],specs:[["\u5149\u6e90","LED \u6696\u767d\u5149\uff083000K\uff09"],["\u7eed\u822a","6-8\u5c0f\u65f6\uff08\u5185\u7f6e\u53ef\u5145\u7535\u9502\u7535\u6c60\uff09"],["\u5145\u7535","USB Type-C \u63a5\u53e3"],["\u5c01\u9762\u6750\u8d28","\u675c\u90a6\u7eb8 + \u5b9e\u6728\u5c01\u9762"],["\u5c55\u5f00\u5c3a\u5bf8","210 \xd7 150mm"],["\u96d5\u523b\u5de5\u827a","\u6fc0\u5149\u5fae\u96d5\uff08\u652f\u6301\u6587\u5b57+\u7b80\u5355\u56fe\u6848\uff09"]],images:["/img/booklight/The1.jpg","/img/booklight/The2.jpg"],mask:{shape:"rect",width:320,height:240,borderRadius:4}}],c=i.map(function(n){return(0,r.A)((0,r.A)({},n),{},{images:(n.images||[]).map(function(n){return(0,o.uq)(n)}),iconImg:(0,o.uq)(n.iconImg)})}),u=c,a=function(n){return c.find(function(t){return t.id===n})},s={"notebook-small":(0,o.uq)("/icon/\u4e66\u672c.png"),"notebook-large":(0,o.uq)("/icon/\u4e66\u672c_\u5927.png"),coaster:(0,o.uq)("/icon/\u676f\u5b50.png"),penbox:(0,o.uq)("/icon/\u7b14\u76d2.png"),booklamp:(0,o.uq)("/icon/\u4e66\u706f.png")};function l(n){return null!==n&&void 0!==n&&n.iconImg?(0,o.uq)(n.iconImg):null!==n&&void 0!==n&&n.id?(0,o.uq)(s[n.id]||"/icon/\u56db\u89d2\u661f.svg"):(0,o.uq)("/icon/\u56db\u89d2\u661f.svg")}},3246:function(n,t,e){e.d(t,{C1:function(){return a},L:function(){return g},Sy:function(){return l},WG:function(){return d},gf:function(){return f},q:function(){return m}});var r=e(1212),o=e(9379),i=e(467),c=e(758),u=e.n(c),a="https://wxbackend.tokenleaping.com",s="smart_access_token";function l(){try{u().hideLoading()}catch(n){}}function f(){try{return u().getStorageSync(s)||""}catch(n){return""}}function d(n){u().setStorageSync(s,n)}function g(){try{u().removeStorageSync(s)}catch(n){}}var h=null;var p=null;function m(n){p=n}function v(n,t,e,r){return y.apply(this,arguments)}function y(){return y=(0,i.A)((0,r.A)().m(function n(t,e,o,i){return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:return n.a(2,u().request({url:"".concat(a).concat(t),method:e,data:o,header:i}))}},n)})),y.apply(this,arguments)}function S(n){return k.apply(this,arguments)}function k(){return k=(0,i.A)((0,r.A)().m(function n(t){var e,i,c,u,a,s,l,d,m,y,S,k,b,A,w,T,C,x,_=arguments;return(0,r.A)().w(function(n){while(1)switch(n.p=n.n){case 0:return e=_.length>1&&void 0!==_[1]?_[1]:{},i=e.method,c=void 0===i?"GET":i,u=e.data,a=e.headers,s=void 0===a?{}:a,l=e.auth,d=void 0===l||l,m=e.skipAuthRefresh,y=void 0!==m&&m,S=function(){var n=f();return(0,o.A)((0,o.A)({"Content-Type":"application/json"},d&&n?{Authorization:"Bearer ".concat(n)}:{}),s)},n.p=1,n.n=2,v(t,c,u,S());case 2:k=n.v,n.n=4;break;case 3:throw n.p=3,n.v,b=new Error("\u7f51\u7edc\u5f02\u5e38\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5"),b.statusCode=-1,b;case 4:if(401!==k.statusCode||y||!p){n.n=9;break}return n.n=5,p();case 5:if(A=n.v,!A){n.n=9;break}return n.p=6,n.n=7,v(t,c,u,S());case 7:k=n.v,n.n=9;break;case 8:throw n.p=8,n.v,w=new Error("\u7f51\u7edc\u5f02\u5e38\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5"),w.statusCode=-1,w;case 9:if(401!==k.statusCode){n.n=10;break}throw g(),null===(T=h)||void 0===T||T(),C=new Error("\u767b\u5f55\u5df2\u8fc7\u671f\uff0c\u8bf7\u91cd\u65b0\u767b\u5f55"),C.statusCode=401,C;case 10:if(x=k.data,!x||"number"!==typeof x.code||0===x.code){n.n=11;break}throw new Error(x.message||"\u8bf7\u6c42\u5931\u8d25");case 11:return n.a(2,x&&"number"===typeof x.code?x.data:x)}},n,null,[[6,8],[1,3]])})),k.apply(this,arguments)}var b={get:function(n,t){return S(n,(0,o.A)((0,o.A)({},t),{},{method:"GET"}))},post:function(n,t,e){return S(n,(0,o.A)((0,o.A)({},e),{},{method:"POST",data:t}))},put:function(n,t,e){return S(n,(0,o.A)((0,o.A)({},e),{},{method:"PUT",data:t}))},patch:function(n,t,e){return S(n,(0,o.A)((0,o.A)({},e),{},{method:"PATCH",data:t}))},del:function(n,t){return S(n,(0,o.A)((0,o.A)({},t),{},{method:"DELETE"}))}};t.Ay=b},1457:function(n,t,e){e.d(t,{E1:function(){return O},cY:function(){return S},Hf:function(){return P},kg:function(){return H},ab:function(){return Q},hG:function(){return F},IU:function(){return C},Re:function(){return U},EB:function(){return z},p_:function(){return v},n7:function(){return w},O4:function(){return V},ug:function(){return q},Q4:function(){return I},Ic:function(){return u},Q1:function(){return M},kh:function(){return b},eW:function(){return X},Fu:function(){return y},Rq:function(){return K},F0:function(){return Z},iA:function(){return R},iZ:function(){return Y},yU:function(){return L},i5:function(){return k},uF:function(){return G}});var r=e(758),o=e.n(r),i="smart_user_info",c="smart_active_openid";function u(n){return!!n&&(n.startsWith("mock_")||n.startsWith("mock-"))}function a(){var n,t=null;try{t=o().getStorageSync(i)}catch(n){t=null}var e=(null===(n=t)||void 0===n?void 0:n.openid)||o().getStorageSync(c)||"_guest_";return o().setStorageSync(c,e),e}function s(n){var t=a();return"".concat(n,"_").concat(t)}function l(n,t){return"".concat(n,"_").concat(t)}var f=e(6764),d=e(9379),g=e(436),h=e(8199),p=e(5234);function m(n){try{return o().getStorageSync(l("design_list",n))||[]}catch(n){return[]}}function v(){try{return o().getStorageSync(s("design_list"))||[]}catch(n){return[]}}function y(n){o().setStorageSync(s("design_list"),n)}function S(n,t){var e=v(),r=(0,h.uq)((null===n||void 0===n?void 0:n.iconImg)||p.rj[null===n||void 0===n?void 0:n.id]||"/icon/\u56db\u89d2\u661f.svg"),o={id:"DSG"+Date.now(),productId:n.id,productName:n.name,productIcon:r,unitPrice:n.price,count:t,status:"undesigned",createdAt:(new Date).toISOString().slice(0,10)};return y([].concat((0,g.A)(e),[o])),o}function k(n,t){var e=v(),r=e.findIndex(function(t){return t.id===n});-1!==r&&(e[r]=(0,d.A)((0,d.A)({},e[r]),t),y(e))}function b(n){var t=v().filter(function(t){return!n.includes(t.id)});y(t)}function A(n){try{return o().getStorageSync(l("order_list",n))||[]}catch(n){return[]}}function w(){try{return o().getStorageSync(s("order_list"))||[]}catch(n){return[]}}function T(n){o().setStorageSync(s("order_list"),n)}function C(n){var t,e=v(),r=w(),o=e.find(function(t){return t.id===n});if(!o)return null;var i=null!==(t=o.productIcon)&&void 0!==t&&t.startsWith("/icon/")||/^https?:/i.test(o.productIcon||"")?o.productIcon:p.rj[o.productId]||"/icon/\u56db\u89d2\u661f.svg",c=(0,h.uq)(i),u={id:"ORD"+Date.now().toString().slice(-9),productName:o.productName,productIcon:c,statusCode:"pending",date:(new Date).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).replace(/\//g,"-"),price:"\xa5"+(o.unitPrice*o.count).toFixed(2),count:o.count,sku:"".concat(o.productName," \xd7 ").concat(o.count)},a=e.findIndex(function(t){return t.id===n});return-1!==a&&(e[a].status="ordered",e[a].orderId=u.id),y(e),T([u].concat((0,g.A)(r))),u}var x="smart_user_registry",_="zhihui2024";function j(){try{return o().getStorageSync(x)||[]}catch(n){return[]}}function B(n){var t=j();t.includes(n)||(t.push(n),o().setStorageSync(x,t))}function N(n){var t=j().filter(function(t){return t!==n});o().setStorageSync(x,t)}function I(){try{return o().getStorageSync(i)}catch(n){return null}}function E(n){var t;o().setStorageSync(i,n),null!==n&&void 0!==n&&n.openid&&(o().setStorageSync(c,n.openid),o().setStorageSync("user_info_".concat(n.openid),n),B(n.openid)),(0,f.m)(),null===(t=o().eventCenter)||void 0===t||t.trigger("authStateChanged",{openid:(null===n||void 0===n?void 0:n.openid)||""})}function D(n){try{var t=o().getStorageSync("user_info_".concat(n));if(t)return t}catch(n){}var e=I();return(null===e||void 0===e?void 0:e.openid)===n?e:null}function P(){var n;o().removeStorageSync(i),o().removeStorageSync(c),(0,f.m)(),null===(n=o().eventCenter)||void 0===n||n.trigger("authStateChanged",{openid:""})}function R(n){E(n)}function q(){return I()}function M(){var n=j();return n.map(function(n){var t=D(n),e=m(n),r=A(n);return{openid:n,nickName:(null===t||void 0===t?void 0:t.nickName)||"\u672a\u77e5\u7528\u6237",avatarUrl:(null===t||void 0===t?void 0:t.avatarUrl)||"",loginAt:(null===t||void 0===t?void 0:t.loginAt)||0,designCount:e.length,orderCount:r.length}})}function H(n,t){var e="mock_"+Date.now().toString(36)+"_"+Math.random().toString(36).slice(2,6),r={openid:e,nickName:n||"\u5fae\u4fe1\u7528\u6237",avatarUrl:t||"",loginAt:Date.now()};return E(r),r}function Y(n){var t=D(n);return!!t&&(o().setStorageSync(i,t),o().setStorageSync(c,n),!0)}function F(n){o().removeStorageSync("user_info_".concat(n)),o().removeStorageSync("design_list_".concat(n)),o().removeStorageSync("order_list_".concat(n)),o().removeStorageSync("address_list_".concat(n)),N(n);var t=I();(null===t||void 0===t?void 0:t.openid)===n&&P()}function G(n){return n===_}function U(){try{return o().getStorageSync(s("address_list"))||[]}catch(n){return[]}}function W(n){o().setStorageSync(s("address_list"),n)}function O(n){var t=U(),e=(0,d.A)((0,d.A)({},n),{},{id:"ADR"+Date.now()});return e.isDefault&&t.forEach(function(n){n.isDefault=!1}),W([e].concat((0,g.A)(t))),e}function L(n,t){var e=U(),r=e.findIndex(function(t){return t.id===n});-1!==r&&(t.isDefault&&e.forEach(function(n){n.isDefault=!1}),e[r]=(0,d.A)((0,d.A)({},e[r]),t),W(e))}function Q(n){var t=U().filter(function(t){return t.id!==n});W(t)}function z(){return U().find(function(n){return n.isDefault})}var J="smart_theme";function V(){try{return o().getStorageSync(J)||"auto"}catch(n){return"auto"}}function Z(n){o().setStorageSync(J,n)}var $=null;function K(n){$=n}function X(n){if("auto"===n){if($)return $;try{var t=o().getAppBaseInfo();if("dark"===t.theme||"light"===t.theme)return t.theme}catch(n){}return"light"}return n}},6606:function(n,t,e){e.d(t,{G:function(){return c}});var r=e(758),o=e.n(r);function i(n){return"dark"===n?"#191919":"#faf7f2"}function c(n,t){var e=null!==t&&void 0!==t?t:i(n);o().setBackgroundColor({backgroundColor:e,backgroundColorTop:e,backgroundColorBottom:e}),o().setBackgroundTextStyle({textStyle:"dark"===n?"light":"dark"})}}}]); \ No newline at end of file diff --git a/dist/common.wxss b/dist/common.wxss index e681e6f..e4d2a48 100644 --- a/dist/common.wxss +++ b/dist/common.wxss @@ -1 +1 @@ -.scroll-top-mask{left:0;pointer-events:none;position:fixed;right:0;top:0;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:40}.scroll-top-blur,.scroll-top-gradient{height:100%;left:0;pointer-events:none;position:absolute;right:0;top:0}.scroll-top-gradient{height:80%}.scroll-top-title{color:var(--text-primary);font-size:36rpx;font-weight:600;left:0;letter-spacing:0;pointer-events:none;position:absolute;right:0;text-align:center}.scroll-top-back{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;backdrop-filter:blur(32rpx) saturate(1.2);-webkit-backdrop-filter:blur(32rpx) saturate(1.2);background:hsla(0,0%,100%,.55);border:1rpx solid hsla(0,0%,100%,.55);border-radius:50%;-webkit-box-shadow:0 12rpx 40rpx rgba(0,0,0,.18),0 4rpx 12rpx rgba(0,0,0,.08);box-shadow:0 12rpx 40rpx rgba(0,0,0,.18),0 4rpx 12rpx rgba(0,0,0,.08);display:-webkit-flex;display:-ms-flexbox;display:flex;height:80rpx;-webkit-justify-content:center;justify-content:center;left:30rpx;pointer-events:auto;position:absolute;width:80rpx}.theme-dark .scroll-top-back{background:rgba(25,25,25,.55);border-color:hsla(0,0%,100%,.14);-webkit-box-shadow:0 12rpx 40rpx rgba(0,0,0,.5),0 4rpx 12rpx rgba(0,0,0,.3);box-shadow:0 12rpx 40rpx rgba(0,0,0,.5),0 4rpx 12rpx rgba(0,0,0,.3)}.scroll-top-back-arrow{color:var(--text-primary);font-size:44rpx;font-weight:600;line-height:1}.scroll-top-blur-mid{backdrop-filter:blur(12rpx);-webkit-backdrop-filter:blur(12rpx);-webkit-mask-image:-webkit-gradient(linear,left top,left bottom,from(#000),color-stop(42%,rgba(0,0,0,.8)),color-stop(76%,rgba(0,0,0,0)));-webkit-mask-image:-webkit-linear-gradient(top,#000,rgba(0,0,0,.8) 42%,rgba(0,0,0,0) 76%);mask-image:-webkit-gradient(linear,left top,left bottom,from(#000),color-stop(42%,rgba(0,0,0,.8)),color-stop(76%,rgba(0,0,0,0)));mask-image:linear-gradient(180deg,#000 0,rgba(0,0,0,.8) 42%,rgba(0,0,0,0) 76%)}.scroll-top-blur-soft{backdrop-filter:blur(6rpx);-webkit-backdrop-filter:blur(6rpx);-webkit-mask-image:-webkit-gradient(linear,left top,left bottom,from(#000),color-stop(52%,rgba(0,0,0,.65)),to(rgba(0,0,0,0)));-webkit-mask-image:-webkit-linear-gradient(top,#000,rgba(0,0,0,.65) 52%,rgba(0,0,0,0));mask-image:-webkit-gradient(linear,left top,left bottom,from(#000),color-stop(52%,rgba(0,0,0,.65)),to(rgba(0,0,0,0)));mask-image:linear-gradient(180deg,#000 0,rgba(0,0,0,.65) 52%,rgba(0,0,0,0))}.theme-light .scroll-top-gradient{background:-webkit-gradient(linear,left top,left bottom,from(hsla(38,44%,96%,.94)),color-stop(50%,hsla(38,44%,96%,.9)),color-stop(78%,hsla(38,44%,96%,.58)),to(hsla(38,44%,96%,0)));background:-webkit-linear-gradient(top,hsla(38,44%,96%,.94),hsla(38,44%,96%,.9) 50%,hsla(38,44%,96%,.58) 78%,hsla(38,44%,96%,0));background:linear-gradient(180deg,hsla(38,44%,96%,.94) 0,hsla(38,44%,96%,.9) 50%,hsla(38,44%,96%,.58) 78%,hsla(38,44%,96%,0))}.theme-dark .scroll-top-gradient{background:-webkit-gradient(linear,left top,left bottom,from(rgba(25,25,25,.94)),color-stop(50%,rgba(25,25,25,.9)),color-stop(78%,rgba(25,25,25,.58)),to(rgba(25,25,25,0)));background:-webkit-linear-gradient(top,rgba(25,25,25,.94),rgba(25,25,25,.9) 50%,rgba(25,25,25,.58) 78%,rgba(25,25,25,0));background:linear-gradient(180deg,rgba(25,25,25,.94) 0,rgba(25,25,25,.9) 50%,rgba(25,25,25,.58) 78%,rgba(25,25,25,0))}.bottom-action-bar{-ms-flex-align:center;-webkit-align-items:center;align-items:center;backdrop-filter:blur(32rpx) saturate(1.2);-webkit-backdrop-filter:blur(32rpx) saturate(1.2);background:hsla(0,0%,100%,.55);border:1rpx solid hsla(0,0%,100%,.55);border-radius:64rpx;bottom:36rpx;-webkit-box-shadow:0 12rpx 40rpx rgba(46,34,34,.18),0 4rpx 12rpx rgba(46,34,34,.08);box-shadow:0 12rpx 40rpx rgba(46,34,34,.18),0 4rpx 12rpx rgba(46,34,34,.08);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:24rpx;left:36rpx;padding:24rpx 24rpx calc(24rpx + env(safe-area-inset-bottom));position:fixed;right:36rpx;z-index:500}.theme-dark .bottom-action-bar{background:rgba(25,25,25,.55);border-color:hsla(0,0%,100%,.14);-webkit-box-shadow:0 12rpx 40rpx rgba(0,0,0,.5),0 4rpx 12rpx rgba(0,0,0,.3);box-shadow:0 12rpx 40rpx rgba(0,0,0,.5),0 4rpx 12rpx rgba(0,0,0,.3)} \ No newline at end of file +.scroll-top-mask{left:0;pointer-events:none;position:fixed;right:0;top:0;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:40}.scroll-top-blur,.scroll-top-gradient{height:100%;left:0;pointer-events:none;position:absolute;right:0;top:0}.scroll-top-gradient{height:80%}.scroll-top-title{color:var(--text-primary);font-size:36rpx;font-weight:600;left:0;letter-spacing:0;pointer-events:none;position:absolute;right:0;text-align:center}.scroll-top-back{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;backdrop-filter:blur(24rpx) saturate(1.7) brightness(1.05);-webkit-backdrop-filter:blur(24rpx) saturate(1.7) brightness(1.05);background:-webkit-linear-gradient(315deg,hsla(0,0%,100%,.55),hsla(0,0%,100%,.28) 45%,hsla(0,0%,100%,.42));background:linear-gradient(135deg,hsla(0,0%,100%,.55),hsla(0,0%,100%,.28) 45%,hsla(0,0%,100%,.42));border:1rpx solid hsla(0,0%,100%,.35);border-radius:50%;-webkit-box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.65),inset 0 -2rpx 4rpx rgba(0,0,0,.06),inset 0 0 0 1rpx hsla(0,0%,100%,.18),0 12rpx 40rpx rgba(0,0,0,.18),0 4rpx 12rpx rgba(0,0,0,.08);box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.65),inset 0 -2rpx 4rpx rgba(0,0,0,.06),inset 0 0 0 1rpx hsla(0,0%,100%,.18),0 12rpx 40rpx rgba(0,0,0,.18),0 4rpx 12rpx rgba(0,0,0,.08);display:-webkit-flex;display:-ms-flexbox;display:flex;height:80rpx;-webkit-justify-content:center;justify-content:center;left:30rpx;pointer-events:auto;position:absolute;width:80rpx}.theme-dark .scroll-top-back{background:-webkit-linear-gradient(315deg,hsla(0,0%,100%,.16),hsla(0,0%,100%,.06) 45%,hsla(0,0%,100%,.12));background:linear-gradient(135deg,hsla(0,0%,100%,.16),hsla(0,0%,100%,.06) 45%,hsla(0,0%,100%,.12));border-color:hsla(0,0%,100%,.18);-webkit-box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.22),inset 0 -2rpx 4rpx rgba(0,0,0,.28),inset 0 0 0 1rpx hsla(0,0%,100%,.1),0 12rpx 40rpx rgba(0,0,0,.5),0 4rpx 12rpx rgba(0,0,0,.3);box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.22),inset 0 -2rpx 4rpx rgba(0,0,0,.28),inset 0 0 0 1rpx hsla(0,0%,100%,.1),0 12rpx 40rpx rgba(0,0,0,.5),0 4rpx 12rpx rgba(0,0,0,.3)}.scroll-top-back-arrow{color:var(--text-primary);font-size:44rpx;font-weight:600;line-height:1}.scroll-top-blur-mid{backdrop-filter:blur(12rpx);-webkit-backdrop-filter:blur(12rpx);-webkit-mask-image:-webkit-gradient(linear,left top,left bottom,from(#000),color-stop(42%,rgba(0,0,0,.8)),color-stop(76%,rgba(0,0,0,0)));-webkit-mask-image:-webkit-linear-gradient(top,#000,rgba(0,0,0,.8) 42%,rgba(0,0,0,0) 76%);mask-image:-webkit-gradient(linear,left top,left bottom,from(#000),color-stop(42%,rgba(0,0,0,.8)),color-stop(76%,rgba(0,0,0,0)));mask-image:linear-gradient(180deg,#000 0,rgba(0,0,0,.8) 42%,rgba(0,0,0,0) 76%)}.scroll-top-blur-soft{backdrop-filter:blur(6rpx);-webkit-backdrop-filter:blur(6rpx);-webkit-mask-image:-webkit-gradient(linear,left top,left bottom,from(#000),color-stop(52%,rgba(0,0,0,.65)),to(rgba(0,0,0,0)));-webkit-mask-image:-webkit-linear-gradient(top,#000,rgba(0,0,0,.65) 52%,rgba(0,0,0,0));mask-image:-webkit-gradient(linear,left top,left bottom,from(#000),color-stop(52%,rgba(0,0,0,.65)),to(rgba(0,0,0,0)));mask-image:linear-gradient(180deg,#000 0,rgba(0,0,0,.65) 52%,rgba(0,0,0,0))}.theme-light .scroll-top-gradient{background:-webkit-gradient(linear,left top,left bottom,from(hsla(38,44%,96%,.94)),color-stop(50%,hsla(38,44%,96%,.9)),color-stop(78%,hsla(38,44%,96%,.58)),to(hsla(38,44%,96%,0)));background:-webkit-linear-gradient(top,hsla(38,44%,96%,.94),hsla(38,44%,96%,.9) 50%,hsla(38,44%,96%,.58) 78%,hsla(38,44%,96%,0));background:linear-gradient(180deg,hsla(38,44%,96%,.94) 0,hsla(38,44%,96%,.9) 50%,hsla(38,44%,96%,.58) 78%,hsla(38,44%,96%,0))}.theme-dark .scroll-top-gradient{background:-webkit-gradient(linear,left top,left bottom,from(rgba(25,25,25,.94)),color-stop(50%,rgba(25,25,25,.9)),color-stop(78%,rgba(25,25,25,.58)),to(rgba(25,25,25,0)));background:-webkit-linear-gradient(top,rgba(25,25,25,.94),rgba(25,25,25,.9) 50%,rgba(25,25,25,.58) 78%,rgba(25,25,25,0));background:linear-gradient(180deg,rgba(25,25,25,.94) 0,rgba(25,25,25,.9) 50%,rgba(25,25,25,.58) 78%,rgba(25,25,25,0))}.bottom-action-bar{-ms-flex-align:center;-webkit-align-items:center;align-items:center;backdrop-filter:blur(32rpx) saturate(1.2);-webkit-backdrop-filter:blur(32rpx) saturate(1.2);background:hsla(0,0%,100%,.55);border:1rpx solid hsla(0,0%,100%,.55);border-radius:64rpx;bottom:36rpx;-webkit-box-shadow:0 12rpx 40rpx rgba(46,34,34,.18),0 4rpx 12rpx rgba(46,34,34,.08);box-shadow:0 12rpx 40rpx rgba(46,34,34,.18),0 4rpx 12rpx rgba(46,34,34,.08);-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:24rpx;left:36rpx;padding:24rpx 24rpx calc(24rpx + env(safe-area-inset-bottom));position:fixed;right:36rpx;z-index:500}.theme-dark .bottom-action-bar{background:rgba(25,25,25,.55);border-color:hsla(0,0%,100%,.14);-webkit-box-shadow:0 12rpx 40rpx rgba(0,0,0,.5),0 4rpx 12rpx rgba(0,0,0,.3);box-shadow:0 12rpx 40rpx rgba(0,0,0,.5),0 4rpx 12rpx rgba(0,0,0,.3)} \ No newline at end of file diff --git a/dist/custom-tab-bar/index.js b/dist/custom-tab-bar/index.js index bb963c2..9325712 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],{653:function(e,n,t){var a=t(7842),i=t(5544),c=t(118),o=t(758),r=t.n(o),s=t(6540),u=t(1457),f=t(9703),g=t(6606),h=t(8199),l=t(4848),v=[{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")}];function p(e){var n=v.findIndex(function(n){return e.endsWith(n.pagePath)});return v[n>=0?n:0].pagePath}function b(){var e=r().getCurrentInstance().router,n=e&&e.path?e.path:"pages/index/index";return p(n)}function m(){var e=(0,s.useState)((0,u.eW)((0,u.O4)())),n=(0,i.A)(e,2),t=n[0],a=n[1],o=(0,s.useState)(b),h=(0,i.A)(o,2),m=h[0],d=h[1];(0,s.useEffect)(function(){var e=function(e){return a(e)};return r().eventCenter.on(f.Wo,e),function(){r().eventCenter.off(f.Wo,e)}},[]),(0,s.useEffect)(function(){var e=function(e){!e||"dark"!==e.theme&&"light"!==e.theme||((0,u.Rq)(e.theme),"auto"===(0,u.O4)()&&a(e.theme))},n=r();return n.onThemeChange&&n.onThemeChange(e),function(){n.offThemeChange&&n.offThemeChange(e)}},[]),(0,s.useEffect)(function(){var e=function(e){var n=r().getCurrentInstance().router,t=n&&n.path?n.path:"pages/index/index";d(p(e||t))};return r().eventCenter.on("tabBarChange",e),function(){r().eventCenter.off("tabBarChange",e)}},[]),(0,s.useEffect)(function(){(0,g.G)(t)},[t]);var x=function(e){d(p(e)),r().switchTab({url:e}),r().eventCenter.trigger("tabBarChange",e)};return(0,l.jsxs)(c.Ss,{className:"tab-bar-root theme-".concat(t),children:[(0,l.jsx)(c.Ss,{className:"tab-bar-gradient"}),(0,l.jsx)(c.Ss,{className:"custom-tab-bar theme-".concat(t),children:v.map(function(e){var n=e.pagePath===m;return(0,l.jsxs)(c.Ss,{className:"tab-item ".concat(n?"active":""),onTap:function(){return x(e.pagePath)},children:[n&&(0,l.jsx)(c.Ss,{className:"tab-indicator"}),(0,l.jsx)(c._V,{className:"tab-icon-img ".concat(n?"active":""),src:n?e.iconActive:e.icon,mode:"aspectFit"}),(0,l.jsx)(c.EY,{className:"tab-label",children:e.label})]},e.pagePath)})})]})}Component((0,a.createComponentConfig)(m,"custom-tab-bar/index"))}},function(e){var n=function(n){return e(e.s=n)};e.O(0,[907,96,76],function(){return n(653)});e.O()}]); \ No newline at end of file +"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[777],{653:function(e,n,t){var a=t(7842),c=t(5544),i=t(118),s=t(758),o=t.n(s),r=t(6540),u=t(1457),f=t(9703),g=t(6606),h=t(8199),l=t(4848),v=[{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")}];function p(e){var n=v.findIndex(function(n){return e.endsWith(n.pagePath)});return v[n>=0?n:0].pagePath}function b(){var e=o().getCurrentInstance().router,n=e&&e.path?e.path:"pages/index/index";return p(n)}function m(){var e=(0,r.useState)((0,u.eW)((0,u.O4)())),n=(0,c.A)(e,2),t=n[0],a=n[1],s=(0,r.useState)(b),h=(0,c.A)(s,2),m=h[0],d=h[1];(0,r.useEffect)(function(){var e=function(e){return a(e)};return o().eventCenter.on(f.Wo,e),function(){o().eventCenter.off(f.Wo,e)}},[]),(0,r.useEffect)(function(){var e=function(e){!e||"dark"!==e.theme&&"light"!==e.theme||((0,u.Rq)(e.theme),"auto"===(0,u.O4)()&&a(e.theme))},n=o();return n.onThemeChange&&n.onThemeChange(e),function(){n.offThemeChange&&n.offThemeChange(e)}},[]),(0,r.useEffect)(function(){var e=function(e){var n=o().getCurrentInstance().router,t=n&&n.path?n.path:"pages/index/index";d(p(e||t))};return o().eventCenter.on("tabBarChange",e),function(){o().eventCenter.off("tabBarChange",e)}},[]),(0,r.useEffect)(function(){(0,g.G)(t)},[t]);var x=function(e){d(p(e)),o().switchTab({url:e}),o().eventCenter.trigger("tabBarChange",e)};return(0,l.jsxs)(i.Ss,{className:"tab-bar-root theme-".concat(t),children:[(0,l.jsx)(i.Ss,{className:"tab-bar-gradient"}),(0,l.jsxs)(i.Ss,{className:"custom-tab-bar theme-".concat(t),children:[(0,l.jsx)(i.Ss,{className:"tab-bar-caustic"}),(0,l.jsx)(i.Ss,{className:"tab-bar-rim"}),v.map(function(e){var n=e.pagePath===m;return(0,l.jsxs)(i.Ss,{className:"tab-item ".concat(n?"active":""),onTap:function(){return x(e.pagePath)},children:[n&&(0,l.jsx)(i.Ss,{className:"tab-indicator"}),(0,l.jsx)(i._V,{className:"tab-icon-img ".concat(n?"active":""),src:n?e.iconActive:e.icon,mode:"aspectFit"}),(0,l.jsx)(i.EY,{className:"tab-label",children:e.label})]},e.pagePath)})]})]})}Component((0,a.createComponentConfig)(m,"custom-tab-bar/index"))}},function(e){var n=function(n){return e(e.s=n)};e.O(0,[907,96,76],function(){return n(653)});e.O()}]); \ No newline at end of file diff --git a/dist/custom-tab-bar/index.wxss b/dist/custom-tab-bar/index.wxss index ca32cd2..28b29f6 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.2);-webkit-backdrop-filter:blur(32rpx) saturate(1.2);background:hsla(0,0%,100%,.55);border:1rpx solid hsla(0,0%,100%,.55);border-radius:64rpx;bottom:36rpx;-webkit-box-shadow:0 12rpx 40rpx rgba(0,0,0,.18),0 4rpx 12rpx rgba(0,0,0,.08);box-shadow:0 12rpx 40rpx rgba(0,0,0,.18),0 4rpx 12rpx rgba(0,0,0,.08);-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;pointer-events:auto;position:absolute;right:36rpx;z-index:1000}.custom-tab-bar.theme-dark{backdrop-filter:blur(32rpx) saturate(1.2);-webkit-backdrop-filter:blur(32rpx) saturate(1.2);background:rgba(25,25,25,.55);border-color:hsla(0,0%,100%,.14);-webkit-box-shadow:0 12rpx 40rpx rgba(0,0,0,.5),0 4rpx 12rpx rgba(0,0,0,.3);box-shadow:0 12rpx 40rpx rgba(0,0,0,.5),0 4rpx 12rpx rgba(0,0,0,.3)}.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}.tab-indicator{background:rgba(0,0,0,.14);border-radius:50rpx;bottom:6rpx;-webkit-box-shadow:0 0 6rpx rgba(0,0,0,.07);box-shadow:0 0 6rpx rgba(0,0,0,.07);height:100rpx;left:50%;position:absolute;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:120rpx}.custom-tab-bar.theme-dark .tab-indicator{background:hsla(0,0%,100%,.14);-webkit-box-shadow:0 0 6rpx hsla(0,0%,100%,.07);box-shadow:0 0 6rpx hsla(0,0%,100%,.07)}.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: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%,.4);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,.4);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;left:50%;position:absolute;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:120rpx}.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-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/diy/index.js b/dist/pages/diy/index.js index 4092494..d26e8a1 100644 --- a/dist/pages/diy/index.js +++ b/dist/pages/diy/index.js @@ -1 +1 @@ -"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[95],{8955:function(e,a,s){var t=s(7842),c=s(9379),n=s(436),i=s(5544),r=s(118),l=s(758),o=s.n(l),d=s(6540),u=s(5234),h=s(1457),m=s(9703),p=s(9201),x=s(5414),g=s(9674),f=s(3053),v=s(9513),j=s(4848);function N(){var e=(0,m.wR)(),a=(e.theme,e.resolvedTheme),s=(0,p.c)();(0,x.l)(a);var t=(0,d.useState)(null),l=(0,i.A)(t,2),N=l[0],S=l[1],y=(0,d.useState)(1),w=(0,i.A)(y,2),b=(w[0],w[1],(0,d.useState)("")),k=(0,i.A)(b,2),A=k[0],E=k[1],T=(0,d.useState)(1),Y=(0,i.A)(T,2),D=(Y[0],Y[1]),I=(0,d.useState)([]),O=(0,i.A)(I,2),P=O[0],_=O[1],F=(0,d.useState)(null),M=(0,i.A)(F,2),B=M[0],R=M[1],z=(0,d.useState)(!1),V=(0,i.A)(z,2),q=V[0],C=V[1],G=(0,d.useState)({x:0,y:0}),J=(0,i.A)(G,2),X=J[0],H=J[1],L=(0,d.useState)(!1),K=(0,i.A)(L,2),Q=K[0],U=K[1],W=(0,d.useState)(!1),Z=(0,i.A)(W,2),$=Z[0],ee=Z[1];(0,d.useEffect)(function(){var e=o().getCurrentInstance().router,a=e?e.params:void 0,s=a?a.source:void 0,t=a&&a.productId||a&&a.category;if("product"===s&&t){var c=(0,u.y9)(t);if(c){S(c),D(Number(a?a.quantity:void 0)||1);var i={id:"DSG"+Date.now(),productId:c.id,productName:c.name,productIcon:c.icon,unitPrice:c.price,count:Number(a?a.quantity:void 0)||1,status:"designing",createdAt:(new Date).toISOString().slice(0,10)},r=(0,h.p_)();(0,h.Fu)([].concat((0,n.A)(r),[i])),E(i.id)}}else if("designList"===s&&a&&a.designId){var l=a.designId,d=(0,h.p_)(),m=d.find(function(e){return e.id===l});if(m){E(l),D(m.count);var p=(0,u.y9)(m.productId);if(p&&S(p),m.designData?m.designData.stickers:void 0)_(m.designData.stickers);else if(m.designData?m.designData.imageSrc:void 0){var x={id:"legacy_"+Date.now(),src:m.designData.imageSrc,x:m.designData.imagePos&&m.designData.imagePos.x||0,y:m.designData.imagePos&&m.designData.imagePos.y||0,scale:m.designData.imagePos&&m.designData.imagePos.scale||1,width:200,height:200,isOverlapping:!1};_([x])}}}else if(t){var g=(0,u.y9)(t);if(g){S(g);var f={id:"DSG"+Date.now(),productId:g.id,productName:g.name,productIcon:g.icon,unitPrice:g.price,count:1,status:"designing",createdAt:(new Date).toISOString().slice(0,10)},v=(0,h.p_)();(0,h.Fu)([].concat((0,n.A)(v),[f])),E(f.id)}}},[]);var ae=function(e){for(var a=e.map(function(e){return(0,c.A)((0,c.A)({},e),{},{isOverlapping:!1})}),s=0;si.x&&n.yi.y&&(a[s].isOverlapping=!0,a[t].isOverlapping=!0)}var u=a.some(function(e){return e.isOverlapping});return ee(u),a},se=function(){o().chooseImage({count:1,sizeType:["compressed"],sourceType:["album","camera"],success:function(e){var a=e.tempFilePaths[0];o().getImageInfo({src:a,success:function(e){var s={id:"stk_"+Date.now(),src:a,x:0,y:0,scale:1,width:e.width,height:e.height,isOverlapping:!1},t=[].concat((0,n.A)(P),[s]),c=ae(t);_(c),R(s.id)},fail:function(){var e={id:"stk_"+Date.now(),src:a,x:0,y:0,scale:1,width:200,height:200,isOverlapping:!1},s=[].concat((0,n.A)(P),[e]),t=ae(s);_(t),R(e.id)}})}})},te=function(e){var a=P.filter(function(a){return a.id!==e}),s=ae(a);_(s),B===e&&R(null)},ce=function(e,a){var s=e.touches[0],t=P.find(function(e){return e.id===a});t&&(R(a),C(!0),H({x:s.clientX-t.x,y:s.clientY-t.y}))},ne=function(e){if(q&&B){var a=e.touches[0],s=P.map(function(e){return e.id!==B?e:(0,c.A)((0,c.A)({},e),{},{x:a.clientX-X.x,y:a.clientY-X.y})}),t=ae(s);_(t)}},ie=function(){return C(!1)},re=function(){B&&A&&o().navigateTo({url:"/pages/diy/stickerEdit/index?designId=".concat(A,"&stickerId=").concat(B)})},le=function(e,a){var s=P.map(function(s){return s.id!==e?s:(0,c.A)((0,c.A)({},s),{},{scale:Math.max(.3,Math.min(3,s.scale+a))})}),t=ae(s);_(t)},oe=function(){o().navigateBack()},de=function(){if(!N)return{width:300,height:420};var e={width:N.mask.width,height:N.mask.height};return"rect"===N.mask.shape&&(e.borderRadius=N.mask.borderRadius||0),"circle"===N.mask.shape&&(e.borderRadius="50%"),e},ue=function(){$?o().showToast({title:"\u8d34\u7eb8\u4e0d\u80fd\u91cd\u53e0",icon:"none"}):(A&&(0,h.i5)(A,{designData:{stickers:P,category:N}}),U(!1),o().navigateTo({url:"/pages/checkout/index?designId=".concat(A)}))},he=B?P.find(function(e){return e.id===B}):void 0,me=he?he.scale:1;return N?(0,j.jsxs)(r.Ss,{className:"theme-".concat(a),children:[(0,j.jsx)(g.A,{}),(0,j.jsx)(f.A,{title:"\u8bbe\u8ba1\u5de5\u4f5c\u53f0",targetSelector:".page-header.surface-card",showBack:!0}),(0,j.jsxs)(r.Ss,{className:"diy-page",children:[(0,j.jsx)(r.Ss,{className:"page-header surface-card",style:{paddingTop:"".concat(s.statusBarHeight+12,"px")},children:(0,j.jsxs)(r.Ss,{className:"flex-between",style:{width:"100%"},children:[(0,j.jsx)(r.EY,{className:"back-btn",onTap:oe,children:"\u2190"}),(0,j.jsx)(r.EY,{className:"page-title",children:"\u8bbe\u8ba1\u5de5\u4f5c\u53f0"}),(0,j.jsx)(r.Ss,{className:"header-spacer"})]})}),(0,j.jsx)(r.Ss,{className:"canvas-wrapper surface-card mt-20",catchMove:!0,children:(0,j.jsxs)(r.Ss,{className:"canvas-area",style:de(),children:[P.map(function(e){return(0,j.jsx)(r._V,{className:"canvas-image ".concat(e.isOverlapping?"overlap":""," ").concat(B===e.id?"active":""),src:e.src,style:{transform:"translate(".concat(e.x,"px, ").concat(e.y,"px) scale(").concat(e.scale,")"),opacity:q&&B===e.id?.8:1,zIndex:B===e.id?10:5,width:e.width||200,height:e.height||200},onTouchStart:function(a){return ce(a,e.id)},onTouchMove:ne,onTouchEnd:ie,onTap:function(){return R(e.id)},mode:"aspectFit"},e.id)}),(0,j.jsx)(r.Ss,{className:"mask-border",style:de()})]})}),(0,j.jsxs)(r.Ss,{className:"sticker-panel surface-card mt-20",children:[(0,j.jsx)(r.EY,{className:"section-title",children:"\u8d34\u7eb8"}),(0,j.jsxs)(r.Ss,{className:"sticker-list",children:[P.map(function(e){return(0,j.jsxs)(r.Ss,{className:"sticker-thumb ".concat(e.isOverlapping?"overlap":""," ").concat(B===e.id?"active":""),children:[(0,j.jsx)(r._V,{src:e.src,className:"sticker-thumb-img",mode:"aspectFit",onTap:function(){return R(e.id)}}),(0,j.jsx)(r.Ss,{className:"sticker-del",onTap:function(){return te(e.id)},children:(0,j.jsx)(r.EY,{className:"del-icon",children:"\xd7"})})]},e.id)}),(0,j.jsxs)(r.Ss,{className:"sticker-add-btn",onTap:se,children:[(0,j.jsx)(r.EY,{className:"add-icon",children:"+"}),(0,j.jsx)(r.EY,{className:"add-label",children:"\u6dfb\u52a0"})]})]}),$&&(0,j.jsx)(r.EY,{className:"overlap-hint",children:"\u6709\u8d34\u7eb8\u91cd\u53e0\uff0c\u8bf7\u8c03\u6574\u4f4d\u7f6e"})]}),B&&(0,j.jsxs)(r.Ss,{className:"toolbar surface-card mt-20",children:[(0,j.jsxs)(r.Ss,{className:"tool-row",children:[(0,j.jsx)(r.EY,{className:"tool-label",children:"\u7f29\u653e"}),(0,j.jsxs)(r.Ss,{className:"flex-center",style:{gap:"20px"},children:[(0,j.jsx)(r.Ss,{className:"tool-btn",onTap:function(){return le(B,-.1)},children:"\uff0d"}),(0,j.jsxs)(r.EY,{className:"tool-value",children:[Math.round(100*me),"%"]}),(0,j.jsx)(r.Ss,{className:"tool-btn",onTap:function(){return le(B,.1)},children:"\uff0b"})]})]}),(0,j.jsxs)(r.Ss,{className:"tool-row",children:[(0,j.jsx)(r.EY,{className:"tool-label",children:"\u63d0\u793a"}),(0,j.jsx)(r.EY,{className:"tool-hint",children:"\u62d6\u52a8\u8c03\u6574\u4f4d\u7f6e\uff0c\u8d34\u7eb8\u4e0d\u53ef\u91cd\u53e0"})]})]}),(0,j.jsx)(r.Ss,{className:"edit-btn-bar mt-20",children:(0,j.jsx)(r.Ss,{className:"edit-btn ".concat(B?"active":"disabled"),onTap:re,children:(0,j.jsx)(r.EY,{children:"\u7f16\u8f91"})})}),(0,j.jsxs)(v.A,{children:[(0,j.jsx)(r.Ss,{className:"btn-primary",onTap:function(){return U(!0)},children:(0,j.jsx)(r.EY,{children:"\u9884\u89c8\u6548\u679c"})}),(0,j.jsx)(r.Ss,{className:"btn-secondary",onTap:se,children:(0,j.jsx)(r.EY,{children:"\u6dfb\u52a0\u8d34\u7eb8"})})]}),Q&&(0,j.jsx)(r.Ss,{className:"preview-overlay",children:(0,j.jsxs)(r.Ss,{className:"preview-card surface-card",children:[(0,j.jsx)(r.EY,{className:"preview-title",children:"\u786e\u8ba4\u6548\u679c"}),(0,j.jsx)(r.Ss,{className:"preview-canvas",style:de(),children:P.map(function(e){return(0,j.jsx)(r._V,{className:"preview-image ".concat(e.isOverlapping?"overlap":""),src:e.src,style:{transform:"translate(".concat(e.x,"px, ").concat(e.y,"px) scale(").concat(e.scale,")"),width:e.width||200,height:e.height||200},mode:"aspectFit"},e.id)})}),(0,j.jsxs)(r.Ss,{className:"product-info",children:[(0,j.jsx)(r.EY,{className:"product-name",children:N.name}),(0,j.jsxs)(r.EY,{className:"product-size",children:["\u753b\u5e03\u5c3a\u5bf8: ",N.mask.width," \xd7 ",N.mask.height," px"]}),$&&(0,j.jsx)(r.EY,{className:"overlap-hint",children:"\u8d34\u7eb8\u6709\u91cd\u53e0\uff0c\u4e0d\u53ef\u63d0\u4ea4"})]}),(0,j.jsxs)(r.Ss,{className:"preview-actions",children:[(0,j.jsx)(r.Ss,{className:"btn-secondary",onTap:function(){return U(!1)},children:(0,j.jsx)(r.EY,{children:"\u8fd4\u56de\u4fee\u6539"})}),(0,j.jsx)(r.Ss,{className:"btn-primary ".concat($?"disabled":""),onTap:ue,children:(0,j.jsx)(r.EY,{children:"\u786e\u8ba4\u5b8c\u6210"})})]})]})}),(0,j.jsx)(r.Ss,{className:"safe-bottom-placeholder"})]})]}):(0,j.jsxs)(r.Ss,{className:"theme-".concat(a),children:[(0,j.jsx)(g.A,{}),(0,j.jsx)(f.A,{title:"\u8bbe\u8ba1\u5de5\u4f5c\u53f0",targetSelector:".page-header.surface-card",showBack:!0}),(0,j.jsx)(r.Ss,{className:"diy-page",children:(0,j.jsx)(r.EY,{className:"page-title",children:"\u52a0\u8f7d\u4e2d..."})})]})}var S={navigationStyle:"custom",enablePageMeta:!0,navigationBarTitleText:"DIY\u5de5\u4f5c\u53f0"};Page((0,t.createPageConfig)(N,"pages/diy/index",{root:{cn:[]}},S||{}))}},function(e){var a=function(a){return e(e.s=a)};e.O(0,[907,96,76],function(){return a(8955)});e.O()}]); \ No newline at end of file +"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[95],{8955:function(e,a,s){var t=s(7842),c=s(1212),n=s(467),i=s(9379),r=s(436),l=s(5544),o=s(118),d=s(758),u=s.n(d),h=s(6540),m=s(5234),p=s(1457),x=s(5787),g=s(9703),f=s(9201),v=s(5414),j=s(9674),N=s(3053),S=s(9513),y=s(4848);function w(){var e=(0,g.wR)(),a=(e.theme,e.resolvedTheme),s=(0,f.c)();(0,v.l)(a);var t=(0,h.useState)(null),d=(0,l.A)(t,2),w=d[0],b=d[1],k=(0,h.useState)(1),A=(0,l.A)(k,2),E=(A[0],A[1],(0,h.useState)("")),T=(0,l.A)(E,2),Y=T[0],D=T[1],I=(0,h.useState)(1),O=(0,l.A)(I,2),P=(O[0],O[1]),_=(0,h.useState)([]),F=(0,l.A)(_,2),M=F[0],B=F[1],R=(0,h.useState)(null),z=(0,l.A)(R,2),V=z[0],q=z[1],C=(0,h.useState)(!1),G=(0,l.A)(C,2),J=G[0],X=G[1],H=(0,h.useState)({x:0,y:0}),L=(0,l.A)(H,2),K=L[0],Q=L[1],U=(0,h.useState)(!1),W=(0,l.A)(U,2),Z=W[0],$=W[1],ee=(0,h.useState)(!1),ae=(0,l.A)(ee,2),se=ae[0],te=ae[1];(0,h.useEffect)(function(){var e=u().getCurrentInstance().router,a=e?e.params:void 0,s=a?a.source:void 0,t=a&&a.productId||a&&a.category;if("product"===s&&t){var c=(0,m.y9)(t);if(c){b(c),P(Number(a?a.quantity:void 0)||1);var n={id:"DSG"+Date.now(),productId:c.id,productName:c.name,productIcon:c.icon,unitPrice:c.price,count:Number(a?a.quantity:void 0)||1,status:"designing",createdAt:(new Date).toISOString().slice(0,10)},i=(0,p.p_)();(0,p.Fu)([].concat((0,r.A)(i),[n])),D(n.id)}}else if("designList"===s&&a&&a.designId){var l=a.designId,o=(0,p.p_)(),d=o.find(function(e){return e.id===l});if(d){D(l),P(d.count);var h=(0,m.y9)(d.productId);if(h&&b(h),d.designData?d.designData.stickers:void 0)B(d.designData.stickers);else if(d.designData?d.designData.imageSrc:void 0){var x={id:"legacy_"+Date.now(),src:d.designData.imageSrc,x:d.designData.imagePos&&d.designData.imagePos.x||0,y:d.designData.imagePos&&d.designData.imagePos.y||0,scale:d.designData.imagePos&&d.designData.imagePos.scale||1,width:200,height:200,isOverlapping:!1};B([x])}}}else if(t){var g=(0,m.y9)(t);if(g){b(g);var f={id:"DSG"+Date.now(),productId:g.id,productName:g.name,productIcon:g.icon,unitPrice:g.price,count:1,status:"designing",createdAt:(new Date).toISOString().slice(0,10)},v=(0,p.p_)();(0,p.Fu)([].concat((0,r.A)(v),[f])),D(f.id)}}},[]);var ce=function(e){for(var a=e.map(function(e){return(0,i.A)((0,i.A)({},e),{},{isOverlapping:!1})}),s=0;sn.x&&c.yn.y&&(a[s].isOverlapping=!0,a[t].isOverlapping=!0)}var u=a.some(function(e){return e.isOverlapping});return te(u),a},ne=function(){u().chooseImage({count:1,sizeType:["compressed"],sourceType:["album","camera"],success:function(e){var a=e.tempFilePaths[0];u().getImageInfo({src:a,success:function(e){var s={id:"stk_"+Date.now(),src:a,x:0,y:0,scale:1,width:e.width,height:e.height,isOverlapping:!1},t=[].concat((0,r.A)(M),[s]),c=ce(t);B(c),q(s.id)},fail:function(){var e={id:"stk_"+Date.now(),src:a,x:0,y:0,scale:1,width:200,height:200,isOverlapping:!1},s=[].concat((0,r.A)(M),[e]),t=ce(s);B(t),q(e.id)}})}})},ie=function(e){var a=M.filter(function(a){return a.id!==e}),s=ce(a);B(s),V===e&&q(null)},re=function(e,a){var s=e.touches[0],t=M.find(function(e){return e.id===a});t&&(q(a),X(!0),Q({x:s.clientX-t.x,y:s.clientY-t.y}))},le=function(e){if(J&&V){var a=e.touches[0],s=M.map(function(e){return e.id!==V?e:(0,i.A)((0,i.A)({},e),{},{x:a.clientX-K.x,y:a.clientY-K.y})}),t=ce(s);B(t)}},oe=function(){return X(!1)},de=function(){V&&Y&&u().navigateTo({url:"/pages/diy/stickerEdit/index?designId=".concat(Y,"&stickerId=").concat(V)})},ue=function(e,a){var s=M.map(function(s){return s.id!==e?s:(0,i.A)((0,i.A)({},s),{},{scale:Math.max(.3,Math.min(3,s.scale+a))})}),t=ce(s);B(t)},he=function(){u().navigateBack()},me=function(){if(!w)return{width:300,height:420};var e={width:w.mask.width,height:w.mask.height};return"rect"===w.mask.shape&&(e.borderRadius=w.mask.borderRadius||0),"circle"===w.mask.shape&&(e.borderRadius="50%"),e},pe=function(){var e=(0,n.A)((0,c.A)().m(function e(){var a;return(0,c.A)().w(function(e){while(1)switch(e.n){case 0:if(!se){e.n=1;break}return u().showToast({title:"\u8d34\u7eb8\u4e0d\u80fd\u91cd\u53e0",icon:"none"}),e.a(2);case 1:if(!Y){e.n=3;break}return e.n=2,(0,x.x5)({stickers:M,category:w,version:1});case 2:a=e.v,(0,p.i5)(Y,{designData:a});case 3:$(!1),u().navigateTo({url:"/pages/checkout/index?designId=".concat(Y)});case 4:return e.a(2)}},e)}));return function(){return e.apply(this,arguments)}}(),xe=V?M.find(function(e){return e.id===V}):void 0,ge=xe?xe.scale:1;return w?(0,y.jsxs)(o.Ss,{className:"theme-".concat(a),children:[(0,y.jsx)(j.A,{}),(0,y.jsx)(N.A,{title:"\u8bbe\u8ba1\u5de5\u4f5c\u53f0",targetSelector:".page-header.surface-card",showBack:!0}),(0,y.jsxs)(o.Ss,{className:"diy-page",children:[(0,y.jsx)(o.Ss,{className:"page-header surface-card",style:{paddingTop:"".concat(s.statusBarHeight+12,"px")},children:(0,y.jsxs)(o.Ss,{className:"flex-between",style:{width:"100%"},children:[(0,y.jsx)(o.EY,{className:"back-btn",onTap:he,children:"\u2190"}),(0,y.jsx)(o.EY,{className:"page-title",children:"\u8bbe\u8ba1\u5de5\u4f5c\u53f0"}),(0,y.jsx)(o.Ss,{className:"header-spacer"})]})}),(0,y.jsx)(o.Ss,{className:"canvas-wrapper surface-card mt-20",catchMove:!0,children:(0,y.jsxs)(o.Ss,{className:"canvas-area",style:me(),children:[M.map(function(e){return(0,y.jsx)(o._V,{className:"canvas-image ".concat(e.isOverlapping?"overlap":""," ").concat(V===e.id?"active":""),src:e.src,style:{transform:"translate(".concat(e.x,"px, ").concat(e.y,"px) scale(").concat(e.scale,")"),opacity:J&&V===e.id?.8:1,zIndex:V===e.id?10:5,width:e.width||200,height:e.height||200},onTouchStart:function(a){return re(a,e.id)},onTouchMove:le,onTouchEnd:oe,onTap:function(){return q(e.id)},mode:"aspectFit"},e.id)}),(0,y.jsx)(o.Ss,{className:"mask-border",style:me()})]})}),(0,y.jsxs)(o.Ss,{className:"sticker-panel surface-card mt-20",children:[(0,y.jsx)(o.EY,{className:"section-title",children:"\u8d34\u7eb8"}),(0,y.jsxs)(o.Ss,{className:"sticker-list",children:[M.map(function(e){return(0,y.jsxs)(o.Ss,{className:"sticker-thumb ".concat(e.isOverlapping?"overlap":""," ").concat(V===e.id?"active":""),children:[(0,y.jsx)(o._V,{src:e.src,className:"sticker-thumb-img",mode:"aspectFit",onTap:function(){return q(e.id)}}),(0,y.jsx)(o.Ss,{className:"sticker-del",onTap:function(){return ie(e.id)},children:(0,y.jsx)(o.EY,{className:"del-icon",children:"\xd7"})})]},e.id)}),(0,y.jsxs)(o.Ss,{className:"sticker-add-btn",onTap:ne,children:[(0,y.jsx)(o.EY,{className:"add-icon",children:"+"}),(0,y.jsx)(o.EY,{className:"add-label",children:"\u6dfb\u52a0"})]})]}),se&&(0,y.jsx)(o.EY,{className:"overlap-hint",children:"\u6709\u8d34\u7eb8\u91cd\u53e0\uff0c\u8bf7\u8c03\u6574\u4f4d\u7f6e"})]}),V&&(0,y.jsxs)(o.Ss,{className:"toolbar surface-card mt-20",children:[(0,y.jsxs)(o.Ss,{className:"tool-row",children:[(0,y.jsx)(o.EY,{className:"tool-label",children:"\u7f29\u653e"}),(0,y.jsxs)(o.Ss,{className:"flex-center",style:{gap:"20px"},children:[(0,y.jsx)(o.Ss,{className:"tool-btn",onTap:function(){return ue(V,-.1)},children:"\uff0d"}),(0,y.jsxs)(o.EY,{className:"tool-value",children:[Math.round(100*ge),"%"]}),(0,y.jsx)(o.Ss,{className:"tool-btn",onTap:function(){return ue(V,.1)},children:"\uff0b"})]})]}),(0,y.jsxs)(o.Ss,{className:"tool-row",children:[(0,y.jsx)(o.EY,{className:"tool-label",children:"\u63d0\u793a"}),(0,y.jsx)(o.EY,{className:"tool-hint",children:"\u62d6\u52a8\u8c03\u6574\u4f4d\u7f6e\uff0c\u8d34\u7eb8\u4e0d\u53ef\u91cd\u53e0"})]})]}),(0,y.jsx)(o.Ss,{className:"edit-btn-bar mt-20",children:(0,y.jsx)(o.Ss,{className:"edit-btn ".concat(V?"active":"disabled"),onTap:de,children:(0,y.jsx)(o.EY,{children:"\u7f16\u8f91"})})}),(0,y.jsxs)(S.A,{children:[(0,y.jsx)(o.Ss,{className:"btn-primary",onTap:function(){return $(!0)},children:(0,y.jsx)(o.EY,{children:"\u9884\u89c8\u6548\u679c"})}),(0,y.jsx)(o.Ss,{className:"btn-secondary",onTap:ne,children:(0,y.jsx)(o.EY,{children:"\u6dfb\u52a0\u8d34\u7eb8"})})]}),Z&&(0,y.jsx)(o.Ss,{className:"preview-overlay",children:(0,y.jsxs)(o.Ss,{className:"preview-card surface-card",children:[(0,y.jsx)(o.EY,{className:"preview-title",children:"\u786e\u8ba4\u6548\u679c"}),(0,y.jsx)(o.Ss,{className:"preview-canvas",style:me(),children:M.map(function(e){return(0,y.jsx)(o._V,{className:"preview-image ".concat(e.isOverlapping?"overlap":""),src:e.src,style:{transform:"translate(".concat(e.x,"px, ").concat(e.y,"px) scale(").concat(e.scale,")"),width:e.width||200,height:e.height||200},mode:"aspectFit"},e.id)})}),(0,y.jsxs)(o.Ss,{className:"product-info",children:[(0,y.jsx)(o.EY,{className:"product-name",children:w.name}),(0,y.jsxs)(o.EY,{className:"product-size",children:["\u753b\u5e03\u5c3a\u5bf8: ",w.mask.width," \xd7 ",w.mask.height," px"]}),se&&(0,y.jsx)(o.EY,{className:"overlap-hint",children:"\u8d34\u7eb8\u6709\u91cd\u53e0\uff0c\u4e0d\u53ef\u63d0\u4ea4"})]}),(0,y.jsxs)(o.Ss,{className:"preview-actions",children:[(0,y.jsx)(o.Ss,{className:"btn-secondary",onTap:function(){return $(!1)},children:(0,y.jsx)(o.EY,{children:"\u8fd4\u56de\u4fee\u6539"})}),(0,y.jsx)(o.Ss,{className:"btn-primary ".concat(se?"disabled":""),onTap:pe,children:(0,y.jsx)(o.EY,{children:"\u786e\u8ba4\u5b8c\u6210"})})]})]})}),(0,y.jsx)(o.Ss,{className:"safe-bottom-placeholder"})]})]}):(0,y.jsxs)(o.Ss,{className:"theme-".concat(a),children:[(0,y.jsx)(j.A,{}),(0,y.jsx)(N.A,{title:"\u8bbe\u8ba1\u5de5\u4f5c\u53f0",targetSelector:".page-header.surface-card",showBack:!0}),(0,y.jsx)(o.Ss,{className:"diy-page",children:(0,y.jsx)(o.EY,{className:"page-title",children:"\u52a0\u8f7d\u4e2d..."})})]})}var b={navigationStyle:"custom",enablePageMeta:!0,navigationBarTitleText:"DIY\u5de5\u4f5c\u53f0"};Page((0,t.createPageConfig)(w,"pages/diy/index",{root:{cn:[]}},b||{}))}},function(e){var a=function(a){return e(e.s=a)};e.O(0,[907,96,76],function(){return a(8955)});e.O()}]); \ No newline at end of file diff --git a/dist/pages/diy/stickerEdit/index.js b/dist/pages/diy/stickerEdit/index.js index b36258e..7258c02 100644 --- a/dist/pages/diy/stickerEdit/index.js +++ b/dist/pages/diy/stickerEdit/index.js @@ -1 +1 @@ -"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[339],{9519:function(e,s,t){var a=t(7842),n=t(9379),c=t(5544),i=t(118),r=t(758),l=t.n(r),o=t(6540),d=t(1457),u=t(9703),h=t(9201),f=t(5414),m=t(9674),x=t(3053),g=t(9513),v=t(4848),j=function(e,s,t){return Math.min(Math.max(e,s),t)};function S(){var e=(0,u.wR)(),s=e.resolvedTheme,t=(0,h.c)();(0,f.l)(s);var a=(0,o.useState)(""),r=(0,c.A)(a,2),S=r[0],N=r[1],p=(0,o.useState)(""),w=(0,c.A)(p,2),T=w[0],k=w[1],b=(0,o.useState)(null),y=(0,c.A)(b,2),A=y[0],E=y[1],Y=(0,o.useState)(0),M=(0,c.A)(Y,2),C=M[0],I=M[1],R=(0,o.useState)(0),D=(0,c.A)(R,2),P=D[0],B=D[1],q=(0,o.useState)(0),F=(0,c.A)(q,2),Q=F[0],J=F[1],O=(0,o.useState)(!1),X=(0,c.A)(O,2),H=X[0],_=X[1],z=(0,o.useState)(!1),G=(0,c.A)(z,2),K=G[0],L=G[1],U=((0,o.useRef)(null),(0,o.useRef)(null)),V=(0,o.useRef)(null),W=(0,o.useRef)({width:0,height:0}),Z=(0,o.useCallback)(function(e){K||l().nextTick(function(){var s=l().createSelectorQuery();s.select("#editCanvas").fields({node:!0,size:!0}).exec(function(s){var t=s&&s[0],a=t?t.node:void 0;if(a){var n=a.getContext("2d"),c=s[0]&&s[0].width||300,i=s[0]&&s[0].height||400;c<=0&&(c=300),i<=0&&(i=400);var r=l().getSystemInfoSync().pixelRatio||1;a.width=Math.round(c*r),a.height=Math.round(i*r),n.scale(r,r),V.current=a,U.current=n,W.current={width:c,height:i},L(!0),$(n,c,i,e)}else setTimeout(function(){return Z(e)},300)})})},[K]);(0,o.useEffect)(function(){var e=l().getCurrentInstance().router,s=e?e.params:void 0,t=s?s.designId:"",a=s?s.stickerId:"";N(t),k(a);var n=(0,d.p_)(),c=n.find(function(e){return e.id===t}),i=c&&c.designData&&c.designData.stickers?c.designData.stickers.find(function(e){return e.id===a}):void 0;i&&(E(i),I(i.edits&&i.edits.brightness||0),B(i.edits&&i.edits.hue||0),J(i.edits&&i.edits.contrast||0),Z(i))},[Z]);var $=function(e,s,t,a,n){if(e&&V.current){var c=V.current;if(s&&t){var i=a.width||200,r=a.height||200,o=c.createImage();o.onload=function(){e.clearRect(0,0,s,t),e.save();var a=.9*Math.min(s/i,t/r,4),c=i*a,l=r*a,d=(s-c)/2,u=(t-l)/2,h=n?n.brightness:C,f=n?n.hue:P,m=n?n.contrast:Q;e.filter=0!==h||0!==f||0!==m?"brightness(".concat(100+h,"%) hue-rotate(").concat(f,"deg) contrast(").concat(100+m,"%)"):"none",e.drawImage(o,d,u,c,l),e.restore()},o.onerror=function(e){console.error("Canvas load image error:",e,a.src),l().showToast({title:"\u56fe\u7247\u52a0\u8f7d\u5931\u8d25",icon:"none"})},a.src&&(o.src=a.src)}}},ee=function(){if(A&&U.current&&V.current){var e=W.current,s=e.width,t=e.height;$(U.current,s,t,A,{brightness:C,hue:P,contrast:Q})}};(0,o.useEffect)(function(){ee()},[C,P,Q]);var se=function(){A&&S&&(_(!0),l().canvasToTempFilePath({canvas:V.current,quality:.92,success:function(e){var s=e.tempFilePath,t=(0,d.p_)(),a=t.findIndex(function(e){return e.id===S});if(-1!==a){var c=t[a].designData&&t[a].designData.stickers||[],i=c.findIndex(function(e){return e.id===T});-1!==i?(c[i]=(0,n.A)((0,n.A)({},c[i]),{},{src:s,edits:{brightness:C,hue:P,contrast:Q}}),(0,d.i5)(S,{designData:(0,n.A)((0,n.A)({},t[a].designData),{},{stickers:c})}),l().showToast({title:"\u4fdd\u5b58\u6210\u529f",icon:"success"}),l().navigateBack()):_(!1)}else _(!1)},fail:function(){_(!1),l().showToast({title:"\u4fdd\u5b58\u5931\u8d25",icon:"none"})}}))},te=function(){A&&(l().cropImage?l().cropImage({src:A.src,cropScale:"1:1",success:function(e){var s=(0,n.A)((0,n.A)({},A),{},{src:e.tempFilePath});E(s),setTimeout(function(){return ee()},200)}}):l().showToast({title:"\u5f53\u524d\u5fae\u4fe1\u7248\u672c\u4e0d\u652f\u6301\u88c1\u526a",icon:"none"}))},ae="https://your-api-domain.com",ne=function(){A&&(_(!0),l().uploadFile({url:"".concat(ae,"/api/sketch"),filePath:A.src,name:"image",success:function(e){try{var s=JSON.parse(e.data);if(!s.url)throw new Error("no url");var t=(0,n.A)((0,n.A)({},A),{},{src:s.url,edits:(0,n.A)((0,n.A)({},A.edits),{},{sketchSrc:s.url})});E(t),setTimeout(function(){return ee()},200),l().showToast({title:"\u7ebf\u7a3f\u751f\u6210\u6210\u529f",icon:"success"})}catch(e){ce()}},fail:function(){ce()}}))},ce=function(){A&&U.current?(l().showToast({title:"\u4f7f\u7528\u672c\u5730\u7ebf\u7a3f",icon:"none"}),I(20),J(80),B(0),_(!1)):_(!1)},ie="".concat((C+100)/200*100,"%"),re="".concat((P+180)/360*100,"%"),le="".concat((Q+100)/200*100,"%");return(0,v.jsxs)(i.Ss,{className:"theme-".concat(s),children:[(0,v.jsx)(m.A,{}),(0,v.jsx)(x.A,{title:"\u7f16\u8f91\u8d34\u7eb8",targetSelector:".edit-header",showBack:!0}),(0,v.jsxs)(i.Ss,{className:"sticker-edit-page",children:[(0,v.jsxs)(i.Ss,{className:"edit-header",style:{paddingTop:"".concat(t.statusBarHeight+12,"px")},children:[(0,v.jsx)(i.EY,{className:"edit-back",onTap:function(){return l().navigateBack()},children:"\u2190"}),(0,v.jsx)(i.EY,{className:"edit-title",children:"\u7f16\u8f91\u8d34\u7eb8"}),(0,v.jsx)(i.EY,{className:"edit-save",onTap:se,children:"\u4fdd\u5b58"})]}),(0,v.jsx)(i.Ss,{className:"edit-canvas-wrap",children:(0,v.jsx)(i.Hl,{id:"editCanvas",type:"2d",className:"edit-canvas",style:{width:"100%",height:"480rpx"}})}),(0,v.jsxs)(i.Ss,{className:"edit-tools surface-card mt-20",children:[(0,v.jsxs)(i.Ss,{className:"edit-row",children:[(0,v.jsx)(i.EY,{className:"edit-label",children:"\u5feb\u901f\u64cd\u4f5c"}),(0,v.jsxs)(i.Ss,{className:"edit-quick-actions",children:[(0,v.jsx)(i.Ss,{className:"quick-btn",onTap:te,children:(0,v.jsx)(i.EY,{children:"\u88c1\u526a"})}),(0,v.jsx)(i.Ss,{className:"quick-btn",onTap:ne,children:(0,v.jsx)(i.EY,{children:"\u8f6c\u7ebf\u7a3f"})})]})]}),(0,v.jsxs)(i.Ss,{className:"edit-row slider-row",onTouchMove:function(e){var s=e.changedTouches[0].clientX,t=l().createSelectorQuery().in(e.currentTarget);t.select(".slider-track").boundingClientRect(function(e){if(e){var t=j((s-e.left)/e.width,0,1),a=1*Math.round((200*t-100)/1);I(j(a,-100,100))}}).exec()},children:[(0,v.jsx)(i.EY,{className:"edit-label",children:"\u4eae\u5ea6"}),(0,v.jsxs)(i.Ss,{className:"slider-wrap",children:[(0,v.jsxs)(i.Ss,{className:"slider-track",children:[(0,v.jsx)(i.Ss,{className:"slider-fill",style:{width:ie}}),(0,v.jsx)(i.Ss,{className:"slider-thumb",style:{left:ie}})]}),(0,v.jsx)(i.EY,{className:"slider-value",children:C>0?"+".concat(C):C})]})]}),(0,v.jsxs)(i.Ss,{className:"edit-row slider-row",onTouchMove:function(e){var s=e.changedTouches[0].clientX,t=l().createSelectorQuery().in(e.currentTarget);t.select(".slider-track").boundingClientRect(function(e){if(e){var t=j((s-e.left)/e.width,0,1),a=1*Math.round((360*t-180)/1);B(j(a,-180,180))}}).exec()},children:[(0,v.jsx)(i.EY,{className:"edit-label",children:"\u8272\u76f8"}),(0,v.jsxs)(i.Ss,{className:"slider-wrap",children:[(0,v.jsxs)(i.Ss,{className:"slider-track",children:[(0,v.jsx)(i.Ss,{className:"slider-fill",style:{width:re}}),(0,v.jsx)(i.Ss,{className:"slider-thumb",style:{left:re}})]}),(0,v.jsx)(i.EY,{className:"slider-value",children:P>0?"+".concat(P):P})]})]}),(0,v.jsxs)(i.Ss,{className:"edit-row slider-row",onTouchMove:function(e){var s=e.changedTouches[0].clientX,t=l().createSelectorQuery().in(e.currentTarget);t.select(".slider-track").boundingClientRect(function(e){if(e){var t=j((s-e.left)/e.width,0,1),a=1*Math.round((200*t-100)/1);J(j(a,-100,100))}}).exec()},children:[(0,v.jsx)(i.EY,{className:"edit-label",children:"\u5bf9\u6bd4\u5ea6"}),(0,v.jsxs)(i.Ss,{className:"slider-wrap",children:[(0,v.jsxs)(i.Ss,{className:"slider-track",children:[(0,v.jsx)(i.Ss,{className:"slider-fill",style:{width:le}}),(0,v.jsx)(i.Ss,{className:"slider-thumb",style:{left:le}})]}),(0,v.jsx)(i.EY,{className:"slider-value",children:Q>0?"+".concat(Q):Q})]})]})]}),(0,v.jsx)(i.Ss,{style:{flex:1}}),(0,v.jsxs)(g.A,{className:"edit-footer",children:[(0,v.jsx)(i.Ss,{className:"btn-secondary",onTap:function(){return l().navigateBack()},children:(0,v.jsx)(i.EY,{children:"\u53d6\u6d88"})}),(0,v.jsx)(i.Ss,{className:"btn-primary",onTap:se,children:(0,v.jsx)(i.EY,{children:"\u4fdd\u5b58"})})]}),(0,v.jsx)(i.Ss,{className:"safe-bottom-placeholder"}),H&&(0,v.jsx)(i.Ss,{className:"edit-loading",children:(0,v.jsx)(i.EY,{className:"edit-loading-text",children:"\u5904\u7406\u4e2d\u2026"})})]})]})}var N={navigationStyle:"custom",enablePageMeta:!0,navigationBarTitleText:"\u7f16\u8f91\u8d34\u7eb8"};Page((0,a.createPageConfig)(S,"pages/diy/stickerEdit/index",{root:{cn:[]}},N||{}))}},function(e){var s=function(s){return e(e.s=s)};e.O(0,[907,96,76],function(){return s(9519)});e.O()}]); \ No newline at end of file +"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[339],{9519:function(e,s,t){var a=t(7842),n=t(1212),c=t(467),r=t(9379),i=t(5544),l=t(118),o=t(758),d=t.n(o),u=t(6540),h=t(1457),f=t(5787),m=t(9703),x=t(9201),g=t(5414),v=t(9674),j=t(3053),S=t(9513),w=t(4848),N=function(e,s,t){return Math.min(Math.max(e,s),t)};function p(){var e=(0,m.wR)(),s=e.resolvedTheme,t=(0,x.c)();(0,g.l)(s);var a=(0,u.useState)(""),o=(0,i.A)(a,2),p=o[0],T=o[1],k=(0,u.useState)(""),b=(0,i.A)(k,2),A=b[0],y=b[1],E=(0,u.useState)(null),Y=(0,i.A)(E,2),M=Y[0],C=Y[1],I=(0,u.useState)(0),R=(0,i.A)(I,2),D=R[0],B=R[1],P=(0,u.useState)(0),q=(0,i.A)(P,2),Q=q[0],U=q[1],F=(0,u.useState)(0),X=(0,i.A)(F,2),H=X[0],J=X[1],O=(0,u.useState)(!1),_=(0,i.A)(O,2),z=_[0],W=_[1],$=(0,u.useState)(!1),G=(0,i.A)($,2),K=G[0],L=G[1],V=((0,u.useRef)(null),(0,u.useRef)(null)),Z=(0,u.useRef)(null),ee=(0,u.useRef)({width:0,height:0}),se=(0,u.useCallback)(function(e){K||d().nextTick(function(){var s=d().createSelectorQuery();s.select("#editCanvas").fields({node:!0,size:!0}).exec(function(s){var t=s&&s[0],a=t?t.node:void 0;if(a){var n=a.getContext("2d"),c=s[0]&&s[0].width||300,r=s[0]&&s[0].height||400;c<=0&&(c=300),r<=0&&(r=400);var i=d().getSystemInfoSync().pixelRatio||1;a.width=Math.round(c*i),a.height=Math.round(r*i),n.scale(i,i),Z.current=a,V.current=n,ee.current={width:c,height:r},L(!0),te(n,c,r,e)}else setTimeout(function(){return se(e)},300)})})},[K]);(0,u.useEffect)(function(){var e=d().getCurrentInstance().router,s=e?e.params:void 0,t=s?s.designId:"",a=s?s.stickerId:"";T(t),y(a);var n=(0,h.p_)(),c=n.find(function(e){return e.id===t}),r=c&&c.designData&&c.designData.stickers?c.designData.stickers.find(function(e){return e.id===a}):void 0;r&&(C(r),B(r.edits&&r.edits.brightness||0),U(r.edits&&r.edits.hue||0),J(r.edits&&r.edits.contrast||0),se(r))},[se]);var te=function(e,s,t,a,n){if(e&&Z.current){var c=Z.current;if(s&&t){var r=a.width||200,i=a.height||200,l=c.createImage();l.onload=function(){e.clearRect(0,0,s,t),e.save();var a=.9*Math.min(s/r,t/i,4),c=r*a,o=i*a,d=(s-c)/2,u=(t-o)/2,h=n?n.brightness:D,f=n?n.hue:Q,m=n?n.contrast:H;e.filter=0!==h||0!==f||0!==m?"brightness(".concat(100+h,"%) hue-rotate(").concat(f,"deg) contrast(").concat(100+m,"%)"):"none",e.drawImage(l,d,u,c,o),e.restore()},l.onerror=function(e){console.error("Canvas load image error:",e,a.src),d().showToast({title:"\u56fe\u7247\u52a0\u8f7d\u5931\u8d25",icon:"none"})},a.src&&(l.src=a.src)}}},ae=function(){if(M&&V.current&&Z.current){var e=ee.current,s=e.width,t=e.height;te(V.current,s,t,M,{brightness:D,hue:Q,contrast:H})}};(0,u.useEffect)(function(){ae()},[D,Q,H]);var ne=function(){M&&p&&(W(!0),d().canvasToTempFilePath({canvas:Z.current,quality:.92,success:function(e){var s=e.tempFilePath,t=(0,h.p_)(),a=t.findIndex(function(e){return e.id===p});if(-1!==a){var n=t[a].designData&&t[a].designData.stickers||[],c=n.findIndex(function(e){return e.id===A});-1!==c?(n[c]=(0,r.A)((0,r.A)({},n[c]),{},{src:s,edits:{brightness:D,hue:Q,contrast:H}}),(0,h.i5)(p,{designData:(0,r.A)((0,r.A)({},t[a].designData),{},{stickers:n})}),d().showToast({title:"\u4fdd\u5b58\u6210\u529f",icon:"success"}),d().navigateBack()):W(!1)}else W(!1)},fail:function(){W(!1),d().showToast({title:"\u4fdd\u5b58\u5931\u8d25",icon:"none"})}}))},ce=function(){M&&(d().cropImage?d().cropImage({src:M.src,cropScale:"1:1",success:function(e){var s=(0,r.A)((0,r.A)({},M),{},{src:e.tempFilePath});C(s),setTimeout(function(){return ae()},200)}}):d().showToast({title:"\u5f53\u524d\u5fae\u4fe1\u7248\u672c\u4e0d\u652f\u6301\u88c1\u526a",icon:"none"}))},re=function(){var e=(0,c.A)((0,n.A)().m(function e(){var s,t;return(0,n.A)().w(function(e){while(1)switch(e.p=e.n){case 0:if(M){e.n=1;break}return e.a(2);case 1:return W(!0),e.p=2,e.n=3,(0,f.W$)(M.src);case 3:if(s=e.v,null===s||void 0===s||!s.imageUrl){e.n=4;break}t=(0,r.A)((0,r.A)({},M),{},{src:s.imageUrl,edits:(0,r.A)((0,r.A)({},M.edits),{},{sketchSrc:s.imageUrl})}),C(t),W(!1),setTimeout(function(){return ae()},200),d().showToast({title:"\u7ebf\u7a3f\u751f\u6210\u6210\u529f",icon:"success"}),e.n=5;break;case 4:throw new Error("no imageUrl");case 5:e.n=7;break;case 6:e.p=6,e.v,ie();case 7:return e.a(2)}},e,null,[[2,6]])}));return function(){return e.apply(this,arguments)}}(),ie=function(){M&&V.current?(d().showToast({title:"\u4f7f\u7528\u672c\u5730\u7ebf\u7a3f",icon:"none"}),B(20),J(80),U(0),W(!1)):W(!1)},le="".concat((D+100)/200*100,"%"),oe="".concat((Q+180)/360*100,"%"),de="".concat((H+100)/200*100,"%");return(0,w.jsxs)(l.Ss,{className:"theme-".concat(s),children:[(0,w.jsx)(v.A,{}),(0,w.jsx)(j.A,{title:"\u7f16\u8f91\u8d34\u7eb8",targetSelector:".edit-header",showBack:!0}),(0,w.jsxs)(l.Ss,{className:"sticker-edit-page",children:[(0,w.jsxs)(l.Ss,{className:"edit-header",style:{paddingTop:"".concat(t.statusBarHeight+12,"px")},children:[(0,w.jsx)(l.EY,{className:"edit-back",onTap:function(){return d().navigateBack()},children:"\u2190"}),(0,w.jsx)(l.EY,{className:"edit-title",children:"\u7f16\u8f91\u8d34\u7eb8"}),(0,w.jsx)(l.EY,{className:"edit-save",onTap:ne,children:"\u4fdd\u5b58"})]}),(0,w.jsx)(l.Ss,{className:"edit-canvas-wrap",children:(0,w.jsx)(l.Hl,{id:"editCanvas",type:"2d",className:"edit-canvas",style:{width:"100%",height:"480rpx"}})}),(0,w.jsxs)(l.Ss,{className:"edit-tools surface-card mt-20",children:[(0,w.jsxs)(l.Ss,{className:"edit-row",children:[(0,w.jsx)(l.EY,{className:"edit-label",children:"\u5feb\u901f\u64cd\u4f5c"}),(0,w.jsxs)(l.Ss,{className:"edit-quick-actions",children:[(0,w.jsx)(l.Ss,{className:"quick-btn",onTap:ce,children:(0,w.jsx)(l.EY,{children:"\u88c1\u526a"})}),(0,w.jsx)(l.Ss,{className:"quick-btn",onTap:re,children:(0,w.jsx)(l.EY,{children:"\u8f6c\u7ebf\u7a3f"})})]})]}),(0,w.jsxs)(l.Ss,{className:"edit-row slider-row",onTouchMove:function(e){var s=e.changedTouches[0].clientX,t=d().createSelectorQuery().in(e.currentTarget);t.select(".slider-track").boundingClientRect(function(e){if(e){var t=N((s-e.left)/e.width,0,1),a=1*Math.round((200*t-100)/1);B(N(a,-100,100))}}).exec()},children:[(0,w.jsx)(l.EY,{className:"edit-label",children:"\u4eae\u5ea6"}),(0,w.jsxs)(l.Ss,{className:"slider-wrap",children:[(0,w.jsxs)(l.Ss,{className:"slider-track",children:[(0,w.jsx)(l.Ss,{className:"slider-fill",style:{width:le}}),(0,w.jsx)(l.Ss,{className:"slider-thumb",style:{left:le}})]}),(0,w.jsx)(l.EY,{className:"slider-value",children:D>0?"+".concat(D):D})]})]}),(0,w.jsxs)(l.Ss,{className:"edit-row slider-row",onTouchMove:function(e){var s=e.changedTouches[0].clientX,t=d().createSelectorQuery().in(e.currentTarget);t.select(".slider-track").boundingClientRect(function(e){if(e){var t=N((s-e.left)/e.width,0,1),a=1*Math.round((360*t-180)/1);U(N(a,-180,180))}}).exec()},children:[(0,w.jsx)(l.EY,{className:"edit-label",children:"\u8272\u76f8"}),(0,w.jsxs)(l.Ss,{className:"slider-wrap",children:[(0,w.jsxs)(l.Ss,{className:"slider-track",children:[(0,w.jsx)(l.Ss,{className:"slider-fill",style:{width:oe}}),(0,w.jsx)(l.Ss,{className:"slider-thumb",style:{left:oe}})]}),(0,w.jsx)(l.EY,{className:"slider-value",children:Q>0?"+".concat(Q):Q})]})]}),(0,w.jsxs)(l.Ss,{className:"edit-row slider-row",onTouchMove:function(e){var s=e.changedTouches[0].clientX,t=d().createSelectorQuery().in(e.currentTarget);t.select(".slider-track").boundingClientRect(function(e){if(e){var t=N((s-e.left)/e.width,0,1),a=1*Math.round((200*t-100)/1);J(N(a,-100,100))}}).exec()},children:[(0,w.jsx)(l.EY,{className:"edit-label",children:"\u5bf9\u6bd4\u5ea6"}),(0,w.jsxs)(l.Ss,{className:"slider-wrap",children:[(0,w.jsxs)(l.Ss,{className:"slider-track",children:[(0,w.jsx)(l.Ss,{className:"slider-fill",style:{width:de}}),(0,w.jsx)(l.Ss,{className:"slider-thumb",style:{left:de}})]}),(0,w.jsx)(l.EY,{className:"slider-value",children:H>0?"+".concat(H):H})]})]})]}),(0,w.jsx)(l.Ss,{style:{flex:1}}),(0,w.jsxs)(S.A,{className:"edit-footer",children:[(0,w.jsx)(l.Ss,{className:"btn-secondary",onTap:function(){return d().navigateBack()},children:(0,w.jsx)(l.EY,{children:"\u53d6\u6d88"})}),(0,w.jsx)(l.Ss,{className:"btn-primary",onTap:ne,children:(0,w.jsx)(l.EY,{children:"\u4fdd\u5b58"})})]}),(0,w.jsx)(l.Ss,{className:"safe-bottom-placeholder"}),z&&(0,w.jsx)(l.Ss,{className:"edit-loading",children:(0,w.jsx)(l.EY,{className:"edit-loading-text",children:"\u5904\u7406\u4e2d\u2026"})})]})]})}var T={navigationStyle:"custom",enablePageMeta:!0,navigationBarTitleText:"\u7f16\u8f91\u8d34\u7eb8"};Page((0,a.createPageConfig)(p,"pages/diy/stickerEdit/index",{root:{cn:[]}},T||{}))}},function(e){var s=function(s){return e(e.s=s)};e.O(0,[907,96,76],function(){return s(9519)});e.O()}]); \ No newline at end of file diff --git a/dist/pages/profile/index.js b/dist/pages/profile/index.js index 1007db1..f13373d 100644 --- a/dist/pages/profile/index.js +++ b/dist/pages/profile/index.js @@ -1 +1 @@ -"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[481],{2579:function(e,s,a){var n=a(7842),i=a(1212),t=a(467),r=a(5544),c=a(118),l=a(758),o=a.n(l),u=a(6540),d=a(1457),p=a(9703),m=a(9201),g=a(5414),h=a(9674),x=a(3053),f=a(4093),j=a(3246),v=a(8199),N=a(4848),S={"\u6211\u7684\u8bbe\u8ba1":(0,v.uq)("/icon/\u8c03\u8272\u76d8.png"),"\u8bcd\u4e91\u751f\u6210":(0,v.uq)("/icon/\u8bcd\u4e91\u751f\u6210.png"),"\u6536\u8d27\u5730\u5740":(0,v.uq)("/icon/\u5730\u5740.png"),"\u8054\u7cfb\u5ba2\u670d":(0,v.uq)("/icon/\u7535\u8bdd.png"),"\u4f7f\u7528\u5e2e\u52a9":(0,v.uq)("/icon/\u4f7f\u7528\u5e2e\u52a9.png"),"\u8bbe\u7f6e":(0,v.uq)("/icon/\u8bbe\u7f6e.png")},b=[{key:"toDesign",label:"\u5f85\u8bbe\u8ba1",icon:(0,v.uq)("/icon/\u4e09\u89d2\u5c3a.png")},{key:"pending",label:"\u5f85\u4ed8\u6b3e",icon:(0,v.uq)("/icon/\u56db\u89d2\u661f.svg")},{key:"paid",label:"\u5f85\u53d1\u8d27",icon:(0,v.uq)("/icon/\u5305\u88f9.png")},{key:"shipping",label:"\u5f85\u6536\u8d27",icon:(0,v.uq)("/icon/\u676f\u5b50.png")},{key:"done",label:"\u5df2\u5b8c\u6210",icon:(0,v.uq)("/icon/\u4e66\u672c.png")}],k=[{label:"\u6211\u7684\u8bbe\u8ba1",path:"/pages/designList/index"},{label:"\u8bcd\u4e91\u751f\u6210",path:"/pages/wordcloud/index"},{label:"\u6536\u8d27\u5730\u5740",path:"/pages/address/index"},{label:"\u8054\u7cfb\u5ba2\u670d",path:"/pages/service/index"},{label:"\u4f7f\u7528\u5e2e\u52a9",path:"/pages/agreement/index"},{label:"\u8bbe\u7f6e",path:"/pages/settings/index"}],w=function(){};function T(){var e=(0,p.wR)(),s=(e.theme,e.resolvedTheme),a=(0,m.c)();(0,g.l)(s);var n=(0,u.useState)(!1),T=(0,r.A)(n,2),y=T[0],A=T[1],E=(0,u.useState)({nickName:"",avatarUrl:""}),Y=(0,r.A)(E,2),q=Y[0],U=Y[1],F=(0,u.useState)(!1),_=(0,r.A)(F,2),D=_[0],P=_[1],V=(0,u.useState)("entry"),L=(0,r.A)(V,2),C=L[0],J=L[1],O=(0,u.useState)(""),B=(0,r.A)(O,2),H=B[0],I=B[1],M=(0,u.useState)(""),R=(0,r.A)(M,2),W=R[0],$=R[1],z=(0,u.useState)(!1),G=(0,r.A)(z,2),K=G[0],Q=G[1],X=(0,u.useState)({toDesign:0,pending:0,paid:0,shipping:0,done:0}),Z=(0,r.A)(X,2),ee=Z[0],se=Z[1],ae=function(){var e=(0,d.n7)(),s=(0,d.p_)();se({toDesign:s.filter(function(e){return"undesigned"===e.status||"designing"===e.status}).length,pending:e.filter(function(e){return"pending"===e.statusCode}).length,paid:e.filter(function(e){return"paid"===e.statusCode}).length,shipping:e.filter(function(e){return"shipping"===e.statusCode}).length,done:e.filter(function(e){return"done"===e.statusCode}).length})},ne=function(){var e=(0,d.ug)();e&&e.openid?(A(!0),U({nickName:e.nickName||"",avatarUrl:e.avatarUrl||""})):(A(!1),U({nickName:"",avatarUrl:""})),ae()};(0,l.useDidShow)(function(){ne()});var ie=function(){J("entry"),I(""),$(""),P(!0)},te=function(){return P(!1)},re=function(e){Q(!1),(0,j.Sy)(),o().showToast({title:e,icon:"none"})},ce=function(e,s,a,n){var i={openid:s,nickName:a||"\u5fae\u4fe1\u7528\u6237",avatarUrl:n||"",accessToken:e,loginAt:Date.now()};(0,d.iA)(i),U({nickName:i.nickName,avatarUrl:i.avatarUrl}),A(!0),P(!1),J("entry"),Q(!1),(0,j.Sy)(),o().showToast({title:"\u767b\u5f55\u6210\u529f",icon:"success"})},le=function(){var e=(0,t.A)((0,i.A)().m(function e(){var s,a,n,t,r,c;return(0,i.A)().w(function(e){while(1)switch(e.p=e.n){case 0:if(!K){e.n=1;break}return e.a(2);case 1:return console.log("[Profile] \u767b\u5f55\u6309\u94ae\u88ab\u70b9\u51fb\uff0c\u5f00\u59cb\u767b\u5f55\u6d41\u7a0b"),Q(!0),o().showLoading({title:"\u767b\u5f55\u4e2d",mask:!0}),e.p=2,e.n=3,o().login();case 3:return s=e.v,console.log("[Profile] wx.login \u6210\u529f\uff0ccode=",s.code),e.n=4,(0,f.iD)(s.code);case 4:if(a=e.v,console.log("[Profile] \u540e\u7aef /auth/login \u8fd4\u56de:",JSON.stringify(a)),a&&a.accessToken){e.n=5;break}return re("\u767b\u5f55\u5931\u8d25\uff0c\u672a\u62ff\u5230 token"),e.a(2);case 5:return n="",e.p=6,e.n=7,(0,f.jp)();case 7:t=e.v,n=t&&t.openid||"",e.n=9;break;case 8:e.p=8,e.v,n="";case 9:if(n){e.n=10;break}return re("\u767b\u5f55\u5f02\u5e38\uff0c\u8bf7\u91cd\u8bd5"),e.a(2);case 10:if(r=a.isNewUser||!a.nickname||!a.avatar,!r){e.n=11;break}return I(a.nickname||""),$(a.avatar||""),(0,j.Sy)(),Q(!1),J("fill"),o().showToast({title:"\u8bf7\u8bbe\u7f6e\u5934\u50cf\u548c\u6635\u79f0",icon:"none"}),e.a(2);case 11:ce(a.accessToken,n,a.nickname||"",a.avatar||""),e.n=13;break;case 12:e.p=12,c=e.v,console.error("[Profile] \u767b\u5f55\u6d41\u7a0b\u51fa\u9519:",c),re(c&&c.message||"\u540e\u7aef\u8fde\u63a5\u5931\u8d25\uff0c\u8bf7\u68c0\u67e5\u7f51\u7edc");case 13:return e.a(2)}},e,null,[[6,8],[2,12]])}));return function(){return e.apply(this,arguments)}}(),oe=function(){var e=(0,t.A)((0,i.A)().m(function e(){var s,a,n,t;return(0,i.A)().w(function(e){while(1)switch(e.p=e.n){case 0:if(!K){e.n=1;break}return e.a(2);case 1:return Q(!0),o().showLoading({title:"\u4fdd\u5b58\u4e2d",mask:!0}),e.p=2,e.n=3,(0,f.r7)({nickname:H||void 0,avatar:W||void 0});case 3:return s="",e.p=4,e.n=5,(0,f.jp)();case 5:a=e.v,s=a&&a.openid||"",e.n=7;break;case 6:e.p=6,e.v,s="";case 7:if(s){e.n=8;break}return re("\u4fdd\u5b58\u5f02\u5e38\uff0c\u8bf7\u91cd\u8bd5"),e.a(2);case 8:n=(0,d.ug)(),ce(n&&n.accessToken||(0,f.gf)(),s,H,W),e.n=10;break;case 9:e.p=9,t=e.v,console.error("[Profile] \u4fdd\u5b58\u8d44\u6599\u51fa\u9519:",t),re(t&&t.message||"\u4fdd\u5b58\u5931\u8d25");case 10:return e.a(2)}},e,null,[[4,6],[2,9]])}));return function(){return e.apply(this,arguments)}}(),ue=function(e){$(e.detail.avatarUrl||"")},de=function(e){switch(o().hideToast(),e){case"toDesign":o().setStorageSync("designList:filter","toDesign"),o().switchTab({url:"/pages/designList/index"});break;case"pending":o().setStorageSync("orders:filter","pending"),o().switchTab({url:"/pages/orders/index"});break;case"paid":o().setStorageSync("orders:filter","paid"),o().switchTab({url:"/pages/orders/index"});break;case"shipping":o().setStorageSync("orders:filter","shipping"),o().switchTab({url:"/pages/orders/index"});break;case"done":o().setStorageSync("orders:filter","done"),o().switchTab({url:"/pages/orders/index"});break}},pe=function(e,s){if(o().hideToast(),!y&&(e.includes("designList")||e.includes("orders")))return o().showToast({title:"\u8bf7\u5148\u767b\u5f55",icon:"none"}),void P(!0);"\u8054\u7cfb\u5ba2\u670d"!==s?e.startsWith("/pages/")&&(e.includes("designList")||e.includes("orders")?o().switchTab({url:e,fail:function(e){console.error("switchTab fail",e),o().showToast({title:"\u8df3\u8f6c\u5931\u8d25",icon:"none"})}}):o().navigateTo({url:e,fail:function(e){console.error("navigateTo fail",e),o().showToast({title:"\u8df3\u8f6c\u5931\u8d25",icon:"none"})}})):o().navigateTo({url:"/pages/service/index",fail:function(e){console.error("navigateTo service fail",e),o().showToast({title:"\u8df3\u8f6c\u5931\u8d25",icon:"none"})}})};return(0,N.jsxs)(c.Ss,{className:"theme-".concat(s),style:{minHeight:"100vh"},children:[(0,N.jsx)(h.A,{}),(0,N.jsx)(x.A,{title:"\u6211\u7684",targetSelector:".profile-header"}),(0,N.jsxs)(c.Ss,{className:"profile-page",children:[(0,N.jsxs)(c.Ss,{className:"profile-header surface-card",style:{marginTop:"".concat(a.statusBarHeight+12,"px")},children:[(0,N.jsxs)(c.Ss,{className:"user-info",children:[y&&q.avatarUrl?(0,N.jsx)(c._V,{className:"avatar",src:q.avatarUrl,mode:"aspectFill"}):(0,N.jsx)(c.Ss,{className:"avatar-placeholder",onTap:ie,children:(0,N.jsx)(c._V,{className:"avatar-icon-img",src:(0,v.uq)("/icon/\u4e2a\u4eba.png"),mode:"aspectFit"})}),(0,N.jsxs)(c.Ss,{className:"user-meta",children:[(0,N.jsx)(c.EY,{className:"user-name",onTap:y?w:ie,children:y?q.nickName:"\u70b9\u51fb\u767b\u5f55"}),(0,N.jsx)(c.EY,{className:"user-level",children:y?"\u667a\u7ed8\u5fae\u523b\u4f1a\u5458":"\u6388\u6743\u5fae\u4fe1\uff0c\u5f00\u542f\u4e13\u5c5e\u5b9a\u5236"})]})]}),(0,N.jsxs)(c.Ss,{className:"status-grid",children:[(0,N.jsx)(c.Ss,{className:"status-row row2",children:b.slice(0,2).map(function(e){return(0,N.jsxs)(c.Ss,{className:"status-group",children:[(0,N.jsxs)(c.Ss,{className:"status-item",onTap:function(){return de(e.key)},children:[(0,N.jsx)(c._V,{className:"status-icon-img",src:e.icon,mode:"aspectFit"}),(0,N.jsx)(c.EY,{className:"status-num",children:ee[e.key]}),(0,N.jsx)(c.EY,{className:"status-label",children:e.label})]}),(0,N.jsx)(c.Ss,{className:"status-divider"})]},e.key)})}),(0,N.jsx)(c.Ss,{className:"status-divider-h"}),(0,N.jsx)(c.Ss,{className:"status-row row3",children:b.slice(2).map(function(e,s){return(0,N.jsxs)(c.Ss,{className:"status-group",children:[(0,N.jsxs)(c.Ss,{className:"status-item",onTap:function(){return de(e.key)},children:[(0,N.jsx)(c._V,{className:"status-icon-img",src:e.icon,mode:"aspectFit"}),(0,N.jsx)(c.EY,{className:"status-num",children:ee[e.key]}),(0,N.jsx)(c.EY,{className:"status-label",children:e.label})]}),s<2&&(0,N.jsx)(c.Ss,{className:"status-divider"})]},e.key)})})]})]}),(0,N.jsxs)(c.Ss,{className:"mt-20",children:[(0,N.jsx)(c.EY,{className:"section-title",children:"\u5e38\u7528\u529f\u80fd"}),(0,N.jsx)(c.Ss,{className:"menu-grid",children:k.map(function(e,s){return(0,N.jsxs)(c.Ss,{className:"menu-card surface-card",onTap:function(){return pe(e.path,e.label)},children:[(0,N.jsx)(c._V,{className:"menu-icon-img",src:S[e.label],mode:"aspectFit"}),(0,N.jsx)(c.EY,{className:"menu-label",children:e.label})]},s)})})]}),(0,N.jsx)(c.Ss,{className:"enterprise-section surface-card mt-20",children:(0,N.jsxs)(c.Ss,{className:"flex-between",children:[(0,N.jsxs)(c.Ss,{className:"flex-column",children:[(0,N.jsxs)(c.Ss,{className:"flex-center",children:[(0,N.jsx)(c._V,{className:"enterprise-icon",src:(0,v.uq)("/icon/\u4f01\u4e1a\u6279\u91cf\u5b9a\u5236.png"),mode:"aspectFit"}),(0,N.jsx)(c.EY,{className:"enterprise-title",children:"\u4f01\u4e1a\u6279\u91cf\u5b9a\u5236"})]}),(0,N.jsx)(c.EY,{className:"enterprise-desc",children:"\u5e74\u4f1a\u793c\u54c1\u3001\u5165\u804c\u7eaa\u5ff5\u3001\u56e2\u5efa\u4f34\u624b\u793c"})]}),(0,N.jsx)(c.Ss,{className:"btn-primary enterprise-btn",children:(0,N.jsx)(c.EY,{children:"\u7acb\u5373\u54a8\u8be2"})})]})}),D&&(0,N.jsx)(c.Ss,{className:"modal-overlay",children:(0,N.jsxs)(c.Ss,{className:"login-card surface-card",children:[(0,N.jsx)(c.EY,{className:"login-title",children:"\u767b\u5f55\u667a\u7ed8\u5fae\u523b"}),"entry"===C?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(c.EY,{className:"login-desc",children:"\u767b\u5f55\u540e\u540c\u6b65\u60a8\u7684\u8bbe\u8ba1\u6e05\u5355\u548c\u8ba2\u5355"}),(0,N.jsxs)(c.Ss,{className:"login-actions",children:[(0,N.jsx)(c.Ss,{className:"btn-secondary",onTap:te,children:(0,N.jsx)(c.EY,{children:"\u53d6\u6d88"})}),(0,N.jsx)(c.Ss,{className:"btn-primary",onTap:le,children:(0,N.jsx)(c.EY,{children:"\u5fae\u4fe1\u767b\u5f55"})})]})]}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(c.EY,{className:"login-desc",children:"\u8bf7\u8bbe\u7f6e\u60a8\u7684\u5934\u50cf\u548c\u6635\u79f0"}),(0,N.jsx)(c.$n,{className:"avatar-btn",openType:"chooseAvatar",onChooseAvatar:ue,children:W?(0,N.jsx)(c._V,{className:"avatar-img",src:W,mode:"aspectFill"}):(0,N.jsx)(c._V,{className:"avatar-placeholder-img",src:(0,v.uq)("/icon/\u4e2a\u4eba.png"),mode:"aspectFit"})}),(0,N.jsx)(c.pd,{type:"nickname",className:"nickname-input",placeholder:"\u8bf7\u8f93\u5165\u6635\u79f0",value:H,onInput:function(e){return I(e.detail.value)}}),(0,N.jsxs)(c.Ss,{className:"login-actions",children:[(0,N.jsx)(c.Ss,{className:"btn-secondary",onTap:te,children:(0,N.jsx)(c.EY,{children:"\u53d6\u6d88"})}),(0,N.jsx)(c.Ss,{className:"btn-primary",onTap:oe,children:(0,N.jsx)(c.EY,{children:"\u4fdd\u5b58"})})]})]})]})})]})]})}var y={navigationStyle:"custom",enablePageMeta:!0,navigationBarTitleText:"\u4e2a\u4eba\u4e2d\u5fc3"};Page((0,n.createPageConfig)(T,"pages/profile/index",{root:{cn:[]}},y||{}))}},function(e){var s=function(s){return e(e.s=s)};e.O(0,[907,96,76],function(){return s(2579)});e.O()}]); \ No newline at end of file +"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[481],{2579:function(e,s,a){var n=a(7842),i=a(1212),t=a(467),r=a(5544),c=a(118),l=a(758),o=a.n(l),u=a(6540),d=a(1457),p=a(9703),m=a(9201),g=a(5414),h=a(9674),x=a(3053),f=a(5787),j=a(3246),v=a(8199),N=a(4848),S={"\u6211\u7684\u8bbe\u8ba1":(0,v.uq)("/icon/\u8c03\u8272\u76d8.png"),"\u8bcd\u4e91\u751f\u6210":(0,v.uq)("/icon/\u8bcd\u4e91\u751f\u6210.png"),"\u6536\u8d27\u5730\u5740":(0,v.uq)("/icon/\u5730\u5740.png"),"\u8054\u7cfb\u5ba2\u670d":(0,v.uq)("/icon/\u7535\u8bdd.png"),"\u4f7f\u7528\u5e2e\u52a9":(0,v.uq)("/icon/\u4f7f\u7528\u5e2e\u52a9.png"),"\u8bbe\u7f6e":(0,v.uq)("/icon/\u8bbe\u7f6e.png")},b=[{key:"toDesign",label:"\u5f85\u8bbe\u8ba1",icon:(0,v.uq)("/icon/\u4e09\u89d2\u5c3a.png")},{key:"pending",label:"\u5f85\u4ed8\u6b3e",icon:(0,v.uq)("/icon/\u56db\u89d2\u661f.svg")},{key:"paid",label:"\u5f85\u53d1\u8d27",icon:(0,v.uq)("/icon/\u5305\u88f9.png")},{key:"shipping",label:"\u5f85\u6536\u8d27",icon:(0,v.uq)("/icon/\u676f\u5b50.png")},{key:"done",label:"\u5df2\u5b8c\u6210",icon:(0,v.uq)("/icon/\u4e66\u672c.png")}],k=[{label:"\u6211\u7684\u8bbe\u8ba1",path:"/pages/designList/index"},{label:"\u8bcd\u4e91\u751f\u6210",path:"/pages/wordcloud/index"},{label:"\u6536\u8d27\u5730\u5740",path:"/pages/address/index"},{label:"\u8054\u7cfb\u5ba2\u670d",path:"/pages/service/index"},{label:"\u4f7f\u7528\u5e2e\u52a9",path:"/pages/agreement/index"},{label:"\u8bbe\u7f6e",path:"/pages/settings/index"}],w=function(){};function T(){var e=(0,p.wR)(),s=(e.theme,e.resolvedTheme),a=(0,m.c)();(0,g.l)(s);var n=(0,u.useState)(!1),T=(0,r.A)(n,2),y=T[0],A=T[1],E=(0,u.useState)({nickName:"",avatarUrl:""}),Y=(0,r.A)(E,2),q=Y[0],U=Y[1],F=(0,u.useState)(!1),_=(0,r.A)(F,2),D=_[0],P=_[1],V=(0,u.useState)("entry"),L=(0,r.A)(V,2),C=L[0],J=L[1],O=(0,u.useState)(""),B=(0,r.A)(O,2),H=B[0],I=B[1],M=(0,u.useState)(""),R=(0,r.A)(M,2),W=R[0],$=R[1],z=(0,u.useState)(!1),G=(0,r.A)(z,2),K=G[0],Q=G[1],X=(0,u.useState)({toDesign:0,pending:0,paid:0,shipping:0,done:0}),Z=(0,r.A)(X,2),ee=Z[0],se=Z[1],ae=function(){var e=(0,d.n7)(),s=(0,d.p_)();se({toDesign:s.filter(function(e){return"undesigned"===e.status||"designing"===e.status}).length,pending:e.filter(function(e){return"pending"===e.statusCode}).length,paid:e.filter(function(e){return"paid"===e.statusCode}).length,shipping:e.filter(function(e){return"shipping"===e.statusCode}).length,done:e.filter(function(e){return"done"===e.statusCode}).length})},ne=function(){var e=(0,d.ug)();e&&e.openid?(A(!0),U({nickName:e.nickName||"",avatarUrl:e.avatarUrl||""})):(A(!1),U({nickName:"",avatarUrl:""})),ae()};(0,l.useDidShow)(function(){ne()});var ie=function(){J("entry"),I(""),$(""),P(!0)},te=function(){return P(!1)},re=function(e){Q(!1),(0,j.Sy)(),o().showToast({title:e,icon:"none"})},ce=function(e,s,a,n){var i={openid:s,nickName:a||"\u5fae\u4fe1\u7528\u6237",avatarUrl:n||"",accessToken:e,loginAt:Date.now()};(0,d.iA)(i),U({nickName:i.nickName,avatarUrl:i.avatarUrl}),A(!0),P(!1),J("entry"),Q(!1),(0,j.Sy)(),o().showToast({title:"\u767b\u5f55\u6210\u529f",icon:"success"})},le=function(){var e=(0,t.A)((0,i.A)().m(function e(){var s,a,n,t,r,c;return(0,i.A)().w(function(e){while(1)switch(e.p=e.n){case 0:if(!K){e.n=1;break}return e.a(2);case 1:return console.log("[Profile] \u767b\u5f55\u6309\u94ae\u88ab\u70b9\u51fb\uff0c\u5f00\u59cb\u767b\u5f55\u6d41\u7a0b"),Q(!0),o().showLoading({title:"\u767b\u5f55\u4e2d",mask:!0}),e.p=2,e.n=3,o().login();case 3:return s=e.v,console.log("[Profile] wx.login \u6210\u529f\uff0ccode=",s.code),e.n=4,(0,f.iD)(s.code);case 4:if(a=e.v,console.log("[Profile] \u540e\u7aef /auth/login \u8fd4\u56de:",JSON.stringify(a)),a&&a.accessToken){e.n=5;break}return re("\u767b\u5f55\u5931\u8d25\uff0c\u672a\u62ff\u5230 token"),e.a(2);case 5:return n="",e.p=6,e.n=7,(0,f.jp)();case 7:t=e.v,n=t&&t.openid||"",e.n=9;break;case 8:e.p=8,e.v,n="";case 9:if(n){e.n=10;break}return re("\u767b\u5f55\u5f02\u5e38\uff0c\u8bf7\u91cd\u8bd5"),e.a(2);case 10:if(r=a.isNewUser||!a.nickname||!a.avatar,!r){e.n=11;break}return I(a.nickname||""),$(a.avatar||""),(0,j.Sy)(),Q(!1),J("fill"),o().showToast({title:"\u8bf7\u8bbe\u7f6e\u5934\u50cf\u548c\u6635\u79f0",icon:"none"}),e.a(2);case 11:ce(a.accessToken,n,a.nickname||"",a.avatar||""),e.n=13;break;case 12:e.p=12,c=e.v,console.error("[Profile] \u767b\u5f55\u6d41\u7a0b\u51fa\u9519:",c),re(c&&c.message||"\u540e\u7aef\u8fde\u63a5\u5931\u8d25\uff0c\u8bf7\u68c0\u67e5\u7f51\u7edc");case 13:return e.a(2)}},e,null,[[6,8],[2,12]])}));return function(){return e.apply(this,arguments)}}(),oe=function(){var e=(0,t.A)((0,i.A)().m(function e(){var s,a,n,t;return(0,i.A)().w(function(e){while(1)switch(e.p=e.n){case 0:if(!K){e.n=1;break}return e.a(2);case 1:return Q(!0),o().showLoading({title:"\u4fdd\u5b58\u4e2d",mask:!0}),e.p=2,e.n=3,(0,f.r7)({nickname:H||void 0,avatar:W||void 0});case 3:return s="",e.p=4,e.n=5,(0,f.jp)();case 5:a=e.v,s=a&&a.openid||"",e.n=7;break;case 6:e.p=6,e.v,s="";case 7:if(s){e.n=8;break}return re("\u4fdd\u5b58\u5f02\u5e38\uff0c\u8bf7\u91cd\u8bd5"),e.a(2);case 8:n=(0,d.ug)(),ce(n&&n.accessToken||(0,f.gf)(),s,H,W),e.n=10;break;case 9:e.p=9,t=e.v,console.error("[Profile] \u4fdd\u5b58\u8d44\u6599\u51fa\u9519:",t),re(t&&t.message||"\u4fdd\u5b58\u5931\u8d25");case 10:return e.a(2)}},e,null,[[4,6],[2,9]])}));return function(){return e.apply(this,arguments)}}(),ue=function(e){$(e.detail.avatarUrl||"")},de=function(e){switch(o().hideToast(),e){case"toDesign":o().setStorageSync("designList:filter","toDesign"),o().switchTab({url:"/pages/designList/index"});break;case"pending":o().setStorageSync("orders:filter","pending"),o().switchTab({url:"/pages/orders/index"});break;case"paid":o().setStorageSync("orders:filter","paid"),o().switchTab({url:"/pages/orders/index"});break;case"shipping":o().setStorageSync("orders:filter","shipping"),o().switchTab({url:"/pages/orders/index"});break;case"done":o().setStorageSync("orders:filter","done"),o().switchTab({url:"/pages/orders/index"});break}},pe=function(e,s){if(o().hideToast(),!y&&(e.includes("designList")||e.includes("orders")))return o().showToast({title:"\u8bf7\u5148\u767b\u5f55",icon:"none"}),void P(!0);"\u8054\u7cfb\u5ba2\u670d"!==s?e.startsWith("/pages/")&&(e.includes("designList")||e.includes("orders")?o().switchTab({url:e,fail:function(e){console.error("switchTab fail",e),o().showToast({title:"\u8df3\u8f6c\u5931\u8d25",icon:"none"})}}):o().navigateTo({url:e,fail:function(e){console.error("navigateTo fail",e),o().showToast({title:"\u8df3\u8f6c\u5931\u8d25",icon:"none"})}})):o().navigateTo({url:"/pages/service/index",fail:function(e){console.error("navigateTo service fail",e),o().showToast({title:"\u8df3\u8f6c\u5931\u8d25",icon:"none"})}})};return(0,N.jsxs)(c.Ss,{className:"theme-".concat(s),style:{minHeight:"100vh"},children:[(0,N.jsx)(h.A,{}),(0,N.jsx)(x.A,{title:"\u6211\u7684",targetSelector:".profile-header"}),(0,N.jsxs)(c.Ss,{className:"profile-page",children:[(0,N.jsxs)(c.Ss,{className:"profile-header surface-card",style:{marginTop:"".concat(a.statusBarHeight+12,"px")},children:[(0,N.jsxs)(c.Ss,{className:"user-info",children:[y&&q.avatarUrl?(0,N.jsx)(c._V,{className:"avatar",src:q.avatarUrl,mode:"aspectFill"}):(0,N.jsx)(c.Ss,{className:"avatar-placeholder",onTap:ie,children:(0,N.jsx)(c._V,{className:"avatar-icon-img",src:(0,v.uq)("/icon/\u4e2a\u4eba.png"),mode:"aspectFit"})}),(0,N.jsxs)(c.Ss,{className:"user-meta",children:[(0,N.jsx)(c.EY,{className:"user-name",onTap:y?w:ie,children:y?q.nickName:"\u70b9\u51fb\u767b\u5f55"}),(0,N.jsx)(c.EY,{className:"user-level",children:y?"\u667a\u7ed8\u5fae\u523b\u4f1a\u5458":"\u6388\u6743\u5fae\u4fe1\uff0c\u5f00\u542f\u4e13\u5c5e\u5b9a\u5236"})]})]}),(0,N.jsxs)(c.Ss,{className:"status-grid",children:[(0,N.jsx)(c.Ss,{className:"status-row row2",children:b.slice(0,2).map(function(e){return(0,N.jsxs)(c.Ss,{className:"status-group",children:[(0,N.jsxs)(c.Ss,{className:"status-item",onTap:function(){return de(e.key)},children:[(0,N.jsx)(c._V,{className:"status-icon-img",src:e.icon,mode:"aspectFit"}),(0,N.jsx)(c.EY,{className:"status-num",children:ee[e.key]}),(0,N.jsx)(c.EY,{className:"status-label",children:e.label})]}),(0,N.jsx)(c.Ss,{className:"status-divider"})]},e.key)})}),(0,N.jsx)(c.Ss,{className:"status-divider-h"}),(0,N.jsx)(c.Ss,{className:"status-row row3",children:b.slice(2).map(function(e,s){return(0,N.jsxs)(c.Ss,{className:"status-group",children:[(0,N.jsxs)(c.Ss,{className:"status-item",onTap:function(){return de(e.key)},children:[(0,N.jsx)(c._V,{className:"status-icon-img",src:e.icon,mode:"aspectFit"}),(0,N.jsx)(c.EY,{className:"status-num",children:ee[e.key]}),(0,N.jsx)(c.EY,{className:"status-label",children:e.label})]}),s<2&&(0,N.jsx)(c.Ss,{className:"status-divider"})]},e.key)})})]})]}),(0,N.jsxs)(c.Ss,{className:"mt-20",children:[(0,N.jsx)(c.EY,{className:"section-title",children:"\u5e38\u7528\u529f\u80fd"}),(0,N.jsx)(c.Ss,{className:"menu-grid",children:k.map(function(e,s){return(0,N.jsxs)(c.Ss,{className:"menu-card surface-card",onTap:function(){return pe(e.path,e.label)},children:[(0,N.jsx)(c._V,{className:"menu-icon-img",src:S[e.label],mode:"aspectFit"}),(0,N.jsx)(c.EY,{className:"menu-label",children:e.label})]},s)})})]}),(0,N.jsx)(c.Ss,{className:"enterprise-section surface-card mt-20",children:(0,N.jsxs)(c.Ss,{className:"flex-between",children:[(0,N.jsxs)(c.Ss,{className:"flex-column",children:[(0,N.jsxs)(c.Ss,{className:"flex-center",children:[(0,N.jsx)(c._V,{className:"enterprise-icon",src:(0,v.uq)("/icon/\u4f01\u4e1a\u6279\u91cf\u5b9a\u5236.png"),mode:"aspectFit"}),(0,N.jsx)(c.EY,{className:"enterprise-title",children:"\u4f01\u4e1a\u6279\u91cf\u5b9a\u5236"})]}),(0,N.jsx)(c.EY,{className:"enterprise-desc",children:"\u5e74\u4f1a\u793c\u54c1\u3001\u5165\u804c\u7eaa\u5ff5\u3001\u56e2\u5efa\u4f34\u624b\u793c"})]}),(0,N.jsx)(c.Ss,{className:"btn-primary enterprise-btn",children:(0,N.jsx)(c.EY,{children:"\u7acb\u5373\u54a8\u8be2"})})]})}),D&&(0,N.jsx)(c.Ss,{className:"modal-overlay",children:(0,N.jsxs)(c.Ss,{className:"login-card surface-card",children:[(0,N.jsx)(c.EY,{className:"login-title",children:"\u767b\u5f55\u667a\u7ed8\u5fae\u523b"}),"entry"===C?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(c.EY,{className:"login-desc",children:"\u767b\u5f55\u540e\u540c\u6b65\u60a8\u7684\u8bbe\u8ba1\u6e05\u5355\u548c\u8ba2\u5355"}),(0,N.jsxs)(c.Ss,{className:"login-actions",children:[(0,N.jsx)(c.Ss,{className:"btn-secondary",onTap:te,children:(0,N.jsx)(c.EY,{children:"\u53d6\u6d88"})}),(0,N.jsx)(c.Ss,{className:"btn-primary",onTap:le,children:(0,N.jsx)(c.EY,{children:"\u5fae\u4fe1\u767b\u5f55"})})]})]}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(c.EY,{className:"login-desc",children:"\u8bf7\u8bbe\u7f6e\u60a8\u7684\u5934\u50cf\u548c\u6635\u79f0"}),(0,N.jsx)(c.$n,{className:"avatar-btn",openType:"chooseAvatar",onChooseAvatar:ue,children:W?(0,N.jsx)(c._V,{className:"avatar-img",src:W,mode:"aspectFill"}):(0,N.jsx)(c._V,{className:"avatar-placeholder-img",src:(0,v.uq)("/icon/\u4e2a\u4eba.png"),mode:"aspectFit"})}),(0,N.jsx)(c.pd,{type:"nickname",className:"nickname-input",placeholder:"\u8bf7\u8f93\u5165\u6635\u79f0",value:H,onInput:function(e){return I(e.detail.value)}}),(0,N.jsxs)(c.Ss,{className:"login-actions",children:[(0,N.jsx)(c.Ss,{className:"btn-secondary",onTap:te,children:(0,N.jsx)(c.EY,{children:"\u53d6\u6d88"})}),(0,N.jsx)(c.Ss,{className:"btn-primary",onTap:oe,children:(0,N.jsx)(c.EY,{children:"\u4fdd\u5b58"})})]})]})]})})]})]})}var y={navigationStyle:"custom",enablePageMeta:!0,navigationBarTitleText:"\u4e2a\u4eba\u4e2d\u5fc3"};Page((0,n.createPageConfig)(T,"pages/profile/index",{root:{cn:[]}},y||{}))}},function(e){var s=function(s){return e(e.s=s)};e.O(0,[907,96,76],function(){return s(2579)});e.O()}]); \ No newline at end of file diff --git a/dist/pages/wordcloud/index.js b/dist/pages/wordcloud/index.js index 8a88cba..d77d8cc 100644 --- a/dist/pages/wordcloud/index.js +++ b/dist/pages/wordcloud/index.js @@ -1 +1 @@ -"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[18],{5849:function(s,e,a){var c=a(7842),n=a(5544),t=a(118),l=a(758),i=a.n(l),r=a(6540),o=a(9703),m=a(9201),d=a(5414),u=a(9674),h=a(3053),p=a(8199),x=a(4848);function j(){var s=(0,o.wR)(),e=(s.theme,s.resolvedTheme),a=(0,m.c)();(0,d.l)(e);var c=(0,r.useState)(1),l=(0,n.A)(c,2),j=l[0],N=l[1],g=(0,r.useState)(""),S=(0,n.A)(g,2),f=S[0],b=S[1],E=(0,r.useState)(""),Y=(0,n.A)(E,2),T=Y[0],v=Y[1],w=(0,r.useState)(""),A=(0,n.A)(w,2),y=A[0],F=A[1],I=(0,r.useState)(!1),k=(0,n.A)(I,2),V=k[0],_=k[1],M=(0,r.useState)(0),P=(0,n.A)(M,2),q=P[0],B=P[1],J=[{num:1,label:"\u4e0a\u4f20\u5e95\u56fe"},{num:2,label:"\u8f93\u5165\u540d\u5355"},{num:3,label:"\u751f\u6210\u9884\u89c8"}],O=function(){i().chooseImage({count:1,sizeType:["compressed"],sourceType:["album","camera"],success:function(s){b(s.tempFilePaths[0]),N(2)}})},z=function(){if(T.trim()){N(3),_(!0),B(0);var s=setInterval(function(){B(function(e){return e>=100?(clearInterval(s),_(!1),F(f),100):e+15*Math.random()})},1e3)}else i().showToast({title:"\u8bf7\u5148\u8f93\u5165\u540d\u5b57",icon:"none"})},C=function(){y&&i().saveImageToPhotosAlbum({filePath:y,success:function(){return i().showToast({title:"\u5df2\u4fdd\u5b58\u5230\u76f8\u518c",icon:"success"})},fail:function(){return i().showToast({title:"\u4fdd\u5b58\u5931\u8d25",icon:"none"})}})},H=function(){j>1?N(j-1):i().navigateBack()};return(0,x.jsxs)(t.Ss,{className:"theme-".concat(e),children:[(0,x.jsx)(u.A,{}),(0,x.jsx)(h.A,{title:"AI\u8bcd\u4e91\u751f\u6210",targetSelector:".page-header.cloud-header",showBack:!0}),(0,x.jsxs)(t.Ss,{className:"wordcloud-page",children:[(0,x.jsxs)(t.Ss,{className:"page-header cloud-header",style:{paddingTop:"".concat(a.statusBarHeight+12,"px")},children:[(0,x.jsx)(t.Ss,{className:"back-btn",onTap:H,children:(0,x.jsx)(t.EY,{className:"back-arrow",children:"\u2190"})}),(0,x.jsx)(t.EY,{className:"page-title",children:"AI\u8bcd\u4e91\u751f\u6210"}),(0,x.jsx)(t.Ss,{className:"header-spacer"})]}),(0,x.jsx)(t.Ss,{className:"step-indicator surface-card",children:J.map(function(s,e){return(0,x.jsxs)(t.Ss,{className:"step-item",children:[(0,x.jsx)(t.Ss,{className:"step-circle ".concat(j>=s.num?"active":""),children:(0,x.jsx)(t.EY,{className:"step-num",children:s.num})}),(0,x.jsx)(t.EY,{className:"step-label ".concat(j>=s.num?"active":""),children:s.label}),es.num?"active":"")})]},s.num)})}),1===j&&(0,x.jsxs)(t.Ss,{className:"step-content",children:[(0,x.jsx)(t.Ss,{className:"upload-area surface-card",onTap:O,children:f?(0,x.jsx)(t._V,{className:"preview-image",src:f,mode:"aspectFit"}):(0,x.jsxs)(t.Ss,{className:"upload-placeholder",children:[(0,x.jsx)(t._V,{className:"upload-icon",src:(0,p.uq)("/icon/\u8bcd\u4e91\u751f\u6210.png"),mode:"aspectFit"}),(0,x.jsx)(t.EY,{className:"upload-title",children:"\u70b9\u51fb\u4e0a\u4f20\u5e95\u56fe"}),(0,x.jsx)(t.EY,{className:"upload-desc",children:"\u652f\u6301\u7167\u7247\u3001Logo\u3001\u56fe\u6848\u7b49"}),(0,x.jsx)(t.EY,{className:"upload-tip",children:"\u7cfb\u7edf\u5c06\u7528\u540d\u5b57\u586b\u5145\u5230\u6df1\u8272\u533a\u57df"})]})}),f&&(0,x.jsxs)(t.Ss,{className:"action-btns",children:[(0,x.jsx)(t.Ss,{className:"btn-primary",onTap:function(){return N(2)},children:(0,x.jsx)(t.EY,{children:"\u4e0b\u4e00\u6b65\uff1a\u8f93\u5165\u540d\u5355"})}),(0,x.jsx)(t.Ss,{className:"btn-secondary",onTap:function(){return b("")},children:(0,x.jsx)(t.EY,{children:"\u91cd\u65b0\u9009\u62e9"})})]})]}),2===j&&(0,x.jsxs)(t.Ss,{className:"step-content",children:[(0,x.jsxs)(t.Ss,{className:"input-section surface-card",children:[(0,x.jsx)(t.EY,{className:"section-title",children:"\u8f93\u5165\u540d\u5b57\u540d\u5355"}),(0,x.jsx)(t.TM,{className:"names-input",placeholder:"\u4f8b\u5982\uff1a\n\u5f20\u4e09\n\u674e\u56db\n\u738b\u4e94",value:T,onInput:function(s){return v(s.detail.value)},maxlength:5e3}),(0,x.jsxs)(t.EY,{className:"input-stats",children:["\u5df2\u8f93\u5165 ",T.split(/\n|\uff0c|,/).filter(function(s){return s.trim()}).length," \u4e2a\u540d\u5b57"]}),(0,x.jsxs)(t.Ss,{className:"input-tips",children:[(0,x.jsx)(t.EY,{className:"tip-item",children:"\u540d\u5b57\u4f1a\u968f\u673a\u5206\u5e03\u5728\u5e95\u56fe\u7684\u6df1\u8272\u533a\u57df"}),(0,x.jsx)(t.EY,{className:"tip-item",children:"\u5efa\u8bae\u8f93\u516510-200\u4e2a\u540d\u5b57\u6548\u679c\u6700\u4f73"})]})]}),(0,x.jsxs)(t.Ss,{className:"action-btns",children:[(0,x.jsx)(t.Ss,{className:"btn-primary",onTap:z,children:(0,x.jsx)(t.EY,{children:"\u5f00\u59cb\u751f\u6210\u8bcd\u4e91"})}),(0,x.jsx)(t.Ss,{className:"btn-secondary",onTap:function(){return N(1)},children:(0,x.jsx)(t.EY,{children:"\u4e0a\u4e00\u6b65"})})]})]}),3===j&&(0,x.jsx)(t.Ss,{className:"step-content",children:V?(0,x.jsxs)(t.Ss,{className:"generating-panel",children:[(0,x.jsx)(t._V,{className:"generating-icon",src:(0,p.uq)("/icon/\u8bcd\u4e91\u751f\u6210.png"),mode:"aspectFit"}),(0,x.jsx)(t.EY,{className:"generating-title",children:"\u6b63\u5728\u751f\u6210\u8bcd\u4e91..."}),(0,x.jsx)(t.EY,{className:"generating-subtitle",children:"AI\u6b63\u5728\u5c06\u540d\u5b57\u878d\u5165\u56fe\u6848"}),(0,x.jsx)(t.Ss,{className:"progress-bar",children:(0,x.jsx)(t.Ss,{className:"progress-fill",style:{width:"".concat(Math.min(q,100),"%")}})}),(0,x.jsxs)(t.EY,{className:"progress-text",children:[Math.min(Math.round(q),100),"%"]})]}):(0,x.jsxs)(t.Ss,{className:"result-panel",children:[(0,x.jsxs)(t.Ss,{className:"result-image-wrapper surface-card",children:[(0,x.jsx)(t._V,{className:"result-image",src:y||"",mode:"aspectFit"}),(0,x.jsx)(t.Ss,{className:"watermark-badge",children:(0,x.jsx)(t.EY,{children:"\u667a\u7ed8\u5fae\u523b\u9884\u89c8"})})]}),(0,x.jsxs)(t.Ss,{className:"result-actions",children:[(0,x.jsxs)(t.Ss,{className:"action-btn",onTap:C,children:[(0,x.jsx)(t._V,{className:"action-icon",src:(0,p.uq)("/icon/\u8bbe\u7f6e.png"),mode:"aspectFit"}),(0,x.jsx)(t.EY,{className:"action-label",children:"\u4fdd\u5b58\u56fe\u7247"})]}),(0,x.jsxs)(t.Ss,{className:"action-btn",onTap:z,children:[(0,x.jsx)(t._V,{className:"action-icon",src:(0,p.uq)("/icon/\u8bcd\u4e91\u751f\u6210.png"),mode:"aspectFit"}),(0,x.jsx)(t.EY,{className:"action-label",children:"\u91cd\u65b0\u751f\u6210"})]}),(0,x.jsxs)(t.Ss,{className:"action-btn",onTap:function(){return N(2)},children:[(0,x.jsx)(t._V,{className:"action-icon",src:(0,p.uq)("/icon/\u8c03\u8272\u76d8.png"),mode:"aspectFit"}),(0,x.jsx)(t.EY,{className:"action-label",children:"\u4fee\u6539\u540d\u5355"})]})]})]})})]})]})}var N={navigationStyle:"custom",enablePageMeta:!0,navigationBarTitleText:"\u8bcd\u4e91\u751f\u6210"};Page((0,c.createPageConfig)(j,"pages/wordcloud/index",{root:{cn:[]}},N||{}))}},function(s){var e=function(e){return s(s.s=e)};s.O(0,[907,96,76],function(){return e(5849)});s.O()}]); \ No newline at end of file +"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[18],{5849:function(s,e,a){var n=a(7842),c=a(1212),t=a(467),r=a(5544),l=a(118),i=a(758),o=a.n(i),u=a(6540),m=a(9703),d=a(9201),h=a(5414),p=a(9674),x=a(3053),j=a(8199),N=a(5787),g=a(4848);function S(){var s=(0,m.wR)(),e=(s.theme,s.resolvedTheme),a=(0,d.c)();(0,h.l)(e);var n=(0,u.useState)(1),i=(0,r.A)(n,2),S=i[0],f=i[1],b=(0,u.useState)(""),v=(0,r.A)(b,2),E=v[0],w=v[1],Y=(0,u.useState)(""),T=(0,r.A)(Y,2),A=T[0],k=T[1],y=(0,u.useState)(""),I=(0,r.A)(y,2),F=I[0],V=I[1],_=(0,u.useState)(!1),P=(0,r.A)(_,2),q=P[0],M=P[1],B=(0,u.useState)(0),J=(0,r.A)(B,2),O=J[0],z=J[1],C=(0,u.useState)(""),H=(0,r.A)(C,2),L=H[0],R=H[1],U=[{num:1,label:"\u4e0a\u4f20\u5e95\u56fe"},{num:2,label:"\u8f93\u5165\u540d\u5355"},{num:3,label:"\u751f\u6210\u9884\u89c8"}],Z=function(){o().chooseImage({count:1,sizeType:["compressed"],sourceType:["album","camera"],success:function(s){w(s.tempFilePaths[0]),f(2)}})},D=function(){var s=(0,t.A)((0,c.A)().m(function s(){var e,a,n;return(0,c.A)().w(function(s){while(1)switch(s.p=s.n){case 0:if(A.trim()){s.n=1;break}return o().showToast({title:"\u8bf7\u5148\u8f93\u5165\u540d\u5b57",icon:"none"}),s.a(2);case 1:if(E){s.n=2;break}return o().showToast({title:"\u8bf7\u5148\u4e0a\u4f20\u5e95\u56fe",icon:"none"}),s.a(2);case 2:return f(3),M(!0),z(0),R(""),s.p=3,s.n=4,(0,N.l8)(E,A.trim());case 4:return e=s.v,a=e.jobId,s.n=5,G(a);case 5:s.n=7;break;case 6:s.p=6,n=s.v,M(!1),R(n instanceof Error?n.message:"\u751f\u6210\u5931\u8d25\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5");case 7:return s.a(2)}},s,null,[[3,6]])}));return function(){return s.apply(this,arguments)}}(),G=function(s){return new Promise(function(e,a){var n=0,r=setInterval((0,t.A)((0,c.A)().m(function t(){var l;return(0,c.A)().w(function(c){while(1)switch(c.p=c.n){case 0:return c.p=0,c.n=1,(0,N.xZ)(s);case 1:l=c.v,z(Math.min(l.progress,100)),"success"===l.status?(clearInterval(r),M(!1),V(l.imageUrl||E),e()):"failed"===l.status&&(clearInterval(r),M(!1),R(l.error||"\u8bcd\u4e91\u751f\u6210\u5931\u8d25"),a(new Error(l.error||"\u8bcd\u4e91\u751f\u6210\u5931\u8d25"))),c.n=3;break;case 2:c.p=2,c.v,n+=1,n>5&&(clearInterval(r),M(!1),a(new Error("\u4efb\u52a1\u72b6\u6001\u83b7\u53d6\u5931\u8d25\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5")));case 3:return c.a(2)}},t,null,[[0,2]])})),1500)})},K=function(){F&&o().saveImageToPhotosAlbum({filePath:F,success:function(){return o().showToast({title:"\u5df2\u4fdd\u5b58\u5230\u76f8\u518c",icon:"success"})},fail:function(){return o().showToast({title:"\u4fdd\u5b58\u5931\u8d25",icon:"none"})}})},Q=function(){S>1?f(S-1):o().navigateBack()};return(0,g.jsxs)(l.Ss,{className:"theme-".concat(e),children:[(0,g.jsx)(p.A,{}),(0,g.jsx)(x.A,{title:"AI\u8bcd\u4e91\u751f\u6210",targetSelector:".page-header.cloud-header",showBack:!0}),(0,g.jsxs)(l.Ss,{className:"wordcloud-page",children:[(0,g.jsxs)(l.Ss,{className:"page-header cloud-header",style:{paddingTop:"".concat(a.statusBarHeight+12,"px")},children:[(0,g.jsx)(l.Ss,{className:"back-btn",onTap:Q,children:(0,g.jsx)(l.EY,{className:"back-arrow",children:"\u2190"})}),(0,g.jsx)(l.EY,{className:"page-title",children:"AI\u8bcd\u4e91\u751f\u6210"}),(0,g.jsx)(l.Ss,{className:"header-spacer"})]}),(0,g.jsx)(l.Ss,{className:"step-indicator surface-card",children:U.map(function(s,e){return(0,g.jsxs)(l.Ss,{className:"step-item",children:[(0,g.jsx)(l.Ss,{className:"step-circle ".concat(S>=s.num?"active":""),children:(0,g.jsx)(l.EY,{className:"step-num",children:s.num})}),(0,g.jsx)(l.EY,{className:"step-label ".concat(S>=s.num?"active":""),children:s.label}),es.num?"active":"")})]},s.num)})}),1===S&&(0,g.jsxs)(l.Ss,{className:"step-content",children:[(0,g.jsx)(l.Ss,{className:"upload-area surface-card",onTap:Z,children:E?(0,g.jsx)(l._V,{className:"preview-image",src:E,mode:"aspectFit"}):(0,g.jsxs)(l.Ss,{className:"upload-placeholder",children:[(0,g.jsx)(l._V,{className:"upload-icon",src:(0,j.uq)("/icon/\u8bcd\u4e91\u751f\u6210.png"),mode:"aspectFit"}),(0,g.jsx)(l.EY,{className:"upload-title",children:"\u70b9\u51fb\u4e0a\u4f20\u5e95\u56fe"}),(0,g.jsx)(l.EY,{className:"upload-desc",children:"\u652f\u6301\u7167\u7247\u3001Logo\u3001\u56fe\u6848\u7b49"}),(0,g.jsx)(l.EY,{className:"upload-tip",children:"\u7cfb\u7edf\u5c06\u7528\u540d\u5b57\u586b\u5145\u5230\u6df1\u8272\u533a\u57df"})]})}),E&&(0,g.jsxs)(l.Ss,{className:"action-btns",children:[(0,g.jsx)(l.Ss,{className:"btn-primary",onTap:function(){return f(2)},children:(0,g.jsx)(l.EY,{children:"\u4e0b\u4e00\u6b65\uff1a\u8f93\u5165\u540d\u5355"})}),(0,g.jsx)(l.Ss,{className:"btn-secondary",onTap:function(){return w("")},children:(0,g.jsx)(l.EY,{children:"\u91cd\u65b0\u9009\u62e9"})})]})]}),2===S&&(0,g.jsxs)(l.Ss,{className:"step-content",children:[(0,g.jsxs)(l.Ss,{className:"input-section surface-card",children:[(0,g.jsx)(l.EY,{className:"section-title",children:"\u8f93\u5165\u540d\u5b57\u540d\u5355"}),(0,g.jsx)(l.TM,{className:"names-input",placeholder:"\u4f8b\u5982\uff1a\n\u5f20\u4e09\n\u674e\u56db\n\u738b\u4e94",value:A,onInput:function(s){return k(s.detail.value)},maxlength:5e3}),(0,g.jsxs)(l.EY,{className:"input-stats",children:["\u5df2\u8f93\u5165 ",A.split(/\n|\uff0c|,/).filter(function(s){return s.trim()}).length," \u4e2a\u540d\u5b57"]}),(0,g.jsxs)(l.Ss,{className:"input-tips",children:[(0,g.jsx)(l.EY,{className:"tip-item",children:"\u540d\u5b57\u4f1a\u968f\u673a\u5206\u5e03\u5728\u5e95\u56fe\u7684\u6df1\u8272\u533a\u57df"}),(0,g.jsx)(l.EY,{className:"tip-item",children:"\u5efa\u8bae\u8f93\u516510-200\u4e2a\u540d\u5b57\u6548\u679c\u6700\u4f73"})]})]}),(0,g.jsxs)(l.Ss,{className:"action-btns",children:[(0,g.jsx)(l.Ss,{className:"btn-primary",onTap:D,children:(0,g.jsx)(l.EY,{children:"\u5f00\u59cb\u751f\u6210\u8bcd\u4e91"})}),(0,g.jsx)(l.Ss,{className:"btn-secondary",onTap:function(){return f(1)},children:(0,g.jsx)(l.EY,{children:"\u4e0a\u4e00\u6b65"})})]})]}),3===S&&(0,g.jsx)(l.Ss,{className:"step-content",children:L?(0,g.jsxs)(l.Ss,{className:"generating-panel",children:[(0,g.jsx)(l._V,{className:"generating-icon",src:(0,j.uq)("/icon/\u8bcd\u4e91\u751f\u6210.png"),mode:"aspectFit"}),(0,g.jsx)(l.EY,{className:"generating-title",children:"\u751f\u6210\u5931\u8d25"}),(0,g.jsx)(l.EY,{className:"generating-subtitle",children:L}),(0,g.jsx)(l.Ss,{className:"action-btns",children:(0,g.jsx)(l.Ss,{className:"btn-primary",onTap:function(){R(""),f(2)},children:(0,g.jsx)(l.EY,{children:"\u8fd4\u56de\u4fee\u6539\u540d\u5355"})})})]}):q?(0,g.jsxs)(l.Ss,{className:"generating-panel",children:[(0,g.jsx)(l._V,{className:"generating-icon",src:(0,j.uq)("/icon/\u8bcd\u4e91\u751f\u6210.png"),mode:"aspectFit"}),(0,g.jsx)(l.EY,{className:"generating-title",children:"\u6b63\u5728\u751f\u6210\u8bcd\u4e91..."}),(0,g.jsx)(l.EY,{className:"generating-subtitle",children:"AI\u6b63\u5728\u5c06\u540d\u5b57\u878d\u5165\u56fe\u6848"}),(0,g.jsx)(l.Ss,{className:"progress-bar",children:(0,g.jsx)(l.Ss,{className:"progress-fill",style:{width:"".concat(Math.min(O,100),"%")}})}),(0,g.jsxs)(l.EY,{className:"progress-text",children:[Math.min(Math.round(O),100),"%"]})]}):(0,g.jsxs)(l.Ss,{className:"result-panel",children:[(0,g.jsxs)(l.Ss,{className:"result-image-wrapper surface-card",children:[(0,g.jsx)(l._V,{className:"result-image",src:F||"",mode:"aspectFit"}),(0,g.jsx)(l.Ss,{className:"watermark-badge",children:(0,g.jsx)(l.EY,{children:"\u667a\u7ed8\u5fae\u523b\u9884\u89c8"})})]}),(0,g.jsxs)(l.Ss,{className:"result-actions",children:[(0,g.jsxs)(l.Ss,{className:"action-btn",onTap:K,children:[(0,g.jsx)(l._V,{className:"action-icon",src:(0,j.uq)("/icon/\u8bbe\u7f6e.png"),mode:"aspectFit"}),(0,g.jsx)(l.EY,{className:"action-label",children:"\u4fdd\u5b58\u56fe\u7247"})]}),(0,g.jsxs)(l.Ss,{className:"action-btn",onTap:D,children:[(0,g.jsx)(l._V,{className:"action-icon",src:(0,j.uq)("/icon/\u8bcd\u4e91\u751f\u6210.png"),mode:"aspectFit"}),(0,g.jsx)(l.EY,{className:"action-label",children:"\u91cd\u65b0\u751f\u6210"})]}),(0,g.jsxs)(l.Ss,{className:"action-btn",onTap:function(){return f(2)},children:[(0,g.jsx)(l._V,{className:"action-icon",src:(0,j.uq)("/icon/\u8c03\u8272\u76d8.png"),mode:"aspectFit"}),(0,g.jsx)(l.EY,{className:"action-label",children:"\u4fee\u6539\u540d\u5355"})]})]})]})})]})]})}var f={navigationStyle:"custom",enablePageMeta:!0,navigationBarTitleText:"\u8bcd\u4e91\u751f\u6210"};Page((0,n.createPageConfig)(S,"pages/wordcloud/index",{root:{cn:[]}},f||{}))}},function(s){var e=function(e){return s(s.s=e)};s.O(0,[907,96,76],function(){return e(5849)});s.O()}]); \ No newline at end of file diff --git a/dist/vendors.js b/dist/vendors.js index e2a8f50..029633f 100644 --- a/dist/vendors.js +++ b/dist/vendors.js @@ -1,2 +1,2 @@ /*! For license information please see vendors.js.LICENSE.txt */ -"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[96],{1020:function(t,e,r){var n=r(6540),o=Symbol.for("react.element"),u=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,c=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,f={key:!0,ref:!0,__self:!0,__source:!0};function a(t,e,r){var n,u={},a=null,l=null;for(n in void 0!==r&&(a=""+r),void 0!==e.key&&(a=""+e.key),void 0!==e.ref&&(l=e.ref),e)i.call(e,n)&&!f.hasOwnProperty(n)&&(u[n]=e[n]);if(t&&t.defaultProps)for(n in e=t.defaultProps,e)void 0===u[n]&&(u[n]=e[n]);return{$$typeof:o,type:t,key:a,ref:l,props:u,_owner:c.current}}e.Fragment=u,e.jsx=a,e.jsxs=a},5287:function(t,e){var r=Symbol.for("react.element"),n=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),u=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),f=Symbol.for("react.context"),a=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),s=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),y=Symbol.iterator;function d(t){return null===t||"object"!==typeof t?null:(t=y&&t[y]||t["@@iterator"],"function"===typeof t?t:null)}var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,h={};function m(t,e,r){this.props=t,this.context=e,this.refs=h,this.updater=r||b}function w(){}function O(t,e,r){this.props=t,this.context=e,this.refs=h,this.updater=r||b}m.prototype.isReactComponent={},m.prototype.setState=function(t,e){if("object"!==typeof t&&"function"!==typeof t&&null!=t)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")},m.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")},w.prototype=m.prototype;var _=O.prototype=new w;_.constructor=O,v(_,m.prototype),_.isPureReactComponent=!0;var A=Array.isArray,j=Object.prototype.hasOwnProperty,S={current:null},g={key:!0,ref:!0,__self:!0,__source:!0};function E(t,e,n){var o,u={},i=null,c=null;if(null!=e)for(o in void 0!==e.ref&&(c=e.ref),void 0!==e.key&&(i=""+e.key),e)j.call(e,o)&&!g.hasOwnProperty(o)&&(u[o]=e[o]);var f=arguments.length-2;if(1===f)u.children=n;else if(1t.length)&&(e=t.length);for(var r=0,n=Array(e);r3?(o=d===n)&&(c=u[(i=u[4])?5:(i=3,3)],u[4]=u[5]=t):u[0]<=y&&((o=r<2&&yn||n>d)&&(u[4]=r,u[5]=n,p.n=d,i=0))}if(o||r>1)return f;throw s=!0,n}return function(o,l,d){if(a>1)throw TypeError("Generator is already running");for(s&&1===l&&y(l,d),i=l,c=d;(e=i<2?t:c)||!s;){u||(i?i<3?(i>1&&(p.n=-1),y(i,c)):p.n=c:p.v=c);try{if(a=2,u){if(i||(o="next"),e=u[o]){if(!(e=e.call(u,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,i<2&&(i=0)}else 1===i&&(e=u["return"])&&e.call(u),i<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),i=1);u=t}else if((e=(s=p.n<0)?c:r.call(n,p))!==f)break}catch(e){u=t,i=1,c=e}finally{a=1}}return{value:e,done:s}}}(r,u,i),!0),l}var f={};function a(){}function l(){}function s(){}e=Object.getPrototypeOf;var p=[][u]?e(e([][u]())):(n(e={},u,function(){return this}),e),y=s.prototype=a.prototype=Object.create(p);function d(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,n(t,i,"GeneratorFunction")),t.prototype=Object.create(y),t}return l.prototype=s,n(y,"constructor",s),n(s,"constructor",l),l.displayName="GeneratorFunction",n(s,i,"GeneratorFunction"),n(y),n(y,i,"Generator"),n(y,u,function(){return this}),n(y,"toString",function(){return"[object Generator]"}),(o=function(){return{w:c,m:d}})()}r.d(e,{A:function(){return o}})},3662:function(t,e,r){function n(t,e){return n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},n(t,e)}r.d(e,{A:function(){return n}})},5544:function(t,e,r){r.d(e,{A:function(){return c}});var n=r(6369);function o(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,u,i,c=[],f=!0,a=!1;try{if(u=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=u.call(r)).done)&&(c.push(n.value),c.length!==e);f=!0);}catch(t){a=!0,o=t}finally{try{if(!f&&null!=r["return"]&&(i=r["return"](),Object(i)!==i))return}finally{if(a)throw o}}return c}}var u=r(7800),i=r(6562);function c(t,e){return(0,n.A)(t)||o(t,e)||(0,u.A)(t,e)||(0,i.A)()}},966:function(t,e,r){r.d(e,{A:function(){return o}});var n=r(3954);function o(t,e){for(;!{}.hasOwnProperty.call(t,e)&&null!==(t=(0,n.A)(t)););return t}},5311:function(t,e,r){r.d(e,{A:function(){return i}});var n=r(966);function o(){return o="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,e,r){var o=(0,n.A)(t,e);if(o){var u=Object.getOwnPropertyDescriptor(o,e);return u.get?u.get.call(arguments.length<3?t:r):u.value}},o.apply(null,arguments)}var u=r(3954);function i(t,e,r,n){var i=o((0,u.A)(1&n?t.prototype:t),e,r);return 2&n&&"function"==typeof i?function(t){return i.apply(r,t)}:i}},9413:function(t,e,r){r.d(e,{A:function(){return f}});var n=r(966),o=r(4467);function u(t,e,r,i){return u="undefined"!=typeof Reflect&&Reflect.set?Reflect.set:function(t,e,r,u){var i,c=(0,n.A)(t,e);if(c){if((i=Object.getOwnPropertyDescriptor(c,e)).set)return i.set.call(u,r),!0;if(!i.writable)return!1}if(i=Object.getOwnPropertyDescriptor(u,e)){if(!i.writable)return!1;i.value=r,Object.defineProperty(u,e,i)}else(0,o.A)(u,e,r);return!0},u(t,e,r,i)}function i(t,e,r,n,o){if(!u(t,e,r,n||t)&&o)throw new TypeError("failed to set property");return r}var c=r(3954);function f(t,e,r,n,o,u){return i((0,c.A)(u?t.prototype:t),e,r,n,o)}},7695:function(t,e,r){r.d(e,{A:function(){return c}});var n=r(6369),o=r(3893),u=r(7800),i=r(6562);function c(t){return(0,n.A)(t)||(0,o.A)(t)||(0,u.A)(t)||(0,i.A)()}},436:function(t,e,r){r.d(e,{A:function(){return f}});var n=r(3145);function o(t){if(Array.isArray(t))return(0,n.A)(t)}var u=r(3893),i=r(7800);function c(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function f(t){return o(t)||(0,u.A)(t)||(0,i.A)(t)||c()}},816:function(t,e,r){r.d(e,{A:function(){return u}});var n=r(2284);function o(t,e){if("object"!=(0,n.A)(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var o=r.call(t,e||"default");if("object"!=(0,n.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}function u(t){var e=o(t,"string");return"symbol"==(0,n.A)(e)?e:e+""}},2284:function(t,e,r){function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}r.d(e,{A:function(){return n}})},7800:function(t,e,r){r.d(e,{A:function(){return o}});var n=r(3145);function o(t,e){if(t){if("string"==typeof t)return(0,n.A)(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?(0,n.A)(t,e):void 0}}},3437:function(t,e,r){r.d(e,{A:function(){return f}});var n=r(3954),o=r(3662);function u(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}var i=r(2176);function c(t,e,r){if((0,i.A)())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,e);var u=new(t.bind.apply(t,n));return r&&(0,o.A)(u,r.prototype),u}function f(t){var e="function"==typeof Map?new Map:void 0;return f=function(t){if(null===t||!u(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return c(t,arguments,(0,n.A)(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),(0,o.A)(r,t)},f(t)}},1635:function(t,e,r){r.d(e,{GG:function(){return o},gn:function(){return n}});Object.create;Object.create;function n(t,e,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"===typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(t):n?n.value:e.get(t)}function o(t,e,r,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"===typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(t,r):o?o.value=r:e.set(t,r),r}"function"===typeof SuppressedError&&SuppressedError}}]); \ No newline at end of file +"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[96],{1020:function(t,e,r){var n=r(6540),o=Symbol.for("react.element"),u=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,c=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,f={key:!0,ref:!0,__self:!0,__source:!0};function a(t,e,r){var n,u={},a=null,l=null;for(n in void 0!==r&&(a=""+r),void 0!==e.key&&(a=""+e.key),void 0!==e.ref&&(l=e.ref),e)i.call(e,n)&&!f.hasOwnProperty(n)&&(u[n]=e[n]);if(t&&t.defaultProps)for(n in e=t.defaultProps,e)void 0===u[n]&&(u[n]=e[n]);return{$$typeof:o,type:t,key:a,ref:l,props:u,_owner:c.current}}e.Fragment=u,e.jsx=a,e.jsxs=a},5287:function(t,e){var r=Symbol.for("react.element"),n=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),u=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),f=Symbol.for("react.context"),a=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),s=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),y=Symbol.iterator;function d(t){return null===t||"object"!==typeof t?null:(t=y&&t[y]||t["@@iterator"],"function"===typeof t?t:null)}var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,h={};function m(t,e,r){this.props=t,this.context=e,this.refs=h,this.updater=r||b}function w(){}function O(t,e,r){this.props=t,this.context=e,this.refs=h,this.updater=r||b}m.prototype.isReactComponent={},m.prototype.setState=function(t,e){if("object"!==typeof t&&"function"!==typeof t&&null!=t)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")},m.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")},w.prototype=m.prototype;var _=O.prototype=new w;_.constructor=O,v(_,m.prototype),_.isPureReactComponent=!0;var A=Array.isArray,j=Object.prototype.hasOwnProperty,S={current:null},g={key:!0,ref:!0,__self:!0,__source:!0};function E(t,e,n){var o,u={},i=null,c=null;if(null!=e)for(o in void 0!==e.ref&&(c=e.ref),void 0!==e.key&&(i=""+e.key),e)j.call(e,o)&&!g.hasOwnProperty(o)&&(u[o]=e[o]);var f=arguments.length-2;if(1===f)u.children=n;else if(1t.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:u}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,c=!0,f=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return c=t.done,t},e:function(t){f=!0,i=t},f:function(){try{c||null==r["return"]||r["return"]()}finally{if(f)throw i}}}}},4467:function(t,e,r){r.d(e,{A:function(){return o}});var n=r(816);function o(t,e,r){return(e=(0,n.A)(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}},3954:function(t,e,r){function n(t){return n=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},n(t)}r.d(e,{A:function(){return n}})},5501:function(t,e,r){r.d(e,{A:function(){return o}});var n=r(3662);function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&(0,n.A)(t,e)}},2176:function(t,e,r){function n(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(n=function(){return!!t})()}r.d(e,{A:function(){return n}})},3893:function(t,e,r){function n(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}r.d(e,{A:function(){return n}})},6562:function(t,e,r){function n(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}r.d(e,{A:function(){return n}})},9379:function(t,e,r){r.d(e,{A:function(){return u}});var n=r(4467);function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function u(t){for(var e=1;e3?(o=d===n)&&(c=u[(i=u[4])?5:(i=3,3)],u[4]=u[5]=t):u[0]<=y&&((o=r<2&&yn||n>d)&&(u[4]=r,u[5]=n,p.n=d,i=0))}if(o||r>1)return f;throw s=!0,n}return function(o,l,d){if(a>1)throw TypeError("Generator is already running");for(s&&1===l&&y(l,d),i=l,c=d;(e=i<2?t:c)||!s;){u||(i?i<3?(i>1&&(p.n=-1),y(i,c)):p.n=c:p.v=c);try{if(a=2,u){if(i||(o="next"),e=u[o]){if(!(e=e.call(u,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,i<2&&(i=0)}else 1===i&&(e=u["return"])&&e.call(u),i<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),i=1);u=t}else if((e=(s=p.n<0)?c:r.call(n,p))!==f)break}catch(e){u=t,i=1,c=e}finally{a=1}}return{value:e,done:s}}}(r,u,i),!0),l}var f={};function a(){}function l(){}function s(){}e=Object.getPrototypeOf;var p=[][u]?e(e([][u]())):(n(e={},u,function(){return this}),e),y=s.prototype=a.prototype=Object.create(p);function d(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,s):(t.__proto__=s,n(t,i,"GeneratorFunction")),t.prototype=Object.create(y),t}return l.prototype=s,n(y,"constructor",s),n(s,"constructor",l),l.displayName="GeneratorFunction",n(s,i,"GeneratorFunction"),n(y),n(y,i,"Generator"),n(y,u,function(){return this}),n(y,"toString",function(){return"[object Generator]"}),(o=function(){return{w:c,m:d}})()}r.d(e,{A:function(){return o}})},3662:function(t,e,r){function n(t,e){return n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},n(t,e)}r.d(e,{A:function(){return n}})},5544:function(t,e,r){r.d(e,{A:function(){return c}});var n=r(6369);function o(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,u,i,c=[],f=!0,a=!1;try{if(u=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=u.call(r)).done)&&(c.push(n.value),c.length!==e);f=!0);}catch(t){a=!0,o=t}finally{try{if(!f&&null!=r["return"]&&(i=r["return"](),Object(i)!==i))return}finally{if(a)throw o}}return c}}var u=r(7800),i=r(6562);function c(t,e){return(0,n.A)(t)||o(t,e)||(0,u.A)(t,e)||(0,i.A)()}},966:function(t,e,r){r.d(e,{A:function(){return o}});var n=r(3954);function o(t,e){for(;!{}.hasOwnProperty.call(t,e)&&null!==(t=(0,n.A)(t)););return t}},5311:function(t,e,r){r.d(e,{A:function(){return i}});var n=r(966);function o(){return o="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,e,r){var o=(0,n.A)(t,e);if(o){var u=Object.getOwnPropertyDescriptor(o,e);return u.get?u.get.call(arguments.length<3?t:r):u.value}},o.apply(null,arguments)}var u=r(3954);function i(t,e,r,n){var i=o((0,u.A)(1&n?t.prototype:t),e,r);return 2&n&&"function"==typeof i?function(t){return i.apply(r,t)}:i}},9413:function(t,e,r){r.d(e,{A:function(){return f}});var n=r(966),o=r(4467);function u(t,e,r,i){return u="undefined"!=typeof Reflect&&Reflect.set?Reflect.set:function(t,e,r,u){var i,c=(0,n.A)(t,e);if(c){if((i=Object.getOwnPropertyDescriptor(c,e)).set)return i.set.call(u,r),!0;if(!i.writable)return!1}if(i=Object.getOwnPropertyDescriptor(u,e)){if(!i.writable)return!1;i.value=r,Object.defineProperty(u,e,i)}else(0,o.A)(u,e,r);return!0},u(t,e,r,i)}function i(t,e,r,n,o){if(!u(t,e,r,n||t)&&o)throw new TypeError("failed to set property");return r}var c=r(3954);function f(t,e,r,n,o,u){return i((0,c.A)(u?t.prototype:t),e,r,n,o)}},7695:function(t,e,r){r.d(e,{A:function(){return c}});var n=r(6369),o=r(3893),u=r(7800),i=r(6562);function c(t){return(0,n.A)(t)||(0,o.A)(t)||(0,u.A)(t)||(0,i.A)()}},436:function(t,e,r){r.d(e,{A:function(){return f}});var n=r(3145);function o(t){if(Array.isArray(t))return(0,n.A)(t)}var u=r(3893),i=r(7800);function c(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function f(t){return o(t)||(0,u.A)(t)||(0,i.A)(t)||c()}},816:function(t,e,r){r.d(e,{A:function(){return u}});var n=r(2284);function o(t,e){if("object"!=(0,n.A)(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var o=r.call(t,e||"default");if("object"!=(0,n.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}function u(t){var e=o(t,"string");return"symbol"==(0,n.A)(e)?e:e+""}},2284:function(t,e,r){function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}r.d(e,{A:function(){return n}})},7800:function(t,e,r){r.d(e,{A:function(){return o}});var n=r(3145);function o(t,e){if(t){if("string"==typeof t)return(0,n.A)(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?(0,n.A)(t,e):void 0}}},3437:function(t,e,r){r.d(e,{A:function(){return f}});var n=r(3954),o=r(3662);function u(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}var i=r(2176);function c(t,e,r){if((0,i.A)())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,e);var u=new(t.bind.apply(t,n));return r&&(0,o.A)(u,r.prototype),u}function f(t){var e="function"==typeof Map?new Map:void 0;return f=function(t){if(null===t||!u(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return c(t,arguments,(0,n.A)(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),(0,o.A)(r,t)},f(t)}},1635:function(t,e,r){r.d(e,{GG:function(){return o},gn:function(){return n}});Object.create;Object.create;function n(t,e,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"===typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(t):n?n.value:e.get(t)}function o(t,e,r,n,o){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"===typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?o.call(t,r):o?o.value=r:e.set(t,r),r}"function"===typeof SuppressedError&&SuppressedError}}]); \ No newline at end of file diff --git a/src/app.scss b/src/app.scss index c6d6a27..3b29bda 100644 --- a/src/app.scss +++ b/src/app.scss @@ -209,19 +209,39 @@ page { align-items: center !important; justify-content: center !important; border-radius: 50% !important; - background: rgba(255, 255, 255, 0.55) !important; - backdrop-filter: blur(32px) saturate(1.2) !important; - -webkit-backdrop-filter: blur(32px) saturate(1.2) !important; - border: 1rpx solid rgba(255, 255, 255, 0.55) !important; - box-shadow: 0 12rpx 40rpx rgba(0, 0, 0, 0.18), 0 4rpx 12rpx rgba(0, 0, 0, 0.08) !important; + background: linear-gradient( + 135deg, + rgba(255, 255, 255, 0.55) 0%, + rgba(255, 255, 255, 0.28) 45%, + rgba(255, 255, 255, 0.42) 100% + ) !important; + backdrop-filter: blur(24px) saturate(1.7) brightness(1.05) !important; + -webkit-backdrop-filter: blur(24px) saturate(1.7) brightness(1.05) !important; + border: 1rpx solid rgba(255, 255, 255, 0.35) !important; + box-shadow: + inset 0 2rpx 3rpx rgba(255, 255, 255, 0.65), + inset 0 -2rpx 4rpx rgba(0, 0, 0, 0.06), + inset 0 0 0 1rpx rgba(255, 255, 255, 0.18), + 0 12rpx 40rpx rgba(0, 0, 0, 0.18), + 0 4rpx 12rpx rgba(0, 0, 0, 0.08) !important; } .theme-dark .back-btn, .theme-dark .edit-back, .theme-dark .shop-back-btn { - background: rgba(25, 25, 25, 0.55) !important; - border-color: rgba(255, 255, 255, 0.14) !important; - box-shadow: 0 12rpx 40rpx rgba(0, 0, 0, 0.5), 0 4rpx 12rpx rgba(0, 0, 0, 0.3) !important; + background: linear-gradient( + 135deg, + rgba(255, 255, 255, 0.16) 0%, + rgba(255, 255, 255, 0.06) 45%, + rgba(255, 255, 255, 0.12) 100% + ) !important; + border-color: rgba(255, 255, 255, 0.18) !important; + box-shadow: + inset 0 2rpx 3rpx rgba(255, 255, 255, 0.22), + inset 0 -2rpx 4rpx rgba(0, 0, 0, 0.28), + inset 0 0 0 1rpx rgba(255, 255, 255, 0.1), + 0 12rpx 40rpx rgba(0, 0, 0, 0.5), + 0 4rpx 12rpx rgba(0, 0, 0, 0.3) !important; } /* ========================================================== diff --git a/src/components/ScrollTopMask/index.scss b/src/components/ScrollTopMask/index.scss index 9e8d6ea..82fe47b 100644 --- a/src/components/ScrollTopMask/index.scss +++ b/src/components/ScrollTopMask/index.scss @@ -44,17 +44,37 @@ justify-content: center; border-radius: 50%; pointer-events: auto; - background: rgba(255, 255, 255, 0.55); - backdrop-filter: blur(32px) saturate(1.2); - -webkit-backdrop-filter: blur(32px) saturate(1.2); - border: 1rpx solid rgba(255, 255, 255, 0.55); - box-shadow: 0 12rpx 40rpx rgba(0, 0, 0, 0.18), 0 4rpx 12rpx rgba(0, 0, 0, 0.08); + background: linear-gradient( + 135deg, + rgba(255, 255, 255, 0.55) 0%, + rgba(255, 255, 255, 0.28) 45%, + rgba(255, 255, 255, 0.42) 100% + ); + backdrop-filter: blur(24px) saturate(1.7) brightness(1.05); + -webkit-backdrop-filter: blur(24px) saturate(1.7) brightness(1.05); + border: 1rpx solid rgba(255, 255, 255, 0.35); + box-shadow: + inset 0 2rpx 3rpx rgba(255, 255, 255, 0.65), + inset 0 -2rpx 4rpx rgba(0, 0, 0, 0.06), + inset 0 0 0 1rpx rgba(255, 255, 255, 0.18), + 0 12rpx 40rpx rgba(0, 0, 0, 0.18), + 0 4rpx 12rpx rgba(0, 0, 0, 0.08); } .theme-dark .scroll-top-back { - background: rgba(25, 25, 25, 0.55); - border-color: rgba(255, 255, 255, 0.14); - box-shadow: 0 12rpx 40rpx rgba(0, 0, 0, 0.5), 0 4rpx 12rpx rgba(0, 0, 0, 0.3); + background: linear-gradient( + 135deg, + rgba(255, 255, 255, 0.16) 0%, + rgba(255, 255, 255, 0.06) 45%, + rgba(255, 255, 255, 0.12) 100% + ); + border-color: rgba(255, 255, 255, 0.18); + box-shadow: + inset 0 2rpx 3rpx rgba(255, 255, 255, 0.22), + inset 0 -2rpx 4rpx rgba(0, 0, 0, 0.28), + inset 0 0 0 1rpx rgba(255, 255, 255, 0.1), + 0 12rpx 40rpx rgba(0, 0, 0, 0.5), + 0 4rpx 12rpx rgba(0, 0, 0, 0.3); } .scroll-top-back-arrow { diff --git a/src/custom-tab-bar/index.scss b/src/custom-tab-bar/index.scss index e035b2f..69fb165 100644 --- a/src/custom-tab-bar/index.scss +++ b/src/custom-tab-bar/index.scss @@ -32,25 +32,84 @@ border-radius: 64rpx; height: 116rpx; box-sizing: border-box; - background: rgba(255, 255, 255, 0.55); - backdrop-filter: blur(32px) saturate(1.2); - -webkit-backdrop-filter: blur(32px) saturate(1.2); + overflow: hidden; + background: rgba(255, 255, 255, 0.4); + backdrop-filter: blur(32px) saturate(1.7) brightness(1.05); + -webkit-backdrop-filter: blur(32px) saturate(1.7) brightness(1.05); display: flex; justify-content: space-around; align-items: center; - border: 1rpx solid rgba(255, 255, 255, 0.55); - box-shadow: 0 12rpx 40rpx rgba(0, 0, 0, 0.18), 0 4rpx 12rpx rgba(0, 0, 0, 0.08); + border: 1rpx solid rgba(255, 255, 255, 0.14); + box-shadow: + 0 24rpx 60rpx rgba(20, 14, 10, 0.22), + 0 4rpx 12rpx rgba(0, 0, 0, 0.08), + inset 0 2rpx 0 rgba(255, 255, 255, 0.35); pointer-events: auto; z-index: 1000; } /* 自定义组件样式隔离:两套主题配色在组件内自包含,不依赖全局 app.wxss */ .custom-tab-bar.theme-dark { - background: rgba(25, 25, 25, 0.55); - backdrop-filter: blur(32px) saturate(1.2); - -webkit-backdrop-filter: blur(32px) saturate(1.2); - border-color: rgba(255, 255, 255, 0.14); - box-shadow: 0 12rpx 40rpx rgba(0, 0, 0, 0.5), 0 4rpx 12rpx rgba(0, 0, 0, 0.3); + background: rgba(25, 25, 25, 0.4); + backdrop-filter: blur(32px) saturate(1.7) brightness(1.05); + -webkit-backdrop-filter: blur(32px) saturate(1.7) brightness(1.05); + border-color: rgba(255, 255, 255, 0.1); + box-shadow: + 0 24rpx 60rpx rgba(0, 0, 0, 0.55), + 0 4rpx 12rpx rgba(0, 0, 0, 0.3), + inset 0 2rpx 0 rgba(255, 255, 255, 0.12); +} + +/* 顶部弯月面聚光带 */ +.tab-bar-caustic { + position: absolute; + top: 0; + left: 0; + right: 0; + height: 56rpx; + border-radius: 64rpx 64rpx 0 0; + background: linear-gradient(to bottom, rgba(255, 255, 255, 0.32), rgba(255, 255, 255, 0)); + box-shadow: inset 0 1rpx 0 rgba(255, 255, 255, 0.55); + pointer-events: none; + z-index: 2; +} + +.custom-tab-bar.theme-dark .tab-bar-caustic { + background: linear-gradient(to bottom, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0)); + box-shadow: inset 0 1rpx 0 rgba(255, 255, 255, 0.22); +} + +/* 非均匀银丝玻璃边缘 */ +.tab-bar-rim { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + border-radius: inherit; + padding: 1rpx; + background: linear-gradient( + 135deg, + rgba(255, 255, 255, 0.6) 0%, + rgba(255, 255, 255, 0.18) 32%, + rgba(255, 255, 255, 0.03) 68%, + rgba(255, 255, 255, 0.24) 100% + ); + -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); + -webkit-mask-composite: xor; + mask-composite: exclude; + pointer-events: none; + z-index: 3; +} + +.custom-tab-bar.theme-dark .tab-bar-rim { + background: linear-gradient( + 135deg, + rgba(255, 255, 255, 0.34) 0%, + rgba(255, 255, 255, 0.12) 32%, + rgba(255, 255, 255, 0.02) 68%, + rgba(255, 255, 255, 0.16) 100% + ); } .tab-item { @@ -63,6 +122,7 @@ flex: 1; height: 100%; max-width: 160px; + z-index: 10; } .tab-indicator { @@ -73,13 +133,21 @@ width: 120rpx; height: 100rpx; border-radius: 50rpx; - background: rgba(0, 0, 0, 0.14); - box-shadow: 0 0 6rpx rgba(0, 0, 0, 0.07); + background: linear-gradient(180deg, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.16)); + border: 1rpx solid rgba(255, 255, 255, 0.25); + box-shadow: + inset 0 2rpx 4rpx rgba(255, 255, 255, 0.35), + inset 0 -2rpx 4rpx rgba(0, 0, 0, 0.06), + 0 4rpx 10rpx rgba(0, 0, 0, 0.08); } .custom-tab-bar.theme-dark .tab-indicator { - background: rgba(255, 255, 255, 0.14); - box-shadow: 0 0 6rpx rgba(255, 255, 255, 0.07); + background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.16)); + border-color: rgba(255, 255, 255, 0.18); + box-shadow: + inset 0 2rpx 4rpx rgba(255, 255, 255, 0.12), + inset 0 -2rpx 4rpx rgba(0, 0, 0, 0.3), + 0 4rpx 10rpx rgba(0, 0, 0, 0.2); } .tab-icon-img { diff --git a/src/custom-tab-bar/index.tsx b/src/custom-tab-bar/index.tsx index 289ceb1..b059d98 100644 --- a/src/custom-tab-bar/index.tsx +++ b/src/custom-tab-bar/index.tsx @@ -95,6 +95,8 @@ export default function CustomTabBar() { + + {TABS.map((tab) => { const isActive = tab.pagePath === activeTab return ( diff --git a/tools/liquid-glass.test.mjs b/tools/liquid-glass.test.mjs new file mode 100644 index 0000000..66d262d --- /dev/null +++ b/tools/liquid-glass.test.mjs @@ -0,0 +1,35 @@ +import test from 'node:test' +import assert from 'node:assert/strict' +import { readFileSync } from 'node:fs' +import { fileURLToPath } from 'node:url' +import path from 'node:path' + +const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..') +const read = (rel) => readFileSync(path.join(root, rel), 'utf8') + +test('custom tab bar renders the liquid-glass overlay layers', () => { + const source = read('src/custom-tab-bar/index.tsx') + assert.match(source, /tab-bar-caustic/) + assert.match(source, /tab-bar-rim/) +}) + +test('custom tab bar uses bright glass material and the silver rim', () => { + const css = read('src/custom-tab-bar/index.scss') + assert.match(css, /backdrop-filter: blur\(32px\) saturate\(1\.7\) brightness\(1\.05\)/) + assert.match(css, /-webkit-backdrop-filter: blur\(32px\) saturate\(1\.7\) brightness\(1\.05\)/) + assert.match(css, /mask-composite: exclude/) + assert.match(css, /linear-gradient\(\s*135deg/) +}) + +test('global back buttons use the liquid-glass gradient and inner shading', () => { + const css = read('src/app.scss') + assert.match(css, /background: linear-gradient\(\s*135deg/) + assert.match(css, /backdrop-filter: blur\(24px\) saturate\(1\.7\) brightness\(1\.05\)/) + assert.match(css, /\.theme-dark \.back-btn/) +}) + +test('scroll top back button matches the global liquid-glass back style', () => { + const css = read('src/components/ScrollTopMask/index.scss') + assert.match(css, /background: linear-gradient\(\s*135deg/) + assert.match(css, /backdrop-filter: blur\(24px\) saturate\(1\.7\) brightness\(1\.05\)/) +}) From f9099f4aec04ade436e8a995846a71fbbe6f9982 Mon Sep 17 00:00:00 2001 From: obroccolio Date: Tue, 18 Aug 2026 21:34:51 +0800 Subject: [PATCH 2/8] =?UTF-8?q?style(ui):=20=E5=BA=95=E6=A0=8F=E9=80=8F?= =?UTF-8?q?=E6=98=8E=E5=BA=A6=E4=BB=8E=200.4=20=E9=99=8D=E8=87=B3=200.32?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/custom-tab-bar/index.wxss | 2 +- src/custom-tab-bar/index.scss | 4 ++-- tools/liquid-glass.test.mjs | 2 ++ 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/dist/custom-tab-bar/index.wxss b/dist/custom-tab-bar/index.wxss index 28b29f6..4277300 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%,.4);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,.4);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;left:50%;position:absolute;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:120rpx}.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-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: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%,.32);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,.32);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;left:50%;position:absolute;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:120rpx}.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-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/src/custom-tab-bar/index.scss b/src/custom-tab-bar/index.scss index 69fb165..5f36f06 100644 --- a/src/custom-tab-bar/index.scss +++ b/src/custom-tab-bar/index.scss @@ -33,7 +33,7 @@ height: 116rpx; box-sizing: border-box; overflow: hidden; - background: rgba(255, 255, 255, 0.4); + background: rgba(255, 255, 255, 0.32); backdrop-filter: blur(32px) saturate(1.7) brightness(1.05); -webkit-backdrop-filter: blur(32px) saturate(1.7) brightness(1.05); display: flex; @@ -50,7 +50,7 @@ /* 自定义组件样式隔离:两套主题配色在组件内自包含,不依赖全局 app.wxss */ .custom-tab-bar.theme-dark { - background: rgba(25, 25, 25, 0.4); + background: rgba(25, 25, 25, 0.32); backdrop-filter: blur(32px) saturate(1.7) brightness(1.05); -webkit-backdrop-filter: blur(32px) saturate(1.7) brightness(1.05); border-color: rgba(255, 255, 255, 0.1); diff --git a/tools/liquid-glass.test.mjs b/tools/liquid-glass.test.mjs index 66d262d..00a54c6 100644 --- a/tools/liquid-glass.test.mjs +++ b/tools/liquid-glass.test.mjs @@ -15,6 +15,8 @@ test('custom tab bar renders the liquid-glass overlay layers', () => { test('custom tab bar uses bright glass material and the silver rim', () => { const css = read('src/custom-tab-bar/index.scss') + assert.match(css, /background: rgba\(255, 255, 255, 0\.32\)/) + assert.match(css, /background: rgba\(25, 25, 25, 0\.32\)/) assert.match(css, /backdrop-filter: blur\(32px\) saturate\(1\.7\) brightness\(1\.05\)/) assert.match(css, /-webkit-backdrop-filter: blur\(32px\) saturate\(1\.7\) brightness\(1\.05\)/) assert.match(css, /mask-composite: exclude/) From 9bd7d0421f23aad77c6a5d2ca9c9a5ae10f98573 Mon Sep 17 00:00:00 2001 From: obroccolio Date: Tue, 18 Aug 2026 22:54:28 +0800 Subject: [PATCH 3/8] =?UTF-8?q?feat(ui):=20=E5=BA=95=E6=A0=8F=E5=8F=AF?= =?UTF-8?q?=E6=8B=96=E5=8A=A8=E5=88=87=E6=8D=A2=20+=20=E9=80=8F=E6=98=8E?= =?UTF-8?q?=E5=BA=A6=E9=99=8D=E8=87=B3=200.24?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 滑块随手指实时移动,松手后跳转到目标 tab - 抽出 tabBarGeometry 计算拖拽命中,配套单测 - 底栏浅色/深色底色 0.32 -> 0.24 --- dist/custom-tab-bar/index.js | 2 +- dist/custom-tab-bar/index.wxss | 2 +- src/custom-tab-bar/index.scss | 12 +++-- src/custom-tab-bar/index.tsx | 69 ++++++++++++++++++++++++---- src/custom-tab-bar/tabBarGeometry.js | 21 +++++++++ tools/custom-tab-bar.test.mjs | 24 ++++++++++ tools/liquid-glass.test.mjs | 4 +- 7 files changed, 119 insertions(+), 15 deletions(-) create mode 100644 src/custom-tab-bar/tabBarGeometry.js create mode 100644 tools/custom-tab-bar.test.mjs diff --git a/dist/custom-tab-bar/index.js b/dist/custom-tab-bar/index.js index 9325712..5086f31 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],{653:function(e,n,t){var a=t(7842),c=t(5544),i=t(118),s=t(758),o=t.n(s),r=t(6540),u=t(1457),f=t(9703),g=t(6606),h=t(8199),l=t(4848),v=[{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")}];function p(e){var n=v.findIndex(function(n){return e.endsWith(n.pagePath)});return v[n>=0?n:0].pagePath}function b(){var e=o().getCurrentInstance().router,n=e&&e.path?e.path:"pages/index/index";return p(n)}function m(){var e=(0,r.useState)((0,u.eW)((0,u.O4)())),n=(0,c.A)(e,2),t=n[0],a=n[1],s=(0,r.useState)(b),h=(0,c.A)(s,2),m=h[0],d=h[1];(0,r.useEffect)(function(){var e=function(e){return a(e)};return o().eventCenter.on(f.Wo,e),function(){o().eventCenter.off(f.Wo,e)}},[]),(0,r.useEffect)(function(){var e=function(e){!e||"dark"!==e.theme&&"light"!==e.theme||((0,u.Rq)(e.theme),"auto"===(0,u.O4)()&&a(e.theme))},n=o();return n.onThemeChange&&n.onThemeChange(e),function(){n.offThemeChange&&n.offThemeChange(e)}},[]),(0,r.useEffect)(function(){var e=function(e){var n=o().getCurrentInstance().router,t=n&&n.path?n.path:"pages/index/index";d(p(e||t))};return o().eventCenter.on("tabBarChange",e),function(){o().eventCenter.off("tabBarChange",e)}},[]),(0,r.useEffect)(function(){(0,g.G)(t)},[t]);var x=function(e){d(p(e)),o().switchTab({url:e}),o().eventCenter.trigger("tabBarChange",e)};return(0,l.jsxs)(i.Ss,{className:"tab-bar-root theme-".concat(t),children:[(0,l.jsx)(i.Ss,{className:"tab-bar-gradient"}),(0,l.jsxs)(i.Ss,{className:"custom-tab-bar theme-".concat(t),children:[(0,l.jsx)(i.Ss,{className:"tab-bar-caustic"}),(0,l.jsx)(i.Ss,{className:"tab-bar-rim"}),v.map(function(e){var n=e.pagePath===m;return(0,l.jsxs)(i.Ss,{className:"tab-item ".concat(n?"active":""),onTap:function(){return x(e.pagePath)},children:[n&&(0,l.jsx)(i.Ss,{className:"tab-indicator"}),(0,l.jsx)(i._V,{className:"tab-icon-img ".concat(n?"active":""),src:n?e.iconActive:e.icon,mode:"aspectFit"}),(0,l.jsx)(i.EY,{className:"tab-label",children:e.label})]},e.pagePath)})]})]})}Component((0,a.createComponentConfig)(m,"custom-tab-bar/index"))}},function(e){var n=function(n){return e(e.s=n)};e.O(0,[907,96,76],function(){return n(653)});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),i=t(118),r=t(758),u=t.n(r),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,e){return g(n,0,Math.max(0,e))}function m(n,e,t){if(!Number.isFinite(n)||!Number.isFinite(e)||e<=0||t<=0)return 0;var a=v(n,e)/e;return g(Math.floor(a*t),0,t-1)}function p(n){var e=n/750;return{left:36*e,width:Math.max(0,n-72*e)}}var d=t(4848),b=[{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")}],x=100/b.length;function C(n){var e=b.findIndex(function(e){return n.endsWith(e.pagePath)});return b[e>=0?e:0].pagePath}function S(){var n=u().getCurrentInstance().router,e=n&&n.path?n.path:"pages/index/index";return C(e)}function N(){var n=(0,o.useState)((0,s.eW)((0,s.O4)())),e=(0,c.A)(n,2),t=e[0],a=e[1],r=(0,o.useState)(S),h=(0,c.A)(r,2),g=h[0],N=h[1],P=(0,o.useState)(null),q=(0,c.A)(P,2),w=q[0],j=q[1],A=(0,o.useRef)(null),T=(0,o.useRef)(null);(0,o.useEffect)(function(){var n=function(n){return a(n)};return u().eventCenter.on(l.Wo,n),function(){u().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=u();return e.onThemeChange&&e.onThemeChange(n),function(){e.offThemeChange&&e.offThemeChange(n)}},[]),(0,o.useEffect)(function(){var n=function(n){var e=u().getCurrentInstance().router,t=e&&e.path?e.path:"pages/index/index";N(C(n||t))};return u().eventCenter.on("tabBarChange",n),function(){u().eventCenter.off("tabBarChange",n)}},[]),(0,o.useEffect)(function(){(0,f.G)(t)},[t]);var M=function(n){N(C(n)),u().switchTab({url:n}),u().eventCenter.trigger("tabBarChange",n)},E=function(n){var e=n.touches&&n.touches[0];if(e){var t=p(u().getSystemInfoSync().windowWidth);T.current=t;var a=v(e.clientX-t.left,t.width);A.current=a,j(a)}},I=function(n){if(null!==A.current){var e=T.current,t=n.touches&&n.touches[0];if(e&&t){var a=v(t.clientX-e.left,e.width);A.current=a,j(a)}}},W=function(){var n=T.current,e=A.current;if(n&&null!==e){var t=m(e,n.width,b.length),a=b[t];a&&a.pagePath!==g&&M(a.pagePath)}T.current=null,A.current=null,j(null)},F=function(){T.current=null,A.current=null,j(null)},O=Math.max(0,b.findIndex(function(n){return n.pagePath===g}));return(0,d.jsxs)(i.Ss,{className:"tab-bar-root theme-".concat(t),children:[(0,d.jsx)(i.Ss,{className:"tab-bar-gradient"}),(0,d.jsxs)(i.Ss,{className:"custom-tab-bar theme-".concat(t),onTouchStart:E,onTouchMove:I,onTouchEnd:W,onTouchCancel:F,catchMove:!0,children:[(0,d.jsx)(i.Ss,{className:"tab-bar-caustic"}),(0,d.jsx)(i.Ss,{className:"tab-bar-rim"}),(0,d.jsx)(i.Ss,{className:"tab-indicator ".concat(null!==w?"dragging":""),style:{left:null===w?"calc(".concat((O+.5)*x,"%)"):"".concat(w,"px")}}),b.map(function(n){var e=n.pagePath===g;return(0,d.jsxs)(i.Ss,{className:"tab-item ".concat(e?"active":""),children:[(0,d.jsx)(i._V,{className:"tab-icon-img ".concat(e?"active":""),src:e?n.iconActive:n.icon,mode:"aspectFit"}),(0,d.jsx)(i.EY,{className:"tab-label",children:n.label})]},n.pagePath)})]})]})}Component((0,a.createComponentConfig)(N,"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 4277300..7da6a96 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%,.32);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,.32);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;left:50%;position:absolute;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:120rpx}.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-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: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 diff --git a/src/custom-tab-bar/index.scss b/src/custom-tab-bar/index.scss index 5f36f06..5664525 100644 --- a/src/custom-tab-bar/index.scss +++ b/src/custom-tab-bar/index.scss @@ -33,7 +33,7 @@ height: 116rpx; box-sizing: border-box; overflow: hidden; - background: rgba(255, 255, 255, 0.32); + background: rgba(255, 255, 255, 0.24); backdrop-filter: blur(32px) saturate(1.7) brightness(1.05); -webkit-backdrop-filter: blur(32px) saturate(1.7) brightness(1.05); display: flex; @@ -50,7 +50,7 @@ /* 自定义组件样式隔离:两套主题配色在组件内自包含,不依赖全局 app.wxss */ .custom-tab-bar.theme-dark { - background: rgba(25, 25, 25, 0.32); + background: rgba(25, 25, 25, 0.24); backdrop-filter: blur(32px) saturate(1.7) brightness(1.05); -webkit-backdrop-filter: blur(32px) saturate(1.7) brightness(1.05); border-color: rgba(255, 255, 255, 0.1); @@ -127,12 +127,14 @@ .tab-indicator { position: absolute; - left: 50%; transform: translateX(-50%); bottom: 6rpx; width: 120rpx; height: 100rpx; border-radius: 50rpx; + pointer-events: none; + z-index: 4; + transition: left 0.25s ease; background: linear-gradient(180deg, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.16)); border: 1rpx solid rgba(255, 255, 255, 0.25); box-shadow: @@ -150,6 +152,10 @@ 0 4rpx 10rpx rgba(0, 0, 0, 0.2); } +.tab-indicator.dragging { + transition: none; +} + .tab-icon-img { position: relative; z-index: 1; diff --git a/src/custom-tab-bar/index.tsx b/src/custom-tab-bar/index.tsx index b059d98..238ba44 100644 --- a/src/custom-tab-bar/index.tsx +++ b/src/custom-tab-bar/index.tsx @@ -1,10 +1,11 @@ import { View, Text, Image } from '@tarojs/components' import Taro from '@tarojs/taro' -import { useEffect, useState } from 'react' +import { useEffect, useRef, useState } from 'react' import { getTheme, resolveTheme, setDetectedSystemTheme } from '../utils/store' import { THEME_CHANGE_EVENT } from '../context/ThemeContext' import { applyPageBackground } from '../utils/themeBackground' import { assetUrl } from '../utils/asset' +import { clampDragX, getTabBarFrame, tabIndexAtX } from './tabBarGeometry' import './index.scss' const TABS = [ @@ -15,6 +16,8 @@ const TABS = [ { pagePath: '/pages/profile/index', label: '我的', icon: assetUrl('/icon/个人.svg'), iconActive: assetUrl('/icon/个人-fill.svg') } ] +const TAB_CENTER_STEP = 100 / TABS.length + function matchTab(path: string): string { const idx = TABS.findIndex((t) => path.endsWith(t.pagePath)) return TABS[idx >= 0 ? idx : 0].pagePath @@ -36,6 +39,9 @@ export default function CustomTabBar() { // 微信自定义 tabBar 不会自动感知 page 路由变化,用 state 保持选中态响应式 const [activeTab, setActiveTab] = useState(currentTabPath) + const [dragX, setDragX] = useState(null) + const dragXRef = useRef(null) + const barFrameRef = useRef<{ left: number; width: number } | null>(null) useEffect(() => { const handler = (t: 'light' | 'dark') => setResolvedTheme(t) @@ -91,21 +97,68 @@ export default function CustomTabBar() { Taro.eventCenter.trigger('tabBarChange', url) } + const startDrag = (e: any) => { + const touch = e.touches && e.touches[0] + if (!touch) return + const frame = getTabBarFrame(Taro.getSystemInfoSync().windowWidth) + barFrameRef.current = frame + const nextX = clampDragX(touch.clientX - frame.left, frame.width) + dragXRef.current = nextX + setDragX(nextX) + } + + const moveDrag = (e: any) => { + if (dragXRef.current === null) return + const frame = barFrameRef.current + const touch = e.touches && e.touches[0] + if (!frame || !touch) return + const nextX = clampDragX(touch.clientX - frame.left, frame.width) + dragXRef.current = nextX + setDragX(nextX) + } + + const endDrag = () => { + const frame = barFrameRef.current + const x = dragXRef.current + if (frame && x !== null) { + const idx = tabIndexAtX(x, frame.width, TABS.length) + const target = TABS[idx] + if (target && target.pagePath !== activeTab) switchTab(target.pagePath) + } + barFrameRef.current = null + dragXRef.current = null + setDragX(null) + } + + const cancelDrag = () => { + barFrameRef.current = null + dragXRef.current = null + setDragX(null) + } + + const activeIndex = Math.max(0, TABS.findIndex((t) => t.pagePath === activeTab)) + return ( - + + {TABS.map((tab) => { const isActive = tab.pagePath === activeTab return ( - switchTab(tab.pagePath)} - > - {isActive && } + {tab.label} diff --git a/src/custom-tab-bar/tabBarGeometry.js b/src/custom-tab-bar/tabBarGeometry.js new file mode 100644 index 0000000..fb35e3a --- /dev/null +++ b/src/custom-tab-bar/tabBarGeometry.js @@ -0,0 +1,21 @@ +export function clamp(value, min, max) { + if (!Number.isFinite(value)) return min + return Math.min(max, Math.max(min, value)) +} + +export function clampDragX(x, barWidth) { + return clamp(x, 0, Math.max(0, barWidth)) +} + +export function tabIndexAtX(x, barWidth, tabCount) { + if (!Number.isFinite(x) || !Number.isFinite(barWidth) || barWidth <= 0 || tabCount <= 0) { + return 0 + } + const ratio = clampDragX(x, barWidth) / barWidth + return clamp(Math.floor(ratio * tabCount), 0, tabCount - 1) +} + +export function getTabBarFrame(windowWidth) { + const rpx = windowWidth / 750 + return { left: 36 * rpx, width: Math.max(0, windowWidth - 72 * rpx) } +} diff --git a/tools/custom-tab-bar.test.mjs b/tools/custom-tab-bar.test.mjs new file mode 100644 index 0000000..bdf5c7b --- /dev/null +++ b/tools/custom-tab-bar.test.mjs @@ -0,0 +1,24 @@ +import test from 'node:test' +import assert from 'node:assert/strict' +import { clampDragX, getTabBarFrame, tabIndexAtX } from '../src/custom-tab-bar/tabBarGeometry.js' + +test('maps a drag x to the tab under the finger', () => { + assert.equal(tabIndexAtX(10, 100, 5), 0) + assert.equal(tabIndexAtX(30, 100, 5), 1) + assert.equal(tabIndexAtX(50, 100, 5), 2) + assert.equal(tabIndexAtX(70, 100, 5), 3) + assert.equal(tabIndexAtX(90, 100, 5), 4) +}) + +test('clamps drag positions outside the bar', () => { + assert.equal(tabIndexAtX(-10, 100, 5), 0) + assert.equal(tabIndexAtX(200, 100, 5), 4) + assert.equal(clampDragX(-5, 100), 0) + assert.equal(clampDragX(120, 100), 100) + assert.equal(clampDragX(Number.NaN, 100), 0) +}) + +test('derives the floating bar frame from window width', () => { + assert.deepEqual(getTabBarFrame(375), { left: 18, width: 339 }) + assert.deepEqual(getTabBarFrame(750), { left: 36, width: 678 }) +}) diff --git a/tools/liquid-glass.test.mjs b/tools/liquid-glass.test.mjs index 00a54c6..634a1ca 100644 --- a/tools/liquid-glass.test.mjs +++ b/tools/liquid-glass.test.mjs @@ -15,8 +15,8 @@ test('custom tab bar renders the liquid-glass overlay layers', () => { test('custom tab bar uses bright glass material and the silver rim', () => { const css = read('src/custom-tab-bar/index.scss') - assert.match(css, /background: rgba\(255, 255, 255, 0\.32\)/) - assert.match(css, /background: rgba\(25, 25, 25, 0\.32\)/) + assert.match(css, /background: rgba\(255, 255, 255, 0\.24\)/) + assert.match(css, /background: rgba\(25, 25, 25, 0\.24\)/) assert.match(css, /backdrop-filter: blur\(32px\) saturate\(1\.7\) brightness\(1\.05\)/) assert.match(css, /-webkit-backdrop-filter: blur\(32px\) saturate\(1\.7\) brightness\(1\.05\)/) assert.match(css, /mask-composite: exclude/) From 81d668b9966df86d446b161927a07e4b251a93ed Mon Sep 17 00:00:00 2001 From: obroccolio Date: Tue, 18 Aug 2026 23:04:12 +0800 Subject: [PATCH 4/8] =?UTF-8?q?fix(ui):=20TabBar=20=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E6=BB=91=E5=9D=97=E4=BB=8E=E6=97=A7=E4=BD=8D=E7=BD=AE=E6=BB=91?= =?UTF-8?q?=E5=88=B0=E6=96=B0=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 点击时不再让滑块在 touchstart 直接跳到手指位置 - 拖动超过 12px 阈值后才跟手,位置统一用百分比,避免 px/calc 混用导致跳变 - 松手按命中 tab 切页,同一 tab 不重复跳转 --- dist/custom-tab-bar/index.js | 2 +- src/custom-tab-bar/index.tsx | 55 +++++++++++++++++----------- src/custom-tab-bar/tabBarGeometry.js | 17 +++++---- tools/custom-tab-bar.test.mjs | 32 +++++++++------- 4 files changed, 62 insertions(+), 44 deletions(-) diff --git a/dist/custom-tab-bar/index.js b/dist/custom-tab-bar/index.js index 5086f31..8fb0242 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(n,e,t){var a=t(7842),c=t(5544),i=t(118),r=t(758),u=t.n(r),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,e){return g(n,0,Math.max(0,e))}function m(n,e,t){if(!Number.isFinite(n)||!Number.isFinite(e)||e<=0||t<=0)return 0;var a=v(n,e)/e;return g(Math.floor(a*t),0,t-1)}function p(n){var e=n/750;return{left:36*e,width:Math.max(0,n-72*e)}}var d=t(4848),b=[{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")}],x=100/b.length;function C(n){var e=b.findIndex(function(e){return n.endsWith(e.pagePath)});return b[e>=0?e:0].pagePath}function S(){var n=u().getCurrentInstance().router,e=n&&n.path?n.path:"pages/index/index";return C(e)}function N(){var n=(0,o.useState)((0,s.eW)((0,s.O4)())),e=(0,c.A)(n,2),t=e[0],a=e[1],r=(0,o.useState)(S),h=(0,c.A)(r,2),g=h[0],N=h[1],P=(0,o.useState)(null),q=(0,c.A)(P,2),w=q[0],j=q[1],A=(0,o.useRef)(null),T=(0,o.useRef)(null);(0,o.useEffect)(function(){var n=function(n){return a(n)};return u().eventCenter.on(l.Wo,n),function(){u().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=u();return e.onThemeChange&&e.onThemeChange(n),function(){e.offThemeChange&&e.offThemeChange(n)}},[]),(0,o.useEffect)(function(){var n=function(n){var e=u().getCurrentInstance().router,t=e&&e.path?e.path:"pages/index/index";N(C(n||t))};return u().eventCenter.on("tabBarChange",n),function(){u().eventCenter.off("tabBarChange",n)}},[]),(0,o.useEffect)(function(){(0,f.G)(t)},[t]);var M=function(n){N(C(n)),u().switchTab({url:n}),u().eventCenter.trigger("tabBarChange",n)},E=function(n){var e=n.touches&&n.touches[0];if(e){var t=p(u().getSystemInfoSync().windowWidth);T.current=t;var a=v(e.clientX-t.left,t.width);A.current=a,j(a)}},I=function(n){if(null!==A.current){var e=T.current,t=n.touches&&n.touches[0];if(e&&t){var a=v(t.clientX-e.left,e.width);A.current=a,j(a)}}},W=function(){var n=T.current,e=A.current;if(n&&null!==e){var t=m(e,n.width,b.length),a=b[t];a&&a.pagePath!==g&&M(a.pagePath)}T.current=null,A.current=null,j(null)},F=function(){T.current=null,A.current=null,j(null)},O=Math.max(0,b.findIndex(function(n){return n.pagePath===g}));return(0,d.jsxs)(i.Ss,{className:"tab-bar-root theme-".concat(t),children:[(0,d.jsx)(i.Ss,{className:"tab-bar-gradient"}),(0,d.jsxs)(i.Ss,{className:"custom-tab-bar theme-".concat(t),onTouchStart:E,onTouchMove:I,onTouchEnd:W,onTouchCancel:F,catchMove:!0,children:[(0,d.jsx)(i.Ss,{className:"tab-bar-caustic"}),(0,d.jsx)(i.Ss,{className:"tab-bar-rim"}),(0,d.jsx)(i.Ss,{className:"tab-indicator ".concat(null!==w?"dragging":""),style:{left:null===w?"calc(".concat((O+.5)*x,"%)"):"".concat(w,"px")}}),b.map(function(n){var e=n.pagePath===g;return(0,d.jsxs)(i.Ss,{className:"tab-item ".concat(e?"active":""),children:[(0,d.jsx)(i._V,{className:"tab-icon-img ".concat(e?"active":""),src:e?n.iconActive:n.icon,mode:"aspectFit"}),(0,d.jsx)(i.EY,{className:"tab-label",children:n.label})]},n.pagePath)})]})]})}Component((0,a.createComponentConfig)(N,"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 +"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 d(n,e){return!Number.isFinite(n)||e<=0?0:g(Math.floor(v(n)/100*e),0,e-1)}function m(n,e,t){return Math.abs(e-n)>=t}function p(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,S=12;function P(n){var e=x.findIndex(function(e){return n.endsWith(e.pagePath)});return x[e>=0?e:0].pagePath}function q(){var n=i().getCurrentInstance().router,e=n&&n.path?n.path:"pages/index/index";return P(e)}function N(){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)(q),h=(0,c.A)(u,2),g=h[0],N=h[1],T=(0,o.useState)(null),w=(0,c.A)(T,2),j=w[0],A=w[1],M=(0,o.useRef)(null),E=(0,o.useRef)(0),I=(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";N(P(n||t))};return i().eventCenter.on("tabBarChange",n),function(){i().eventCenter.off("tabBarChange",n)}},[]),(0,o.useEffect)(function(){(0,f.G)(t)},[t]);var W=function(n){N(P(n)),i().switchTab({url:n}),i().eventCenter.trigger("tabBarChange",n)},O=function(n){var e=n.touches&&n.touches[0];if(e){var t=p(i().getSystemInfoSync().windowWidth);I.current=t,E.current=e.clientX,M.current=null,A(null)}},R=function(n){var e=I.current,t=n.touches&&n.touches[0];if(e&&t&&(null!==M.current||m(E.current,t.clientX,S))){var a=v((t.clientX-e.left)/e.width*100);M.current=a,A(a)}},X=function(n){var e=I.current;if(e){var t;if(null!==M.current)t=d(M.current,x.length);else{var a=n.changedTouches&&n.changedTouches[0],c=a?a.clientX:E.current;t=d(v((c-e.left)/e.width*100),x.length)}var r=x[t];r&&r.pagePath!==g&&W(r.pagePath),I.current=null,E.current=0,M.current=null,A(null)}},k=function(){I.current=null,E.current=0,M.current=null,A(null)},y=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:O,onTouchMove:R,onTouchEnd:X,onTouchCancel:k,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(null!==j?"dragging":""),style:{left:"".concat(null===j?(y+.5)*C:j,"%")}}),x.map(function(n){var e=n.pagePath===g;return(0,b.jsxs)(r.Ss,{className:"tab-item ".concat(e?"active":""),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)(N,"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/src/custom-tab-bar/index.tsx b/src/custom-tab-bar/index.tsx index 238ba44..43f579d 100644 --- a/src/custom-tab-bar/index.tsx +++ b/src/custom-tab-bar/index.tsx @@ -5,7 +5,7 @@ import { getTheme, resolveTheme, setDetectedSystemTheme } from '../utils/store' import { THEME_CHANGE_EVENT } from '../context/ThemeContext' import { applyPageBackground } from '../utils/themeBackground' import { assetUrl } from '../utils/asset' -import { clampDragX, getTabBarFrame, tabIndexAtX } from './tabBarGeometry' +import { clampPercent, getTabBarFrame, hasDragged, tabIndexAtPercent } from './tabBarGeometry' import './index.scss' const TABS = [ @@ -17,6 +17,7 @@ const TABS = [ ] const TAB_CENTER_STEP = 100 / TABS.length +const DRAG_THRESHOLD_PX = 12 function matchTab(path: string): string { const idx = TABS.findIndex((t) => path.endsWith(t.pagePath)) @@ -39,8 +40,9 @@ export default function CustomTabBar() { // 微信自定义 tabBar 不会自动感知 page 路由变化,用 state 保持选中态响应式 const [activeTab, setActiveTab] = useState(currentTabPath) - const [dragX, setDragX] = useState(null) - const dragXRef = useRef(null) + const [dragPercent, setDragPercent] = useState(null) + const dragPercentRef = useRef(null) + const startXRef = useRef(0) const barFrameRef = useRef<{ left: number; width: number } | null>(null) useEffect(() => { @@ -102,38 +104,47 @@ export default function CustomTabBar() { if (!touch) return const frame = getTabBarFrame(Taro.getSystemInfoSync().windowWidth) barFrameRef.current = frame - const nextX = clampDragX(touch.clientX - frame.left, frame.width) - dragXRef.current = nextX - setDragX(nextX) + startXRef.current = touch.clientX + dragPercentRef.current = null + setDragPercent(null) } const moveDrag = (e: any) => { - if (dragXRef.current === null) return const frame = barFrameRef.current const touch = e.touches && e.touches[0] if (!frame || !touch) return - const nextX = clampDragX(touch.clientX - frame.left, frame.width) - dragXRef.current = nextX - setDragX(nextX) + if (dragPercentRef.current === null && !hasDragged(startXRef.current, touch.clientX, DRAG_THRESHOLD_PX)) { + return + } + const nextPercent = clampPercent(((touch.clientX - frame.left) / frame.width) * 100) + dragPercentRef.current = nextPercent + setDragPercent(nextPercent) } - const endDrag = () => { + const endDrag = (e: any) => { const frame = barFrameRef.current - const x = dragXRef.current - if (frame && x !== null) { - const idx = tabIndexAtX(x, frame.width, TABS.length) - const target = TABS[idx] - if (target && target.pagePath !== activeTab) switchTab(target.pagePath) + if (!frame) return + let targetIndex: number + if (dragPercentRef.current !== null) { + targetIndex = tabIndexAtPercent(dragPercentRef.current, TABS.length) + } else { + const touch = e.changedTouches && e.changedTouches[0] + const x = touch ? touch.clientX : startXRef.current + targetIndex = tabIndexAtPercent(clampPercent(((x - frame.left) / frame.width) * 100), TABS.length) } + const target = TABS[targetIndex] + if (target && target.pagePath !== activeTab) switchTab(target.pagePath) barFrameRef.current = null - dragXRef.current = null - setDragX(null) + startXRef.current = 0 + dragPercentRef.current = null + setDragPercent(null) } const cancelDrag = () => { barFrameRef.current = null - dragXRef.current = null - setDragX(null) + startXRef.current = 0 + dragPercentRef.current = null + setDragPercent(null) } const activeIndex = Math.max(0, TABS.findIndex((t) => t.pagePath === activeTab)) @@ -152,8 +163,8 @@ export default function CustomTabBar() { {TABS.map((tab) => { const isActive = tab.pagePath === activeTab diff --git a/src/custom-tab-bar/tabBarGeometry.js b/src/custom-tab-bar/tabBarGeometry.js index fb35e3a..e81817a 100644 --- a/src/custom-tab-bar/tabBarGeometry.js +++ b/src/custom-tab-bar/tabBarGeometry.js @@ -3,16 +3,17 @@ export function clamp(value, min, max) { return Math.min(max, Math.max(min, value)) } -export function clampDragX(x, barWidth) { - return clamp(x, 0, Math.max(0, barWidth)) +export function clampPercent(value) { + return clamp(value, 0, 100) } -export function tabIndexAtX(x, barWidth, tabCount) { - if (!Number.isFinite(x) || !Number.isFinite(barWidth) || barWidth <= 0 || tabCount <= 0) { - return 0 - } - const ratio = clampDragX(x, barWidth) / barWidth - return clamp(Math.floor(ratio * tabCount), 0, tabCount - 1) +export function tabIndexAtPercent(percent, tabCount) { + if (!Number.isFinite(percent) || tabCount <= 0) return 0 + return clamp(Math.floor((clampPercent(percent) / 100) * tabCount), 0, tabCount - 1) +} + +export function hasDragged(startX, currentX, threshold) { + return Math.abs(currentX - startX) >= threshold } export function getTabBarFrame(windowWidth) { diff --git a/tools/custom-tab-bar.test.mjs b/tools/custom-tab-bar.test.mjs index bdf5c7b..585a489 100644 --- a/tools/custom-tab-bar.test.mjs +++ b/tools/custom-tab-bar.test.mjs @@ -1,21 +1,27 @@ import test from 'node:test' import assert from 'node:assert/strict' -import { clampDragX, getTabBarFrame, tabIndexAtX } from '../src/custom-tab-bar/tabBarGeometry.js' +import { clampPercent, getTabBarFrame, hasDragged, tabIndexAtPercent } from '../src/custom-tab-bar/tabBarGeometry.js' -test('maps a drag x to the tab under the finger', () => { - assert.equal(tabIndexAtX(10, 100, 5), 0) - assert.equal(tabIndexAtX(30, 100, 5), 1) - assert.equal(tabIndexAtX(50, 100, 5), 2) - assert.equal(tabIndexAtX(70, 100, 5), 3) - assert.equal(tabIndexAtX(90, 100, 5), 4) +test('maps a drag percent to the tab under the finger', () => { + assert.equal(tabIndexAtPercent(10, 5), 0) + assert.equal(tabIndexAtPercent(30, 5), 1) + assert.equal(tabIndexAtPercent(50, 5), 2) + assert.equal(tabIndexAtPercent(70, 5), 3) + assert.equal(tabIndexAtPercent(90, 5), 4) }) -test('clamps drag positions outside the bar', () => { - assert.equal(tabIndexAtX(-10, 100, 5), 0) - assert.equal(tabIndexAtX(200, 100, 5), 4) - assert.equal(clampDragX(-5, 100), 0) - assert.equal(clampDragX(120, 100), 100) - assert.equal(clampDragX(Number.NaN, 100), 0) +test('clamps percent and maps out-of-range to edge tabs', () => { + assert.equal(clampPercent(-5), 0) + assert.equal(clampPercent(120), 100) + assert.equal(clampPercent(Number.NaN), 0) + assert.equal(tabIndexAtPercent(-5, 5), 0) + assert.equal(tabIndexAtPercent(120, 5), 4) +}) + +test('only treats a move as a drag beyond the threshold', () => { + assert.equal(hasDragged(100, 110, 12), false) + assert.equal(hasDragged(100, 112, 12), true) + assert.equal(hasDragged(100, 88, 12), true) }) test('derives the floating bar frame from window width', () => { From 4646f8779723a75c5679749ce1fece8a8be18595 Mon Sep 17 00:00:00 2001 From: obroccolio Date: Tue, 18 Aug 2026 23:13:25 +0800 Subject: [PATCH 5/8] =?UTF-8?q?fix(ui):=20=E6=8B=96=E5=8A=A8=E6=9D=BE?= =?UTF-8?q?=E6=89=8B=E4=BB=8E=E6=89=8B=E6=8C=87=E4=BD=8D=E7=BD=AE=E5=B9=B3?= =?UTF-8?q?=E6=BB=91=E5=A5=91=E5=90=88=E5=88=B0=E7=9B=AE=E6=A0=87=20tab?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 拖动状态与位置状态分离 - 松手先恢复过渡但保留手指位置,下一帧再吸附到目标 tab,避免从旧位置跳变 --- dist/custom-tab-bar/index.js | 2 +- src/custom-tab-bar/index.tsx | 26 +++++++++++++++++++------- tools/custom-tab-bar.test.mjs | 13 +++++++++++++ 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/dist/custom-tab-bar/index.js b/dist/custom-tab-bar/index.js index 8fb0242..c9cb552 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(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 d(n,e){return!Number.isFinite(n)||e<=0?0:g(Math.floor(v(n)/100*e),0,e-1)}function m(n,e,t){return Math.abs(e-n)>=t}function p(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,S=12;function P(n){var e=x.findIndex(function(e){return n.endsWith(e.pagePath)});return x[e>=0?e:0].pagePath}function q(){var n=i().getCurrentInstance().router,e=n&&n.path?n.path:"pages/index/index";return P(e)}function N(){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)(q),h=(0,c.A)(u,2),g=h[0],N=h[1],T=(0,o.useState)(null),w=(0,c.A)(T,2),j=w[0],A=w[1],M=(0,o.useRef)(null),E=(0,o.useRef)(0),I=(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";N(P(n||t))};return i().eventCenter.on("tabBarChange",n),function(){i().eventCenter.off("tabBarChange",n)}},[]),(0,o.useEffect)(function(){(0,f.G)(t)},[t]);var W=function(n){N(P(n)),i().switchTab({url:n}),i().eventCenter.trigger("tabBarChange",n)},O=function(n){var e=n.touches&&n.touches[0];if(e){var t=p(i().getSystemInfoSync().windowWidth);I.current=t,E.current=e.clientX,M.current=null,A(null)}},R=function(n){var e=I.current,t=n.touches&&n.touches[0];if(e&&t&&(null!==M.current||m(E.current,t.clientX,S))){var a=v((t.clientX-e.left)/e.width*100);M.current=a,A(a)}},X=function(n){var e=I.current;if(e){var t;if(null!==M.current)t=d(M.current,x.length);else{var a=n.changedTouches&&n.changedTouches[0],c=a?a.clientX:E.current;t=d(v((c-e.left)/e.width*100),x.length)}var r=x[t];r&&r.pagePath!==g&&W(r.pagePath),I.current=null,E.current=0,M.current=null,A(null)}},k=function(){I.current=null,E.current=0,M.current=null,A(null)},y=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:O,onTouchMove:R,onTouchEnd:X,onTouchCancel:k,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(null!==j?"dragging":""),style:{left:"".concat(null===j?(y+.5)*C:j,"%")}}),x.map(function(n){var e=n.pagePath===g;return(0,b.jsxs)(r.Ss,{className:"tab-item ".concat(e?"active":""),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)(N,"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 +"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 diff --git a/src/custom-tab-bar/index.tsx b/src/custom-tab-bar/index.tsx index 43f579d..4a6b26f 100644 --- a/src/custom-tab-bar/index.tsx +++ b/src/custom-tab-bar/index.tsx @@ -41,6 +41,8 @@ export default function CustomTabBar() { // 微信自定义 tabBar 不会自动感知 page 路由变化,用 state 保持选中态响应式 const [activeTab, setActiveTab] = useState(currentTabPath) const [dragPercent, setDragPercent] = useState(null) + const [isDragging, setIsDragging] = useState(false) + const isDraggingRef = useRef(false) const dragPercentRef = useRef(null) const startXRef = useRef(0) const barFrameRef = useRef<{ left: number; width: number } | null>(null) @@ -105,6 +107,8 @@ export default function CustomTabBar() { const frame = getTabBarFrame(Taro.getSystemInfoSync().windowWidth) barFrameRef.current = frame startXRef.current = touch.clientX + isDraggingRef.current = false + setIsDragging(false) dragPercentRef.current = null setDragPercent(null) } @@ -113,8 +117,10 @@ export default function CustomTabBar() { const frame = barFrameRef.current const touch = e.touches && e.touches[0] if (!frame || !touch) return - if (dragPercentRef.current === null && !hasDragged(startXRef.current, touch.clientX, DRAG_THRESHOLD_PX)) { - return + if (!isDraggingRef.current) { + if (!hasDragged(startXRef.current, touch.clientX, DRAG_THRESHOLD_PX)) return + isDraggingRef.current = true + setIsDragging(true) } const nextPercent = clampPercent(((touch.clientX - frame.left) / frame.width) * 100) dragPercentRef.current = nextPercent @@ -125,8 +131,14 @@ export default function CustomTabBar() { const frame = barFrameRef.current if (!frame) return let targetIndex: number - if (dragPercentRef.current !== null) { - targetIndex = tabIndexAtPercent(dragPercentRef.current, TABS.length) + if (isDraggingRef.current) { + targetIndex = tabIndexAtPercent(dragPercentRef.current ?? 0, TABS.length) + isDraggingRef.current = false + setIsDragging(false) + Taro.nextTick(() => { + dragPercentRef.current = null + setDragPercent(null) + }) } else { const touch = e.changedTouches && e.changedTouches[0] const x = touch ? touch.clientX : startXRef.current @@ -136,13 +148,13 @@ export default function CustomTabBar() { if (target && target.pagePath !== activeTab) switchTab(target.pagePath) barFrameRef.current = null startXRef.current = 0 - dragPercentRef.current = null - setDragPercent(null) } const cancelDrag = () => { barFrameRef.current = null startXRef.current = 0 + isDraggingRef.current = false + setIsDragging(false) dragPercentRef.current = null setDragPercent(null) } @@ -163,7 +175,7 @@ export default function CustomTabBar() { {TABS.map((tab) => { diff --git a/tools/custom-tab-bar.test.mjs b/tools/custom-tab-bar.test.mjs index 585a489..65eae09 100644 --- a/tools/custom-tab-bar.test.mjs +++ b/tools/custom-tab-bar.test.mjs @@ -1,7 +1,12 @@ import test from 'node:test' import assert from 'node:assert/strict' +import { readFileSync } from 'node:fs' +import { fileURLToPath } from 'node:url' +import path from 'node:path' import { clampPercent, getTabBarFrame, hasDragged, tabIndexAtPercent } from '../src/custom-tab-bar/tabBarGeometry.js' +const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..') + test('maps a drag percent to the tab under the finger', () => { assert.equal(tabIndexAtPercent(10, 5), 0) assert.equal(tabIndexAtPercent(30, 5), 1) @@ -28,3 +33,11 @@ test('derives the floating bar frame from window width', () => { assert.deepEqual(getTabBarFrame(375), { left: 18, width: 339 }) assert.deepEqual(getTabBarFrame(750), { left: 36, width: 678 }) }) + +test('enables the slide transition before snapping the indicator to the target', () => { + const source = readFileSync(path.join(root, 'src/custom-tab-bar/index.tsx'), 'utf8') + assert.match( + source, + /isDraggingRef\.current = false\s+setIsDragging\(false\)\s+Taro\.nextTick\(\(\) => \{[\s\S]*?setDragPercent\(null\)/ + ) +}) From acd3c1c2e10a695f0105247f313fd4f15b6d4413 Mon Sep 17 00:00:00 2001 From: obroccolio Date: Tue, 18 Aug 2026 23:25:47 +0800 Subject: [PATCH 6/8] =?UTF-8?q?fix(ui):=20=E9=A6=96=E5=B1=8F=E8=83=8C?= =?UTF-8?q?=E6=99=AF=E6=8F=90=E5=89=8D=E8=AE=BE=E7=BD=AE=20+=20=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E6=B7=A1=E5=85=A5=E8=BF=87=E6=B8=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - App 首帧前同步主题窗口背景,减少深浅色下系统底色闪烁 - 页面根容器增加 0.24s 淡入动画,Tab 切换/进入更平滑 --- dist/app-origin.wxss | 2 +- dist/app.js | 2 +- src/app.scss | 7 +++++++ src/app.tsx | 5 +++++ tools/liquid-glass.test.mjs | 8 ++++++++ 5 files changed, 22 insertions(+), 2 deletions(-) diff --git a/dist/app-origin.wxss b/dist/app-origin.wxss index b221b1b..ca20029 100644 --- a/dist/app-origin.wxss +++ b/dist/app-origin.wxss @@ -1 +1 @@ -.theme-light{background-color:var(--bg-page,#fff);-webkit-box-sizing:border-box;box-sizing:border-box;min-height:100vh}.theme-dark{background-color:var(--bg-page,#191919);-webkit-box-sizing:border-box;box-sizing:border-box;min-height:100vh}.theme-light{--bg-page:#faf7f2;--bg-card:#fff;--bg-muted:#f3eee7;--bg-input:#f5f1eb;--text-primary:#2e2622;--text-secondary:#8a7e76;--text-muted:#b3a89e;--accent-primary:#d96c6a;--accent-primary-strong:#c75b59;--accent-primary-soft:#f6e0dc;--accent-secondary:#6c7bdb;--accent-secondary-soft:rgba(108,123,219,.12);--success:#4fa477;--success-soft:rgba(79,164,119,.14);--warning:#d99a4e;--warning-soft:rgba(217,154,78,.14);--danger:#d85d5d;--danger-soft:rgba(216,93,93,.14);--border:#ede5dc;--border-strong:#e0d5c8;--glass:hsla(0,0%,100%,.72);--glass-line:hsla(0,0%,100%,.55);--shadow-card:0 8rpx 24rpx rgba(46,38,34,.08);--shadow-elevated:0 12rpx 40rpx rgba(46,38,34,.12)}.theme-dark{--bg-page:#191919;--bg-card:#23201d;--bg-muted:#2b2622;--bg-input:#2b2622;--text-primary:#f5efe8;--text-secondary:#b3a79c;--text-muted:#82766c;--accent-primary:#f09198;--accent-primary-strong:#ffa7ad;--accent-primary-soft:rgba(240,145,152,.14);--accent-secondary:#8e97e8;--accent-secondary-soft:rgba(142,151,232,.14);--success:#67c58e;--success-soft:rgba(103,197,142,.16);--warning:#e0ad68;--warning-soft:hsla(35,66%,64%,.16);--danger:#ef7a7a;--danger-soft:hsla(0,79%,71%,.16);--border:#37312c;--border-strong:#463e37;--glass:rgba(25,25,25,.72);--glass-line:hsla(0,0%,100%,.14);--shadow-card:0 8rpx 24rpx rgba(0,0,0,.32);--shadow-elevated:0 12rpx 40rpx rgba(0,0,0,.48)}page{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,Segoe UI,sans-serif}.surface-card{background:var(--bg-card);border:1rpx solid var(--border);border-radius:24rpx;-webkit-box-shadow:var(--shadow-card);box-shadow:var(--shadow-card)}.container{padding:48rpx}.flex{display:-webkit-flex;display:-ms-flexbox;display:flex}.flex-center{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;justify-content:center}.flex-between{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-between;justify-content:space-between}.flex-column{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.text-center{text-align:center}.mt-10{margin-top:20rpx}.mt-20{margin-top:40rpx}.mb-10{margin-bottom:20rpx}.mb-20{margin-bottom:40rpx}.btn-primary{background:var(--accent-primary);border-radius:999rpx;color:#fff}.btn-secondary{background:var(--bg-card);border:1rpx solid var(--border-strong);border-radius:999rpx;color:var(--text-primary)}.btn-ghost{background:transparent;color:var(--accent-primary)}.btn-danger{background:var(--danger);border-radius:999rpx;color:#fff}.page-title{color:var(--text-primary);display:block;font-size:80rpx;font-weight:800}.section-title{color:var(--text-primary);display:block;font-size:72rpx;font-weight:700;margin-bottom:48rpx}.badge{border-radius:100rpx;display:inline-block;font-size:44rpx;font-weight:500;padding:16rpx 40rpx}.badge-pink{background:var(--accent-primary-soft);color:var(--accent-primary)}.badge-blue{background:var(--accent-secondary-soft);color:var(--accent-secondary)}.badge-green{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-gray{background:var(--bg-muted);color:var(--text-secondary)}.safe-bottom{height:constant(safe-area-inset-bottom);height:env(safe-area-inset-bottom)}.safe-bottom-placeholder{height:400rpx}.page-header{padding-top:calc(env(safe-area-inset-top, 20rpx) + 96rpx)}.back-btn,.edit-back,.shop-back-btn{-ms-flex-align:center!important;-ms-flex-pack:center!important;-webkit-align-items:center!important;align-items:center!important;backdrop-filter:blur(24rpx) saturate(1.7) brightness(1.05)!important;-webkit-backdrop-filter:blur(24rpx) saturate(1.7) brightness(1.05)!important;background:-webkit-linear-gradient(315deg,hsla(0,0%,100%,.55),hsla(0,0%,100%,.28) 45%,hsla(0,0%,100%,.42))!important;background:linear-gradient(135deg,hsla(0,0%,100%,.55),hsla(0,0%,100%,.28) 45%,hsla(0,0%,100%,.42))!important;border:1rpx solid hsla(0,0%,100%,.35)!important;border-radius:50%!important;-webkit-box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.65),inset 0 -2rpx 4rpx rgba(0,0,0,.06),inset 0 0 0 1rpx hsla(0,0%,100%,.18),0 12rpx 40rpx rgba(0,0,0,.18),0 4rpx 12rpx rgba(0,0,0,.08)!important;box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.65),inset 0 -2rpx 4rpx rgba(0,0,0,.06),inset 0 0 0 1rpx hsla(0,0%,100%,.18),0 12rpx 40rpx rgba(0,0,0,.18),0 4rpx 12rpx rgba(0,0,0,.08)!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;-webkit-justify-content:center!important;justify-content:center!important}.theme-dark .back-btn,.theme-dark .edit-back,.theme-dark .shop-back-btn{background:-webkit-linear-gradient(315deg,hsla(0,0%,100%,.16),hsla(0,0%,100%,.06) 45%,hsla(0,0%,100%,.12))!important;background:linear-gradient(135deg,hsla(0,0%,100%,.16),hsla(0,0%,100%,.06) 45%,hsla(0,0%,100%,.12))!important;border-color:hsla(0,0%,100%,.18)!important;-webkit-box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.22),inset 0 -2rpx 4rpx rgba(0,0,0,.28),inset 0 0 0 1rpx hsla(0,0%,100%,.1),0 12rpx 40rpx rgba(0,0,0,.5),0 4rpx 12rpx rgba(0,0,0,.3)!important;box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.22),inset 0 -2rpx 4rpx rgba(0,0,0,.28),inset 0 0 0 1rpx hsla(0,0%,100%,.1),0 12rpx 40rpx rgba(0,0,0,.5),0 4rpx 12rpx rgba(0,0,0,.3)!important}.modal-overlay{-ms-flex-align:end;-ms-flex-pack:center;-webkit-align-items:flex-end;align-items:flex-end;background:rgba(0,0,0,.5);bottom:0;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:600}.addr-picker-sheet{background:var(--bg-card);border-radius:48rpx 48rpx 0 0;border-top:1rpx solid var(--border);-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;max-height:70vh;padding:48rpx 48rpx calc(48rpx + env(safe-area-inset-bottom));width:100%}.system-theme-detector{height:1rpx;left:-9999rpx;opacity:0;pointer-events:none;position:fixed;top:0;width:1rpx}@media (prefers-color-scheme:dark){.system-theme-detector{opacity:1}} \ No newline at end of file +.theme-light{-webkit-animation:page-fade-in .24s ease both;animation:page-fade-in .24s ease both;background-color:var(--bg-page,#fff);-webkit-box-sizing:border-box;box-sizing:border-box;min-height:100vh}.theme-dark{-webkit-animation:page-fade-in .24s ease both;animation:page-fade-in .24s ease both;background-color:var(--bg-page,#191919);-webkit-box-sizing:border-box;box-sizing:border-box;min-height:100vh}@-webkit-keyframes page-fade-in{from{opacity:0}to{opacity:1}}@keyframes page-fade-in{from{opacity:0}to{opacity:1}}.theme-light{--bg-page:#faf7f2;--bg-card:#fff;--bg-muted:#f3eee7;--bg-input:#f5f1eb;--text-primary:#2e2622;--text-secondary:#8a7e76;--text-muted:#b3a89e;--accent-primary:#d96c6a;--accent-primary-strong:#c75b59;--accent-primary-soft:#f6e0dc;--accent-secondary:#6c7bdb;--accent-secondary-soft:rgba(108,123,219,.12);--success:#4fa477;--success-soft:rgba(79,164,119,.14);--warning:#d99a4e;--warning-soft:rgba(217,154,78,.14);--danger:#d85d5d;--danger-soft:rgba(216,93,93,.14);--border:#ede5dc;--border-strong:#e0d5c8;--glass:hsla(0,0%,100%,.72);--glass-line:hsla(0,0%,100%,.55);--shadow-card:0 8rpx 24rpx rgba(46,38,34,.08);--shadow-elevated:0 12rpx 40rpx rgba(46,38,34,.12)}.theme-dark{--bg-page:#191919;--bg-card:#23201d;--bg-muted:#2b2622;--bg-input:#2b2622;--text-primary:#f5efe8;--text-secondary:#b3a79c;--text-muted:#82766c;--accent-primary:#f09198;--accent-primary-strong:#ffa7ad;--accent-primary-soft:rgba(240,145,152,.14);--accent-secondary:#8e97e8;--accent-secondary-soft:rgba(142,151,232,.14);--success:#67c58e;--success-soft:rgba(103,197,142,.16);--warning:#e0ad68;--warning-soft:hsla(35,66%,64%,.16);--danger:#ef7a7a;--danger-soft:hsla(0,79%,71%,.16);--border:#37312c;--border-strong:#463e37;--glass:rgba(25,25,25,.72);--glass-line:hsla(0,0%,100%,.14);--shadow-card:0 8rpx 24rpx rgba(0,0,0,.32);--shadow-elevated:0 12rpx 40rpx rgba(0,0,0,.48)}page{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,Segoe UI,sans-serif}.surface-card{background:var(--bg-card);border:1rpx solid var(--border);border-radius:24rpx;-webkit-box-shadow:var(--shadow-card);box-shadow:var(--shadow-card)}.container{padding:48rpx}.flex{display:-webkit-flex;display:-ms-flexbox;display:flex}.flex-center{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;justify-content:center}.flex-between{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-between;justify-content:space-between}.flex-column{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.text-center{text-align:center}.mt-10{margin-top:20rpx}.mt-20{margin-top:40rpx}.mb-10{margin-bottom:20rpx}.mb-20{margin-bottom:40rpx}.btn-primary{background:var(--accent-primary);border-radius:999rpx;color:#fff}.btn-secondary{background:var(--bg-card);border:1rpx solid var(--border-strong);border-radius:999rpx;color:var(--text-primary)}.btn-ghost{background:transparent;color:var(--accent-primary)}.btn-danger{background:var(--danger);border-radius:999rpx;color:#fff}.page-title{color:var(--text-primary);display:block;font-size:80rpx;font-weight:800}.section-title{color:var(--text-primary);display:block;font-size:72rpx;font-weight:700;margin-bottom:48rpx}.badge{border-radius:100rpx;display:inline-block;font-size:44rpx;font-weight:500;padding:16rpx 40rpx}.badge-pink{background:var(--accent-primary-soft);color:var(--accent-primary)}.badge-blue{background:var(--accent-secondary-soft);color:var(--accent-secondary)}.badge-green{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-gray{background:var(--bg-muted);color:var(--text-secondary)}.safe-bottom{height:constant(safe-area-inset-bottom);height:env(safe-area-inset-bottom)}.safe-bottom-placeholder{height:400rpx}.page-header{padding-top:calc(env(safe-area-inset-top, 20rpx) + 96rpx)}.back-btn,.edit-back,.shop-back-btn{-ms-flex-align:center!important;-ms-flex-pack:center!important;-webkit-align-items:center!important;align-items:center!important;backdrop-filter:blur(24rpx) saturate(1.7) brightness(1.05)!important;-webkit-backdrop-filter:blur(24rpx) saturate(1.7) brightness(1.05)!important;background:-webkit-linear-gradient(315deg,hsla(0,0%,100%,.55),hsla(0,0%,100%,.28) 45%,hsla(0,0%,100%,.42))!important;background:linear-gradient(135deg,hsla(0,0%,100%,.55),hsla(0,0%,100%,.28) 45%,hsla(0,0%,100%,.42))!important;border:1rpx solid hsla(0,0%,100%,.35)!important;border-radius:50%!important;-webkit-box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.65),inset 0 -2rpx 4rpx rgba(0,0,0,.06),inset 0 0 0 1rpx hsla(0,0%,100%,.18),0 12rpx 40rpx rgba(0,0,0,.18),0 4rpx 12rpx rgba(0,0,0,.08)!important;box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.65),inset 0 -2rpx 4rpx rgba(0,0,0,.06),inset 0 0 0 1rpx hsla(0,0%,100%,.18),0 12rpx 40rpx rgba(0,0,0,.18),0 4rpx 12rpx rgba(0,0,0,.08)!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;-webkit-justify-content:center!important;justify-content:center!important}.theme-dark .back-btn,.theme-dark .edit-back,.theme-dark .shop-back-btn{background:-webkit-linear-gradient(315deg,hsla(0,0%,100%,.16),hsla(0,0%,100%,.06) 45%,hsla(0,0%,100%,.12))!important;background:linear-gradient(135deg,hsla(0,0%,100%,.16),hsla(0,0%,100%,.06) 45%,hsla(0,0%,100%,.12))!important;border-color:hsla(0,0%,100%,.18)!important;-webkit-box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.22),inset 0 -2rpx 4rpx rgba(0,0,0,.28),inset 0 0 0 1rpx hsla(0,0%,100%,.1),0 12rpx 40rpx rgba(0,0,0,.5),0 4rpx 12rpx rgba(0,0,0,.3)!important;box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.22),inset 0 -2rpx 4rpx rgba(0,0,0,.28),inset 0 0 0 1rpx hsla(0,0%,100%,.1),0 12rpx 40rpx rgba(0,0,0,.5),0 4rpx 12rpx rgba(0,0,0,.3)!important}.modal-overlay{-ms-flex-align:end;-ms-flex-pack:center;-webkit-align-items:flex-end;align-items:flex-end;background:rgba(0,0,0,.5);bottom:0;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:600}.addr-picker-sheet{background:var(--bg-card);border-radius:48rpx 48rpx 0 0;border-top:1rpx solid var(--border);-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;max-height:70vh;padding:48rpx 48rpx calc(48rpx + env(safe-area-inset-bottom));width:100%}.system-theme-detector{height:1rpx;left:-9999rpx;opacity:0;pointer-events:none;position:fixed;top:0;width:1rpx}@media (prefers-color-scheme:dark){.system-theme-detector{opacity:1}} \ No newline at end of file diff --git a/dist/app.js b/dist/app.js index d5c6a7a..2e71fd3 100644 --- a/dist/app.js +++ b/dist/app.js @@ -1,2 +1,2 @@ /*! For license information please see app.js.LICENSE.txt */ -require("./common"),require("./vendors"),require("./taro"),require("./runtime"),(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[524],{4247:function(e,n,t){"use strict";t(6882);var r=t(7842),l=t(1291),a=t(758),u=t.n(a),i=t(3029),o=t(2901),s=t(6919),c=t(5501),f=t(6540),d=t.t(f,2),p=t(9703),h=t(1457),g=t(6606),m=t(3246),v=t(1212),b=t(467),y=null;function S(){return y||(y=k().finally(function(){y=null}),y)}function k(){return x.apply(this,arguments)}function x(){return x=(0,b.A)((0,v.A)().m(function e(){var n,t,r,l;return(0,v.A)().w(function(e){while(1)switch(e.p=e.n){case 0:if(n=(0,h.Q4)(),null!==n&&void 0!==n&&n.openid&&!(0,h.Ic)(n.openid)){e.n=1;break}return e.a(2,!1);case 1:return e.p=1,e.n=2,u().login();case 2:if(t=e.v,t.code){e.n=3;break}return e.a(2,!1);case 3:return e.n=4,m.Ay.post("/api/auth/login",{code:t.code},{auth:!1,skipAuthRefresh:!0});case 4:if(r=e.v,null!==r&&void 0!==r&&r.accessToken){e.n=5;break}return e.a(2,!1);case 5:return(0,m.WG)(r.accessToken),e.n=6,m.Ay.get("/api/users/me",{skipAuthRefresh:!0});case 6:if(l=e.v,(null===l||void 0===l?void 0:l.openid)!==n.openid){e.n=7;break}return e.a(2,!0);case 7:return(0,m.L)(),(0,h.Hf)(),e.a(2,!1);case 8:return e.p=8,e.v,e.a(2,!1)}},e,null,[[1,8]])})),x.apply(this,arguments)}function w(){return z.apply(this,arguments)}function z(){return z=(0,b.A)((0,v.A)().m(function e(){var n,t,r;return(0,v.A)().w(function(e){while(1)switch(e.p=e.n){case 0:if(n=(0,h.Q4)(),null!==n&&void 0!==n&&n.openid&&!(0,h.Ic)(n.openid)){e.n=1;break}return e.a(2,!1);case 1:if((0,m.gf)()){e.n=2;break}return e.a(2,S());case 2:return e.p=2,e.n=3,m.Ay.get("/api/users/me",{skipAuthRefresh:!0});case 3:return e.a(2,!0);case 4:if(e.p=4,r=e.v,t=null===r||void 0===r?void 0:r.statusCode,401!==t){e.n=5;break}return e.a(2,S());case 5:return e.a(2,!!(0,m.gf)())}},e,null,[[2,4]])})),z.apply(this,arguments)}var N=t(4848),E=function(e){function n(){return(0,i.A)(this,n),(0,s.A)(this,n,arguments)}return(0,c.A)(n,e),(0,o.A)(n,[{key:"componentDidMount",value:function(){(0,g.G)((0,h.eW)((0,h.O4)())),(0,m.q)(S),w()}},{key:"componentDidShow",value:function(){}},{key:"componentDidHide",value:function(){}},{key:"render",value:function(){return(0,N.jsx)(p.NP,{children:this.props.children})}}])}(f.Component),P=E,C=t(7260),_={darkmode:!0,themeLocation:"theme.json",pages:["pages/index/index","pages/shop/index","pages/shop/detail/index","pages/product/index","pages/diy/index","pages/diy/stickerEdit/index","pages/checkout/index","pages/designList/index","pages/orders/index","pages/profile/index","pages/service/index","pages/wordcloud/index","pages/orderDetail/index","pages/address/index","pages/settings/index","pages/agreement/index","pages/userDatabase/index"],window:{backgroundTextStyle:"dark",navigationStyle:"custom",navigationBarBackgroundColor:"#faf7f2",backgroundColor:"#faf7f2",backgroundColorTop:"#faf7f2",backgroundColorBottom:"#faf7f2",navigationBarTextStyle:"black"},tabBar:{custom:!0,list:[{pagePath:"pages/index/index",text:"\u9996\u9875"},{pagePath:"pages/shop/index",text:"\u5546\u54c1"},{pagePath:"pages/designList/index",text:"\u8bbe\u8ba1\u6e05\u5355"},{pagePath:"pages/orders/index",text:"\u8ba2\u5355"},{pagePath:"pages/profile/index",text:"\u6211\u7684"}]}};r.window.__taroAppConfig=_;App((0,l.ND)(P,d,C.Ay,_));(0,a.initPxTransform)({designWidth:750,deviceRatio:{640:1.17,750:1,828:.905},baseFontSize:20,unitPrecision:void 0,targetUnit:void 0})},735:function(e,n){"use strict";n.DefaultEventPriority=16},2935:function(e,n,t){e.exports=function(e){var n={},r=t(6540),l=t(8585),a=Object.assign;function u(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;ti||l[u]!==a[i]){var o="\n"+l[u].replace(" at new "," at ");return e.displayName&&o.includes("")&&(o=o.replace("",e.displayName)),o}}while(1<=u&&0<=i);break}}}finally{nn=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:"")?en(e):""}var rn=Object.prototype.hasOwnProperty,ln=[],an=-1;function un(e){return{current:e}}function on(e){0>an||(e.current=ln[an],ln[an]=null,an--)}function sn(e,n){an++,ln[an]=e.current,e.current=n}var cn={},fn=un(cn),dn=un(!1),pn=cn;function hn(e,n){var t=e.type.contextTypes;if(!t)return cn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l,a={};for(l in t)a[l]=n[l];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=a),a}function gn(e){return e=e.childContextTypes,null!==e&&void 0!==e}function mn(){on(dn),on(fn)}function vn(e,n,t){if(fn.current!==cn)throw Error(u(168));sn(fn,n),sn(dn,t)}function bn(e,n,t){var r=e.stateNode;if(n=n.childContextTypes,"function"!==typeof r.getChildContext)return t;for(var l in r=r.getChildContext(),r)if(!(l in n))throw Error(u(108,z(e)||"Unknown",l));return a({},t,r)}function yn(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||cn,pn=fn.current,sn(fn,e),sn(dn,dn.current),!0}function Sn(e,n,t){var r=e.stateNode;if(!r)throw Error(u(169));t?(e=bn(e,n,pn),r.__reactInternalMemoizedMergedChildContext=e,on(dn),on(fn),sn(fn,e)):on(dn),sn(dn,t)}var kn=Math.clz32?Math.clz32:zn,xn=Math.log,wn=Math.LN2;function zn(e){return e>>>=0,0===e?32:31-(xn(e)/wn|0)|0}var Nn=64,En=4194304;function Pn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Cn(e,n){var t=e.pendingLanes;if(0===t)return 0;var r=0,l=e.suspendedLanes,a=e.pingedLanes,u=268435455&t;if(0!==u){var i=u&~l;0!==i?r=Pn(i):(a&=u,0!==a&&(r=Pn(a)))}else u=t&~l,0!==u?r=Pn(u):0!==a&&(r=Pn(a));if(0===r)return 0;if(0!==n&&n!==r&&0===(n&l)&&(l=r&-r,a=n&-n,l>=a||16===l&&0!==(4194240&a)))return n;if(0!==(4&r)&&(r|=16&t),n=e.entangledLanes,0!==n)for(e=e.entanglements,n&=r;0t;t++)n.push(e);return n}function Rn(e,n,t){e.pendingLanes|=n,536870912!==n&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-kn(n),e[n]=t}function Fn(e,n){var t=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0>=u,l-=u,At=1<<32-kn(n)+l|t<d?(p=f,f=null):p=f.sibling;var h=m(l,f,i[d],o);if(null===h){null===f&&(f=p);break}e&&f&&null===h.alternate&&n(l,f),u=a(h,u,d),null===c?s=h:c.sibling=h,c=h,f=p}if(d===i.length)return t(l,f),Jt&&Ot(l,d),s;if(null===f){for(;dp?(h=d,d=null):h=d.sibling;var y=m(l,d,b.value,s);if(null===y){null===d&&(d=h);break}e&&d&&null===y.alternate&&n(l,d),i=a(y,i,p),null===f?c=y:f.sibling=y,f=y,d=h}if(b.done)return t(l,d),Jt&&Ot(l,p),c;if(null===d){for(;!b.done;p++,b=o.next())b=g(l,b.value,s),null!==b&&(i=a(b,i,p),null===f?c=b:f.sibling=b,f=b);return Jt&&Ot(l,p),c}for(d=r(l,d);!b.done;p++,b=o.next())b=v(d,l,p,b.value,s),null!==b&&(e&&null!==b.alternate&&d.delete(null===b.key?p:b.key),i=a(b,i,p),null===f?c=b:f.sibling=b,f=b);return e&&d.forEach(function(e){return n(l,e)}),Jt&&Ot(l,p),c}function k(e,r,a,u){if("object"===typeof a&&null!==a&&a.type===c&&null===a.key&&(a=a.props.children),"object"===typeof a&&null!==a){switch(a.$$typeof){case o:e:{for(var f=a.key,d=r;null!==d;){if(d.key===f){if(f=a.type,f===c){if(7===d.tag){t(e,d.sibling),r=l(d,a.props.children),r.return=e,e=r;break e}}else if(d.elementType===f||"object"===typeof f&&null!==f&&f.$$typeof===y&&sr(f)===d.type){t(e,d.sibling),r=l(d,a.props),r.ref=ir(e,d,a),r.return=e,e=r;break e}t(e,d);break}n(e,d),d=d.sibling}a.type===c?(r=pi(a.props.children,e.mode,u,a.key),r.return=e,e=r):(u=di(a.type,a.key,a.props,null,e.mode,u),u.ref=ir(e,r,a),u.return=e,e=u)}return i(e);case s:e:{for(d=a.key;null!==r;){if(r.key===d){if(4===r.tag&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){t(e,r.sibling),r=l(r,a.children||[]),r.return=e,e=r;break e}t(e,r);break}n(e,r),r=r.sibling}r=mi(a,e.mode,u),r.return=e,e=r}return i(e);case y:return d=a._init,k(e,r,d(a._payload),u)}if(T(a))return b(e,r,a,u);if(x(a))return S(e,r,a,u);or(e,a)}return"string"===typeof a&&""!==a||"number"===typeof a?(a=""+a,null!==r&&6===r.tag?(t(e,r.sibling),r=l(r,a),r.return=e,e=r):(t(e,r),r=gi(a,e.mode,u),r.return=e,e=r),i(e)):t(e,r)}return k}var fr=cr(!0),dr=cr(!1),pr={},hr=un(pr),gr=un(pr),mr=un(pr);function vr(e){if(e===pr)throw Error(u(174));return e}function br(e,n){sn(mr,n),sn(gr,e),sn(hr,pr),e=F(n),on(hr),sn(hr,e)}function yr(){on(hr),on(gr),on(mr)}function Sr(e){var n=vr(mr.current),t=vr(hr.current);n=U(t,e.type,n),t!==n&&(sn(gr,e),sn(hr,n))}function kr(e){gr.current===e&&(on(hr),on(gr))}var xr=un(0);function wr(e){for(var n=e;null!==n;){if(13===n.tag){var t=n.memoizedState;if(null!==t&&(t=t.dehydrated,null===t||Me(t)||De(t)))return n}else if(19===n.tag&&void 0!==n.memoizedProps.revealOrder){if(0!==(128&n.flags))return n}else if(null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var zr=[];function Nr(){for(var e=0;et?t:4,e(!0);var r=Pr.transition;Pr.transition={};try{e(!1),n()}finally{Mn=t,Pr.transition=r}}function dl(){return Wr().memoizedState}function pl(e,n,t){var r=Lu(e);t={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null},gl(e)?ml(n,t):(vl(e,n,t),t=_u(),e=Iu(e,r,t),null!==e&&bl(e,n,r))}function hl(e,n,t){var r=Lu(e),l={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null};if(gl(e))ml(n,l);else{vl(e,n,l);var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&(a=n.lastRenderedReducer,null!==a))try{var u=n.lastRenderedState,i=a(u,t);if(l.hasEagerState=!0,l.eagerState=i,Kn(i,u))return}catch(e){}t=_u(),e=Iu(e,r,t),null!==e&&bl(e,n,r)}}function gl(e){var n=e.alternate;return e===_r||null!==n&&n===_r}function ml(e,n){Rr=Tr=!0;var t=e.pending;null===t?n.next=n:(n.next=t.next,t.next=n),e.pending=n}function vl(e,n,t){null!==ru&&0!==(1&e.mode)&&0===(2&tu)?(e=n.interleaved,null===e?(t.next=t,null===bt?bt=[n]:bt.push(n)):(t.next=e.next,e.next=t),n.interleaved=t):(e=n.pending,null===e?t.next=t:(t.next=e.next,e.next=t),n.pending=t)}function bl(e,n,t){if(0!==(4194240&t)){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,Un(e,t)}}var yl={readContext:vt,useCallback:Mr,useContext:Mr,useEffect:Mr,useImperativeHandle:Mr,useInsertionEffect:Mr,useLayoutEffect:Mr,useMemo:Mr,useReducer:Mr,useRef:Mr,useState:Mr,useDebugValue:Mr,useDeferredValue:Mr,useTransition:Mr,useMutableSource:Mr,useSyncExternalStore:Mr,useId:Mr,unstable_isNewReconciler:!1},Sl={readContext:vt,useCallback:function(e,n){return Br().memoizedState=[e,void 0===n?null:n],e},useContext:vt,useEffect:tl,useImperativeHandle:function(e,n,t){return t=null!==t&&void 0!==t?t.concat([e]):null,el(4194308,4,ul.bind(null,n,e),t)},useLayoutEffect:function(e,n){return el(4194308,4,e,n)},useInsertionEffect:function(e,n){return el(4,2,e,n)},useMemo:function(e,n){var t=Br();return n=void 0===n?null:n,e=e(),t.memoizedState=[e,n],e},useReducer:function(e,n,t){var r=Br();return n=void 0!==t?t(n):n,r.memoizedState=r.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=pl.bind(null,_r,e),[r.memoizedState,e]},useRef:function(e){var n=Br();return e={current:e},n.memoizedState=e},useState:Kr,useDebugValue:ol,useDeferredValue:function(e){var n=Kr(e),t=n[0],r=n[1];return tl(function(){var n=Pr.transition;Pr.transition={};try{r(e)}finally{Pr.transition=n}},[e]),t},useTransition:function(){var e=Kr(!1),n=e[0];return e=fl.bind(null,e[1]),Br().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,t){var r=_r,l=Br();if(Jt){if(void 0===t)throw Error(u(407));t=t()}else{if(t=n(),null===ru)throw Error(u(349));0!==(30&Cr)||qr(r,n,t)}l.memoizedState=t;var a={value:t,getSnapshot:n};return l.queue=a,tl(Yr.bind(null,r,a,e),[e]),r.flags|=2048,Xr(9,Gr.bind(null,r,a,t,n),void 0,null),t},useId:function(){var e=Br(),n=ru.identifierPrefix;if(Jt){var t=jt,r=At;t=(r&~(1<<32-kn(r)-1)).toString(32)+t,n=":"+n+"R"+t,t=Fr++,0mu&&(n.flags|=128,r=!0,Ql(l,!1),n.lanes=4194304)}else{if(!r)if(e=wr(a),null!==e){if(n.flags|=128,r=!0,e=e.updateQueue,null!==e&&(n.updateQueue=e,n.flags|=4),Ql(l,!0),null===l.tail&&"hidden"===l.tailMode&&!a.alternate&&!Jt)return Hl(n),null}else 2*An()-l.renderingStartTime>mu&&1073741824!==t&&(n.flags|=128,r=!0,Ql(l,!1),n.lanes=4194304);l.isBackwards?(a.sibling=n.child,n.child=a):(e=l.last,null!==e?e.sibling=a:n.child=a,l.last=a)}return null!==l.tail?(n=l.tail,l.rendering=n,l.tail=n.sibling,l.renderingStartTime=An(),n.sibling=null,e=xr.current,sn(xr,r?1&e|2:1&e),n):(Hl(n),null);case 22:case 23:return Wu(),r=null!==n.memoizedState,null!==e&&null!==e.memoizedState!==r&&(n.flags|=8192),r&&0!==(1&n.mode)?0!==(1073741824&uu)&&(Hl(n),G&&6&n.subtreeFlags&&(n.flags|=8192)):Hl(n),null;case 24:return null;case 25:return null}throw Error(u(156,n.tag))}var Wl=i.ReactCurrentOwner,Al=!1;function jl(e,n,t,r){n.child=null===e?dr(n,null,t,r):fr(n,e.child,t,r)}function Ol(e,n,t,r,l){t=t.render;var a=n.ref;return mt(n,l),r=Qr(e,n,t,r,a,l),t=Hr(),null===e||Al?(Jt&&t&&Vt(n),n.flags|=1,jl(e,n,r,l),n.child):(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~l,ca(e,n,l))}function $l(e,n,t,r,l){if(null===e){var a=t.type;return"function"!==typeof a||si(a)||void 0!==a.defaultProps||null!==t.compare||void 0!==t.defaultProps?(e=di(t.type,null,r,n,n.mode,l),e.ref=n.ref,e.return=n,n.child=e):(n.tag=15,n.type=a,Vl(e,n,a,r,l))}if(a=e.child,0===(e.lanes&l)){var u=a.memoizedProps;if(t=t.compare,t=null!==t?t:at,t(u,r)&&e.ref===n.ref)return ca(e,n,l)}return n.flags|=1,e=fi(a,r),e.ref=n.ref,e.return=n,n.child=e}function Vl(e,n,t,r,l){if(null!==e&&at(e.memoizedProps,r)&&e.ref===n.ref){if(Al=!1,0===(e.lanes&l))return n.lanes=e.lanes,ca(e,n,l);0!==(131072&e.flags)&&(Al=!0)}return Yl(e,n,t,r,l)}function ql(e,n,t){var r=n.pendingProps,l=r.children,a=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(0===(1&n.mode))n.memoizedState={baseLanes:0,cachePool:null},sn(iu,uu),uu|=t;else{if(0===(1073741824&t))return e=null!==a?a.baseLanes|t:t,n.lanes=n.childLanes=1073741824,n.memoizedState={baseLanes:e,cachePool:null},n.updateQueue=null,sn(iu,uu),uu|=e,null;n.memoizedState={baseLanes:0,cachePool:null},r=null!==a?a.baseLanes:t,sn(iu,uu),uu|=r}else null!==a?(r=a.baseLanes|t,n.memoizedState=null):r=t,sn(iu,uu),uu|=r;return jl(e,n,l,t),n.child}function Gl(e,n){var t=n.ref;(null===e&&null!==t||null!==e&&e.ref!==t)&&(n.flags|=512,n.flags|=2097152)}function Yl(e,n,t,r,l){var a=gn(t)?pn:fn.current;return a=hn(n,a),mt(n,l),t=Qr(e,n,t,r,a,l),r=Hr(),null===e||Al?(Jt&&r&&Vt(n),n.flags|=1,jl(e,n,t,l),n.child):(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~l,ca(e,n,l))}function Jl(e,n,t,r,l){if(gn(t)){var a=!0;yn(n)}else a=!1;if(mt(n,l),null===n.stateNode)null!==e&&(e.alternate=null,n.alternate=null,n.flags|=2),Tt(n,t,r),Ft(n,t,r,l),r=!0;else if(null===e){var u=n.stateNode,i=n.memoizedProps;u.props=i;var o=u.context,s=t.contextType;"object"===typeof s&&null!==s?s=vt(s):(s=gn(t)?pn:fn.current,s=hn(n,s));var c=t.getDerivedStateFromProps,f="function"===typeof c||"function"===typeof u.getSnapshotBeforeUpdate;f||"function"!==typeof u.UNSAFE_componentWillReceiveProps&&"function"!==typeof u.componentWillReceiveProps||(i!==r||o!==s)&&Rt(n,u,r,s),yt=!1;var d=n.memoizedState;u.state=d,Et(n,r,u,l),o=n.memoizedState,i!==r||d!==o||dn.current||yt?("function"===typeof c&&(_t(n,t,c,r),o=n.memoizedState),(i=yt||It(n,t,i,r,d,o,s))?(f||"function"!==typeof u.UNSAFE_componentWillMount&&"function"!==typeof u.componentWillMount||("function"===typeof u.componentWillMount&&u.componentWillMount(),"function"===typeof u.UNSAFE_componentWillMount&&u.UNSAFE_componentWillMount()),"function"===typeof u.componentDidMount&&(n.flags|=4194308)):("function"===typeof u.componentDidMount&&(n.flags|=4194308),n.memoizedProps=r,n.memoizedState=o),u.props=r,u.state=o,u.context=s,r=i):("function"===typeof u.componentDidMount&&(n.flags|=4194308),r=!1)}else{u=n.stateNode,kt(e,n),i=n.memoizedProps,s=n.type===n.elementType?i:it(n.type,i),u.props=s,f=n.pendingProps,d=u.context,o=t.contextType,"object"===typeof o&&null!==o?o=vt(o):(o=gn(t)?pn:fn.current,o=hn(n,o));var p=t.getDerivedStateFromProps;(c="function"===typeof p||"function"===typeof u.getSnapshotBeforeUpdate)||"function"!==typeof u.UNSAFE_componentWillReceiveProps&&"function"!==typeof u.componentWillReceiveProps||(i!==f||d!==o)&&Rt(n,u,r,o),yt=!1,d=n.memoizedState,u.state=d,Et(n,r,u,l);var h=n.memoizedState;i!==f||d!==h||dn.current||yt?("function"===typeof p&&(_t(n,t,p,r),h=n.memoizedState),(s=yt||It(n,t,s,r,d,h,o)||!1)?(c||"function"!==typeof u.UNSAFE_componentWillUpdate&&"function"!==typeof u.componentWillUpdate||("function"===typeof u.componentWillUpdate&&u.componentWillUpdate(r,h,o),"function"===typeof u.UNSAFE_componentWillUpdate&&u.UNSAFE_componentWillUpdate(r,h,o)),"function"===typeof u.componentDidUpdate&&(n.flags|=4),"function"===typeof u.getSnapshotBeforeUpdate&&(n.flags|=1024)):("function"!==typeof u.componentDidUpdate||i===e.memoizedProps&&d===e.memoizedState||(n.flags|=4),"function"!==typeof u.getSnapshotBeforeUpdate||i===e.memoizedProps&&d===e.memoizedState||(n.flags|=1024),n.memoizedProps=r,n.memoizedState=h),u.props=r,u.state=h,u.context=o,r=s):("function"!==typeof u.componentDidUpdate||i===e.memoizedProps&&d===e.memoizedState||(n.flags|=4),"function"!==typeof u.getSnapshotBeforeUpdate||i===e.memoizedProps&&d===e.memoizedState||(n.flags|=1024),r=!1)}return Kl(e,n,t,r,a,l)}function Kl(e,n,t,r,l,a){Gl(e,n);var u=0!==(128&n.flags);if(!r&&!u)return l&&Sn(n,t,!1),ca(e,n,a);r=n.stateNode,Wl.current=n;var i=u&&"function"!==typeof t.getDerivedStateFromError?null:r.render();return n.flags|=1,null!==e&&u?(n.child=fr(n,e.child,null,a),n.child=fr(n,null,i,a)):jl(e,n,i,a),n.memoizedState=r.state,l&&Sn(n,t,!0),n.child}function Xl(e){var n=e.stateNode;n.pendingContext?vn(e,n.pendingContext,n.pendingContext!==n.context):n.context&&vn(e,n.context,!1),br(e,n.containerInfo)}function Zl(e,n,t,r,l){return ar(),ur(l),n.flags|=256,jl(e,n,t,r),n.child}var ea={dehydrated:null,treeContext:null,retryLane:0};function na(e){return{baseLanes:e,cachePool:null}}function ta(e,n,t){var r,l=n.pendingProps,a=xr.current,i=!1,o=0!==(128&n.flags);if((r=o)||(r=(null===e||null!==e.memoizedState)&&0!==(2&a)),r?(i=!0,n.flags&=-129):null!==e&&null===e.memoizedState||(a|=1),sn(xr,1&a),null===e)return tr(n),e=n.memoizedState,null!==e&&(e=e.dehydrated,null!==e)?(0===(1&n.mode)?n.lanes=1:De(e)?n.lanes=8:n.lanes=1073741824,null):(a=l.children,e=l.fallback,i?(l=n.mode,i=n.child,a={mode:"hidden",children:a},0===(1&l)&&null!==i?(i.childLanes=0,i.pendingProps=a):i=hi(a,l,0,null),e=pi(e,l,t,null),i.return=n,e.return=n,i.sibling=e,n.child=i,n.child.memoizedState=na(t),n.memoizedState=ea,e):ra(n,a));if(a=e.memoizedState,null!==a){if(r=a.dehydrated,null!==r){if(o)return 256&n.flags?(n.flags&=-257,ua(e,n,t,Error(u(422)))):null!==n.memoizedState?(n.child=e.child,n.flags|=128,null):(i=l.fallback,a=n.mode,l=hi({mode:"visible",children:l.children},a,0,null),i=pi(i,a,t,null),i.flags|=2,l.return=n,i.return=n,l.sibling=i,n.child=l,0!==(1&n.mode)&&fr(n,e.child,null,t),n.child.memoizedState=na(t),n.memoizedState=ea,i);if(0===(1&n.mode))n=ua(e,n,t,null);else if(De(r))n=ua(e,n,t,Error(u(419)));else if(l=0!==(t&e.childLanes),Al||l){if(l=ru,null!==l){switch(t&-t){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}l=0!==(i&(l.suspendedLanes|t))?0:i,0!==l&&l!==a.retryLane&&(a.retryLane=l,Iu(e,l,-1))}$u(),n=ua(e,n,t,Error(u(421)))}else Me(r)?(n.flags|=128,n.child=e.child,n=li.bind(null,e),Qe(r,n),n=null):(t=a.treeContext,J&&(Yt=Ae(r),Gt=n,Jt=!0,Xt=null,Kt=!1,null!==t&&(Ht[Bt++]=At,Ht[Bt++]=jt,Ht[Bt++]=Wt,At=t.id,jt=t.overflow,Wt=n)),n=ra(n,n.pendingProps.children),n.flags|=4096);return n}return i?(l=aa(e,n,l.children,l.fallback,t),i=n.child,a=e.child.memoizedState,i.memoizedState=null===a?na(t):{baseLanes:a.baseLanes|t,cachePool:null},i.childLanes=e.childLanes&~t,n.memoizedState=ea,l):(t=la(e,n,l.children,t),n.memoizedState=null,t)}return i?(l=aa(e,n,l.children,l.fallback,t),i=n.child,a=e.child.memoizedState,i.memoizedState=null===a?na(t):{baseLanes:a.baseLanes|t,cachePool:null},i.childLanes=e.childLanes&~t,n.memoizedState=ea,l):(t=la(e,n,l.children,t),n.memoizedState=null,t)}function ra(e,n){return n=hi({mode:"visible",children:n},e.mode,0,null),n.return=e,e.child=n}function la(e,n,t,r){var l=e.child;return e=l.sibling,t=fi(l,{mode:"visible",children:t}),0===(1&n.mode)&&(t.lanes=r),t.return=n,t.sibling=null,null!==e&&(r=n.deletions,null===r?(n.deletions=[e],n.flags|=16):r.push(e)),n.child=t}function aa(e,n,t,r,l){var a=n.mode;e=e.child;var u=e.sibling,i={mode:"hidden",children:t};return 0===(1&a)&&n.child!==e?(t=n.child,t.childLanes=0,t.pendingProps=i,n.deletions=null):(t=fi(e,i),t.subtreeFlags=14680064&e.subtreeFlags),null!==u?r=fi(u,r):(r=pi(r,a,l,null),r.flags|=2),r.return=n,t.return=n,t.sibling=r,n.child=t,r}function ua(e,n,t,r){return null!==r&&ur(r),fr(n,e.child,null,t),e=ra(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function ia(e,n,t){e.lanes|=n;var r=e.alternate;null!==r&&(r.lanes|=n),gt(e.return,n,t)}function oa(e,n,t,r,l){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:r,tail:t,tailMode:l}:(a.isBackwards=n,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=t,a.tailMode=l)}function sa(e,n,t){var r=n.pendingProps,l=r.revealOrder,a=r.tail;if(jl(e,n,r.children,t),r=xr.current,0!==(2&r))r=1&r|2,n.flags|=128;else{if(null!==e&&0!==(128&e.flags))e:for(e=n.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&ia(e,t,n);else if(19===e.tag)ia(e,t,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===n)break e;for(;null===e.sibling;){if(null===e.return||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(sn(xr,r),0===(1&n.mode))n.memoizedState=null;else switch(l){case"forwards":for(t=n.child,l=null;null!==t;)e=t.alternate,null!==e&&null===wr(e)&&(l=t),t=t.sibling;t=l,null===t?(l=n.child,n.child=null):(l=t.sibling,t.sibling=null),oa(n,!1,l,t,a);break;case"backwards":for(t=null,l=n.child,n.child=null;null!==l;){if(e=l.alternate,null!==e&&null===wr(e)){n.child=l;break}e=l.sibling,l.sibling=t,t=l,l=e}oa(n,!0,t,null,a);break;case"together":oa(n,!1,null,null,void 0);break;default:n.memoizedState=null}return n.child}function ca(e,n,t){if(null!==e&&(n.dependencies=e.dependencies),cu|=n.lanes,0===(t&n.childLanes))return null;if(null!==e&&n.child!==e.child)throw Error(u(153));if(null!==n.child){for(e=n.child,t=fi(e,e.pendingProps),n.child=t,t.return=n;null!==e.sibling;)e=e.sibling,t=t.sibling=fi(e,e.pendingProps),t.return=n;t.sibling=null}return n.child}function fa(e,n,t){switch(n.tag){case 3:Xl(n),ar();break;case 5:Sr(n);break;case 1:gn(n.type)&&yn(n);break;case 4:br(n,n.stateNode.containerInfo);break;case 10:pt(n,n.type._context,n.memoizedProps.value);break;case 13:var r=n.memoizedState;if(null!==r)return null!==r.dehydrated?(sn(xr,1&xr.current),n.flags|=128,null):0!==(t&n.child.childLanes)?ta(e,n,t):(sn(xr,1&xr.current),e=ca(e,n,t),null!==e?e.sibling:null);sn(xr,1&xr.current);break;case 19:if(r=0!==(t&n.childLanes),0!==(128&e.flags)){if(r)return sa(e,n,t);n.flags|=128}var l=n.memoizedState;if(null!==l&&(l.rendering=null,l.tail=null,l.lastEffect=null),sn(xr,xr.current),r)break;return null;case 22:case 23:return n.lanes=0,ql(e,n,t)}return ca(e,n,t)}function da(e,n){switch(qt(n),n.tag){case 1:return gn(n.type)&&mn(),e=n.flags,65536&e?(n.flags=-65537&e|128,n):null;case 3:return yr(),on(dn),on(fn),Nr(),e=n.flags,0!==(65536&e)&&0===(128&e)?(n.flags=-65537&e|128,n):null;case 5:return kr(n),null;case 13:if(on(xr),e=n.memoizedState,null!==e&&null!==e.dehydrated){if(null===n.alternate)throw Error(u(340));ar()}return e=n.flags,65536&e?(n.flags=-65537&e|128,n):null;case 19:return on(xr),null;case 4:return yr(),null;case 10:return ht(n.type._context),null;case 22:case 23:return Wu(),null;case 24:return null;default:return null}}var pa=!1,ha=!1,ga="function"===typeof WeakSet?WeakSet:Set,ma=null;function va(e,n){var t=e.ref;if(null!==t)if("function"===typeof t)try{t(null)}catch(t){ni(e,n,t)}else t.current=null}function ba(e,n,t){try{t()}catch(t){ni(e,n,t)}}var ya=!1;function Sa(e,n){for(M(e.containerInfo),ma=n;null!==ma;)if(e=ma,n=e.child,0!==(1028&e.subtreeFlags)&&null!==n)n.return=e,ma=n;else for(;null!==ma;){e=ma;try{var t=e.alternate;if(0!==(1024&e.flags))switch(e.tag){case 0:case 11:case 15:break;case 1:if(null!==t){var r=t.memoizedProps,l=t.memoizedState,a=e.stateNode,i=a.getSnapshotBeforeUpdate(e.elementType===e.type?r:it(e.type,r),l);a.__reactInternalSnapshotBeforeUpdate=i}break;case 3:G&&Ne(e.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(u(163))}}catch(n){ni(e,e.return,n)}if(n=e.sibling,null!==n){n.return=e.return,ma=n;break}ma=e.return}return t=ya,ya=!1,t}function ka(e,n,t){var r=n.updateQueue;if(r=null!==r?r.lastEffect:null,null!==r){var l=r=r.next;do{if((l.tag&e)===e){var a=l.destroy;l.destroy=void 0,void 0!==a&&ba(n,t,a)}l=l.next}while(l!==r)}}function xa(e,n){if(n=n.updateQueue,n=null!==n?n.lastEffect:null,null!==n){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function wa(e){var n=e.ref;if(null!==n){var t=e.stateNode;switch(e.tag){case 5:e=R(t);break;default:e=t}"function"===typeof n?n(e):n.current=e}}function za(e,n,t){if(Gn&&"function"===typeof Gn.onCommitFiberUnmount)try{Gn.onCommitFiberUnmount(qn,n)}catch(e){}switch(n.tag){case 0:case 11:case 14:case 15:if(e=n.updateQueue,null!==e&&(e=e.lastEffect,null!==e)){var r=e=e.next;do{var l=r,a=l.destroy;l=l.tag,void 0!==a&&(0!==(2&l)||0!==(4&l))&&ba(n,t,a),r=r.next}while(r!==e)}break;case 1:if(va(n,t),e=n.stateNode,"function"===typeof e.componentWillUnmount)try{e.props=n.memoizedProps,e.state=n.memoizedState,e.componentWillUnmount()}catch(e){ni(n,t,e)}break;case 5:va(n,t);break;case 4:G?Ta(e,n,t):Y&&Y&&(n=n.stateNode.containerInfo,t=Pe(n),Le(n,t))}}function Na(e,n,t){for(var r=n;;)if(za(e,r,t),null===r.child||G&&4===r.tag){if(r===n)break;for(;null===r.sibling;){if(null===r.return||r.return===n)return;r=r.return}r.sibling.return=r.return,r=r.sibling}else r.child.return=r,r=r.child}function Ea(e){var n=e.alternate;null!==n&&(e.alternate=null,Ea(n)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(n=e.stateNode,null!==n&&ee(n)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Pa(e){return 5===e.tag||3===e.tag||4===e.tag}function Ca(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||Pa(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function _a(e){if(G){e:{for(var n=e.return;null!==n;){if(Pa(n))break e;n=n.return}throw Error(u(160))}var t=n;switch(t.tag){case 5:n=t.stateNode,32&t.flags&&(Se(n),t.flags&=-33),t=Ca(e),Ia(e,t,n);break;case 3:case 4:n=t.stateNode.containerInfo,t=Ca(e),La(e,t,n);break;default:throw Error(u(161))}}}function La(e,n,t){var r=e.tag;if(5===r||6===r)e=e.stateNode,n?ve(t,e,n):de(t,e);else if(4!==r&&(e=e.child,null!==e))for(La(e,n,t),e=e.sibling;null!==e;)La(e,n,t),e=e.sibling}function Ia(e,n,t){var r=e.tag;if(5===r||6===r)e=e.stateNode,n?me(t,e,n):fe(t,e);else if(4!==r&&(e=e.child,null!==e))for(Ia(e,n,t),e=e.sibling;null!==e;)Ia(e,n,t),e=e.sibling}function Ta(e,n,t){for(var r,l,a=n,i=!1;;){if(!i){i=a.return;e:for(;;){if(null===i)throw Error(u(160));switch(r=i.stateNode,i.tag){case 5:l=!1;break e;case 3:r=r.containerInfo,l=!0;break e;case 4:r=r.containerInfo,l=!0;break e}i=i.return}i=!0}if(5===a.tag||6===a.tag)Na(e,a,t),l?ye(r,a.stateNode):be(r,a.stateNode);else if(18===a.tag)l?Je(r,a.stateNode):Ye(r,a.stateNode);else if(4===a.tag){if(null!==a.child){r=a.stateNode.containerInfo,l=!0,a.child.return=a,a=a.child;continue}}else if(za(e,a,t),null!==a.child){a.child.return=a,a=a.child;continue}if(a===n)break;for(;null===a.sibling;){if(null===a.return||a.return===n)return;a=a.return,4===a.tag&&(i=!1)}a.sibling.return=a.return,a=a.sibling}}function Ra(e,n){if(G){switch(n.tag){case 0:case 11:case 14:case 15:return ka(3,n,n.return),xa(3,n),void ka(5,n,n.return);case 1:return;case 5:var t=n.stateNode;if(null!=t){var r=n.memoizedProps;e=null!==e?e.memoizedProps:r;var l=n.type,a=n.updateQueue;n.updateQueue=null,null!==a&&ge(t,a,l,e,r,n)}return;case 6:if(null===n.stateNode)throw Error(u(162));return t=n.memoizedProps,void pe(n.stateNode,null!==e?e.memoizedProps:t,t);case 3:return void(J&&null!==e&&e.memoizedState.isDehydrated&&qe(n.stateNode.containerInfo));case 12:return;case 13:return void Fa(n);case 19:return void Fa(n);case 17:return}throw Error(u(163))}switch(n.tag){case 0:case 11:case 14:case 15:return ka(3,n,n.return),xa(3,n),void ka(5,n,n.return);case 12:return;case 13:return void Fa(n);case 19:return void Fa(n);case 3:J&&null!==e&&e.memoizedState.isDehydrated&&qe(n.stateNode.containerInfo);break;case 22:case 23:return}e:if(Y){switch(n.tag){case 1:case 5:case 6:break e;case 3:case 4:n=n.stateNode,Le(n.containerInfo,n.pendingChildren);break e}throw Error(u(163))}}function Fa(e){var n=e.updateQueue;if(null!==n){e.updateQueue=null;var t=e.stateNode;null===t&&(t=e.stateNode=new ga),n.forEach(function(n){var r=ai.bind(null,e,n);t.has(n)||(t.add(n),n.then(r,r))})}}function Ua(e,n){for(ma=n;null!==ma;){n=ma;var t=n.deletions;if(null!==t)for(var r=0;r";case Aa:return":has("+(Ya(e)||"")+")";case ja:return'[role="'+e.value+'"]';case $a:return'"'+e.value+'"';case Oa:return'[data-testname="'+e.value+'"]';default:throw Error(u(365))}}function Ja(e,n){var t=[];e=[e,0];for(var r=0;rl&&(l=i),r&=~a}if(r=l,r=An()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Xa(r/1960))-r,10e?16:e,null===wu)var r=!1;else{if(e=wu,wu=null,zu=0,0!==(6&tu))throw Error(u(331));var l=tu;for(tu|=4,ma=e.current;null!==ma;){var a=ma,i=a.child;if(0!==(16&ma.flags)){var o=a.deletions;if(null!==o){for(var s=0;sAn()-gu?Au(e,0):du|=t),Ru(e,n)}function ri(e,n){0===n&&(0===(1&e.mode)?n=1:(n=En,En<<=1,0===(130023424&En)&&(En=4194304)));var t=_u();e=Tu(e,n),null!==e&&(Rn(e,n,t),Ru(e,t))}function li(e){var n=e.memoizedState,t=0;null!==n&&(t=n.retryLane),ri(e,t)}function ai(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;null!==l&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(u(314))}null!==r&&r.delete(n),ri(e,t)}function ui(e,n){return Qn(e,n)}function ii(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function oi(e,n,t,r){return new ii(e,n,t,r)}function si(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ci(e){if("function"===typeof e)return si(e)?1:0;if(void 0!==e&&null!==e){if(e=e.$$typeof,e===g)return 11;if(e===b)return 14}return 2}function fi(e,n){var t=e.alternate;return null===t?(t=oi(e.tag,n,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=14680064&e.flags,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=null===n?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function di(e,n,t,r,l,a){var i=2;if(r=e,"function"===typeof e)si(e)&&(i=1);else if("string"===typeof e)i=5;else e:switch(e){case c:return pi(t.children,l,a,n);case f:i=8,l|=8;break;case d:return e=oi(12,t,n,2|l),e.elementType=d,e.lanes=a,e;case m:return e=oi(13,t,n,l),e.elementType=m,e.lanes=a,e;case v:return e=oi(19,t,n,l),e.elementType=v,e.lanes=a,e;case S:return hi(t,l,a,n);default:if("object"===typeof e&&null!==e)switch(e.$$typeof){case p:i=10;break e;case h:i=9;break e;case g:i=11;break e;case b:i=14;break e;case y:i=16,r=null;break e}throw Error(u(130,null==e?e:typeof e,""))}return n=oi(i,t,n,l),n.elementType=e,n.type=r,n.lanes=a,n}function pi(e,n,t,r){return e=oi(7,e,r,n),e.lanes=t,e}function hi(e,n,t,r){return e=oi(22,e,r,n),e.elementType=S,e.lanes=t,e.stateNode={},e}function gi(e,n,t){return e=oi(6,e,null,n),e.lanes=t,e}function mi(e,n,t){return n=oi(4,null!==e.children?e.children:[],e.key,n),n.lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function vi(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=V,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Tn(0),this.expirationTimes=Tn(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Tn(0),this.identifierPrefix=r,this.onRecoverableError=l,J&&(this.mutableSourceEagerHydrationData=null)}function bi(e,n,t,r,l,a,u,i,o){return e=new vi(e,n,t,i,o),1===n?(n=1,!0===a&&(n|=8)):n=0,a=oi(3,null,null,n),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null},St(a),e}function yi(e){if(!e)return cn;e=e._reactInternals;e:{if(N(e)!==e||1!==e.tag)throw Error(u(170));var n=e;do{switch(n.tag){case 3:n=n.stateNode.context;break e;case 1:if(gn(n.type)){n=n.stateNode.__reactInternalMemoizedMergedChildContext;break e}}n=n.return}while(null!==n);throw Error(u(171))}if(1===e.tag){var t=e.type;if(gn(t))return bn(e,t,n)}return n}function Si(e){var n=e._reactInternals;if(void 0===n){if("function"===typeof e.render)throw Error(u(188));throw e=Object.keys(e).join(","),Error(u(268,e))}return e=C(n),null===e?null:e.stateNode}function ki(e,n){if(e=e.memoizedState,null!==e&&null!==e.dehydrated){var t=e.retryLane;e.retryLane=0!==t&&t=c&&a>=d&&l<=f&&i<=p){e.splice(n,1);break}if(!(r!==c||t.width!==s.width||pi)){d>a&&(s.height+=d-a,s.y=a),pl)){c>r&&(s.width+=c-r,s.x=r),ft&&(t=i)),i ")+"\n\nNo matching component was found for:\n "+e.join(" > ")}return null},n.getPublicRootInstance=function(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return R(e.child.stateNode);default:return e.child.stateNode}},n.injectIntoDevTools=function(e){if(e={bundleType:e.bundleType,version:e.version,rendererPackageName:e.rendererPackageName,rendererConfig:e.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:i.ReactCurrentDispatcher,findHostInstanceByFiber:wi,findFiberByHostInstance:e.findFiberByHostInstance||zi,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},"undefined"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)e=!1;else{var n=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(n.isDisabled||!n.supportsFiber)e=!0;else{try{qn=n.inject(e),Gn=n}catch(e){}e=!!n.checkDCE}}return e},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(e,n,t,r){if(!re)throw Error(u(363));e=Ka(e,n);var l=ce(e,t,r).disconnect;return{disconnect:function(){l()}}},n.registerMutableSourceForHydration=function(e,n){var t=n._getVersion;t=t(n._source),null==e.mutableSourceEagerHydrationData?e.mutableSourceEagerHydrationData=[n,t]:e.mutableSourceEagerHydrationData.push(n,t)},n.runWithPriority=function(e,n){var t=Mn;try{return Mn=e,n()}finally{Mn=t}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(e,n,t,r){var l=n.current,a=_u(),u=Lu(l);return t=yi(t),null===n.context?n.context=t:n.pendingContext=t,n=xt(a,u),n.payload={element:e},r=void 0===r?null:r,null!==r&&(n.callback=r),wt(l,n),e=Iu(l,u,a),null!==e&&zt(e,l,u),u},n}},772:function(e,n,t){"use strict";e.exports=t(735)},4845:function(e,n,t){"use strict";e.exports=t(2935)},8271:function(e,n,t){"use strict";var r=t(7842)["navigator"];function l(e,n){var t=e.length;e.push(n);e:for(;0>>1,l=e[r];if(!(0>>1;ri(o,t))si(c,o)?(e[r]=c,e[s]=t,r=s):(e[r]=o,e[u]=t,r=u);else{if(!(si(c,t)))break e;e[r]=c,e[s]=t,r=s}}}return n}function i(e,n){var t=e.sortIndex-n.sortIndex;return 0!==t?t:e.id-n.id}if("object"===typeof performance&&"function"===typeof performance.now){var o=performance;n.unstable_now=function(){return o.now()}}else{var s=Date,c=s.now();n.unstable_now=function(){return s.now()-c}}var f=[],d=[],p=1,h=null,g=3,m=!1,v=!1,b=!1,y="function"===typeof setTimeout?setTimeout:null,S="function"===typeof clearTimeout?clearTimeout:null,k="undefined"!==typeof setImmediate?setImmediate:null;function x(e){for(var n=a(d);null!==n;){if(null===n.callback)u(d);else{if(!(n.startTime<=e))break;u(d),n.sortIndex=n.expirationTime,l(f,n)}n=a(d)}}function w(e){if(b=!1,x(e),!v)if(null!==a(f))v=!0,U(z);else{var n=a(d);null!==n&&M(w,n.startTime-e)}}function z(e,t){v=!1,b&&(b=!1,S(C),C=-1),m=!0;var r=g;try{for(x(t),h=a(f);null!==h&&(!(h.expirationTime>t)||e&&!I());){var l=h.callback;if("function"===typeof l){h.callback=null,g=h.priorityLevel;var i=l(h.expirationTime<=t);t=n.unstable_now(),"function"===typeof i?h.callback=i:h===a(f)&&u(f),x(t)}else u(f);h=a(f)}if(null!==h)var o=!0;else{var s=a(d);null!==s&&M(w,s.startTime-t),o=!1}return o}finally{h=null,g=r,m=!1}}"undefined"!==typeof r&&void 0!==r.scheduling&&void 0!==r.scheduling.isInputPending&&r.scheduling.isInputPending.bind(r.scheduling);var N,E=!1,P=null,C=-1,_=5,L=-1;function I(){return!(n.unstable_now()-L<_)}function T(){if(null!==P){var e=n.unstable_now();L=e;var t=!0;try{t=P(!0,e)}finally{t?N():(E=!1,P=null)}}else E=!1}if("function"===typeof k)N=function(){k(T)};else if("undefined"!==typeof MessageChannel){var R=new MessageChannel,F=R.port2;R.port1.onmessage=T,N=function(){F.postMessage(null)}}else N=function(){y(T,0)};function U(e){P=e,E||(E=!0,N())}function M(e,t){C=y(function(){e(n.unstable_now())},t)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(e){e.callback=null},n.unstable_continueExecution=function(){v||m||(v=!0,U(z))},n.unstable_forceFrameRate=function(e){0>e||125u?(e.sortIndex=r,l(d,e),null===a(f)&&e===a(d)&&(b?(S(C),C=-1):b=!0,M(w,r-u))):(e.sortIndex=i,l(f,e),v||m||(v=!0,U(z))),e},n.unstable_shouldYield=I,n.unstable_wrapCallback=function(e){var n=g;return function(){var t=g;g=n;try{return e.apply(this,arguments)}finally{g=t}}}},8585:function(e,n,t){"use strict";e.exports=t(8271)}},function(e){var n=function(n){return e(e.s=n)};e.O(0,[907,96,76],function(){return n(4247)});e.O()}]); \ No newline at end of file +require("./common"),require("./vendors"),require("./taro"),require("./runtime"),(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[524],{4247:function(e,n,t){"use strict";t(6882);var r=t(7842),l=t(1291),a=t(758),u=t.n(a),i=t(3029),o=t(2901),s=t(6919),c=t(5501),f=t(6540),d=t.t(f,2),p=t(9703),h=t(1457),g=t(6606),m=t(3246),v=t(1212),b=t(467),y=null;function S(){return y||(y=k().finally(function(){y=null}),y)}function k(){return x.apply(this,arguments)}function x(){return x=(0,b.A)((0,v.A)().m(function e(){var n,t,r,l;return(0,v.A)().w(function(e){while(1)switch(e.p=e.n){case 0:if(n=(0,h.Q4)(),null!==n&&void 0!==n&&n.openid&&!(0,h.Ic)(n.openid)){e.n=1;break}return e.a(2,!1);case 1:return e.p=1,e.n=2,u().login();case 2:if(t=e.v,t.code){e.n=3;break}return e.a(2,!1);case 3:return e.n=4,m.Ay.post("/api/auth/login",{code:t.code},{auth:!1,skipAuthRefresh:!0});case 4:if(r=e.v,null!==r&&void 0!==r&&r.accessToken){e.n=5;break}return e.a(2,!1);case 5:return(0,m.WG)(r.accessToken),e.n=6,m.Ay.get("/api/users/me",{skipAuthRefresh:!0});case 6:if(l=e.v,(null===l||void 0===l?void 0:l.openid)!==n.openid){e.n=7;break}return e.a(2,!0);case 7:return(0,m.L)(),(0,h.Hf)(),e.a(2,!1);case 8:return e.p=8,e.v,e.a(2,!1)}},e,null,[[1,8]])})),x.apply(this,arguments)}function w(){return z.apply(this,arguments)}function z(){return z=(0,b.A)((0,v.A)().m(function e(){var n,t,r;return(0,v.A)().w(function(e){while(1)switch(e.p=e.n){case 0:if(n=(0,h.Q4)(),null!==n&&void 0!==n&&n.openid&&!(0,h.Ic)(n.openid)){e.n=1;break}return e.a(2,!1);case 1:if((0,m.gf)()){e.n=2;break}return e.a(2,S());case 2:return e.p=2,e.n=3,m.Ay.get("/api/users/me",{skipAuthRefresh:!0});case 3:return e.a(2,!0);case 4:if(e.p=4,r=e.v,t=null===r||void 0===r?void 0:r.statusCode,401!==t){e.n=5;break}return e.a(2,S());case 5:return e.a(2,!!(0,m.gf)())}},e,null,[[2,4]])})),z.apply(this,arguments)}var N=t(4848),E=function(e){function n(){return(0,i.A)(this,n),(0,s.A)(this,n,arguments)}return(0,c.A)(n,e),(0,o.A)(n,[{key:"componentWillMount",value:function(){(0,g.G)((0,h.eW)((0,h.O4)()))}},{key:"componentDidMount",value:function(){(0,g.G)((0,h.eW)((0,h.O4)())),(0,m.q)(S),w()}},{key:"componentDidShow",value:function(){}},{key:"componentDidHide",value:function(){}},{key:"render",value:function(){return(0,N.jsx)(p.NP,{children:this.props.children})}}])}(f.Component),P=E,C=t(7260),_={darkmode:!0,themeLocation:"theme.json",pages:["pages/index/index","pages/shop/index","pages/shop/detail/index","pages/product/index","pages/diy/index","pages/diy/stickerEdit/index","pages/checkout/index","pages/designList/index","pages/orders/index","pages/profile/index","pages/service/index","pages/wordcloud/index","pages/orderDetail/index","pages/address/index","pages/settings/index","pages/agreement/index","pages/userDatabase/index"],window:{backgroundTextStyle:"dark",navigationStyle:"custom",navigationBarBackgroundColor:"#faf7f2",backgroundColor:"#faf7f2",backgroundColorTop:"#faf7f2",backgroundColorBottom:"#faf7f2",navigationBarTextStyle:"black"},tabBar:{custom:!0,list:[{pagePath:"pages/index/index",text:"\u9996\u9875"},{pagePath:"pages/shop/index",text:"\u5546\u54c1"},{pagePath:"pages/designList/index",text:"\u8bbe\u8ba1\u6e05\u5355"},{pagePath:"pages/orders/index",text:"\u8ba2\u5355"},{pagePath:"pages/profile/index",text:"\u6211\u7684"}]}};r.window.__taroAppConfig=_;App((0,l.ND)(P,d,C.Ay,_));(0,a.initPxTransform)({designWidth:750,deviceRatio:{640:1.17,750:1,828:.905},baseFontSize:20,unitPrecision:void 0,targetUnit:void 0})},735:function(e,n){"use strict";n.DefaultEventPriority=16},2935:function(e,n,t){e.exports=function(e){var n={},r=t(6540),l=t(8585),a=Object.assign;function u(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;ti||l[u]!==a[i]){var o="\n"+l[u].replace(" at new "," at ");return e.displayName&&o.includes("")&&(o=o.replace("",e.displayName)),o}}while(1<=u&&0<=i);break}}}finally{nn=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:"")?en(e):""}var rn=Object.prototype.hasOwnProperty,ln=[],an=-1;function un(e){return{current:e}}function on(e){0>an||(e.current=ln[an],ln[an]=null,an--)}function sn(e,n){an++,ln[an]=e.current,e.current=n}var cn={},fn=un(cn),dn=un(!1),pn=cn;function hn(e,n){var t=e.type.contextTypes;if(!t)return cn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l,a={};for(l in t)a[l]=n[l];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=a),a}function gn(e){return e=e.childContextTypes,null!==e&&void 0!==e}function mn(){on(dn),on(fn)}function vn(e,n,t){if(fn.current!==cn)throw Error(u(168));sn(fn,n),sn(dn,t)}function bn(e,n,t){var r=e.stateNode;if(n=n.childContextTypes,"function"!==typeof r.getChildContext)return t;for(var l in r=r.getChildContext(),r)if(!(l in n))throw Error(u(108,z(e)||"Unknown",l));return a({},t,r)}function yn(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||cn,pn=fn.current,sn(fn,e),sn(dn,dn.current),!0}function Sn(e,n,t){var r=e.stateNode;if(!r)throw Error(u(169));t?(e=bn(e,n,pn),r.__reactInternalMemoizedMergedChildContext=e,on(dn),on(fn),sn(fn,e)):on(dn),sn(dn,t)}var kn=Math.clz32?Math.clz32:zn,xn=Math.log,wn=Math.LN2;function zn(e){return e>>>=0,0===e?32:31-(xn(e)/wn|0)|0}var Nn=64,En=4194304;function Pn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Cn(e,n){var t=e.pendingLanes;if(0===t)return 0;var r=0,l=e.suspendedLanes,a=e.pingedLanes,u=268435455&t;if(0!==u){var i=u&~l;0!==i?r=Pn(i):(a&=u,0!==a&&(r=Pn(a)))}else u=t&~l,0!==u?r=Pn(u):0!==a&&(r=Pn(a));if(0===r)return 0;if(0!==n&&n!==r&&0===(n&l)&&(l=r&-r,a=n&-n,l>=a||16===l&&0!==(4194240&a)))return n;if(0!==(4&r)&&(r|=16&t),n=e.entangledLanes,0!==n)for(e=e.entanglements,n&=r;0t;t++)n.push(e);return n}function Rn(e,n,t){e.pendingLanes|=n,536870912!==n&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-kn(n),e[n]=t}function Fn(e,n){var t=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0>=u,l-=u,At=1<<32-kn(n)+l|t<d?(p=f,f=null):p=f.sibling;var h=m(l,f,i[d],o);if(null===h){null===f&&(f=p);break}e&&f&&null===h.alternate&&n(l,f),u=a(h,u,d),null===c?s=h:c.sibling=h,c=h,f=p}if(d===i.length)return t(l,f),Jt&&Ot(l,d),s;if(null===f){for(;dp?(h=d,d=null):h=d.sibling;var y=m(l,d,b.value,s);if(null===y){null===d&&(d=h);break}e&&d&&null===y.alternate&&n(l,d),i=a(y,i,p),null===f?c=y:f.sibling=y,f=y,d=h}if(b.done)return t(l,d),Jt&&Ot(l,p),c;if(null===d){for(;!b.done;p++,b=o.next())b=g(l,b.value,s),null!==b&&(i=a(b,i,p),null===f?c=b:f.sibling=b,f=b);return Jt&&Ot(l,p),c}for(d=r(l,d);!b.done;p++,b=o.next())b=v(d,l,p,b.value,s),null!==b&&(e&&null!==b.alternate&&d.delete(null===b.key?p:b.key),i=a(b,i,p),null===f?c=b:f.sibling=b,f=b);return e&&d.forEach(function(e){return n(l,e)}),Jt&&Ot(l,p),c}function k(e,r,a,u){if("object"===typeof a&&null!==a&&a.type===c&&null===a.key&&(a=a.props.children),"object"===typeof a&&null!==a){switch(a.$$typeof){case o:e:{for(var f=a.key,d=r;null!==d;){if(d.key===f){if(f=a.type,f===c){if(7===d.tag){t(e,d.sibling),r=l(d,a.props.children),r.return=e,e=r;break e}}else if(d.elementType===f||"object"===typeof f&&null!==f&&f.$$typeof===y&&sr(f)===d.type){t(e,d.sibling),r=l(d,a.props),r.ref=ir(e,d,a),r.return=e,e=r;break e}t(e,d);break}n(e,d),d=d.sibling}a.type===c?(r=pi(a.props.children,e.mode,u,a.key),r.return=e,e=r):(u=di(a.type,a.key,a.props,null,e.mode,u),u.ref=ir(e,r,a),u.return=e,e=u)}return i(e);case s:e:{for(d=a.key;null!==r;){if(r.key===d){if(4===r.tag&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){t(e,r.sibling),r=l(r,a.children||[]),r.return=e,e=r;break e}t(e,r);break}n(e,r),r=r.sibling}r=mi(a,e.mode,u),r.return=e,e=r}return i(e);case y:return d=a._init,k(e,r,d(a._payload),u)}if(T(a))return b(e,r,a,u);if(x(a))return S(e,r,a,u);or(e,a)}return"string"===typeof a&&""!==a||"number"===typeof a?(a=""+a,null!==r&&6===r.tag?(t(e,r.sibling),r=l(r,a),r.return=e,e=r):(t(e,r),r=gi(a,e.mode,u),r.return=e,e=r),i(e)):t(e,r)}return k}var fr=cr(!0),dr=cr(!1),pr={},hr=un(pr),gr=un(pr),mr=un(pr);function vr(e){if(e===pr)throw Error(u(174));return e}function br(e,n){sn(mr,n),sn(gr,e),sn(hr,pr),e=F(n),on(hr),sn(hr,e)}function yr(){on(hr),on(gr),on(mr)}function Sr(e){var n=vr(mr.current),t=vr(hr.current);n=U(t,e.type,n),t!==n&&(sn(gr,e),sn(hr,n))}function kr(e){gr.current===e&&(on(hr),on(gr))}var xr=un(0);function wr(e){for(var n=e;null!==n;){if(13===n.tag){var t=n.memoizedState;if(null!==t&&(t=t.dehydrated,null===t||Me(t)||De(t)))return n}else if(19===n.tag&&void 0!==n.memoizedProps.revealOrder){if(0!==(128&n.flags))return n}else if(null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var zr=[];function Nr(){for(var e=0;et?t:4,e(!0);var r=Pr.transition;Pr.transition={};try{e(!1),n()}finally{Mn=t,Pr.transition=r}}function dl(){return Wr().memoizedState}function pl(e,n,t){var r=Lu(e);t={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null},gl(e)?ml(n,t):(vl(e,n,t),t=_u(),e=Iu(e,r,t),null!==e&&bl(e,n,r))}function hl(e,n,t){var r=Lu(e),l={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null};if(gl(e))ml(n,l);else{vl(e,n,l);var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&(a=n.lastRenderedReducer,null!==a))try{var u=n.lastRenderedState,i=a(u,t);if(l.hasEagerState=!0,l.eagerState=i,Kn(i,u))return}catch(e){}t=_u(),e=Iu(e,r,t),null!==e&&bl(e,n,r)}}function gl(e){var n=e.alternate;return e===_r||null!==n&&n===_r}function ml(e,n){Rr=Tr=!0;var t=e.pending;null===t?n.next=n:(n.next=t.next,t.next=n),e.pending=n}function vl(e,n,t){null!==ru&&0!==(1&e.mode)&&0===(2&tu)?(e=n.interleaved,null===e?(t.next=t,null===bt?bt=[n]:bt.push(n)):(t.next=e.next,e.next=t),n.interleaved=t):(e=n.pending,null===e?t.next=t:(t.next=e.next,e.next=t),n.pending=t)}function bl(e,n,t){if(0!==(4194240&t)){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,Un(e,t)}}var yl={readContext:vt,useCallback:Mr,useContext:Mr,useEffect:Mr,useImperativeHandle:Mr,useInsertionEffect:Mr,useLayoutEffect:Mr,useMemo:Mr,useReducer:Mr,useRef:Mr,useState:Mr,useDebugValue:Mr,useDeferredValue:Mr,useTransition:Mr,useMutableSource:Mr,useSyncExternalStore:Mr,useId:Mr,unstable_isNewReconciler:!1},Sl={readContext:vt,useCallback:function(e,n){return Br().memoizedState=[e,void 0===n?null:n],e},useContext:vt,useEffect:tl,useImperativeHandle:function(e,n,t){return t=null!==t&&void 0!==t?t.concat([e]):null,el(4194308,4,ul.bind(null,n,e),t)},useLayoutEffect:function(e,n){return el(4194308,4,e,n)},useInsertionEffect:function(e,n){return el(4,2,e,n)},useMemo:function(e,n){var t=Br();return n=void 0===n?null:n,e=e(),t.memoizedState=[e,n],e},useReducer:function(e,n,t){var r=Br();return n=void 0!==t?t(n):n,r.memoizedState=r.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=pl.bind(null,_r,e),[r.memoizedState,e]},useRef:function(e){var n=Br();return e={current:e},n.memoizedState=e},useState:Kr,useDebugValue:ol,useDeferredValue:function(e){var n=Kr(e),t=n[0],r=n[1];return tl(function(){var n=Pr.transition;Pr.transition={};try{r(e)}finally{Pr.transition=n}},[e]),t},useTransition:function(){var e=Kr(!1),n=e[0];return e=fl.bind(null,e[1]),Br().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,t){var r=_r,l=Br();if(Jt){if(void 0===t)throw Error(u(407));t=t()}else{if(t=n(),null===ru)throw Error(u(349));0!==(30&Cr)||qr(r,n,t)}l.memoizedState=t;var a={value:t,getSnapshot:n};return l.queue=a,tl(Yr.bind(null,r,a,e),[e]),r.flags|=2048,Xr(9,Gr.bind(null,r,a,t,n),void 0,null),t},useId:function(){var e=Br(),n=ru.identifierPrefix;if(Jt){var t=jt,r=At;t=(r&~(1<<32-kn(r)-1)).toString(32)+t,n=":"+n+"R"+t,t=Fr++,0mu&&(n.flags|=128,r=!0,Ql(l,!1),n.lanes=4194304)}else{if(!r)if(e=wr(a),null!==e){if(n.flags|=128,r=!0,e=e.updateQueue,null!==e&&(n.updateQueue=e,n.flags|=4),Ql(l,!0),null===l.tail&&"hidden"===l.tailMode&&!a.alternate&&!Jt)return Hl(n),null}else 2*An()-l.renderingStartTime>mu&&1073741824!==t&&(n.flags|=128,r=!0,Ql(l,!1),n.lanes=4194304);l.isBackwards?(a.sibling=n.child,n.child=a):(e=l.last,null!==e?e.sibling=a:n.child=a,l.last=a)}return null!==l.tail?(n=l.tail,l.rendering=n,l.tail=n.sibling,l.renderingStartTime=An(),n.sibling=null,e=xr.current,sn(xr,r?1&e|2:1&e),n):(Hl(n),null);case 22:case 23:return Wu(),r=null!==n.memoizedState,null!==e&&null!==e.memoizedState!==r&&(n.flags|=8192),r&&0!==(1&n.mode)?0!==(1073741824&uu)&&(Hl(n),G&&6&n.subtreeFlags&&(n.flags|=8192)):Hl(n),null;case 24:return null;case 25:return null}throw Error(u(156,n.tag))}var Wl=i.ReactCurrentOwner,Al=!1;function jl(e,n,t,r){n.child=null===e?dr(n,null,t,r):fr(n,e.child,t,r)}function Ol(e,n,t,r,l){t=t.render;var a=n.ref;return mt(n,l),r=Qr(e,n,t,r,a,l),t=Hr(),null===e||Al?(Jt&&t&&Vt(n),n.flags|=1,jl(e,n,r,l),n.child):(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~l,ca(e,n,l))}function $l(e,n,t,r,l){if(null===e){var a=t.type;return"function"!==typeof a||si(a)||void 0!==a.defaultProps||null!==t.compare||void 0!==t.defaultProps?(e=di(t.type,null,r,n,n.mode,l),e.ref=n.ref,e.return=n,n.child=e):(n.tag=15,n.type=a,Vl(e,n,a,r,l))}if(a=e.child,0===(e.lanes&l)){var u=a.memoizedProps;if(t=t.compare,t=null!==t?t:at,t(u,r)&&e.ref===n.ref)return ca(e,n,l)}return n.flags|=1,e=fi(a,r),e.ref=n.ref,e.return=n,n.child=e}function Vl(e,n,t,r,l){if(null!==e&&at(e.memoizedProps,r)&&e.ref===n.ref){if(Al=!1,0===(e.lanes&l))return n.lanes=e.lanes,ca(e,n,l);0!==(131072&e.flags)&&(Al=!0)}return Yl(e,n,t,r,l)}function ql(e,n,t){var r=n.pendingProps,l=r.children,a=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(0===(1&n.mode))n.memoizedState={baseLanes:0,cachePool:null},sn(iu,uu),uu|=t;else{if(0===(1073741824&t))return e=null!==a?a.baseLanes|t:t,n.lanes=n.childLanes=1073741824,n.memoizedState={baseLanes:e,cachePool:null},n.updateQueue=null,sn(iu,uu),uu|=e,null;n.memoizedState={baseLanes:0,cachePool:null},r=null!==a?a.baseLanes:t,sn(iu,uu),uu|=r}else null!==a?(r=a.baseLanes|t,n.memoizedState=null):r=t,sn(iu,uu),uu|=r;return jl(e,n,l,t),n.child}function Gl(e,n){var t=n.ref;(null===e&&null!==t||null!==e&&e.ref!==t)&&(n.flags|=512,n.flags|=2097152)}function Yl(e,n,t,r,l){var a=gn(t)?pn:fn.current;return a=hn(n,a),mt(n,l),t=Qr(e,n,t,r,a,l),r=Hr(),null===e||Al?(Jt&&r&&Vt(n),n.flags|=1,jl(e,n,t,l),n.child):(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~l,ca(e,n,l))}function Jl(e,n,t,r,l){if(gn(t)){var a=!0;yn(n)}else a=!1;if(mt(n,l),null===n.stateNode)null!==e&&(e.alternate=null,n.alternate=null,n.flags|=2),Tt(n,t,r),Ft(n,t,r,l),r=!0;else if(null===e){var u=n.stateNode,i=n.memoizedProps;u.props=i;var o=u.context,s=t.contextType;"object"===typeof s&&null!==s?s=vt(s):(s=gn(t)?pn:fn.current,s=hn(n,s));var c=t.getDerivedStateFromProps,f="function"===typeof c||"function"===typeof u.getSnapshotBeforeUpdate;f||"function"!==typeof u.UNSAFE_componentWillReceiveProps&&"function"!==typeof u.componentWillReceiveProps||(i!==r||o!==s)&&Rt(n,u,r,s),yt=!1;var d=n.memoizedState;u.state=d,Et(n,r,u,l),o=n.memoizedState,i!==r||d!==o||dn.current||yt?("function"===typeof c&&(_t(n,t,c,r),o=n.memoizedState),(i=yt||It(n,t,i,r,d,o,s))?(f||"function"!==typeof u.UNSAFE_componentWillMount&&"function"!==typeof u.componentWillMount||("function"===typeof u.componentWillMount&&u.componentWillMount(),"function"===typeof u.UNSAFE_componentWillMount&&u.UNSAFE_componentWillMount()),"function"===typeof u.componentDidMount&&(n.flags|=4194308)):("function"===typeof u.componentDidMount&&(n.flags|=4194308),n.memoizedProps=r,n.memoizedState=o),u.props=r,u.state=o,u.context=s,r=i):("function"===typeof u.componentDidMount&&(n.flags|=4194308),r=!1)}else{u=n.stateNode,kt(e,n),i=n.memoizedProps,s=n.type===n.elementType?i:it(n.type,i),u.props=s,f=n.pendingProps,d=u.context,o=t.contextType,"object"===typeof o&&null!==o?o=vt(o):(o=gn(t)?pn:fn.current,o=hn(n,o));var p=t.getDerivedStateFromProps;(c="function"===typeof p||"function"===typeof u.getSnapshotBeforeUpdate)||"function"!==typeof u.UNSAFE_componentWillReceiveProps&&"function"!==typeof u.componentWillReceiveProps||(i!==f||d!==o)&&Rt(n,u,r,o),yt=!1,d=n.memoizedState,u.state=d,Et(n,r,u,l);var h=n.memoizedState;i!==f||d!==h||dn.current||yt?("function"===typeof p&&(_t(n,t,p,r),h=n.memoizedState),(s=yt||It(n,t,s,r,d,h,o)||!1)?(c||"function"!==typeof u.UNSAFE_componentWillUpdate&&"function"!==typeof u.componentWillUpdate||("function"===typeof u.componentWillUpdate&&u.componentWillUpdate(r,h,o),"function"===typeof u.UNSAFE_componentWillUpdate&&u.UNSAFE_componentWillUpdate(r,h,o)),"function"===typeof u.componentDidUpdate&&(n.flags|=4),"function"===typeof u.getSnapshotBeforeUpdate&&(n.flags|=1024)):("function"!==typeof u.componentDidUpdate||i===e.memoizedProps&&d===e.memoizedState||(n.flags|=4),"function"!==typeof u.getSnapshotBeforeUpdate||i===e.memoizedProps&&d===e.memoizedState||(n.flags|=1024),n.memoizedProps=r,n.memoizedState=h),u.props=r,u.state=h,u.context=o,r=s):("function"!==typeof u.componentDidUpdate||i===e.memoizedProps&&d===e.memoizedState||(n.flags|=4),"function"!==typeof u.getSnapshotBeforeUpdate||i===e.memoizedProps&&d===e.memoizedState||(n.flags|=1024),r=!1)}return Kl(e,n,t,r,a,l)}function Kl(e,n,t,r,l,a){Gl(e,n);var u=0!==(128&n.flags);if(!r&&!u)return l&&Sn(n,t,!1),ca(e,n,a);r=n.stateNode,Wl.current=n;var i=u&&"function"!==typeof t.getDerivedStateFromError?null:r.render();return n.flags|=1,null!==e&&u?(n.child=fr(n,e.child,null,a),n.child=fr(n,null,i,a)):jl(e,n,i,a),n.memoizedState=r.state,l&&Sn(n,t,!0),n.child}function Xl(e){var n=e.stateNode;n.pendingContext?vn(e,n.pendingContext,n.pendingContext!==n.context):n.context&&vn(e,n.context,!1),br(e,n.containerInfo)}function Zl(e,n,t,r,l){return ar(),ur(l),n.flags|=256,jl(e,n,t,r),n.child}var ea={dehydrated:null,treeContext:null,retryLane:0};function na(e){return{baseLanes:e,cachePool:null}}function ta(e,n,t){var r,l=n.pendingProps,a=xr.current,i=!1,o=0!==(128&n.flags);if((r=o)||(r=(null===e||null!==e.memoizedState)&&0!==(2&a)),r?(i=!0,n.flags&=-129):null!==e&&null===e.memoizedState||(a|=1),sn(xr,1&a),null===e)return tr(n),e=n.memoizedState,null!==e&&(e=e.dehydrated,null!==e)?(0===(1&n.mode)?n.lanes=1:De(e)?n.lanes=8:n.lanes=1073741824,null):(a=l.children,e=l.fallback,i?(l=n.mode,i=n.child,a={mode:"hidden",children:a},0===(1&l)&&null!==i?(i.childLanes=0,i.pendingProps=a):i=hi(a,l,0,null),e=pi(e,l,t,null),i.return=n,e.return=n,i.sibling=e,n.child=i,n.child.memoizedState=na(t),n.memoizedState=ea,e):ra(n,a));if(a=e.memoizedState,null!==a){if(r=a.dehydrated,null!==r){if(o)return 256&n.flags?(n.flags&=-257,ua(e,n,t,Error(u(422)))):null!==n.memoizedState?(n.child=e.child,n.flags|=128,null):(i=l.fallback,a=n.mode,l=hi({mode:"visible",children:l.children},a,0,null),i=pi(i,a,t,null),i.flags|=2,l.return=n,i.return=n,l.sibling=i,n.child=l,0!==(1&n.mode)&&fr(n,e.child,null,t),n.child.memoizedState=na(t),n.memoizedState=ea,i);if(0===(1&n.mode))n=ua(e,n,t,null);else if(De(r))n=ua(e,n,t,Error(u(419)));else if(l=0!==(t&e.childLanes),Al||l){if(l=ru,null!==l){switch(t&-t){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}l=0!==(i&(l.suspendedLanes|t))?0:i,0!==l&&l!==a.retryLane&&(a.retryLane=l,Iu(e,l,-1))}$u(),n=ua(e,n,t,Error(u(421)))}else Me(r)?(n.flags|=128,n.child=e.child,n=li.bind(null,e),Qe(r,n),n=null):(t=a.treeContext,J&&(Yt=Ae(r),Gt=n,Jt=!0,Xt=null,Kt=!1,null!==t&&(Ht[Bt++]=At,Ht[Bt++]=jt,Ht[Bt++]=Wt,At=t.id,jt=t.overflow,Wt=n)),n=ra(n,n.pendingProps.children),n.flags|=4096);return n}return i?(l=aa(e,n,l.children,l.fallback,t),i=n.child,a=e.child.memoizedState,i.memoizedState=null===a?na(t):{baseLanes:a.baseLanes|t,cachePool:null},i.childLanes=e.childLanes&~t,n.memoizedState=ea,l):(t=la(e,n,l.children,t),n.memoizedState=null,t)}return i?(l=aa(e,n,l.children,l.fallback,t),i=n.child,a=e.child.memoizedState,i.memoizedState=null===a?na(t):{baseLanes:a.baseLanes|t,cachePool:null},i.childLanes=e.childLanes&~t,n.memoizedState=ea,l):(t=la(e,n,l.children,t),n.memoizedState=null,t)}function ra(e,n){return n=hi({mode:"visible",children:n},e.mode,0,null),n.return=e,e.child=n}function la(e,n,t,r){var l=e.child;return e=l.sibling,t=fi(l,{mode:"visible",children:t}),0===(1&n.mode)&&(t.lanes=r),t.return=n,t.sibling=null,null!==e&&(r=n.deletions,null===r?(n.deletions=[e],n.flags|=16):r.push(e)),n.child=t}function aa(e,n,t,r,l){var a=n.mode;e=e.child;var u=e.sibling,i={mode:"hidden",children:t};return 0===(1&a)&&n.child!==e?(t=n.child,t.childLanes=0,t.pendingProps=i,n.deletions=null):(t=fi(e,i),t.subtreeFlags=14680064&e.subtreeFlags),null!==u?r=fi(u,r):(r=pi(r,a,l,null),r.flags|=2),r.return=n,t.return=n,t.sibling=r,n.child=t,r}function ua(e,n,t,r){return null!==r&&ur(r),fr(n,e.child,null,t),e=ra(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function ia(e,n,t){e.lanes|=n;var r=e.alternate;null!==r&&(r.lanes|=n),gt(e.return,n,t)}function oa(e,n,t,r,l){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:r,tail:t,tailMode:l}:(a.isBackwards=n,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=t,a.tailMode=l)}function sa(e,n,t){var r=n.pendingProps,l=r.revealOrder,a=r.tail;if(jl(e,n,r.children,t),r=xr.current,0!==(2&r))r=1&r|2,n.flags|=128;else{if(null!==e&&0!==(128&e.flags))e:for(e=n.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&ia(e,t,n);else if(19===e.tag)ia(e,t,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===n)break e;for(;null===e.sibling;){if(null===e.return||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(sn(xr,r),0===(1&n.mode))n.memoizedState=null;else switch(l){case"forwards":for(t=n.child,l=null;null!==t;)e=t.alternate,null!==e&&null===wr(e)&&(l=t),t=t.sibling;t=l,null===t?(l=n.child,n.child=null):(l=t.sibling,t.sibling=null),oa(n,!1,l,t,a);break;case"backwards":for(t=null,l=n.child,n.child=null;null!==l;){if(e=l.alternate,null!==e&&null===wr(e)){n.child=l;break}e=l.sibling,l.sibling=t,t=l,l=e}oa(n,!0,t,null,a);break;case"together":oa(n,!1,null,null,void 0);break;default:n.memoizedState=null}return n.child}function ca(e,n,t){if(null!==e&&(n.dependencies=e.dependencies),cu|=n.lanes,0===(t&n.childLanes))return null;if(null!==e&&n.child!==e.child)throw Error(u(153));if(null!==n.child){for(e=n.child,t=fi(e,e.pendingProps),n.child=t,t.return=n;null!==e.sibling;)e=e.sibling,t=t.sibling=fi(e,e.pendingProps),t.return=n;t.sibling=null}return n.child}function fa(e,n,t){switch(n.tag){case 3:Xl(n),ar();break;case 5:Sr(n);break;case 1:gn(n.type)&&yn(n);break;case 4:br(n,n.stateNode.containerInfo);break;case 10:pt(n,n.type._context,n.memoizedProps.value);break;case 13:var r=n.memoizedState;if(null!==r)return null!==r.dehydrated?(sn(xr,1&xr.current),n.flags|=128,null):0!==(t&n.child.childLanes)?ta(e,n,t):(sn(xr,1&xr.current),e=ca(e,n,t),null!==e?e.sibling:null);sn(xr,1&xr.current);break;case 19:if(r=0!==(t&n.childLanes),0!==(128&e.flags)){if(r)return sa(e,n,t);n.flags|=128}var l=n.memoizedState;if(null!==l&&(l.rendering=null,l.tail=null,l.lastEffect=null),sn(xr,xr.current),r)break;return null;case 22:case 23:return n.lanes=0,ql(e,n,t)}return ca(e,n,t)}function da(e,n){switch(qt(n),n.tag){case 1:return gn(n.type)&&mn(),e=n.flags,65536&e?(n.flags=-65537&e|128,n):null;case 3:return yr(),on(dn),on(fn),Nr(),e=n.flags,0!==(65536&e)&&0===(128&e)?(n.flags=-65537&e|128,n):null;case 5:return kr(n),null;case 13:if(on(xr),e=n.memoizedState,null!==e&&null!==e.dehydrated){if(null===n.alternate)throw Error(u(340));ar()}return e=n.flags,65536&e?(n.flags=-65537&e|128,n):null;case 19:return on(xr),null;case 4:return yr(),null;case 10:return ht(n.type._context),null;case 22:case 23:return Wu(),null;case 24:return null;default:return null}}var pa=!1,ha=!1,ga="function"===typeof WeakSet?WeakSet:Set,ma=null;function va(e,n){var t=e.ref;if(null!==t)if("function"===typeof t)try{t(null)}catch(t){ni(e,n,t)}else t.current=null}function ba(e,n,t){try{t()}catch(t){ni(e,n,t)}}var ya=!1;function Sa(e,n){for(M(e.containerInfo),ma=n;null!==ma;)if(e=ma,n=e.child,0!==(1028&e.subtreeFlags)&&null!==n)n.return=e,ma=n;else for(;null!==ma;){e=ma;try{var t=e.alternate;if(0!==(1024&e.flags))switch(e.tag){case 0:case 11:case 15:break;case 1:if(null!==t){var r=t.memoizedProps,l=t.memoizedState,a=e.stateNode,i=a.getSnapshotBeforeUpdate(e.elementType===e.type?r:it(e.type,r),l);a.__reactInternalSnapshotBeforeUpdate=i}break;case 3:G&&Ne(e.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(u(163))}}catch(n){ni(e,e.return,n)}if(n=e.sibling,null!==n){n.return=e.return,ma=n;break}ma=e.return}return t=ya,ya=!1,t}function ka(e,n,t){var r=n.updateQueue;if(r=null!==r?r.lastEffect:null,null!==r){var l=r=r.next;do{if((l.tag&e)===e){var a=l.destroy;l.destroy=void 0,void 0!==a&&ba(n,t,a)}l=l.next}while(l!==r)}}function xa(e,n){if(n=n.updateQueue,n=null!==n?n.lastEffect:null,null!==n){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function wa(e){var n=e.ref;if(null!==n){var t=e.stateNode;switch(e.tag){case 5:e=R(t);break;default:e=t}"function"===typeof n?n(e):n.current=e}}function za(e,n,t){if(Gn&&"function"===typeof Gn.onCommitFiberUnmount)try{Gn.onCommitFiberUnmount(qn,n)}catch(e){}switch(n.tag){case 0:case 11:case 14:case 15:if(e=n.updateQueue,null!==e&&(e=e.lastEffect,null!==e)){var r=e=e.next;do{var l=r,a=l.destroy;l=l.tag,void 0!==a&&(0!==(2&l)||0!==(4&l))&&ba(n,t,a),r=r.next}while(r!==e)}break;case 1:if(va(n,t),e=n.stateNode,"function"===typeof e.componentWillUnmount)try{e.props=n.memoizedProps,e.state=n.memoizedState,e.componentWillUnmount()}catch(e){ni(n,t,e)}break;case 5:va(n,t);break;case 4:G?Ta(e,n,t):Y&&Y&&(n=n.stateNode.containerInfo,t=Pe(n),Le(n,t))}}function Na(e,n,t){for(var r=n;;)if(za(e,r,t),null===r.child||G&&4===r.tag){if(r===n)break;for(;null===r.sibling;){if(null===r.return||r.return===n)return;r=r.return}r.sibling.return=r.return,r=r.sibling}else r.child.return=r,r=r.child}function Ea(e){var n=e.alternate;null!==n&&(e.alternate=null,Ea(n)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(n=e.stateNode,null!==n&&ee(n)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Pa(e){return 5===e.tag||3===e.tag||4===e.tag}function Ca(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||Pa(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function _a(e){if(G){e:{for(var n=e.return;null!==n;){if(Pa(n))break e;n=n.return}throw Error(u(160))}var t=n;switch(t.tag){case 5:n=t.stateNode,32&t.flags&&(Se(n),t.flags&=-33),t=Ca(e),Ia(e,t,n);break;case 3:case 4:n=t.stateNode.containerInfo,t=Ca(e),La(e,t,n);break;default:throw Error(u(161))}}}function La(e,n,t){var r=e.tag;if(5===r||6===r)e=e.stateNode,n?ve(t,e,n):de(t,e);else if(4!==r&&(e=e.child,null!==e))for(La(e,n,t),e=e.sibling;null!==e;)La(e,n,t),e=e.sibling}function Ia(e,n,t){var r=e.tag;if(5===r||6===r)e=e.stateNode,n?me(t,e,n):fe(t,e);else if(4!==r&&(e=e.child,null!==e))for(Ia(e,n,t),e=e.sibling;null!==e;)Ia(e,n,t),e=e.sibling}function Ta(e,n,t){for(var r,l,a=n,i=!1;;){if(!i){i=a.return;e:for(;;){if(null===i)throw Error(u(160));switch(r=i.stateNode,i.tag){case 5:l=!1;break e;case 3:r=r.containerInfo,l=!0;break e;case 4:r=r.containerInfo,l=!0;break e}i=i.return}i=!0}if(5===a.tag||6===a.tag)Na(e,a,t),l?ye(r,a.stateNode):be(r,a.stateNode);else if(18===a.tag)l?Je(r,a.stateNode):Ye(r,a.stateNode);else if(4===a.tag){if(null!==a.child){r=a.stateNode.containerInfo,l=!0,a.child.return=a,a=a.child;continue}}else if(za(e,a,t),null!==a.child){a.child.return=a,a=a.child;continue}if(a===n)break;for(;null===a.sibling;){if(null===a.return||a.return===n)return;a=a.return,4===a.tag&&(i=!1)}a.sibling.return=a.return,a=a.sibling}}function Ra(e,n){if(G){switch(n.tag){case 0:case 11:case 14:case 15:return ka(3,n,n.return),xa(3,n),void ka(5,n,n.return);case 1:return;case 5:var t=n.stateNode;if(null!=t){var r=n.memoizedProps;e=null!==e?e.memoizedProps:r;var l=n.type,a=n.updateQueue;n.updateQueue=null,null!==a&&ge(t,a,l,e,r,n)}return;case 6:if(null===n.stateNode)throw Error(u(162));return t=n.memoizedProps,void pe(n.stateNode,null!==e?e.memoizedProps:t,t);case 3:return void(J&&null!==e&&e.memoizedState.isDehydrated&&qe(n.stateNode.containerInfo));case 12:return;case 13:return void Fa(n);case 19:return void Fa(n);case 17:return}throw Error(u(163))}switch(n.tag){case 0:case 11:case 14:case 15:return ka(3,n,n.return),xa(3,n),void ka(5,n,n.return);case 12:return;case 13:return void Fa(n);case 19:return void Fa(n);case 3:J&&null!==e&&e.memoizedState.isDehydrated&&qe(n.stateNode.containerInfo);break;case 22:case 23:return}e:if(Y){switch(n.tag){case 1:case 5:case 6:break e;case 3:case 4:n=n.stateNode,Le(n.containerInfo,n.pendingChildren);break e}throw Error(u(163))}}function Fa(e){var n=e.updateQueue;if(null!==n){e.updateQueue=null;var t=e.stateNode;null===t&&(t=e.stateNode=new ga),n.forEach(function(n){var r=ai.bind(null,e,n);t.has(n)||(t.add(n),n.then(r,r))})}}function Ua(e,n){for(ma=n;null!==ma;){n=ma;var t=n.deletions;if(null!==t)for(var r=0;r";case Aa:return":has("+(Ya(e)||"")+")";case ja:return'[role="'+e.value+'"]';case $a:return'"'+e.value+'"';case Oa:return'[data-testname="'+e.value+'"]';default:throw Error(u(365))}}function Ja(e,n){var t=[];e=[e,0];for(var r=0;rl&&(l=i),r&=~a}if(r=l,r=An()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Xa(r/1960))-r,10e?16:e,null===wu)var r=!1;else{if(e=wu,wu=null,zu=0,0!==(6&tu))throw Error(u(331));var l=tu;for(tu|=4,ma=e.current;null!==ma;){var a=ma,i=a.child;if(0!==(16&ma.flags)){var o=a.deletions;if(null!==o){for(var s=0;sAn()-gu?Au(e,0):du|=t),Ru(e,n)}function ri(e,n){0===n&&(0===(1&e.mode)?n=1:(n=En,En<<=1,0===(130023424&En)&&(En=4194304)));var t=_u();e=Tu(e,n),null!==e&&(Rn(e,n,t),Ru(e,t))}function li(e){var n=e.memoizedState,t=0;null!==n&&(t=n.retryLane),ri(e,t)}function ai(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;null!==l&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(u(314))}null!==r&&r.delete(n),ri(e,t)}function ui(e,n){return Qn(e,n)}function ii(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function oi(e,n,t,r){return new ii(e,n,t,r)}function si(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ci(e){if("function"===typeof e)return si(e)?1:0;if(void 0!==e&&null!==e){if(e=e.$$typeof,e===g)return 11;if(e===b)return 14}return 2}function fi(e,n){var t=e.alternate;return null===t?(t=oi(e.tag,n,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=14680064&e.flags,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=null===n?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function di(e,n,t,r,l,a){var i=2;if(r=e,"function"===typeof e)si(e)&&(i=1);else if("string"===typeof e)i=5;else e:switch(e){case c:return pi(t.children,l,a,n);case f:i=8,l|=8;break;case d:return e=oi(12,t,n,2|l),e.elementType=d,e.lanes=a,e;case m:return e=oi(13,t,n,l),e.elementType=m,e.lanes=a,e;case v:return e=oi(19,t,n,l),e.elementType=v,e.lanes=a,e;case S:return hi(t,l,a,n);default:if("object"===typeof e&&null!==e)switch(e.$$typeof){case p:i=10;break e;case h:i=9;break e;case g:i=11;break e;case b:i=14;break e;case y:i=16,r=null;break e}throw Error(u(130,null==e?e:typeof e,""))}return n=oi(i,t,n,l),n.elementType=e,n.type=r,n.lanes=a,n}function pi(e,n,t,r){return e=oi(7,e,r,n),e.lanes=t,e}function hi(e,n,t,r){return e=oi(22,e,r,n),e.elementType=S,e.lanes=t,e.stateNode={},e}function gi(e,n,t){return e=oi(6,e,null,n),e.lanes=t,e}function mi(e,n,t){return n=oi(4,null!==e.children?e.children:[],e.key,n),n.lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function vi(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=V,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Tn(0),this.expirationTimes=Tn(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Tn(0),this.identifierPrefix=r,this.onRecoverableError=l,J&&(this.mutableSourceEagerHydrationData=null)}function bi(e,n,t,r,l,a,u,i,o){return e=new vi(e,n,t,i,o),1===n?(n=1,!0===a&&(n|=8)):n=0,a=oi(3,null,null,n),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null},St(a),e}function yi(e){if(!e)return cn;e=e._reactInternals;e:{if(N(e)!==e||1!==e.tag)throw Error(u(170));var n=e;do{switch(n.tag){case 3:n=n.stateNode.context;break e;case 1:if(gn(n.type)){n=n.stateNode.__reactInternalMemoizedMergedChildContext;break e}}n=n.return}while(null!==n);throw Error(u(171))}if(1===e.tag){var t=e.type;if(gn(t))return bn(e,t,n)}return n}function Si(e){var n=e._reactInternals;if(void 0===n){if("function"===typeof e.render)throw Error(u(188));throw e=Object.keys(e).join(","),Error(u(268,e))}return e=C(n),null===e?null:e.stateNode}function ki(e,n){if(e=e.memoizedState,null!==e&&null!==e.dehydrated){var t=e.retryLane;e.retryLane=0!==t&&t=c&&a>=d&&l<=f&&i<=p){e.splice(n,1);break}if(!(r!==c||t.width!==s.width||pi)){d>a&&(s.height+=d-a,s.y=a),pl)){c>r&&(s.width+=c-r,s.x=r),ft&&(t=i)),i ")+"\n\nNo matching component was found for:\n "+e.join(" > ")}return null},n.getPublicRootInstance=function(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return R(e.child.stateNode);default:return e.child.stateNode}},n.injectIntoDevTools=function(e){if(e={bundleType:e.bundleType,version:e.version,rendererPackageName:e.rendererPackageName,rendererConfig:e.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:i.ReactCurrentDispatcher,findHostInstanceByFiber:wi,findFiberByHostInstance:e.findFiberByHostInstance||zi,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},"undefined"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)e=!1;else{var n=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(n.isDisabled||!n.supportsFiber)e=!0;else{try{qn=n.inject(e),Gn=n}catch(e){}e=!!n.checkDCE}}return e},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(e,n,t,r){if(!re)throw Error(u(363));e=Ka(e,n);var l=ce(e,t,r).disconnect;return{disconnect:function(){l()}}},n.registerMutableSourceForHydration=function(e,n){var t=n._getVersion;t=t(n._source),null==e.mutableSourceEagerHydrationData?e.mutableSourceEagerHydrationData=[n,t]:e.mutableSourceEagerHydrationData.push(n,t)},n.runWithPriority=function(e,n){var t=Mn;try{return Mn=e,n()}finally{Mn=t}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(e,n,t,r){var l=n.current,a=_u(),u=Lu(l);return t=yi(t),null===n.context?n.context=t:n.pendingContext=t,n=xt(a,u),n.payload={element:e},r=void 0===r?null:r,null!==r&&(n.callback=r),wt(l,n),e=Iu(l,u,a),null!==e&&zt(e,l,u),u},n}},772:function(e,n,t){"use strict";e.exports=t(735)},4845:function(e,n,t){"use strict";e.exports=t(2935)},8271:function(e,n,t){"use strict";var r=t(7842)["navigator"];function l(e,n){var t=e.length;e.push(n);e:for(;0>>1,l=e[r];if(!(0>>1;ri(o,t))si(c,o)?(e[r]=c,e[s]=t,r=s):(e[r]=o,e[u]=t,r=u);else{if(!(si(c,t)))break e;e[r]=c,e[s]=t,r=s}}}return n}function i(e,n){var t=e.sortIndex-n.sortIndex;return 0!==t?t:e.id-n.id}if("object"===typeof performance&&"function"===typeof performance.now){var o=performance;n.unstable_now=function(){return o.now()}}else{var s=Date,c=s.now();n.unstable_now=function(){return s.now()-c}}var f=[],d=[],p=1,h=null,g=3,m=!1,v=!1,b=!1,y="function"===typeof setTimeout?setTimeout:null,S="function"===typeof clearTimeout?clearTimeout:null,k="undefined"!==typeof setImmediate?setImmediate:null;function x(e){for(var n=a(d);null!==n;){if(null===n.callback)u(d);else{if(!(n.startTime<=e))break;u(d),n.sortIndex=n.expirationTime,l(f,n)}n=a(d)}}function w(e){if(b=!1,x(e),!v)if(null!==a(f))v=!0,U(z);else{var n=a(d);null!==n&&M(w,n.startTime-e)}}function z(e,t){v=!1,b&&(b=!1,S(C),C=-1),m=!0;var r=g;try{for(x(t),h=a(f);null!==h&&(!(h.expirationTime>t)||e&&!I());){var l=h.callback;if("function"===typeof l){h.callback=null,g=h.priorityLevel;var i=l(h.expirationTime<=t);t=n.unstable_now(),"function"===typeof i?h.callback=i:h===a(f)&&u(f),x(t)}else u(f);h=a(f)}if(null!==h)var o=!0;else{var s=a(d);null!==s&&M(w,s.startTime-t),o=!1}return o}finally{h=null,g=r,m=!1}}"undefined"!==typeof r&&void 0!==r.scheduling&&void 0!==r.scheduling.isInputPending&&r.scheduling.isInputPending.bind(r.scheduling);var N,E=!1,P=null,C=-1,_=5,L=-1;function I(){return!(n.unstable_now()-L<_)}function T(){if(null!==P){var e=n.unstable_now();L=e;var t=!0;try{t=P(!0,e)}finally{t?N():(E=!1,P=null)}}else E=!1}if("function"===typeof k)N=function(){k(T)};else if("undefined"!==typeof MessageChannel){var R=new MessageChannel,F=R.port2;R.port1.onmessage=T,N=function(){F.postMessage(null)}}else N=function(){y(T,0)};function U(e){P=e,E||(E=!0,N())}function M(e,t){C=y(function(){e(n.unstable_now())},t)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(e){e.callback=null},n.unstable_continueExecution=function(){v||m||(v=!0,U(z))},n.unstable_forceFrameRate=function(e){0>e||125u?(e.sortIndex=r,l(d,e),null===a(f)&&e===a(d)&&(b?(S(C),C=-1):b=!0,M(w,r-u))):(e.sortIndex=i,l(f,e),v||m||(v=!0,U(z))),e},n.unstable_shouldYield=I,n.unstable_wrapCallback=function(e){var n=g;return function(){var t=g;g=n;try{return e.apply(this,arguments)}finally{g=t}}}},8585:function(e,n,t){"use strict";e.exports=t(8271)}},function(e){var n=function(n){return e(e.s=n)};e.O(0,[907,96,76],function(){return n(4247)});e.O()}]); \ No newline at end of file diff --git a/src/app.scss b/src/app.scss index 3b29bda..27f2675 100644 --- a/src/app.scss +++ b/src/app.scss @@ -10,12 +10,19 @@ min-height: 100vh; background-color: var(--bg-page, #ffffff); box-sizing: border-box; + animation: page-fade-in 0.24s ease both; } .theme-dark { min-height: 100vh; background-color: var(--bg-page, #191919); box-sizing: border-box; + animation: page-fade-in 0.24s ease both; +} + +@keyframes page-fade-in { + from { opacity: 0; } + to { opacity: 1; } } /* 变量定义 */ diff --git a/src/app.tsx b/src/app.tsx index 401bdaf..37e5004 100644 --- a/src/app.tsx +++ b/src/app.tsx @@ -7,6 +7,11 @@ import { refreshSession, ensureSessionFresh } from './utils/session' import './app.scss' class App extends Component { + componentWillMount() { + // 首帧前先把原生窗口背景切成当前主题,避免深色/浅色下先闪系统默认色 + applyPageBackground(resolveTheme(getTheme())) + } + componentDidMount() { // 启动最早时机同步页面背景,避免自定义导航区在深色模式下闪白 applyPageBackground(resolveTheme(getTheme())) diff --git a/tools/liquid-glass.test.mjs b/tools/liquid-glass.test.mjs index 634a1ca..5776f67 100644 --- a/tools/liquid-glass.test.mjs +++ b/tools/liquid-glass.test.mjs @@ -35,3 +35,11 @@ test('scroll top back button matches the global liquid-glass back style', () => assert.match(css, /background: linear-gradient\(\s*135deg/) assert.match(css, /backdrop-filter: blur\(24px\) saturate\(1\.7\) brightness\(1\.05\)/) }) + +test('app sets page background before first render and fades pages in', () => { + const appSource = read('src/app.tsx') + const appCss = read('src/app.scss') + assert.match(appSource, /componentWillMount/) + assert.match(appCss, /@keyframes page-fade-in/) + assert.match(appCss, /animation: page-fade-in/) +}) From fd58135fdbe2f71bfc263ec2c4c52c5e52f9aee1 Mon Sep 17 00:00:00 2001 From: obroccolio Date: Tue, 18 Aug 2026 23:32:44 +0800 Subject: [PATCH 7/8] =?UTF-8?q?fix(ui):=20=E7=A7=BB=E9=99=A4=E5=BF=AB?= =?UTF-8?q?=E9=80=9F=E5=88=87=E6=8D=A2=E6=97=B6=E9=97=AA=E7=83=81=E7=9A=84?= =?UTF-8?q?=E6=95=B4=E9=A1=B5=E6=B7=A1=E5=85=A5=E5=8A=A8=E7=94=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 保留首帧前切好主题背景 - 去掉页面根容器从透明度 0 重新淡入的动画,避免快速点 tab 时闪系统底色 --- dist/app-origin.wxss | 2 +- src/app.scss | 7 ------- tools/liquid-glass.test.mjs | 5 ++--- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/dist/app-origin.wxss b/dist/app-origin.wxss index ca20029..b221b1b 100644 --- a/dist/app-origin.wxss +++ b/dist/app-origin.wxss @@ -1 +1 @@ -.theme-light{-webkit-animation:page-fade-in .24s ease both;animation:page-fade-in .24s ease both;background-color:var(--bg-page,#fff);-webkit-box-sizing:border-box;box-sizing:border-box;min-height:100vh}.theme-dark{-webkit-animation:page-fade-in .24s ease both;animation:page-fade-in .24s ease both;background-color:var(--bg-page,#191919);-webkit-box-sizing:border-box;box-sizing:border-box;min-height:100vh}@-webkit-keyframes page-fade-in{from{opacity:0}to{opacity:1}}@keyframes page-fade-in{from{opacity:0}to{opacity:1}}.theme-light{--bg-page:#faf7f2;--bg-card:#fff;--bg-muted:#f3eee7;--bg-input:#f5f1eb;--text-primary:#2e2622;--text-secondary:#8a7e76;--text-muted:#b3a89e;--accent-primary:#d96c6a;--accent-primary-strong:#c75b59;--accent-primary-soft:#f6e0dc;--accent-secondary:#6c7bdb;--accent-secondary-soft:rgba(108,123,219,.12);--success:#4fa477;--success-soft:rgba(79,164,119,.14);--warning:#d99a4e;--warning-soft:rgba(217,154,78,.14);--danger:#d85d5d;--danger-soft:rgba(216,93,93,.14);--border:#ede5dc;--border-strong:#e0d5c8;--glass:hsla(0,0%,100%,.72);--glass-line:hsla(0,0%,100%,.55);--shadow-card:0 8rpx 24rpx rgba(46,38,34,.08);--shadow-elevated:0 12rpx 40rpx rgba(46,38,34,.12)}.theme-dark{--bg-page:#191919;--bg-card:#23201d;--bg-muted:#2b2622;--bg-input:#2b2622;--text-primary:#f5efe8;--text-secondary:#b3a79c;--text-muted:#82766c;--accent-primary:#f09198;--accent-primary-strong:#ffa7ad;--accent-primary-soft:rgba(240,145,152,.14);--accent-secondary:#8e97e8;--accent-secondary-soft:rgba(142,151,232,.14);--success:#67c58e;--success-soft:rgba(103,197,142,.16);--warning:#e0ad68;--warning-soft:hsla(35,66%,64%,.16);--danger:#ef7a7a;--danger-soft:hsla(0,79%,71%,.16);--border:#37312c;--border-strong:#463e37;--glass:rgba(25,25,25,.72);--glass-line:hsla(0,0%,100%,.14);--shadow-card:0 8rpx 24rpx rgba(0,0,0,.32);--shadow-elevated:0 12rpx 40rpx rgba(0,0,0,.48)}page{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,Segoe UI,sans-serif}.surface-card{background:var(--bg-card);border:1rpx solid var(--border);border-radius:24rpx;-webkit-box-shadow:var(--shadow-card);box-shadow:var(--shadow-card)}.container{padding:48rpx}.flex{display:-webkit-flex;display:-ms-flexbox;display:flex}.flex-center{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;justify-content:center}.flex-between{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-between;justify-content:space-between}.flex-column{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.text-center{text-align:center}.mt-10{margin-top:20rpx}.mt-20{margin-top:40rpx}.mb-10{margin-bottom:20rpx}.mb-20{margin-bottom:40rpx}.btn-primary{background:var(--accent-primary);border-radius:999rpx;color:#fff}.btn-secondary{background:var(--bg-card);border:1rpx solid var(--border-strong);border-radius:999rpx;color:var(--text-primary)}.btn-ghost{background:transparent;color:var(--accent-primary)}.btn-danger{background:var(--danger);border-radius:999rpx;color:#fff}.page-title{color:var(--text-primary);display:block;font-size:80rpx;font-weight:800}.section-title{color:var(--text-primary);display:block;font-size:72rpx;font-weight:700;margin-bottom:48rpx}.badge{border-radius:100rpx;display:inline-block;font-size:44rpx;font-weight:500;padding:16rpx 40rpx}.badge-pink{background:var(--accent-primary-soft);color:var(--accent-primary)}.badge-blue{background:var(--accent-secondary-soft);color:var(--accent-secondary)}.badge-green{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-gray{background:var(--bg-muted);color:var(--text-secondary)}.safe-bottom{height:constant(safe-area-inset-bottom);height:env(safe-area-inset-bottom)}.safe-bottom-placeholder{height:400rpx}.page-header{padding-top:calc(env(safe-area-inset-top, 20rpx) + 96rpx)}.back-btn,.edit-back,.shop-back-btn{-ms-flex-align:center!important;-ms-flex-pack:center!important;-webkit-align-items:center!important;align-items:center!important;backdrop-filter:blur(24rpx) saturate(1.7) brightness(1.05)!important;-webkit-backdrop-filter:blur(24rpx) saturate(1.7) brightness(1.05)!important;background:-webkit-linear-gradient(315deg,hsla(0,0%,100%,.55),hsla(0,0%,100%,.28) 45%,hsla(0,0%,100%,.42))!important;background:linear-gradient(135deg,hsla(0,0%,100%,.55),hsla(0,0%,100%,.28) 45%,hsla(0,0%,100%,.42))!important;border:1rpx solid hsla(0,0%,100%,.35)!important;border-radius:50%!important;-webkit-box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.65),inset 0 -2rpx 4rpx rgba(0,0,0,.06),inset 0 0 0 1rpx hsla(0,0%,100%,.18),0 12rpx 40rpx rgba(0,0,0,.18),0 4rpx 12rpx rgba(0,0,0,.08)!important;box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.65),inset 0 -2rpx 4rpx rgba(0,0,0,.06),inset 0 0 0 1rpx hsla(0,0%,100%,.18),0 12rpx 40rpx rgba(0,0,0,.18),0 4rpx 12rpx rgba(0,0,0,.08)!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;-webkit-justify-content:center!important;justify-content:center!important}.theme-dark .back-btn,.theme-dark .edit-back,.theme-dark .shop-back-btn{background:-webkit-linear-gradient(315deg,hsla(0,0%,100%,.16),hsla(0,0%,100%,.06) 45%,hsla(0,0%,100%,.12))!important;background:linear-gradient(135deg,hsla(0,0%,100%,.16),hsla(0,0%,100%,.06) 45%,hsla(0,0%,100%,.12))!important;border-color:hsla(0,0%,100%,.18)!important;-webkit-box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.22),inset 0 -2rpx 4rpx rgba(0,0,0,.28),inset 0 0 0 1rpx hsla(0,0%,100%,.1),0 12rpx 40rpx rgba(0,0,0,.5),0 4rpx 12rpx rgba(0,0,0,.3)!important;box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.22),inset 0 -2rpx 4rpx rgba(0,0,0,.28),inset 0 0 0 1rpx hsla(0,0%,100%,.1),0 12rpx 40rpx rgba(0,0,0,.5),0 4rpx 12rpx rgba(0,0,0,.3)!important}.modal-overlay{-ms-flex-align:end;-ms-flex-pack:center;-webkit-align-items:flex-end;align-items:flex-end;background:rgba(0,0,0,.5);bottom:0;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:600}.addr-picker-sheet{background:var(--bg-card);border-radius:48rpx 48rpx 0 0;border-top:1rpx solid var(--border);-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;max-height:70vh;padding:48rpx 48rpx calc(48rpx + env(safe-area-inset-bottom));width:100%}.system-theme-detector{height:1rpx;left:-9999rpx;opacity:0;pointer-events:none;position:fixed;top:0;width:1rpx}@media (prefers-color-scheme:dark){.system-theme-detector{opacity:1}} \ No newline at end of file +.theme-light{background-color:var(--bg-page,#fff);-webkit-box-sizing:border-box;box-sizing:border-box;min-height:100vh}.theme-dark{background-color:var(--bg-page,#191919);-webkit-box-sizing:border-box;box-sizing:border-box;min-height:100vh}.theme-light{--bg-page:#faf7f2;--bg-card:#fff;--bg-muted:#f3eee7;--bg-input:#f5f1eb;--text-primary:#2e2622;--text-secondary:#8a7e76;--text-muted:#b3a89e;--accent-primary:#d96c6a;--accent-primary-strong:#c75b59;--accent-primary-soft:#f6e0dc;--accent-secondary:#6c7bdb;--accent-secondary-soft:rgba(108,123,219,.12);--success:#4fa477;--success-soft:rgba(79,164,119,.14);--warning:#d99a4e;--warning-soft:rgba(217,154,78,.14);--danger:#d85d5d;--danger-soft:rgba(216,93,93,.14);--border:#ede5dc;--border-strong:#e0d5c8;--glass:hsla(0,0%,100%,.72);--glass-line:hsla(0,0%,100%,.55);--shadow-card:0 8rpx 24rpx rgba(46,38,34,.08);--shadow-elevated:0 12rpx 40rpx rgba(46,38,34,.12)}.theme-dark{--bg-page:#191919;--bg-card:#23201d;--bg-muted:#2b2622;--bg-input:#2b2622;--text-primary:#f5efe8;--text-secondary:#b3a79c;--text-muted:#82766c;--accent-primary:#f09198;--accent-primary-strong:#ffa7ad;--accent-primary-soft:rgba(240,145,152,.14);--accent-secondary:#8e97e8;--accent-secondary-soft:rgba(142,151,232,.14);--success:#67c58e;--success-soft:rgba(103,197,142,.16);--warning:#e0ad68;--warning-soft:hsla(35,66%,64%,.16);--danger:#ef7a7a;--danger-soft:hsla(0,79%,71%,.16);--border:#37312c;--border-strong:#463e37;--glass:rgba(25,25,25,.72);--glass-line:hsla(0,0%,100%,.14);--shadow-card:0 8rpx 24rpx rgba(0,0,0,.32);--shadow-elevated:0 12rpx 40rpx rgba(0,0,0,.48)}page{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,Segoe UI,sans-serif}.surface-card{background:var(--bg-card);border:1rpx solid var(--border);border-radius:24rpx;-webkit-box-shadow:var(--shadow-card);box-shadow:var(--shadow-card)}.container{padding:48rpx}.flex{display:-webkit-flex;display:-ms-flexbox;display:flex}.flex-center{-ms-flex-align:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;justify-content:center}.flex-between{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-between;justify-content:space-between}.flex-column{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.text-center{text-align:center}.mt-10{margin-top:20rpx}.mt-20{margin-top:40rpx}.mb-10{margin-bottom:20rpx}.mb-20{margin-bottom:40rpx}.btn-primary{background:var(--accent-primary);border-radius:999rpx;color:#fff}.btn-secondary{background:var(--bg-card);border:1rpx solid var(--border-strong);border-radius:999rpx;color:var(--text-primary)}.btn-ghost{background:transparent;color:var(--accent-primary)}.btn-danger{background:var(--danger);border-radius:999rpx;color:#fff}.page-title{color:var(--text-primary);display:block;font-size:80rpx;font-weight:800}.section-title{color:var(--text-primary);display:block;font-size:72rpx;font-weight:700;margin-bottom:48rpx}.badge{border-radius:100rpx;display:inline-block;font-size:44rpx;font-weight:500;padding:16rpx 40rpx}.badge-pink{background:var(--accent-primary-soft);color:var(--accent-primary)}.badge-blue{background:var(--accent-secondary-soft);color:var(--accent-secondary)}.badge-green{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-gray{background:var(--bg-muted);color:var(--text-secondary)}.safe-bottom{height:constant(safe-area-inset-bottom);height:env(safe-area-inset-bottom)}.safe-bottom-placeholder{height:400rpx}.page-header{padding-top:calc(env(safe-area-inset-top, 20rpx) + 96rpx)}.back-btn,.edit-back,.shop-back-btn{-ms-flex-align:center!important;-ms-flex-pack:center!important;-webkit-align-items:center!important;align-items:center!important;backdrop-filter:blur(24rpx) saturate(1.7) brightness(1.05)!important;-webkit-backdrop-filter:blur(24rpx) saturate(1.7) brightness(1.05)!important;background:-webkit-linear-gradient(315deg,hsla(0,0%,100%,.55),hsla(0,0%,100%,.28) 45%,hsla(0,0%,100%,.42))!important;background:linear-gradient(135deg,hsla(0,0%,100%,.55),hsla(0,0%,100%,.28) 45%,hsla(0,0%,100%,.42))!important;border:1rpx solid hsla(0,0%,100%,.35)!important;border-radius:50%!important;-webkit-box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.65),inset 0 -2rpx 4rpx rgba(0,0,0,.06),inset 0 0 0 1rpx hsla(0,0%,100%,.18),0 12rpx 40rpx rgba(0,0,0,.18),0 4rpx 12rpx rgba(0,0,0,.08)!important;box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.65),inset 0 -2rpx 4rpx rgba(0,0,0,.06),inset 0 0 0 1rpx hsla(0,0%,100%,.18),0 12rpx 40rpx rgba(0,0,0,.18),0 4rpx 12rpx rgba(0,0,0,.08)!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;-webkit-justify-content:center!important;justify-content:center!important}.theme-dark .back-btn,.theme-dark .edit-back,.theme-dark .shop-back-btn{background:-webkit-linear-gradient(315deg,hsla(0,0%,100%,.16),hsla(0,0%,100%,.06) 45%,hsla(0,0%,100%,.12))!important;background:linear-gradient(135deg,hsla(0,0%,100%,.16),hsla(0,0%,100%,.06) 45%,hsla(0,0%,100%,.12))!important;border-color:hsla(0,0%,100%,.18)!important;-webkit-box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.22),inset 0 -2rpx 4rpx rgba(0,0,0,.28),inset 0 0 0 1rpx hsla(0,0%,100%,.1),0 12rpx 40rpx rgba(0,0,0,.5),0 4rpx 12rpx rgba(0,0,0,.3)!important;box-shadow:inset 0 2rpx 3rpx hsla(0,0%,100%,.22),inset 0 -2rpx 4rpx rgba(0,0,0,.28),inset 0 0 0 1rpx hsla(0,0%,100%,.1),0 12rpx 40rpx rgba(0,0,0,.5),0 4rpx 12rpx rgba(0,0,0,.3)!important}.modal-overlay{-ms-flex-align:end;-ms-flex-pack:center;-webkit-align-items:flex-end;align-items:flex-end;background:rgba(0,0,0,.5);bottom:0;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:600}.addr-picker-sheet{background:var(--bg-card);border-radius:48rpx 48rpx 0 0;border-top:1rpx solid var(--border);-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;max-height:70vh;padding:48rpx 48rpx calc(48rpx + env(safe-area-inset-bottom));width:100%}.system-theme-detector{height:1rpx;left:-9999rpx;opacity:0;pointer-events:none;position:fixed;top:0;width:1rpx}@media (prefers-color-scheme:dark){.system-theme-detector{opacity:1}} \ No newline at end of file diff --git a/src/app.scss b/src/app.scss index 27f2675..3b29bda 100644 --- a/src/app.scss +++ b/src/app.scss @@ -10,19 +10,12 @@ min-height: 100vh; background-color: var(--bg-page, #ffffff); box-sizing: border-box; - animation: page-fade-in 0.24s ease both; } .theme-dark { min-height: 100vh; background-color: var(--bg-page, #191919); box-sizing: border-box; - animation: page-fade-in 0.24s ease both; -} - -@keyframes page-fade-in { - from { opacity: 0; } - to { opacity: 1; } } /* 变量定义 */ diff --git a/tools/liquid-glass.test.mjs b/tools/liquid-glass.test.mjs index 5776f67..24612d2 100644 --- a/tools/liquid-glass.test.mjs +++ b/tools/liquid-glass.test.mjs @@ -36,10 +36,9 @@ test('scroll top back button matches the global liquid-glass back style', () => assert.match(css, /backdrop-filter: blur\(24px\) saturate\(1\.7\) brightness\(1\.05\)/) }) -test('app sets page background before first render and fades pages in', () => { +test('app sets page background before first render without a blinking full fade', () => { const appSource = read('src/app.tsx') const appCss = read('src/app.scss') assert.match(appSource, /componentWillMount/) - assert.match(appCss, /@keyframes page-fade-in/) - assert.match(appCss, /animation: page-fade-in/) + assert.doesNotMatch(appCss, /animation:\s*page-fade-in/) }) From d72e297eb6ec1998ddd1e7eff70223f09a1e6759 Mon Sep 17 00:00:00 2001 From: obroccolio Date: Tue, 18 Aug 2026 23:42:01 +0800 Subject: [PATCH 8/8] =?UTF-8?q?fix(ui):=20=E5=88=9D=E5=A7=8B=E8=83=8C?= =?UTF-8?q?=E6=99=AF=E8=B7=9F=E9=9A=8F=E5=A4=96=E8=A7=82=20+=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E8=B7=9F=E9=9A=8F=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - app.config 移除写死的浅色背景,交给 theme.json 按系统外观选择首帧底色 - 跟随系统模式增加 setInterval 轮询兜底,onThemeChange 不回调时也能跟上切换 --- dist/app.js | 2 +- dist/app.json | 2 +- dist/common.js | 2 +- src/app.config.ts | 11 ++--------- src/context/ThemeContext.tsx | 21 ++++++++++++++++++++- tools/liquid-glass.test.mjs | 13 +++++++++++++ 6 files changed, 38 insertions(+), 13 deletions(-) diff --git a/dist/app.js b/dist/app.js index 2e71fd3..2d53af1 100644 --- a/dist/app.js +++ b/dist/app.js @@ -1,2 +1,2 @@ /*! For license information please see app.js.LICENSE.txt */ -require("./common"),require("./vendors"),require("./taro"),require("./runtime"),(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[524],{4247:function(e,n,t){"use strict";t(6882);var r=t(7842),l=t(1291),a=t(758),u=t.n(a),i=t(3029),o=t(2901),s=t(6919),c=t(5501),f=t(6540),d=t.t(f,2),p=t(9703),h=t(1457),g=t(6606),m=t(3246),v=t(1212),b=t(467),y=null;function S(){return y||(y=k().finally(function(){y=null}),y)}function k(){return x.apply(this,arguments)}function x(){return x=(0,b.A)((0,v.A)().m(function e(){var n,t,r,l;return(0,v.A)().w(function(e){while(1)switch(e.p=e.n){case 0:if(n=(0,h.Q4)(),null!==n&&void 0!==n&&n.openid&&!(0,h.Ic)(n.openid)){e.n=1;break}return e.a(2,!1);case 1:return e.p=1,e.n=2,u().login();case 2:if(t=e.v,t.code){e.n=3;break}return e.a(2,!1);case 3:return e.n=4,m.Ay.post("/api/auth/login",{code:t.code},{auth:!1,skipAuthRefresh:!0});case 4:if(r=e.v,null!==r&&void 0!==r&&r.accessToken){e.n=5;break}return e.a(2,!1);case 5:return(0,m.WG)(r.accessToken),e.n=6,m.Ay.get("/api/users/me",{skipAuthRefresh:!0});case 6:if(l=e.v,(null===l||void 0===l?void 0:l.openid)!==n.openid){e.n=7;break}return e.a(2,!0);case 7:return(0,m.L)(),(0,h.Hf)(),e.a(2,!1);case 8:return e.p=8,e.v,e.a(2,!1)}},e,null,[[1,8]])})),x.apply(this,arguments)}function w(){return z.apply(this,arguments)}function z(){return z=(0,b.A)((0,v.A)().m(function e(){var n,t,r;return(0,v.A)().w(function(e){while(1)switch(e.p=e.n){case 0:if(n=(0,h.Q4)(),null!==n&&void 0!==n&&n.openid&&!(0,h.Ic)(n.openid)){e.n=1;break}return e.a(2,!1);case 1:if((0,m.gf)()){e.n=2;break}return e.a(2,S());case 2:return e.p=2,e.n=3,m.Ay.get("/api/users/me",{skipAuthRefresh:!0});case 3:return e.a(2,!0);case 4:if(e.p=4,r=e.v,t=null===r||void 0===r?void 0:r.statusCode,401!==t){e.n=5;break}return e.a(2,S());case 5:return e.a(2,!!(0,m.gf)())}},e,null,[[2,4]])})),z.apply(this,arguments)}var N=t(4848),E=function(e){function n(){return(0,i.A)(this,n),(0,s.A)(this,n,arguments)}return(0,c.A)(n,e),(0,o.A)(n,[{key:"componentWillMount",value:function(){(0,g.G)((0,h.eW)((0,h.O4)()))}},{key:"componentDidMount",value:function(){(0,g.G)((0,h.eW)((0,h.O4)())),(0,m.q)(S),w()}},{key:"componentDidShow",value:function(){}},{key:"componentDidHide",value:function(){}},{key:"render",value:function(){return(0,N.jsx)(p.NP,{children:this.props.children})}}])}(f.Component),P=E,C=t(7260),_={darkmode:!0,themeLocation:"theme.json",pages:["pages/index/index","pages/shop/index","pages/shop/detail/index","pages/product/index","pages/diy/index","pages/diy/stickerEdit/index","pages/checkout/index","pages/designList/index","pages/orders/index","pages/profile/index","pages/service/index","pages/wordcloud/index","pages/orderDetail/index","pages/address/index","pages/settings/index","pages/agreement/index","pages/userDatabase/index"],window:{backgroundTextStyle:"dark",navigationStyle:"custom",navigationBarBackgroundColor:"#faf7f2",backgroundColor:"#faf7f2",backgroundColorTop:"#faf7f2",backgroundColorBottom:"#faf7f2",navigationBarTextStyle:"black"},tabBar:{custom:!0,list:[{pagePath:"pages/index/index",text:"\u9996\u9875"},{pagePath:"pages/shop/index",text:"\u5546\u54c1"},{pagePath:"pages/designList/index",text:"\u8bbe\u8ba1\u6e05\u5355"},{pagePath:"pages/orders/index",text:"\u8ba2\u5355"},{pagePath:"pages/profile/index",text:"\u6211\u7684"}]}};r.window.__taroAppConfig=_;App((0,l.ND)(P,d,C.Ay,_));(0,a.initPxTransform)({designWidth:750,deviceRatio:{640:1.17,750:1,828:.905},baseFontSize:20,unitPrecision:void 0,targetUnit:void 0})},735:function(e,n){"use strict";n.DefaultEventPriority=16},2935:function(e,n,t){e.exports=function(e){var n={},r=t(6540),l=t(8585),a=Object.assign;function u(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;ti||l[u]!==a[i]){var o="\n"+l[u].replace(" at new "," at ");return e.displayName&&o.includes("")&&(o=o.replace("",e.displayName)),o}}while(1<=u&&0<=i);break}}}finally{nn=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:"")?en(e):""}var rn=Object.prototype.hasOwnProperty,ln=[],an=-1;function un(e){return{current:e}}function on(e){0>an||(e.current=ln[an],ln[an]=null,an--)}function sn(e,n){an++,ln[an]=e.current,e.current=n}var cn={},fn=un(cn),dn=un(!1),pn=cn;function hn(e,n){var t=e.type.contextTypes;if(!t)return cn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l,a={};for(l in t)a[l]=n[l];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=a),a}function gn(e){return e=e.childContextTypes,null!==e&&void 0!==e}function mn(){on(dn),on(fn)}function vn(e,n,t){if(fn.current!==cn)throw Error(u(168));sn(fn,n),sn(dn,t)}function bn(e,n,t){var r=e.stateNode;if(n=n.childContextTypes,"function"!==typeof r.getChildContext)return t;for(var l in r=r.getChildContext(),r)if(!(l in n))throw Error(u(108,z(e)||"Unknown",l));return a({},t,r)}function yn(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||cn,pn=fn.current,sn(fn,e),sn(dn,dn.current),!0}function Sn(e,n,t){var r=e.stateNode;if(!r)throw Error(u(169));t?(e=bn(e,n,pn),r.__reactInternalMemoizedMergedChildContext=e,on(dn),on(fn),sn(fn,e)):on(dn),sn(dn,t)}var kn=Math.clz32?Math.clz32:zn,xn=Math.log,wn=Math.LN2;function zn(e){return e>>>=0,0===e?32:31-(xn(e)/wn|0)|0}var Nn=64,En=4194304;function Pn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Cn(e,n){var t=e.pendingLanes;if(0===t)return 0;var r=0,l=e.suspendedLanes,a=e.pingedLanes,u=268435455&t;if(0!==u){var i=u&~l;0!==i?r=Pn(i):(a&=u,0!==a&&(r=Pn(a)))}else u=t&~l,0!==u?r=Pn(u):0!==a&&(r=Pn(a));if(0===r)return 0;if(0!==n&&n!==r&&0===(n&l)&&(l=r&-r,a=n&-n,l>=a||16===l&&0!==(4194240&a)))return n;if(0!==(4&r)&&(r|=16&t),n=e.entangledLanes,0!==n)for(e=e.entanglements,n&=r;0t;t++)n.push(e);return n}function Rn(e,n,t){e.pendingLanes|=n,536870912!==n&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-kn(n),e[n]=t}function Fn(e,n){var t=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0>=u,l-=u,At=1<<32-kn(n)+l|t<d?(p=f,f=null):p=f.sibling;var h=m(l,f,i[d],o);if(null===h){null===f&&(f=p);break}e&&f&&null===h.alternate&&n(l,f),u=a(h,u,d),null===c?s=h:c.sibling=h,c=h,f=p}if(d===i.length)return t(l,f),Jt&&Ot(l,d),s;if(null===f){for(;dp?(h=d,d=null):h=d.sibling;var y=m(l,d,b.value,s);if(null===y){null===d&&(d=h);break}e&&d&&null===y.alternate&&n(l,d),i=a(y,i,p),null===f?c=y:f.sibling=y,f=y,d=h}if(b.done)return t(l,d),Jt&&Ot(l,p),c;if(null===d){for(;!b.done;p++,b=o.next())b=g(l,b.value,s),null!==b&&(i=a(b,i,p),null===f?c=b:f.sibling=b,f=b);return Jt&&Ot(l,p),c}for(d=r(l,d);!b.done;p++,b=o.next())b=v(d,l,p,b.value,s),null!==b&&(e&&null!==b.alternate&&d.delete(null===b.key?p:b.key),i=a(b,i,p),null===f?c=b:f.sibling=b,f=b);return e&&d.forEach(function(e){return n(l,e)}),Jt&&Ot(l,p),c}function k(e,r,a,u){if("object"===typeof a&&null!==a&&a.type===c&&null===a.key&&(a=a.props.children),"object"===typeof a&&null!==a){switch(a.$$typeof){case o:e:{for(var f=a.key,d=r;null!==d;){if(d.key===f){if(f=a.type,f===c){if(7===d.tag){t(e,d.sibling),r=l(d,a.props.children),r.return=e,e=r;break e}}else if(d.elementType===f||"object"===typeof f&&null!==f&&f.$$typeof===y&&sr(f)===d.type){t(e,d.sibling),r=l(d,a.props),r.ref=ir(e,d,a),r.return=e,e=r;break e}t(e,d);break}n(e,d),d=d.sibling}a.type===c?(r=pi(a.props.children,e.mode,u,a.key),r.return=e,e=r):(u=di(a.type,a.key,a.props,null,e.mode,u),u.ref=ir(e,r,a),u.return=e,e=u)}return i(e);case s:e:{for(d=a.key;null!==r;){if(r.key===d){if(4===r.tag&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){t(e,r.sibling),r=l(r,a.children||[]),r.return=e,e=r;break e}t(e,r);break}n(e,r),r=r.sibling}r=mi(a,e.mode,u),r.return=e,e=r}return i(e);case y:return d=a._init,k(e,r,d(a._payload),u)}if(T(a))return b(e,r,a,u);if(x(a))return S(e,r,a,u);or(e,a)}return"string"===typeof a&&""!==a||"number"===typeof a?(a=""+a,null!==r&&6===r.tag?(t(e,r.sibling),r=l(r,a),r.return=e,e=r):(t(e,r),r=gi(a,e.mode,u),r.return=e,e=r),i(e)):t(e,r)}return k}var fr=cr(!0),dr=cr(!1),pr={},hr=un(pr),gr=un(pr),mr=un(pr);function vr(e){if(e===pr)throw Error(u(174));return e}function br(e,n){sn(mr,n),sn(gr,e),sn(hr,pr),e=F(n),on(hr),sn(hr,e)}function yr(){on(hr),on(gr),on(mr)}function Sr(e){var n=vr(mr.current),t=vr(hr.current);n=U(t,e.type,n),t!==n&&(sn(gr,e),sn(hr,n))}function kr(e){gr.current===e&&(on(hr),on(gr))}var xr=un(0);function wr(e){for(var n=e;null!==n;){if(13===n.tag){var t=n.memoizedState;if(null!==t&&(t=t.dehydrated,null===t||Me(t)||De(t)))return n}else if(19===n.tag&&void 0!==n.memoizedProps.revealOrder){if(0!==(128&n.flags))return n}else if(null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var zr=[];function Nr(){for(var e=0;et?t:4,e(!0);var r=Pr.transition;Pr.transition={};try{e(!1),n()}finally{Mn=t,Pr.transition=r}}function dl(){return Wr().memoizedState}function pl(e,n,t){var r=Lu(e);t={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null},gl(e)?ml(n,t):(vl(e,n,t),t=_u(),e=Iu(e,r,t),null!==e&&bl(e,n,r))}function hl(e,n,t){var r=Lu(e),l={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null};if(gl(e))ml(n,l);else{vl(e,n,l);var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&(a=n.lastRenderedReducer,null!==a))try{var u=n.lastRenderedState,i=a(u,t);if(l.hasEagerState=!0,l.eagerState=i,Kn(i,u))return}catch(e){}t=_u(),e=Iu(e,r,t),null!==e&&bl(e,n,r)}}function gl(e){var n=e.alternate;return e===_r||null!==n&&n===_r}function ml(e,n){Rr=Tr=!0;var t=e.pending;null===t?n.next=n:(n.next=t.next,t.next=n),e.pending=n}function vl(e,n,t){null!==ru&&0!==(1&e.mode)&&0===(2&tu)?(e=n.interleaved,null===e?(t.next=t,null===bt?bt=[n]:bt.push(n)):(t.next=e.next,e.next=t),n.interleaved=t):(e=n.pending,null===e?t.next=t:(t.next=e.next,e.next=t),n.pending=t)}function bl(e,n,t){if(0!==(4194240&t)){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,Un(e,t)}}var yl={readContext:vt,useCallback:Mr,useContext:Mr,useEffect:Mr,useImperativeHandle:Mr,useInsertionEffect:Mr,useLayoutEffect:Mr,useMemo:Mr,useReducer:Mr,useRef:Mr,useState:Mr,useDebugValue:Mr,useDeferredValue:Mr,useTransition:Mr,useMutableSource:Mr,useSyncExternalStore:Mr,useId:Mr,unstable_isNewReconciler:!1},Sl={readContext:vt,useCallback:function(e,n){return Br().memoizedState=[e,void 0===n?null:n],e},useContext:vt,useEffect:tl,useImperativeHandle:function(e,n,t){return t=null!==t&&void 0!==t?t.concat([e]):null,el(4194308,4,ul.bind(null,n,e),t)},useLayoutEffect:function(e,n){return el(4194308,4,e,n)},useInsertionEffect:function(e,n){return el(4,2,e,n)},useMemo:function(e,n){var t=Br();return n=void 0===n?null:n,e=e(),t.memoizedState=[e,n],e},useReducer:function(e,n,t){var r=Br();return n=void 0!==t?t(n):n,r.memoizedState=r.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=pl.bind(null,_r,e),[r.memoizedState,e]},useRef:function(e){var n=Br();return e={current:e},n.memoizedState=e},useState:Kr,useDebugValue:ol,useDeferredValue:function(e){var n=Kr(e),t=n[0],r=n[1];return tl(function(){var n=Pr.transition;Pr.transition={};try{r(e)}finally{Pr.transition=n}},[e]),t},useTransition:function(){var e=Kr(!1),n=e[0];return e=fl.bind(null,e[1]),Br().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,t){var r=_r,l=Br();if(Jt){if(void 0===t)throw Error(u(407));t=t()}else{if(t=n(),null===ru)throw Error(u(349));0!==(30&Cr)||qr(r,n,t)}l.memoizedState=t;var a={value:t,getSnapshot:n};return l.queue=a,tl(Yr.bind(null,r,a,e),[e]),r.flags|=2048,Xr(9,Gr.bind(null,r,a,t,n),void 0,null),t},useId:function(){var e=Br(),n=ru.identifierPrefix;if(Jt){var t=jt,r=At;t=(r&~(1<<32-kn(r)-1)).toString(32)+t,n=":"+n+"R"+t,t=Fr++,0mu&&(n.flags|=128,r=!0,Ql(l,!1),n.lanes=4194304)}else{if(!r)if(e=wr(a),null!==e){if(n.flags|=128,r=!0,e=e.updateQueue,null!==e&&(n.updateQueue=e,n.flags|=4),Ql(l,!0),null===l.tail&&"hidden"===l.tailMode&&!a.alternate&&!Jt)return Hl(n),null}else 2*An()-l.renderingStartTime>mu&&1073741824!==t&&(n.flags|=128,r=!0,Ql(l,!1),n.lanes=4194304);l.isBackwards?(a.sibling=n.child,n.child=a):(e=l.last,null!==e?e.sibling=a:n.child=a,l.last=a)}return null!==l.tail?(n=l.tail,l.rendering=n,l.tail=n.sibling,l.renderingStartTime=An(),n.sibling=null,e=xr.current,sn(xr,r?1&e|2:1&e),n):(Hl(n),null);case 22:case 23:return Wu(),r=null!==n.memoizedState,null!==e&&null!==e.memoizedState!==r&&(n.flags|=8192),r&&0!==(1&n.mode)?0!==(1073741824&uu)&&(Hl(n),G&&6&n.subtreeFlags&&(n.flags|=8192)):Hl(n),null;case 24:return null;case 25:return null}throw Error(u(156,n.tag))}var Wl=i.ReactCurrentOwner,Al=!1;function jl(e,n,t,r){n.child=null===e?dr(n,null,t,r):fr(n,e.child,t,r)}function Ol(e,n,t,r,l){t=t.render;var a=n.ref;return mt(n,l),r=Qr(e,n,t,r,a,l),t=Hr(),null===e||Al?(Jt&&t&&Vt(n),n.flags|=1,jl(e,n,r,l),n.child):(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~l,ca(e,n,l))}function $l(e,n,t,r,l){if(null===e){var a=t.type;return"function"!==typeof a||si(a)||void 0!==a.defaultProps||null!==t.compare||void 0!==t.defaultProps?(e=di(t.type,null,r,n,n.mode,l),e.ref=n.ref,e.return=n,n.child=e):(n.tag=15,n.type=a,Vl(e,n,a,r,l))}if(a=e.child,0===(e.lanes&l)){var u=a.memoizedProps;if(t=t.compare,t=null!==t?t:at,t(u,r)&&e.ref===n.ref)return ca(e,n,l)}return n.flags|=1,e=fi(a,r),e.ref=n.ref,e.return=n,n.child=e}function Vl(e,n,t,r,l){if(null!==e&&at(e.memoizedProps,r)&&e.ref===n.ref){if(Al=!1,0===(e.lanes&l))return n.lanes=e.lanes,ca(e,n,l);0!==(131072&e.flags)&&(Al=!0)}return Yl(e,n,t,r,l)}function ql(e,n,t){var r=n.pendingProps,l=r.children,a=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(0===(1&n.mode))n.memoizedState={baseLanes:0,cachePool:null},sn(iu,uu),uu|=t;else{if(0===(1073741824&t))return e=null!==a?a.baseLanes|t:t,n.lanes=n.childLanes=1073741824,n.memoizedState={baseLanes:e,cachePool:null},n.updateQueue=null,sn(iu,uu),uu|=e,null;n.memoizedState={baseLanes:0,cachePool:null},r=null!==a?a.baseLanes:t,sn(iu,uu),uu|=r}else null!==a?(r=a.baseLanes|t,n.memoizedState=null):r=t,sn(iu,uu),uu|=r;return jl(e,n,l,t),n.child}function Gl(e,n){var t=n.ref;(null===e&&null!==t||null!==e&&e.ref!==t)&&(n.flags|=512,n.flags|=2097152)}function Yl(e,n,t,r,l){var a=gn(t)?pn:fn.current;return a=hn(n,a),mt(n,l),t=Qr(e,n,t,r,a,l),r=Hr(),null===e||Al?(Jt&&r&&Vt(n),n.flags|=1,jl(e,n,t,l),n.child):(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~l,ca(e,n,l))}function Jl(e,n,t,r,l){if(gn(t)){var a=!0;yn(n)}else a=!1;if(mt(n,l),null===n.stateNode)null!==e&&(e.alternate=null,n.alternate=null,n.flags|=2),Tt(n,t,r),Ft(n,t,r,l),r=!0;else if(null===e){var u=n.stateNode,i=n.memoizedProps;u.props=i;var o=u.context,s=t.contextType;"object"===typeof s&&null!==s?s=vt(s):(s=gn(t)?pn:fn.current,s=hn(n,s));var c=t.getDerivedStateFromProps,f="function"===typeof c||"function"===typeof u.getSnapshotBeforeUpdate;f||"function"!==typeof u.UNSAFE_componentWillReceiveProps&&"function"!==typeof u.componentWillReceiveProps||(i!==r||o!==s)&&Rt(n,u,r,s),yt=!1;var d=n.memoizedState;u.state=d,Et(n,r,u,l),o=n.memoizedState,i!==r||d!==o||dn.current||yt?("function"===typeof c&&(_t(n,t,c,r),o=n.memoizedState),(i=yt||It(n,t,i,r,d,o,s))?(f||"function"!==typeof u.UNSAFE_componentWillMount&&"function"!==typeof u.componentWillMount||("function"===typeof u.componentWillMount&&u.componentWillMount(),"function"===typeof u.UNSAFE_componentWillMount&&u.UNSAFE_componentWillMount()),"function"===typeof u.componentDidMount&&(n.flags|=4194308)):("function"===typeof u.componentDidMount&&(n.flags|=4194308),n.memoizedProps=r,n.memoizedState=o),u.props=r,u.state=o,u.context=s,r=i):("function"===typeof u.componentDidMount&&(n.flags|=4194308),r=!1)}else{u=n.stateNode,kt(e,n),i=n.memoizedProps,s=n.type===n.elementType?i:it(n.type,i),u.props=s,f=n.pendingProps,d=u.context,o=t.contextType,"object"===typeof o&&null!==o?o=vt(o):(o=gn(t)?pn:fn.current,o=hn(n,o));var p=t.getDerivedStateFromProps;(c="function"===typeof p||"function"===typeof u.getSnapshotBeforeUpdate)||"function"!==typeof u.UNSAFE_componentWillReceiveProps&&"function"!==typeof u.componentWillReceiveProps||(i!==f||d!==o)&&Rt(n,u,r,o),yt=!1,d=n.memoizedState,u.state=d,Et(n,r,u,l);var h=n.memoizedState;i!==f||d!==h||dn.current||yt?("function"===typeof p&&(_t(n,t,p,r),h=n.memoizedState),(s=yt||It(n,t,s,r,d,h,o)||!1)?(c||"function"!==typeof u.UNSAFE_componentWillUpdate&&"function"!==typeof u.componentWillUpdate||("function"===typeof u.componentWillUpdate&&u.componentWillUpdate(r,h,o),"function"===typeof u.UNSAFE_componentWillUpdate&&u.UNSAFE_componentWillUpdate(r,h,o)),"function"===typeof u.componentDidUpdate&&(n.flags|=4),"function"===typeof u.getSnapshotBeforeUpdate&&(n.flags|=1024)):("function"!==typeof u.componentDidUpdate||i===e.memoizedProps&&d===e.memoizedState||(n.flags|=4),"function"!==typeof u.getSnapshotBeforeUpdate||i===e.memoizedProps&&d===e.memoizedState||(n.flags|=1024),n.memoizedProps=r,n.memoizedState=h),u.props=r,u.state=h,u.context=o,r=s):("function"!==typeof u.componentDidUpdate||i===e.memoizedProps&&d===e.memoizedState||(n.flags|=4),"function"!==typeof u.getSnapshotBeforeUpdate||i===e.memoizedProps&&d===e.memoizedState||(n.flags|=1024),r=!1)}return Kl(e,n,t,r,a,l)}function Kl(e,n,t,r,l,a){Gl(e,n);var u=0!==(128&n.flags);if(!r&&!u)return l&&Sn(n,t,!1),ca(e,n,a);r=n.stateNode,Wl.current=n;var i=u&&"function"!==typeof t.getDerivedStateFromError?null:r.render();return n.flags|=1,null!==e&&u?(n.child=fr(n,e.child,null,a),n.child=fr(n,null,i,a)):jl(e,n,i,a),n.memoizedState=r.state,l&&Sn(n,t,!0),n.child}function Xl(e){var n=e.stateNode;n.pendingContext?vn(e,n.pendingContext,n.pendingContext!==n.context):n.context&&vn(e,n.context,!1),br(e,n.containerInfo)}function Zl(e,n,t,r,l){return ar(),ur(l),n.flags|=256,jl(e,n,t,r),n.child}var ea={dehydrated:null,treeContext:null,retryLane:0};function na(e){return{baseLanes:e,cachePool:null}}function ta(e,n,t){var r,l=n.pendingProps,a=xr.current,i=!1,o=0!==(128&n.flags);if((r=o)||(r=(null===e||null!==e.memoizedState)&&0!==(2&a)),r?(i=!0,n.flags&=-129):null!==e&&null===e.memoizedState||(a|=1),sn(xr,1&a),null===e)return tr(n),e=n.memoizedState,null!==e&&(e=e.dehydrated,null!==e)?(0===(1&n.mode)?n.lanes=1:De(e)?n.lanes=8:n.lanes=1073741824,null):(a=l.children,e=l.fallback,i?(l=n.mode,i=n.child,a={mode:"hidden",children:a},0===(1&l)&&null!==i?(i.childLanes=0,i.pendingProps=a):i=hi(a,l,0,null),e=pi(e,l,t,null),i.return=n,e.return=n,i.sibling=e,n.child=i,n.child.memoizedState=na(t),n.memoizedState=ea,e):ra(n,a));if(a=e.memoizedState,null!==a){if(r=a.dehydrated,null!==r){if(o)return 256&n.flags?(n.flags&=-257,ua(e,n,t,Error(u(422)))):null!==n.memoizedState?(n.child=e.child,n.flags|=128,null):(i=l.fallback,a=n.mode,l=hi({mode:"visible",children:l.children},a,0,null),i=pi(i,a,t,null),i.flags|=2,l.return=n,i.return=n,l.sibling=i,n.child=l,0!==(1&n.mode)&&fr(n,e.child,null,t),n.child.memoizedState=na(t),n.memoizedState=ea,i);if(0===(1&n.mode))n=ua(e,n,t,null);else if(De(r))n=ua(e,n,t,Error(u(419)));else if(l=0!==(t&e.childLanes),Al||l){if(l=ru,null!==l){switch(t&-t){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}l=0!==(i&(l.suspendedLanes|t))?0:i,0!==l&&l!==a.retryLane&&(a.retryLane=l,Iu(e,l,-1))}$u(),n=ua(e,n,t,Error(u(421)))}else Me(r)?(n.flags|=128,n.child=e.child,n=li.bind(null,e),Qe(r,n),n=null):(t=a.treeContext,J&&(Yt=Ae(r),Gt=n,Jt=!0,Xt=null,Kt=!1,null!==t&&(Ht[Bt++]=At,Ht[Bt++]=jt,Ht[Bt++]=Wt,At=t.id,jt=t.overflow,Wt=n)),n=ra(n,n.pendingProps.children),n.flags|=4096);return n}return i?(l=aa(e,n,l.children,l.fallback,t),i=n.child,a=e.child.memoizedState,i.memoizedState=null===a?na(t):{baseLanes:a.baseLanes|t,cachePool:null},i.childLanes=e.childLanes&~t,n.memoizedState=ea,l):(t=la(e,n,l.children,t),n.memoizedState=null,t)}return i?(l=aa(e,n,l.children,l.fallback,t),i=n.child,a=e.child.memoizedState,i.memoizedState=null===a?na(t):{baseLanes:a.baseLanes|t,cachePool:null},i.childLanes=e.childLanes&~t,n.memoizedState=ea,l):(t=la(e,n,l.children,t),n.memoizedState=null,t)}function ra(e,n){return n=hi({mode:"visible",children:n},e.mode,0,null),n.return=e,e.child=n}function la(e,n,t,r){var l=e.child;return e=l.sibling,t=fi(l,{mode:"visible",children:t}),0===(1&n.mode)&&(t.lanes=r),t.return=n,t.sibling=null,null!==e&&(r=n.deletions,null===r?(n.deletions=[e],n.flags|=16):r.push(e)),n.child=t}function aa(e,n,t,r,l){var a=n.mode;e=e.child;var u=e.sibling,i={mode:"hidden",children:t};return 0===(1&a)&&n.child!==e?(t=n.child,t.childLanes=0,t.pendingProps=i,n.deletions=null):(t=fi(e,i),t.subtreeFlags=14680064&e.subtreeFlags),null!==u?r=fi(u,r):(r=pi(r,a,l,null),r.flags|=2),r.return=n,t.return=n,t.sibling=r,n.child=t,r}function ua(e,n,t,r){return null!==r&&ur(r),fr(n,e.child,null,t),e=ra(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function ia(e,n,t){e.lanes|=n;var r=e.alternate;null!==r&&(r.lanes|=n),gt(e.return,n,t)}function oa(e,n,t,r,l){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:r,tail:t,tailMode:l}:(a.isBackwards=n,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=t,a.tailMode=l)}function sa(e,n,t){var r=n.pendingProps,l=r.revealOrder,a=r.tail;if(jl(e,n,r.children,t),r=xr.current,0!==(2&r))r=1&r|2,n.flags|=128;else{if(null!==e&&0!==(128&e.flags))e:for(e=n.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&ia(e,t,n);else if(19===e.tag)ia(e,t,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===n)break e;for(;null===e.sibling;){if(null===e.return||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(sn(xr,r),0===(1&n.mode))n.memoizedState=null;else switch(l){case"forwards":for(t=n.child,l=null;null!==t;)e=t.alternate,null!==e&&null===wr(e)&&(l=t),t=t.sibling;t=l,null===t?(l=n.child,n.child=null):(l=t.sibling,t.sibling=null),oa(n,!1,l,t,a);break;case"backwards":for(t=null,l=n.child,n.child=null;null!==l;){if(e=l.alternate,null!==e&&null===wr(e)){n.child=l;break}e=l.sibling,l.sibling=t,t=l,l=e}oa(n,!0,t,null,a);break;case"together":oa(n,!1,null,null,void 0);break;default:n.memoizedState=null}return n.child}function ca(e,n,t){if(null!==e&&(n.dependencies=e.dependencies),cu|=n.lanes,0===(t&n.childLanes))return null;if(null!==e&&n.child!==e.child)throw Error(u(153));if(null!==n.child){for(e=n.child,t=fi(e,e.pendingProps),n.child=t,t.return=n;null!==e.sibling;)e=e.sibling,t=t.sibling=fi(e,e.pendingProps),t.return=n;t.sibling=null}return n.child}function fa(e,n,t){switch(n.tag){case 3:Xl(n),ar();break;case 5:Sr(n);break;case 1:gn(n.type)&&yn(n);break;case 4:br(n,n.stateNode.containerInfo);break;case 10:pt(n,n.type._context,n.memoizedProps.value);break;case 13:var r=n.memoizedState;if(null!==r)return null!==r.dehydrated?(sn(xr,1&xr.current),n.flags|=128,null):0!==(t&n.child.childLanes)?ta(e,n,t):(sn(xr,1&xr.current),e=ca(e,n,t),null!==e?e.sibling:null);sn(xr,1&xr.current);break;case 19:if(r=0!==(t&n.childLanes),0!==(128&e.flags)){if(r)return sa(e,n,t);n.flags|=128}var l=n.memoizedState;if(null!==l&&(l.rendering=null,l.tail=null,l.lastEffect=null),sn(xr,xr.current),r)break;return null;case 22:case 23:return n.lanes=0,ql(e,n,t)}return ca(e,n,t)}function da(e,n){switch(qt(n),n.tag){case 1:return gn(n.type)&&mn(),e=n.flags,65536&e?(n.flags=-65537&e|128,n):null;case 3:return yr(),on(dn),on(fn),Nr(),e=n.flags,0!==(65536&e)&&0===(128&e)?(n.flags=-65537&e|128,n):null;case 5:return kr(n),null;case 13:if(on(xr),e=n.memoizedState,null!==e&&null!==e.dehydrated){if(null===n.alternate)throw Error(u(340));ar()}return e=n.flags,65536&e?(n.flags=-65537&e|128,n):null;case 19:return on(xr),null;case 4:return yr(),null;case 10:return ht(n.type._context),null;case 22:case 23:return Wu(),null;case 24:return null;default:return null}}var pa=!1,ha=!1,ga="function"===typeof WeakSet?WeakSet:Set,ma=null;function va(e,n){var t=e.ref;if(null!==t)if("function"===typeof t)try{t(null)}catch(t){ni(e,n,t)}else t.current=null}function ba(e,n,t){try{t()}catch(t){ni(e,n,t)}}var ya=!1;function Sa(e,n){for(M(e.containerInfo),ma=n;null!==ma;)if(e=ma,n=e.child,0!==(1028&e.subtreeFlags)&&null!==n)n.return=e,ma=n;else for(;null!==ma;){e=ma;try{var t=e.alternate;if(0!==(1024&e.flags))switch(e.tag){case 0:case 11:case 15:break;case 1:if(null!==t){var r=t.memoizedProps,l=t.memoizedState,a=e.stateNode,i=a.getSnapshotBeforeUpdate(e.elementType===e.type?r:it(e.type,r),l);a.__reactInternalSnapshotBeforeUpdate=i}break;case 3:G&&Ne(e.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(u(163))}}catch(n){ni(e,e.return,n)}if(n=e.sibling,null!==n){n.return=e.return,ma=n;break}ma=e.return}return t=ya,ya=!1,t}function ka(e,n,t){var r=n.updateQueue;if(r=null!==r?r.lastEffect:null,null!==r){var l=r=r.next;do{if((l.tag&e)===e){var a=l.destroy;l.destroy=void 0,void 0!==a&&ba(n,t,a)}l=l.next}while(l!==r)}}function xa(e,n){if(n=n.updateQueue,n=null!==n?n.lastEffect:null,null!==n){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function wa(e){var n=e.ref;if(null!==n){var t=e.stateNode;switch(e.tag){case 5:e=R(t);break;default:e=t}"function"===typeof n?n(e):n.current=e}}function za(e,n,t){if(Gn&&"function"===typeof Gn.onCommitFiberUnmount)try{Gn.onCommitFiberUnmount(qn,n)}catch(e){}switch(n.tag){case 0:case 11:case 14:case 15:if(e=n.updateQueue,null!==e&&(e=e.lastEffect,null!==e)){var r=e=e.next;do{var l=r,a=l.destroy;l=l.tag,void 0!==a&&(0!==(2&l)||0!==(4&l))&&ba(n,t,a),r=r.next}while(r!==e)}break;case 1:if(va(n,t),e=n.stateNode,"function"===typeof e.componentWillUnmount)try{e.props=n.memoizedProps,e.state=n.memoizedState,e.componentWillUnmount()}catch(e){ni(n,t,e)}break;case 5:va(n,t);break;case 4:G?Ta(e,n,t):Y&&Y&&(n=n.stateNode.containerInfo,t=Pe(n),Le(n,t))}}function Na(e,n,t){for(var r=n;;)if(za(e,r,t),null===r.child||G&&4===r.tag){if(r===n)break;for(;null===r.sibling;){if(null===r.return||r.return===n)return;r=r.return}r.sibling.return=r.return,r=r.sibling}else r.child.return=r,r=r.child}function Ea(e){var n=e.alternate;null!==n&&(e.alternate=null,Ea(n)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(n=e.stateNode,null!==n&&ee(n)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Pa(e){return 5===e.tag||3===e.tag||4===e.tag}function Ca(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||Pa(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function _a(e){if(G){e:{for(var n=e.return;null!==n;){if(Pa(n))break e;n=n.return}throw Error(u(160))}var t=n;switch(t.tag){case 5:n=t.stateNode,32&t.flags&&(Se(n),t.flags&=-33),t=Ca(e),Ia(e,t,n);break;case 3:case 4:n=t.stateNode.containerInfo,t=Ca(e),La(e,t,n);break;default:throw Error(u(161))}}}function La(e,n,t){var r=e.tag;if(5===r||6===r)e=e.stateNode,n?ve(t,e,n):de(t,e);else if(4!==r&&(e=e.child,null!==e))for(La(e,n,t),e=e.sibling;null!==e;)La(e,n,t),e=e.sibling}function Ia(e,n,t){var r=e.tag;if(5===r||6===r)e=e.stateNode,n?me(t,e,n):fe(t,e);else if(4!==r&&(e=e.child,null!==e))for(Ia(e,n,t),e=e.sibling;null!==e;)Ia(e,n,t),e=e.sibling}function Ta(e,n,t){for(var r,l,a=n,i=!1;;){if(!i){i=a.return;e:for(;;){if(null===i)throw Error(u(160));switch(r=i.stateNode,i.tag){case 5:l=!1;break e;case 3:r=r.containerInfo,l=!0;break e;case 4:r=r.containerInfo,l=!0;break e}i=i.return}i=!0}if(5===a.tag||6===a.tag)Na(e,a,t),l?ye(r,a.stateNode):be(r,a.stateNode);else if(18===a.tag)l?Je(r,a.stateNode):Ye(r,a.stateNode);else if(4===a.tag){if(null!==a.child){r=a.stateNode.containerInfo,l=!0,a.child.return=a,a=a.child;continue}}else if(za(e,a,t),null!==a.child){a.child.return=a,a=a.child;continue}if(a===n)break;for(;null===a.sibling;){if(null===a.return||a.return===n)return;a=a.return,4===a.tag&&(i=!1)}a.sibling.return=a.return,a=a.sibling}}function Ra(e,n){if(G){switch(n.tag){case 0:case 11:case 14:case 15:return ka(3,n,n.return),xa(3,n),void ka(5,n,n.return);case 1:return;case 5:var t=n.stateNode;if(null!=t){var r=n.memoizedProps;e=null!==e?e.memoizedProps:r;var l=n.type,a=n.updateQueue;n.updateQueue=null,null!==a&&ge(t,a,l,e,r,n)}return;case 6:if(null===n.stateNode)throw Error(u(162));return t=n.memoizedProps,void pe(n.stateNode,null!==e?e.memoizedProps:t,t);case 3:return void(J&&null!==e&&e.memoizedState.isDehydrated&&qe(n.stateNode.containerInfo));case 12:return;case 13:return void Fa(n);case 19:return void Fa(n);case 17:return}throw Error(u(163))}switch(n.tag){case 0:case 11:case 14:case 15:return ka(3,n,n.return),xa(3,n),void ka(5,n,n.return);case 12:return;case 13:return void Fa(n);case 19:return void Fa(n);case 3:J&&null!==e&&e.memoizedState.isDehydrated&&qe(n.stateNode.containerInfo);break;case 22:case 23:return}e:if(Y){switch(n.tag){case 1:case 5:case 6:break e;case 3:case 4:n=n.stateNode,Le(n.containerInfo,n.pendingChildren);break e}throw Error(u(163))}}function Fa(e){var n=e.updateQueue;if(null!==n){e.updateQueue=null;var t=e.stateNode;null===t&&(t=e.stateNode=new ga),n.forEach(function(n){var r=ai.bind(null,e,n);t.has(n)||(t.add(n),n.then(r,r))})}}function Ua(e,n){for(ma=n;null!==ma;){n=ma;var t=n.deletions;if(null!==t)for(var r=0;r";case Aa:return":has("+(Ya(e)||"")+")";case ja:return'[role="'+e.value+'"]';case $a:return'"'+e.value+'"';case Oa:return'[data-testname="'+e.value+'"]';default:throw Error(u(365))}}function Ja(e,n){var t=[];e=[e,0];for(var r=0;rl&&(l=i),r&=~a}if(r=l,r=An()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Xa(r/1960))-r,10e?16:e,null===wu)var r=!1;else{if(e=wu,wu=null,zu=0,0!==(6&tu))throw Error(u(331));var l=tu;for(tu|=4,ma=e.current;null!==ma;){var a=ma,i=a.child;if(0!==(16&ma.flags)){var o=a.deletions;if(null!==o){for(var s=0;sAn()-gu?Au(e,0):du|=t),Ru(e,n)}function ri(e,n){0===n&&(0===(1&e.mode)?n=1:(n=En,En<<=1,0===(130023424&En)&&(En=4194304)));var t=_u();e=Tu(e,n),null!==e&&(Rn(e,n,t),Ru(e,t))}function li(e){var n=e.memoizedState,t=0;null!==n&&(t=n.retryLane),ri(e,t)}function ai(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;null!==l&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(u(314))}null!==r&&r.delete(n),ri(e,t)}function ui(e,n){return Qn(e,n)}function ii(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function oi(e,n,t,r){return new ii(e,n,t,r)}function si(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ci(e){if("function"===typeof e)return si(e)?1:0;if(void 0!==e&&null!==e){if(e=e.$$typeof,e===g)return 11;if(e===b)return 14}return 2}function fi(e,n){var t=e.alternate;return null===t?(t=oi(e.tag,n,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=14680064&e.flags,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=null===n?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function di(e,n,t,r,l,a){var i=2;if(r=e,"function"===typeof e)si(e)&&(i=1);else if("string"===typeof e)i=5;else e:switch(e){case c:return pi(t.children,l,a,n);case f:i=8,l|=8;break;case d:return e=oi(12,t,n,2|l),e.elementType=d,e.lanes=a,e;case m:return e=oi(13,t,n,l),e.elementType=m,e.lanes=a,e;case v:return e=oi(19,t,n,l),e.elementType=v,e.lanes=a,e;case S:return hi(t,l,a,n);default:if("object"===typeof e&&null!==e)switch(e.$$typeof){case p:i=10;break e;case h:i=9;break e;case g:i=11;break e;case b:i=14;break e;case y:i=16,r=null;break e}throw Error(u(130,null==e?e:typeof e,""))}return n=oi(i,t,n,l),n.elementType=e,n.type=r,n.lanes=a,n}function pi(e,n,t,r){return e=oi(7,e,r,n),e.lanes=t,e}function hi(e,n,t,r){return e=oi(22,e,r,n),e.elementType=S,e.lanes=t,e.stateNode={},e}function gi(e,n,t){return e=oi(6,e,null,n),e.lanes=t,e}function mi(e,n,t){return n=oi(4,null!==e.children?e.children:[],e.key,n),n.lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function vi(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=V,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Tn(0),this.expirationTimes=Tn(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Tn(0),this.identifierPrefix=r,this.onRecoverableError=l,J&&(this.mutableSourceEagerHydrationData=null)}function bi(e,n,t,r,l,a,u,i,o){return e=new vi(e,n,t,i,o),1===n?(n=1,!0===a&&(n|=8)):n=0,a=oi(3,null,null,n),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null},St(a),e}function yi(e){if(!e)return cn;e=e._reactInternals;e:{if(N(e)!==e||1!==e.tag)throw Error(u(170));var n=e;do{switch(n.tag){case 3:n=n.stateNode.context;break e;case 1:if(gn(n.type)){n=n.stateNode.__reactInternalMemoizedMergedChildContext;break e}}n=n.return}while(null!==n);throw Error(u(171))}if(1===e.tag){var t=e.type;if(gn(t))return bn(e,t,n)}return n}function Si(e){var n=e._reactInternals;if(void 0===n){if("function"===typeof e.render)throw Error(u(188));throw e=Object.keys(e).join(","),Error(u(268,e))}return e=C(n),null===e?null:e.stateNode}function ki(e,n){if(e=e.memoizedState,null!==e&&null!==e.dehydrated){var t=e.retryLane;e.retryLane=0!==t&&t=c&&a>=d&&l<=f&&i<=p){e.splice(n,1);break}if(!(r!==c||t.width!==s.width||pi)){d>a&&(s.height+=d-a,s.y=a),pl)){c>r&&(s.width+=c-r,s.x=r),ft&&(t=i)),i ")+"\n\nNo matching component was found for:\n "+e.join(" > ")}return null},n.getPublicRootInstance=function(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return R(e.child.stateNode);default:return e.child.stateNode}},n.injectIntoDevTools=function(e){if(e={bundleType:e.bundleType,version:e.version,rendererPackageName:e.rendererPackageName,rendererConfig:e.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:i.ReactCurrentDispatcher,findHostInstanceByFiber:wi,findFiberByHostInstance:e.findFiberByHostInstance||zi,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},"undefined"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)e=!1;else{var n=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(n.isDisabled||!n.supportsFiber)e=!0;else{try{qn=n.inject(e),Gn=n}catch(e){}e=!!n.checkDCE}}return e},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(e,n,t,r){if(!re)throw Error(u(363));e=Ka(e,n);var l=ce(e,t,r).disconnect;return{disconnect:function(){l()}}},n.registerMutableSourceForHydration=function(e,n){var t=n._getVersion;t=t(n._source),null==e.mutableSourceEagerHydrationData?e.mutableSourceEagerHydrationData=[n,t]:e.mutableSourceEagerHydrationData.push(n,t)},n.runWithPriority=function(e,n){var t=Mn;try{return Mn=e,n()}finally{Mn=t}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(e,n,t,r){var l=n.current,a=_u(),u=Lu(l);return t=yi(t),null===n.context?n.context=t:n.pendingContext=t,n=xt(a,u),n.payload={element:e},r=void 0===r?null:r,null!==r&&(n.callback=r),wt(l,n),e=Iu(l,u,a),null!==e&&zt(e,l,u),u},n}},772:function(e,n,t){"use strict";e.exports=t(735)},4845:function(e,n,t){"use strict";e.exports=t(2935)},8271:function(e,n,t){"use strict";var r=t(7842)["navigator"];function l(e,n){var t=e.length;e.push(n);e:for(;0>>1,l=e[r];if(!(0>>1;ri(o,t))si(c,o)?(e[r]=c,e[s]=t,r=s):(e[r]=o,e[u]=t,r=u);else{if(!(si(c,t)))break e;e[r]=c,e[s]=t,r=s}}}return n}function i(e,n){var t=e.sortIndex-n.sortIndex;return 0!==t?t:e.id-n.id}if("object"===typeof performance&&"function"===typeof performance.now){var o=performance;n.unstable_now=function(){return o.now()}}else{var s=Date,c=s.now();n.unstable_now=function(){return s.now()-c}}var f=[],d=[],p=1,h=null,g=3,m=!1,v=!1,b=!1,y="function"===typeof setTimeout?setTimeout:null,S="function"===typeof clearTimeout?clearTimeout:null,k="undefined"!==typeof setImmediate?setImmediate:null;function x(e){for(var n=a(d);null!==n;){if(null===n.callback)u(d);else{if(!(n.startTime<=e))break;u(d),n.sortIndex=n.expirationTime,l(f,n)}n=a(d)}}function w(e){if(b=!1,x(e),!v)if(null!==a(f))v=!0,U(z);else{var n=a(d);null!==n&&M(w,n.startTime-e)}}function z(e,t){v=!1,b&&(b=!1,S(C),C=-1),m=!0;var r=g;try{for(x(t),h=a(f);null!==h&&(!(h.expirationTime>t)||e&&!I());){var l=h.callback;if("function"===typeof l){h.callback=null,g=h.priorityLevel;var i=l(h.expirationTime<=t);t=n.unstable_now(),"function"===typeof i?h.callback=i:h===a(f)&&u(f),x(t)}else u(f);h=a(f)}if(null!==h)var o=!0;else{var s=a(d);null!==s&&M(w,s.startTime-t),o=!1}return o}finally{h=null,g=r,m=!1}}"undefined"!==typeof r&&void 0!==r.scheduling&&void 0!==r.scheduling.isInputPending&&r.scheduling.isInputPending.bind(r.scheduling);var N,E=!1,P=null,C=-1,_=5,L=-1;function I(){return!(n.unstable_now()-L<_)}function T(){if(null!==P){var e=n.unstable_now();L=e;var t=!0;try{t=P(!0,e)}finally{t?N():(E=!1,P=null)}}else E=!1}if("function"===typeof k)N=function(){k(T)};else if("undefined"!==typeof MessageChannel){var R=new MessageChannel,F=R.port2;R.port1.onmessage=T,N=function(){F.postMessage(null)}}else N=function(){y(T,0)};function U(e){P=e,E||(E=!0,N())}function M(e,t){C=y(function(){e(n.unstable_now())},t)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(e){e.callback=null},n.unstable_continueExecution=function(){v||m||(v=!0,U(z))},n.unstable_forceFrameRate=function(e){0>e||125u?(e.sortIndex=r,l(d,e),null===a(f)&&e===a(d)&&(b?(S(C),C=-1):b=!0,M(w,r-u))):(e.sortIndex=i,l(f,e),v||m||(v=!0,U(z))),e},n.unstable_shouldYield=I,n.unstable_wrapCallback=function(e){var n=g;return function(){var t=g;g=n;try{return e.apply(this,arguments)}finally{g=t}}}},8585:function(e,n,t){"use strict";e.exports=t(8271)}},function(e){var n=function(n){return e(e.s=n)};e.O(0,[907,96,76],function(){return n(4247)});e.O()}]); \ No newline at end of file +require("./common"),require("./vendors"),require("./taro"),require("./runtime"),(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[524],{4247:function(e,n,t){"use strict";t(6882);var r=t(7842),l=t(1291),a=t(758),u=t.n(a),i=t(3029),o=t(2901),s=t(6919),c=t(5501),f=t(6540),d=t.t(f,2),p=t(9703),h=t(1457),m=t(6606),g=t(3246),v=t(1212),b=t(467),y=null;function S(){return y||(y=k().finally(function(){y=null}),y)}function k(){return x.apply(this,arguments)}function x(){return x=(0,b.A)((0,v.A)().m(function e(){var n,t,r,l;return(0,v.A)().w(function(e){while(1)switch(e.p=e.n){case 0:if(n=(0,h.Q4)(),null!==n&&void 0!==n&&n.openid&&!(0,h.Ic)(n.openid)){e.n=1;break}return e.a(2,!1);case 1:return e.p=1,e.n=2,u().login();case 2:if(t=e.v,t.code){e.n=3;break}return e.a(2,!1);case 3:return e.n=4,g.Ay.post("/api/auth/login",{code:t.code},{auth:!1,skipAuthRefresh:!0});case 4:if(r=e.v,null!==r&&void 0!==r&&r.accessToken){e.n=5;break}return e.a(2,!1);case 5:return(0,g.WG)(r.accessToken),e.n=6,g.Ay.get("/api/users/me",{skipAuthRefresh:!0});case 6:if(l=e.v,(null===l||void 0===l?void 0:l.openid)!==n.openid){e.n=7;break}return e.a(2,!0);case 7:return(0,g.L)(),(0,h.Hf)(),e.a(2,!1);case 8:return e.p=8,e.v,e.a(2,!1)}},e,null,[[1,8]])})),x.apply(this,arguments)}function w(){return z.apply(this,arguments)}function z(){return z=(0,b.A)((0,v.A)().m(function e(){var n,t,r;return(0,v.A)().w(function(e){while(1)switch(e.p=e.n){case 0:if(n=(0,h.Q4)(),null!==n&&void 0!==n&&n.openid&&!(0,h.Ic)(n.openid)){e.n=1;break}return e.a(2,!1);case 1:if((0,g.gf)()){e.n=2;break}return e.a(2,S());case 2:return e.p=2,e.n=3,g.Ay.get("/api/users/me",{skipAuthRefresh:!0});case 3:return e.a(2,!0);case 4:if(e.p=4,r=e.v,t=null===r||void 0===r?void 0:r.statusCode,401!==t){e.n=5;break}return e.a(2,S());case 5:return e.a(2,!!(0,g.gf)())}},e,null,[[2,4]])})),z.apply(this,arguments)}var N=t(4848),E=function(e){function n(){return(0,i.A)(this,n),(0,s.A)(this,n,arguments)}return(0,c.A)(n,e),(0,o.A)(n,[{key:"componentWillMount",value:function(){(0,m.G)((0,h.eW)((0,h.O4)()))}},{key:"componentDidMount",value:function(){(0,m.G)((0,h.eW)((0,h.O4)())),(0,g.q)(S),w()}},{key:"componentDidShow",value:function(){}},{key:"componentDidHide",value:function(){}},{key:"render",value:function(){return(0,N.jsx)(p.NP,{children:this.props.children})}}])}(f.Component),P=E,C=t(7260),_={darkmode:!0,themeLocation:"theme.json",pages:["pages/index/index","pages/shop/index","pages/shop/detail/index","pages/product/index","pages/diy/index","pages/diy/stickerEdit/index","pages/checkout/index","pages/designList/index","pages/orders/index","pages/profile/index","pages/service/index","pages/wordcloud/index","pages/orderDetail/index","pages/address/index","pages/settings/index","pages/agreement/index","pages/userDatabase/index"],window:{navigationStyle:"custom"},tabBar:{custom:!0,list:[{pagePath:"pages/index/index",text:"\u9996\u9875"},{pagePath:"pages/shop/index",text:"\u5546\u54c1"},{pagePath:"pages/designList/index",text:"\u8bbe\u8ba1\u6e05\u5355"},{pagePath:"pages/orders/index",text:"\u8ba2\u5355"},{pagePath:"pages/profile/index",text:"\u6211\u7684"}]}};r.window.__taroAppConfig=_;App((0,l.ND)(P,d,C.Ay,_));(0,a.initPxTransform)({designWidth:750,deviceRatio:{640:1.17,750:1,828:.905},baseFontSize:20,unitPrecision:void 0,targetUnit:void 0})},735:function(e,n){"use strict";n.DefaultEventPriority=16},2935:function(e,n,t){e.exports=function(e){var n={},r=t(6540),l=t(8585),a=Object.assign;function u(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;ti||l[u]!==a[i]){var o="\n"+l[u].replace(" at new "," at ");return e.displayName&&o.includes("")&&(o=o.replace("",e.displayName)),o}}while(1<=u&&0<=i);break}}}finally{nn=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:"")?en(e):""}var rn=Object.prototype.hasOwnProperty,ln=[],an=-1;function un(e){return{current:e}}function on(e){0>an||(e.current=ln[an],ln[an]=null,an--)}function sn(e,n){an++,ln[an]=e.current,e.current=n}var cn={},fn=un(cn),dn=un(!1),pn=cn;function hn(e,n){var t=e.type.contextTypes;if(!t)return cn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l,a={};for(l in t)a[l]=n[l];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=a),a}function mn(e){return e=e.childContextTypes,null!==e&&void 0!==e}function gn(){on(dn),on(fn)}function vn(e,n,t){if(fn.current!==cn)throw Error(u(168));sn(fn,n),sn(dn,t)}function bn(e,n,t){var r=e.stateNode;if(n=n.childContextTypes,"function"!==typeof r.getChildContext)return t;for(var l in r=r.getChildContext(),r)if(!(l in n))throw Error(u(108,z(e)||"Unknown",l));return a({},t,r)}function yn(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||cn,pn=fn.current,sn(fn,e),sn(dn,dn.current),!0}function Sn(e,n,t){var r=e.stateNode;if(!r)throw Error(u(169));t?(e=bn(e,n,pn),r.__reactInternalMemoizedMergedChildContext=e,on(dn),on(fn),sn(fn,e)):on(dn),sn(dn,t)}var kn=Math.clz32?Math.clz32:zn,xn=Math.log,wn=Math.LN2;function zn(e){return e>>>=0,0===e?32:31-(xn(e)/wn|0)|0}var Nn=64,En=4194304;function Pn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Cn(e,n){var t=e.pendingLanes;if(0===t)return 0;var r=0,l=e.suspendedLanes,a=e.pingedLanes,u=268435455&t;if(0!==u){var i=u&~l;0!==i?r=Pn(i):(a&=u,0!==a&&(r=Pn(a)))}else u=t&~l,0!==u?r=Pn(u):0!==a&&(r=Pn(a));if(0===r)return 0;if(0!==n&&n!==r&&0===(n&l)&&(l=r&-r,a=n&-n,l>=a||16===l&&0!==(4194240&a)))return n;if(0!==(4&r)&&(r|=16&t),n=e.entangledLanes,0!==n)for(e=e.entanglements,n&=r;0t;t++)n.push(e);return n}function Rn(e,n,t){e.pendingLanes|=n,536870912!==n&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-kn(n),e[n]=t}function Fn(e,n){var t=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0>=u,l-=u,At=1<<32-kn(n)+l|t<d?(p=f,f=null):p=f.sibling;var h=g(l,f,i[d],o);if(null===h){null===f&&(f=p);break}e&&f&&null===h.alternate&&n(l,f),u=a(h,u,d),null===c?s=h:c.sibling=h,c=h,f=p}if(d===i.length)return t(l,f),Jt&&Ot(l,d),s;if(null===f){for(;dp?(h=d,d=null):h=d.sibling;var y=g(l,d,b.value,s);if(null===y){null===d&&(d=h);break}e&&d&&null===y.alternate&&n(l,d),i=a(y,i,p),null===f?c=y:f.sibling=y,f=y,d=h}if(b.done)return t(l,d),Jt&&Ot(l,p),c;if(null===d){for(;!b.done;p++,b=o.next())b=m(l,b.value,s),null!==b&&(i=a(b,i,p),null===f?c=b:f.sibling=b,f=b);return Jt&&Ot(l,p),c}for(d=r(l,d);!b.done;p++,b=o.next())b=v(d,l,p,b.value,s),null!==b&&(e&&null!==b.alternate&&d.delete(null===b.key?p:b.key),i=a(b,i,p),null===f?c=b:f.sibling=b,f=b);return e&&d.forEach(function(e){return n(l,e)}),Jt&&Ot(l,p),c}function k(e,r,a,u){if("object"===typeof a&&null!==a&&a.type===c&&null===a.key&&(a=a.props.children),"object"===typeof a&&null!==a){switch(a.$$typeof){case o:e:{for(var f=a.key,d=r;null!==d;){if(d.key===f){if(f=a.type,f===c){if(7===d.tag){t(e,d.sibling),r=l(d,a.props.children),r.return=e,e=r;break e}}else if(d.elementType===f||"object"===typeof f&&null!==f&&f.$$typeof===y&&sr(f)===d.type){t(e,d.sibling),r=l(d,a.props),r.ref=ir(e,d,a),r.return=e,e=r;break e}t(e,d);break}n(e,d),d=d.sibling}a.type===c?(r=pi(a.props.children,e.mode,u,a.key),r.return=e,e=r):(u=di(a.type,a.key,a.props,null,e.mode,u),u.ref=ir(e,r,a),u.return=e,e=u)}return i(e);case s:e:{for(d=a.key;null!==r;){if(r.key===d){if(4===r.tag&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){t(e,r.sibling),r=l(r,a.children||[]),r.return=e,e=r;break e}t(e,r);break}n(e,r),r=r.sibling}r=gi(a,e.mode,u),r.return=e,e=r}return i(e);case y:return d=a._init,k(e,r,d(a._payload),u)}if(T(a))return b(e,r,a,u);if(x(a))return S(e,r,a,u);or(e,a)}return"string"===typeof a&&""!==a||"number"===typeof a?(a=""+a,null!==r&&6===r.tag?(t(e,r.sibling),r=l(r,a),r.return=e,e=r):(t(e,r),r=mi(a,e.mode,u),r.return=e,e=r),i(e)):t(e,r)}return k}var fr=cr(!0),dr=cr(!1),pr={},hr=un(pr),mr=un(pr),gr=un(pr);function vr(e){if(e===pr)throw Error(u(174));return e}function br(e,n){sn(gr,n),sn(mr,e),sn(hr,pr),e=F(n),on(hr),sn(hr,e)}function yr(){on(hr),on(mr),on(gr)}function Sr(e){var n=vr(gr.current),t=vr(hr.current);n=U(t,e.type,n),t!==n&&(sn(mr,e),sn(hr,n))}function kr(e){mr.current===e&&(on(hr),on(mr))}var xr=un(0);function wr(e){for(var n=e;null!==n;){if(13===n.tag){var t=n.memoizedState;if(null!==t&&(t=t.dehydrated,null===t||Me(t)||De(t)))return n}else if(19===n.tag&&void 0!==n.memoizedProps.revealOrder){if(0!==(128&n.flags))return n}else if(null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var zr=[];function Nr(){for(var e=0;et?t:4,e(!0);var r=Pr.transition;Pr.transition={};try{e(!1),n()}finally{Mn=t,Pr.transition=r}}function dl(){return Br().memoizedState}function pl(e,n,t){var r=Lu(e);t={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null},ml(e)?gl(n,t):(vl(e,n,t),t=_u(),e=Iu(e,r,t),null!==e&&bl(e,n,r))}function hl(e,n,t){var r=Lu(e),l={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null};if(ml(e))gl(n,l);else{vl(e,n,l);var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&(a=n.lastRenderedReducer,null!==a))try{var u=n.lastRenderedState,i=a(u,t);if(l.hasEagerState=!0,l.eagerState=i,Kn(i,u))return}catch(e){}t=_u(),e=Iu(e,r,t),null!==e&&bl(e,n,r)}}function ml(e){var n=e.alternate;return e===_r||null!==n&&n===_r}function gl(e,n){Rr=Tr=!0;var t=e.pending;null===t?n.next=n:(n.next=t.next,t.next=n),e.pending=n}function vl(e,n,t){null!==ru&&0!==(1&e.mode)&&0===(2&tu)?(e=n.interleaved,null===e?(t.next=t,null===bt?bt=[n]:bt.push(n)):(t.next=e.next,e.next=t),n.interleaved=t):(e=n.pending,null===e?t.next=t:(t.next=e.next,e.next=t),n.pending=t)}function bl(e,n,t){if(0!==(4194240&t)){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,Un(e,t)}}var yl={readContext:vt,useCallback:Mr,useContext:Mr,useEffect:Mr,useImperativeHandle:Mr,useInsertionEffect:Mr,useLayoutEffect:Mr,useMemo:Mr,useReducer:Mr,useRef:Mr,useState:Mr,useDebugValue:Mr,useDeferredValue:Mr,useTransition:Mr,useMutableSource:Mr,useSyncExternalStore:Mr,useId:Mr,unstable_isNewReconciler:!1},Sl={readContext:vt,useCallback:function(e,n){return Wr().memoizedState=[e,void 0===n?null:n],e},useContext:vt,useEffect:tl,useImperativeHandle:function(e,n,t){return t=null!==t&&void 0!==t?t.concat([e]):null,el(4194308,4,ul.bind(null,n,e),t)},useLayoutEffect:function(e,n){return el(4194308,4,e,n)},useInsertionEffect:function(e,n){return el(4,2,e,n)},useMemo:function(e,n){var t=Wr();return n=void 0===n?null:n,e=e(),t.memoizedState=[e,n],e},useReducer:function(e,n,t){var r=Wr();return n=void 0!==t?t(n):n,r.memoizedState=r.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=pl.bind(null,_r,e),[r.memoizedState,e]},useRef:function(e){var n=Wr();return e={current:e},n.memoizedState=e},useState:Kr,useDebugValue:ol,useDeferredValue:function(e){var n=Kr(e),t=n[0],r=n[1];return tl(function(){var n=Pr.transition;Pr.transition={};try{r(e)}finally{Pr.transition=n}},[e]),t},useTransition:function(){var e=Kr(!1),n=e[0];return e=fl.bind(null,e[1]),Wr().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,t){var r=_r,l=Wr();if(Jt){if(void 0===t)throw Error(u(407));t=t()}else{if(t=n(),null===ru)throw Error(u(349));0!==(30&Cr)||qr(r,n,t)}l.memoizedState=t;var a={value:t,getSnapshot:n};return l.queue=a,tl(Yr.bind(null,r,a,e),[e]),r.flags|=2048,Xr(9,Gr.bind(null,r,a,t,n),void 0,null),t},useId:function(){var e=Wr(),n=ru.identifierPrefix;if(Jt){var t=jt,r=At;t=(r&~(1<<32-kn(r)-1)).toString(32)+t,n=":"+n+"R"+t,t=Fr++,0gu&&(n.flags|=128,r=!0,Ql(l,!1),n.lanes=4194304)}else{if(!r)if(e=wr(a),null!==e){if(n.flags|=128,r=!0,e=e.updateQueue,null!==e&&(n.updateQueue=e,n.flags|=4),Ql(l,!0),null===l.tail&&"hidden"===l.tailMode&&!a.alternate&&!Jt)return Hl(n),null}else 2*An()-l.renderingStartTime>gu&&1073741824!==t&&(n.flags|=128,r=!0,Ql(l,!1),n.lanes=4194304);l.isBackwards?(a.sibling=n.child,n.child=a):(e=l.last,null!==e?e.sibling=a:n.child=a,l.last=a)}return null!==l.tail?(n=l.tail,l.rendering=n,l.tail=n.sibling,l.renderingStartTime=An(),n.sibling=null,e=xr.current,sn(xr,r?1&e|2:1&e),n):(Hl(n),null);case 22:case 23:return Bu(),r=null!==n.memoizedState,null!==e&&null!==e.memoizedState!==r&&(n.flags|=8192),r&&0!==(1&n.mode)?0!==(1073741824&uu)&&(Hl(n),G&&6&n.subtreeFlags&&(n.flags|=8192)):Hl(n),null;case 24:return null;case 25:return null}throw Error(u(156,n.tag))}var Bl=i.ReactCurrentOwner,Al=!1;function jl(e,n,t,r){n.child=null===e?dr(n,null,t,r):fr(n,e.child,t,r)}function Ol(e,n,t,r,l){t=t.render;var a=n.ref;return gt(n,l),r=Qr(e,n,t,r,a,l),t=Hr(),null===e||Al?(Jt&&t&&Vt(n),n.flags|=1,jl(e,n,r,l),n.child):(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~l,ca(e,n,l))}function $l(e,n,t,r,l){if(null===e){var a=t.type;return"function"!==typeof a||si(a)||void 0!==a.defaultProps||null!==t.compare||void 0!==t.defaultProps?(e=di(t.type,null,r,n,n.mode,l),e.ref=n.ref,e.return=n,n.child=e):(n.tag=15,n.type=a,Vl(e,n,a,r,l))}if(a=e.child,0===(e.lanes&l)){var u=a.memoizedProps;if(t=t.compare,t=null!==t?t:at,t(u,r)&&e.ref===n.ref)return ca(e,n,l)}return n.flags|=1,e=fi(a,r),e.ref=n.ref,e.return=n,n.child=e}function Vl(e,n,t,r,l){if(null!==e&&at(e.memoizedProps,r)&&e.ref===n.ref){if(Al=!1,0===(e.lanes&l))return n.lanes=e.lanes,ca(e,n,l);0!==(131072&e.flags)&&(Al=!0)}return Yl(e,n,t,r,l)}function ql(e,n,t){var r=n.pendingProps,l=r.children,a=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(0===(1&n.mode))n.memoizedState={baseLanes:0,cachePool:null},sn(iu,uu),uu|=t;else{if(0===(1073741824&t))return e=null!==a?a.baseLanes|t:t,n.lanes=n.childLanes=1073741824,n.memoizedState={baseLanes:e,cachePool:null},n.updateQueue=null,sn(iu,uu),uu|=e,null;n.memoizedState={baseLanes:0,cachePool:null},r=null!==a?a.baseLanes:t,sn(iu,uu),uu|=r}else null!==a?(r=a.baseLanes|t,n.memoizedState=null):r=t,sn(iu,uu),uu|=r;return jl(e,n,l,t),n.child}function Gl(e,n){var t=n.ref;(null===e&&null!==t||null!==e&&e.ref!==t)&&(n.flags|=512,n.flags|=2097152)}function Yl(e,n,t,r,l){var a=mn(t)?pn:fn.current;return a=hn(n,a),gt(n,l),t=Qr(e,n,t,r,a,l),r=Hr(),null===e||Al?(Jt&&r&&Vt(n),n.flags|=1,jl(e,n,t,l),n.child):(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~l,ca(e,n,l))}function Jl(e,n,t,r,l){if(mn(t)){var a=!0;yn(n)}else a=!1;if(gt(n,l),null===n.stateNode)null!==e&&(e.alternate=null,n.alternate=null,n.flags|=2),Tt(n,t,r),Ft(n,t,r,l),r=!0;else if(null===e){var u=n.stateNode,i=n.memoizedProps;u.props=i;var o=u.context,s=t.contextType;"object"===typeof s&&null!==s?s=vt(s):(s=mn(t)?pn:fn.current,s=hn(n,s));var c=t.getDerivedStateFromProps,f="function"===typeof c||"function"===typeof u.getSnapshotBeforeUpdate;f||"function"!==typeof u.UNSAFE_componentWillReceiveProps&&"function"!==typeof u.componentWillReceiveProps||(i!==r||o!==s)&&Rt(n,u,r,s),yt=!1;var d=n.memoizedState;u.state=d,Et(n,r,u,l),o=n.memoizedState,i!==r||d!==o||dn.current||yt?("function"===typeof c&&(_t(n,t,c,r),o=n.memoizedState),(i=yt||It(n,t,i,r,d,o,s))?(f||"function"!==typeof u.UNSAFE_componentWillMount&&"function"!==typeof u.componentWillMount||("function"===typeof u.componentWillMount&&u.componentWillMount(),"function"===typeof u.UNSAFE_componentWillMount&&u.UNSAFE_componentWillMount()),"function"===typeof u.componentDidMount&&(n.flags|=4194308)):("function"===typeof u.componentDidMount&&(n.flags|=4194308),n.memoizedProps=r,n.memoizedState=o),u.props=r,u.state=o,u.context=s,r=i):("function"===typeof u.componentDidMount&&(n.flags|=4194308),r=!1)}else{u=n.stateNode,kt(e,n),i=n.memoizedProps,s=n.type===n.elementType?i:it(n.type,i),u.props=s,f=n.pendingProps,d=u.context,o=t.contextType,"object"===typeof o&&null!==o?o=vt(o):(o=mn(t)?pn:fn.current,o=hn(n,o));var p=t.getDerivedStateFromProps;(c="function"===typeof p||"function"===typeof u.getSnapshotBeforeUpdate)||"function"!==typeof u.UNSAFE_componentWillReceiveProps&&"function"!==typeof u.componentWillReceiveProps||(i!==f||d!==o)&&Rt(n,u,r,o),yt=!1,d=n.memoizedState,u.state=d,Et(n,r,u,l);var h=n.memoizedState;i!==f||d!==h||dn.current||yt?("function"===typeof p&&(_t(n,t,p,r),h=n.memoizedState),(s=yt||It(n,t,s,r,d,h,o)||!1)?(c||"function"!==typeof u.UNSAFE_componentWillUpdate&&"function"!==typeof u.componentWillUpdate||("function"===typeof u.componentWillUpdate&&u.componentWillUpdate(r,h,o),"function"===typeof u.UNSAFE_componentWillUpdate&&u.UNSAFE_componentWillUpdate(r,h,o)),"function"===typeof u.componentDidUpdate&&(n.flags|=4),"function"===typeof u.getSnapshotBeforeUpdate&&(n.flags|=1024)):("function"!==typeof u.componentDidUpdate||i===e.memoizedProps&&d===e.memoizedState||(n.flags|=4),"function"!==typeof u.getSnapshotBeforeUpdate||i===e.memoizedProps&&d===e.memoizedState||(n.flags|=1024),n.memoizedProps=r,n.memoizedState=h),u.props=r,u.state=h,u.context=o,r=s):("function"!==typeof u.componentDidUpdate||i===e.memoizedProps&&d===e.memoizedState||(n.flags|=4),"function"!==typeof u.getSnapshotBeforeUpdate||i===e.memoizedProps&&d===e.memoizedState||(n.flags|=1024),r=!1)}return Kl(e,n,t,r,a,l)}function Kl(e,n,t,r,l,a){Gl(e,n);var u=0!==(128&n.flags);if(!r&&!u)return l&&Sn(n,t,!1),ca(e,n,a);r=n.stateNode,Bl.current=n;var i=u&&"function"!==typeof t.getDerivedStateFromError?null:r.render();return n.flags|=1,null!==e&&u?(n.child=fr(n,e.child,null,a),n.child=fr(n,null,i,a)):jl(e,n,i,a),n.memoizedState=r.state,l&&Sn(n,t,!0),n.child}function Xl(e){var n=e.stateNode;n.pendingContext?vn(e,n.pendingContext,n.pendingContext!==n.context):n.context&&vn(e,n.context,!1),br(e,n.containerInfo)}function Zl(e,n,t,r,l){return ar(),ur(l),n.flags|=256,jl(e,n,t,r),n.child}var ea={dehydrated:null,treeContext:null,retryLane:0};function na(e){return{baseLanes:e,cachePool:null}}function ta(e,n,t){var r,l=n.pendingProps,a=xr.current,i=!1,o=0!==(128&n.flags);if((r=o)||(r=(null===e||null!==e.memoizedState)&&0!==(2&a)),r?(i=!0,n.flags&=-129):null!==e&&null===e.memoizedState||(a|=1),sn(xr,1&a),null===e)return tr(n),e=n.memoizedState,null!==e&&(e=e.dehydrated,null!==e)?(0===(1&n.mode)?n.lanes=1:De(e)?n.lanes=8:n.lanes=1073741824,null):(a=l.children,e=l.fallback,i?(l=n.mode,i=n.child,a={mode:"hidden",children:a},0===(1&l)&&null!==i?(i.childLanes=0,i.pendingProps=a):i=hi(a,l,0,null),e=pi(e,l,t,null),i.return=n,e.return=n,i.sibling=e,n.child=i,n.child.memoizedState=na(t),n.memoizedState=ea,e):ra(n,a));if(a=e.memoizedState,null!==a){if(r=a.dehydrated,null!==r){if(o)return 256&n.flags?(n.flags&=-257,ua(e,n,t,Error(u(422)))):null!==n.memoizedState?(n.child=e.child,n.flags|=128,null):(i=l.fallback,a=n.mode,l=hi({mode:"visible",children:l.children},a,0,null),i=pi(i,a,t,null),i.flags|=2,l.return=n,i.return=n,l.sibling=i,n.child=l,0!==(1&n.mode)&&fr(n,e.child,null,t),n.child.memoizedState=na(t),n.memoizedState=ea,i);if(0===(1&n.mode))n=ua(e,n,t,null);else if(De(r))n=ua(e,n,t,Error(u(419)));else if(l=0!==(t&e.childLanes),Al||l){if(l=ru,null!==l){switch(t&-t){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}l=0!==(i&(l.suspendedLanes|t))?0:i,0!==l&&l!==a.retryLane&&(a.retryLane=l,Iu(e,l,-1))}$u(),n=ua(e,n,t,Error(u(421)))}else Me(r)?(n.flags|=128,n.child=e.child,n=li.bind(null,e),Qe(r,n),n=null):(t=a.treeContext,J&&(Yt=Ae(r),Gt=n,Jt=!0,Xt=null,Kt=!1,null!==t&&(Ht[Wt++]=At,Ht[Wt++]=jt,Ht[Wt++]=Bt,At=t.id,jt=t.overflow,Bt=n)),n=ra(n,n.pendingProps.children),n.flags|=4096);return n}return i?(l=aa(e,n,l.children,l.fallback,t),i=n.child,a=e.child.memoizedState,i.memoizedState=null===a?na(t):{baseLanes:a.baseLanes|t,cachePool:null},i.childLanes=e.childLanes&~t,n.memoizedState=ea,l):(t=la(e,n,l.children,t),n.memoizedState=null,t)}return i?(l=aa(e,n,l.children,l.fallback,t),i=n.child,a=e.child.memoizedState,i.memoizedState=null===a?na(t):{baseLanes:a.baseLanes|t,cachePool:null},i.childLanes=e.childLanes&~t,n.memoizedState=ea,l):(t=la(e,n,l.children,t),n.memoizedState=null,t)}function ra(e,n){return n=hi({mode:"visible",children:n},e.mode,0,null),n.return=e,e.child=n}function la(e,n,t,r){var l=e.child;return e=l.sibling,t=fi(l,{mode:"visible",children:t}),0===(1&n.mode)&&(t.lanes=r),t.return=n,t.sibling=null,null!==e&&(r=n.deletions,null===r?(n.deletions=[e],n.flags|=16):r.push(e)),n.child=t}function aa(e,n,t,r,l){var a=n.mode;e=e.child;var u=e.sibling,i={mode:"hidden",children:t};return 0===(1&a)&&n.child!==e?(t=n.child,t.childLanes=0,t.pendingProps=i,n.deletions=null):(t=fi(e,i),t.subtreeFlags=14680064&e.subtreeFlags),null!==u?r=fi(u,r):(r=pi(r,a,l,null),r.flags|=2),r.return=n,t.return=n,t.sibling=r,n.child=t,r}function ua(e,n,t,r){return null!==r&&ur(r),fr(n,e.child,null,t),e=ra(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function ia(e,n,t){e.lanes|=n;var r=e.alternate;null!==r&&(r.lanes|=n),mt(e.return,n,t)}function oa(e,n,t,r,l){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:r,tail:t,tailMode:l}:(a.isBackwards=n,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=t,a.tailMode=l)}function sa(e,n,t){var r=n.pendingProps,l=r.revealOrder,a=r.tail;if(jl(e,n,r.children,t),r=xr.current,0!==(2&r))r=1&r|2,n.flags|=128;else{if(null!==e&&0!==(128&e.flags))e:for(e=n.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&ia(e,t,n);else if(19===e.tag)ia(e,t,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===n)break e;for(;null===e.sibling;){if(null===e.return||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(sn(xr,r),0===(1&n.mode))n.memoizedState=null;else switch(l){case"forwards":for(t=n.child,l=null;null!==t;)e=t.alternate,null!==e&&null===wr(e)&&(l=t),t=t.sibling;t=l,null===t?(l=n.child,n.child=null):(l=t.sibling,t.sibling=null),oa(n,!1,l,t,a);break;case"backwards":for(t=null,l=n.child,n.child=null;null!==l;){if(e=l.alternate,null!==e&&null===wr(e)){n.child=l;break}e=l.sibling,l.sibling=t,t=l,l=e}oa(n,!0,t,null,a);break;case"together":oa(n,!1,null,null,void 0);break;default:n.memoizedState=null}return n.child}function ca(e,n,t){if(null!==e&&(n.dependencies=e.dependencies),cu|=n.lanes,0===(t&n.childLanes))return null;if(null!==e&&n.child!==e.child)throw Error(u(153));if(null!==n.child){for(e=n.child,t=fi(e,e.pendingProps),n.child=t,t.return=n;null!==e.sibling;)e=e.sibling,t=t.sibling=fi(e,e.pendingProps),t.return=n;t.sibling=null}return n.child}function fa(e,n,t){switch(n.tag){case 3:Xl(n),ar();break;case 5:Sr(n);break;case 1:mn(n.type)&&yn(n);break;case 4:br(n,n.stateNode.containerInfo);break;case 10:pt(n,n.type._context,n.memoizedProps.value);break;case 13:var r=n.memoizedState;if(null!==r)return null!==r.dehydrated?(sn(xr,1&xr.current),n.flags|=128,null):0!==(t&n.child.childLanes)?ta(e,n,t):(sn(xr,1&xr.current),e=ca(e,n,t),null!==e?e.sibling:null);sn(xr,1&xr.current);break;case 19:if(r=0!==(t&n.childLanes),0!==(128&e.flags)){if(r)return sa(e,n,t);n.flags|=128}var l=n.memoizedState;if(null!==l&&(l.rendering=null,l.tail=null,l.lastEffect=null),sn(xr,xr.current),r)break;return null;case 22:case 23:return n.lanes=0,ql(e,n,t)}return ca(e,n,t)}function da(e,n){switch(qt(n),n.tag){case 1:return mn(n.type)&&gn(),e=n.flags,65536&e?(n.flags=-65537&e|128,n):null;case 3:return yr(),on(dn),on(fn),Nr(),e=n.flags,0!==(65536&e)&&0===(128&e)?(n.flags=-65537&e|128,n):null;case 5:return kr(n),null;case 13:if(on(xr),e=n.memoizedState,null!==e&&null!==e.dehydrated){if(null===n.alternate)throw Error(u(340));ar()}return e=n.flags,65536&e?(n.flags=-65537&e|128,n):null;case 19:return on(xr),null;case 4:return yr(),null;case 10:return ht(n.type._context),null;case 22:case 23:return Bu(),null;case 24:return null;default:return null}}var pa=!1,ha=!1,ma="function"===typeof WeakSet?WeakSet:Set,ga=null;function va(e,n){var t=e.ref;if(null!==t)if("function"===typeof t)try{t(null)}catch(t){ni(e,n,t)}else t.current=null}function ba(e,n,t){try{t()}catch(t){ni(e,n,t)}}var ya=!1;function Sa(e,n){for(M(e.containerInfo),ga=n;null!==ga;)if(e=ga,n=e.child,0!==(1028&e.subtreeFlags)&&null!==n)n.return=e,ga=n;else for(;null!==ga;){e=ga;try{var t=e.alternate;if(0!==(1024&e.flags))switch(e.tag){case 0:case 11:case 15:break;case 1:if(null!==t){var r=t.memoizedProps,l=t.memoizedState,a=e.stateNode,i=a.getSnapshotBeforeUpdate(e.elementType===e.type?r:it(e.type,r),l);a.__reactInternalSnapshotBeforeUpdate=i}break;case 3:G&&Ne(e.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(u(163))}}catch(n){ni(e,e.return,n)}if(n=e.sibling,null!==n){n.return=e.return,ga=n;break}ga=e.return}return t=ya,ya=!1,t}function ka(e,n,t){var r=n.updateQueue;if(r=null!==r?r.lastEffect:null,null!==r){var l=r=r.next;do{if((l.tag&e)===e){var a=l.destroy;l.destroy=void 0,void 0!==a&&ba(n,t,a)}l=l.next}while(l!==r)}}function xa(e,n){if(n=n.updateQueue,n=null!==n?n.lastEffect:null,null!==n){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function wa(e){var n=e.ref;if(null!==n){var t=e.stateNode;switch(e.tag){case 5:e=R(t);break;default:e=t}"function"===typeof n?n(e):n.current=e}}function za(e,n,t){if(Gn&&"function"===typeof Gn.onCommitFiberUnmount)try{Gn.onCommitFiberUnmount(qn,n)}catch(e){}switch(n.tag){case 0:case 11:case 14:case 15:if(e=n.updateQueue,null!==e&&(e=e.lastEffect,null!==e)){var r=e=e.next;do{var l=r,a=l.destroy;l=l.tag,void 0!==a&&(0!==(2&l)||0!==(4&l))&&ba(n,t,a),r=r.next}while(r!==e)}break;case 1:if(va(n,t),e=n.stateNode,"function"===typeof e.componentWillUnmount)try{e.props=n.memoizedProps,e.state=n.memoizedState,e.componentWillUnmount()}catch(e){ni(n,t,e)}break;case 5:va(n,t);break;case 4:G?Ta(e,n,t):Y&&Y&&(n=n.stateNode.containerInfo,t=Pe(n),Le(n,t))}}function Na(e,n,t){for(var r=n;;)if(za(e,r,t),null===r.child||G&&4===r.tag){if(r===n)break;for(;null===r.sibling;){if(null===r.return||r.return===n)return;r=r.return}r.sibling.return=r.return,r=r.sibling}else r.child.return=r,r=r.child}function Ea(e){var n=e.alternate;null!==n&&(e.alternate=null,Ea(n)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(n=e.stateNode,null!==n&&ee(n)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Pa(e){return 5===e.tag||3===e.tag||4===e.tag}function Ca(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||Pa(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function _a(e){if(G){e:{for(var n=e.return;null!==n;){if(Pa(n))break e;n=n.return}throw Error(u(160))}var t=n;switch(t.tag){case 5:n=t.stateNode,32&t.flags&&(Se(n),t.flags&=-33),t=Ca(e),Ia(e,t,n);break;case 3:case 4:n=t.stateNode.containerInfo,t=Ca(e),La(e,t,n);break;default:throw Error(u(161))}}}function La(e,n,t){var r=e.tag;if(5===r||6===r)e=e.stateNode,n?ve(t,e,n):de(t,e);else if(4!==r&&(e=e.child,null!==e))for(La(e,n,t),e=e.sibling;null!==e;)La(e,n,t),e=e.sibling}function Ia(e,n,t){var r=e.tag;if(5===r||6===r)e=e.stateNode,n?ge(t,e,n):fe(t,e);else if(4!==r&&(e=e.child,null!==e))for(Ia(e,n,t),e=e.sibling;null!==e;)Ia(e,n,t),e=e.sibling}function Ta(e,n,t){for(var r,l,a=n,i=!1;;){if(!i){i=a.return;e:for(;;){if(null===i)throw Error(u(160));switch(r=i.stateNode,i.tag){case 5:l=!1;break e;case 3:r=r.containerInfo,l=!0;break e;case 4:r=r.containerInfo,l=!0;break e}i=i.return}i=!0}if(5===a.tag||6===a.tag)Na(e,a,t),l?ye(r,a.stateNode):be(r,a.stateNode);else if(18===a.tag)l?Je(r,a.stateNode):Ye(r,a.stateNode);else if(4===a.tag){if(null!==a.child){r=a.stateNode.containerInfo,l=!0,a.child.return=a,a=a.child;continue}}else if(za(e,a,t),null!==a.child){a.child.return=a,a=a.child;continue}if(a===n)break;for(;null===a.sibling;){if(null===a.return||a.return===n)return;a=a.return,4===a.tag&&(i=!1)}a.sibling.return=a.return,a=a.sibling}}function Ra(e,n){if(G){switch(n.tag){case 0:case 11:case 14:case 15:return ka(3,n,n.return),xa(3,n),void ka(5,n,n.return);case 1:return;case 5:var t=n.stateNode;if(null!=t){var r=n.memoizedProps;e=null!==e?e.memoizedProps:r;var l=n.type,a=n.updateQueue;n.updateQueue=null,null!==a&&me(t,a,l,e,r,n)}return;case 6:if(null===n.stateNode)throw Error(u(162));return t=n.memoizedProps,void pe(n.stateNode,null!==e?e.memoizedProps:t,t);case 3:return void(J&&null!==e&&e.memoizedState.isDehydrated&&qe(n.stateNode.containerInfo));case 12:return;case 13:return void Fa(n);case 19:return void Fa(n);case 17:return}throw Error(u(163))}switch(n.tag){case 0:case 11:case 14:case 15:return ka(3,n,n.return),xa(3,n),void ka(5,n,n.return);case 12:return;case 13:return void Fa(n);case 19:return void Fa(n);case 3:J&&null!==e&&e.memoizedState.isDehydrated&&qe(n.stateNode.containerInfo);break;case 22:case 23:return}e:if(Y){switch(n.tag){case 1:case 5:case 6:break e;case 3:case 4:n=n.stateNode,Le(n.containerInfo,n.pendingChildren);break e}throw Error(u(163))}}function Fa(e){var n=e.updateQueue;if(null!==n){e.updateQueue=null;var t=e.stateNode;null===t&&(t=e.stateNode=new ma),n.forEach(function(n){var r=ai.bind(null,e,n);t.has(n)||(t.add(n),n.then(r,r))})}}function Ua(e,n){for(ga=n;null!==ga;){n=ga;var t=n.deletions;if(null!==t)for(var r=0;r";case Aa:return":has("+(Ya(e)||"")+")";case ja:return'[role="'+e.value+'"]';case $a:return'"'+e.value+'"';case Oa:return'[data-testname="'+e.value+'"]';default:throw Error(u(365))}}function Ja(e,n){var t=[];e=[e,0];for(var r=0;rl&&(l=i),r&=~a}if(r=l,r=An()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Xa(r/1960))-r,10e?16:e,null===wu)var r=!1;else{if(e=wu,wu=null,zu=0,0!==(6&tu))throw Error(u(331));var l=tu;for(tu|=4,ga=e.current;null!==ga;){var a=ga,i=a.child;if(0!==(16&ga.flags)){var o=a.deletions;if(null!==o){for(var s=0;sAn()-mu?Au(e,0):du|=t),Ru(e,n)}function ri(e,n){0===n&&(0===(1&e.mode)?n=1:(n=En,En<<=1,0===(130023424&En)&&(En=4194304)));var t=_u();e=Tu(e,n),null!==e&&(Rn(e,n,t),Ru(e,t))}function li(e){var n=e.memoizedState,t=0;null!==n&&(t=n.retryLane),ri(e,t)}function ai(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;null!==l&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(u(314))}null!==r&&r.delete(n),ri(e,t)}function ui(e,n){return Qn(e,n)}function ii(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function oi(e,n,t,r){return new ii(e,n,t,r)}function si(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ci(e){if("function"===typeof e)return si(e)?1:0;if(void 0!==e&&null!==e){if(e=e.$$typeof,e===m)return 11;if(e===b)return 14}return 2}function fi(e,n){var t=e.alternate;return null===t?(t=oi(e.tag,n,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=14680064&e.flags,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=null===n?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function di(e,n,t,r,l,a){var i=2;if(r=e,"function"===typeof e)si(e)&&(i=1);else if("string"===typeof e)i=5;else e:switch(e){case c:return pi(t.children,l,a,n);case f:i=8,l|=8;break;case d:return e=oi(12,t,n,2|l),e.elementType=d,e.lanes=a,e;case g:return e=oi(13,t,n,l),e.elementType=g,e.lanes=a,e;case v:return e=oi(19,t,n,l),e.elementType=v,e.lanes=a,e;case S:return hi(t,l,a,n);default:if("object"===typeof e&&null!==e)switch(e.$$typeof){case p:i=10;break e;case h:i=9;break e;case m:i=11;break e;case b:i=14;break e;case y:i=16,r=null;break e}throw Error(u(130,null==e?e:typeof e,""))}return n=oi(i,t,n,l),n.elementType=e,n.type=r,n.lanes=a,n}function pi(e,n,t,r){return e=oi(7,e,r,n),e.lanes=t,e}function hi(e,n,t,r){return e=oi(22,e,r,n),e.elementType=S,e.lanes=t,e.stateNode={},e}function mi(e,n,t){return e=oi(6,e,null,n),e.lanes=t,e}function gi(e,n,t){return n=oi(4,null!==e.children?e.children:[],e.key,n),n.lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function vi(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=V,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Tn(0),this.expirationTimes=Tn(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Tn(0),this.identifierPrefix=r,this.onRecoverableError=l,J&&(this.mutableSourceEagerHydrationData=null)}function bi(e,n,t,r,l,a,u,i,o){return e=new vi(e,n,t,i,o),1===n?(n=1,!0===a&&(n|=8)):n=0,a=oi(3,null,null,n),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null},St(a),e}function yi(e){if(!e)return cn;e=e._reactInternals;e:{if(N(e)!==e||1!==e.tag)throw Error(u(170));var n=e;do{switch(n.tag){case 3:n=n.stateNode.context;break e;case 1:if(mn(n.type)){n=n.stateNode.__reactInternalMemoizedMergedChildContext;break e}}n=n.return}while(null!==n);throw Error(u(171))}if(1===e.tag){var t=e.type;if(mn(t))return bn(e,t,n)}return n}function Si(e){var n=e._reactInternals;if(void 0===n){if("function"===typeof e.render)throw Error(u(188));throw e=Object.keys(e).join(","),Error(u(268,e))}return e=C(n),null===e?null:e.stateNode}function ki(e,n){if(e=e.memoizedState,null!==e&&null!==e.dehydrated){var t=e.retryLane;e.retryLane=0!==t&&t=c&&a>=d&&l<=f&&i<=p){e.splice(n,1);break}if(!(r!==c||t.width!==s.width||pi)){d>a&&(s.height+=d-a,s.y=a),pl)){c>r&&(s.width+=c-r,s.x=r),ft&&(t=i)),i ")+"\n\nNo matching component was found for:\n "+e.join(" > ")}return null},n.getPublicRootInstance=function(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return R(e.child.stateNode);default:return e.child.stateNode}},n.injectIntoDevTools=function(e){if(e={bundleType:e.bundleType,version:e.version,rendererPackageName:e.rendererPackageName,rendererConfig:e.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:i.ReactCurrentDispatcher,findHostInstanceByFiber:wi,findFiberByHostInstance:e.findFiberByHostInstance||zi,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},"undefined"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)e=!1;else{var n=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(n.isDisabled||!n.supportsFiber)e=!0;else{try{qn=n.inject(e),Gn=n}catch(e){}e=!!n.checkDCE}}return e},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(e,n,t,r){if(!re)throw Error(u(363));e=Ka(e,n);var l=ce(e,t,r).disconnect;return{disconnect:function(){l()}}},n.registerMutableSourceForHydration=function(e,n){var t=n._getVersion;t=t(n._source),null==e.mutableSourceEagerHydrationData?e.mutableSourceEagerHydrationData=[n,t]:e.mutableSourceEagerHydrationData.push(n,t)},n.runWithPriority=function(e,n){var t=Mn;try{return Mn=e,n()}finally{Mn=t}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(e,n,t,r){var l=n.current,a=_u(),u=Lu(l);return t=yi(t),null===n.context?n.context=t:n.pendingContext=t,n=xt(a,u),n.payload={element:e},r=void 0===r?null:r,null!==r&&(n.callback=r),wt(l,n),e=Iu(l,u,a),null!==e&&zt(e,l,u),u},n}},772:function(e,n,t){"use strict";e.exports=t(735)},4845:function(e,n,t){"use strict";e.exports=t(2935)},8271:function(e,n,t){"use strict";var r=t(7842)["navigator"];function l(e,n){var t=e.length;e.push(n);e:for(;0>>1,l=e[r];if(!(0>>1;ri(o,t))si(c,o)?(e[r]=c,e[s]=t,r=s):(e[r]=o,e[u]=t,r=u);else{if(!(si(c,t)))break e;e[r]=c,e[s]=t,r=s}}}return n}function i(e,n){var t=e.sortIndex-n.sortIndex;return 0!==t?t:e.id-n.id}if("object"===typeof performance&&"function"===typeof performance.now){var o=performance;n.unstable_now=function(){return o.now()}}else{var s=Date,c=s.now();n.unstable_now=function(){return s.now()-c}}var f=[],d=[],p=1,h=null,m=3,g=!1,v=!1,b=!1,y="function"===typeof setTimeout?setTimeout:null,S="function"===typeof clearTimeout?clearTimeout:null,k="undefined"!==typeof setImmediate?setImmediate:null;function x(e){for(var n=a(d);null!==n;){if(null===n.callback)u(d);else{if(!(n.startTime<=e))break;u(d),n.sortIndex=n.expirationTime,l(f,n)}n=a(d)}}function w(e){if(b=!1,x(e),!v)if(null!==a(f))v=!0,U(z);else{var n=a(d);null!==n&&M(w,n.startTime-e)}}function z(e,t){v=!1,b&&(b=!1,S(C),C=-1),g=!0;var r=m;try{for(x(t),h=a(f);null!==h&&(!(h.expirationTime>t)||e&&!I());){var l=h.callback;if("function"===typeof l){h.callback=null,m=h.priorityLevel;var i=l(h.expirationTime<=t);t=n.unstable_now(),"function"===typeof i?h.callback=i:h===a(f)&&u(f),x(t)}else u(f);h=a(f)}if(null!==h)var o=!0;else{var s=a(d);null!==s&&M(w,s.startTime-t),o=!1}return o}finally{h=null,m=r,g=!1}}"undefined"!==typeof r&&void 0!==r.scheduling&&void 0!==r.scheduling.isInputPending&&r.scheduling.isInputPending.bind(r.scheduling);var N,E=!1,P=null,C=-1,_=5,L=-1;function I(){return!(n.unstable_now()-L<_)}function T(){if(null!==P){var e=n.unstable_now();L=e;var t=!0;try{t=P(!0,e)}finally{t?N():(E=!1,P=null)}}else E=!1}if("function"===typeof k)N=function(){k(T)};else if("undefined"!==typeof MessageChannel){var R=new MessageChannel,F=R.port2;R.port1.onmessage=T,N=function(){F.postMessage(null)}}else N=function(){y(T,0)};function U(e){P=e,E||(E=!0,N())}function M(e,t){C=y(function(){e(n.unstable_now())},t)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(e){e.callback=null},n.unstable_continueExecution=function(){v||g||(v=!0,U(z))},n.unstable_forceFrameRate=function(e){0>e||125u?(e.sortIndex=r,l(d,e),null===a(f)&&e===a(d)&&(b?(S(C),C=-1):b=!0,M(w,r-u))):(e.sortIndex=i,l(f,e),v||g||(v=!0,U(z))),e},n.unstable_shouldYield=I,n.unstable_wrapCallback=function(e){var n=m;return function(){var t=m;m=n;try{return e.apply(this,arguments)}finally{m=t}}}},8585:function(e,n,t){"use strict";e.exports=t(8271)}},function(e){var n=function(n){return e(e.s=n)};e.O(0,[907,96,76],function(){return n(4247)});e.O()}]); \ No newline at end of file diff --git a/dist/app.json b/dist/app.json index ff97001..26b462e 100644 --- a/dist/app.json +++ b/dist/app.json @@ -1 +1 @@ -{"darkmode":true,"themeLocation":"theme.json","pages":["pages/index/index","pages/shop/index","pages/shop/detail/index","pages/product/index","pages/diy/index","pages/diy/stickerEdit/index","pages/checkout/index","pages/designList/index","pages/orders/index","pages/profile/index","pages/service/index","pages/wordcloud/index","pages/orderDetail/index","pages/address/index","pages/settings/index","pages/agreement/index","pages/userDatabase/index"],"window":{"backgroundTextStyle":"dark","navigationStyle":"custom","navigationBarBackgroundColor":"#faf7f2","backgroundColor":"#faf7f2","backgroundColorTop":"#faf7f2","backgroundColorBottom":"#faf7f2","navigationBarTextStyle":"black"},"tabBar":{"custom":true,"list":[{"pagePath":"pages/index/index","text":"首页"},{"pagePath":"pages/shop/index","text":"商品"},{"pagePath":"pages/designList/index","text":"设计清单"},{"pagePath":"pages/orders/index","text":"订单"},{"pagePath":"pages/profile/index","text":"我的"}]}} \ No newline at end of file +{"darkmode":true,"themeLocation":"theme.json","pages":["pages/index/index","pages/shop/index","pages/shop/detail/index","pages/product/index","pages/diy/index","pages/diy/stickerEdit/index","pages/checkout/index","pages/designList/index","pages/orders/index","pages/profile/index","pages/service/index","pages/wordcloud/index","pages/orderDetail/index","pages/address/index","pages/settings/index","pages/agreement/index","pages/userDatabase/index"],"window":{"navigationStyle":"custom"},"tabBar":{"custom":true,"list":[{"pagePath":"pages/index/index","text":"首页"},{"pagePath":"pages/shop/index","text":"商品"},{"pagePath":"pages/designList/index","text":"设计清单"},{"pagePath":"pages/orders/index","text":"订单"},{"pagePath":"pages/profile/index","text":"我的"}]}} \ No newline at end of file diff --git a/dist/common.js b/dist/common.js index d58494f..ed9594c 100644 --- a/dist/common.js +++ b/dist/common.js @@ -1 +1 @@ -"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[76],{9513:function(n,t,e){e.d(t,{A:function(){return i}});var r=e(118),o=e(4848);function i(n){var t=n.children,e=n.className,i=n.style;return(0,o.jsx)(r.Ss,{className:"bottom-action-bar ".concat(e||""),style:i,children:t})}},7723:function(n,t,e){e.d(t,{A:function(){return d}});var r=e(5544),o=e(758),i=e.n(o),c=e(6540),u=e(118),a=e(6764),s=e(9703),l=e(8199),f=e(4848);function d(n){var t=(0,c.useState)("checking"),e=(0,r.A)(t,2),o=e[0],d=e[1],g=(0,c.useCallback)(function(){var n=!1;return(0,a.d)().then(function(t){n||d(t?"ok":"denied")}).catch(function(){n||d("denied")}),function(){n=!0}},[]);return(0,c.useEffect)(function(){var n=g(),t=function(){g()},e=function(){g()};return i().eventCenter.on("tabBarChange",t),i().eventCenter.on(s.Wo,e),i().eventCenter.on("authStateChanged",t),function(){n(),i().eventCenter.off("tabBarChange",t),i().eventCenter.off(s.Wo,e),i().eventCenter.off("authStateChanged",t)}},[g]),"checking"===o?(0,f.jsx)(u.Ss,{className:"login-guard",children:(0,f.jsxs)(u.Ss,{className:"login-guard-inner",children:[(0,f.jsx)(u._V,{className:"login-guard-icon",src:(0,l.uq)("/icon/\u8bbe\u7f6e.png"),mode:"aspectFit"}),(0,f.jsx)(u.EY,{className:"login-guard-title",children:"\u6821\u9a8c\u767b\u5f55\u72b6\u6001"})]})}):"denied"===o?(0,f.jsx)(u.Ss,{className:"login-guard",children:(0,f.jsxs)(u.Ss,{className:"login-guard-inner",children:[(0,f.jsx)(u._V,{className:"login-guard-icon",src:(0,l.uq)("/icon/\u4e2a\u4eba.png"),mode:"aspectFit"}),(0,f.jsx)(u.EY,{className:"login-guard-title",children:"\u8bf7\u5148\u767b\u5f55"}),(0,f.jsx)(u.EY,{className:"login-guard-desc",children:"\u767b\u5f55\u540e\u67e5\u770b\u60a8\u7684\u4e13\u5c5e\u5185\u5bb9"}),(0,f.jsx)(u.Ss,{className:"btn-primary login-guard-btn",onTap:function(){return i().switchTab({url:"/pages/profile/index"})},children:(0,f.jsx)(u.EY,{children:"\u53bb\u767b\u5f55"})})]})}):n.children}},3053:function(n,t,e){e.d(t,{A:function(){return d}});var r=e(5544),o=e(118),i=e(758),c=e.n(i),u=e(6540),a=e(9201);function s(n){var t=n.viewportBottom,e=n.scrollTop,r=n.statusBarHeight,o=Number.isFinite(t)?t:0,i=Number.isFinite(e)?e:0,c=Number.isFinite(r)?r:0;return Math.max(0,o+i-c-8)}function l(n){var t=n.scrollTop,e=n.startY,r=n.rangeY,o=Number.isFinite(t)?t:0,i=Math.max(0,Number.isFinite(e)?e:0),c=Math.max(1,Number.isFinite(r)?r:1);return o<=i?0:Math.min(1,(o-i)/c)}var f=e(4848);function d(n){var t=n.title,e=n.targetSelector,i=void 0===e?".page-header":e,d=n.showBack,g=void 0!==d&&d,h=(0,a.c)(),p=(0,u.useState)(0),m=(0,r.A)(p,2),v=m[0],y=m[1],S=(0,u.useMemo)(function(){return{startY:Math.max(0,h.headerPaddingTop-h.statusBarHeight),rangeY:Math.max(48,.45*h.headerPaddingTop)}},[h.headerPaddingTop,h.statusBarHeight]),k=(0,u.useRef)(S),b=(0,u.useRef)(null),A=(0,u.useRef)(0),w=(0,u.useCallback)(function(n){A.current=n,null===b.current&&(b.current=setTimeout(function(){b.current=null;var n=k.current,t=n.startY,e=n.rangeY;y(l({scrollTop:A.current,startY:t,rangeY:e}))},16))},[]);return(0,u.useEffect)(function(){var n=!1,t=null;k.current=S;var e=function(){n||c().createSelectorQuery().select(i).boundingClientRect(function(t){if(!n){if(!t||Array.isArray(t)||"number"!==typeof t.bottom||"number"!==typeof t.height)return k.current=S,void w(A.current);var e=s({viewportBottom:t.bottom,scrollTop:A.current,statusBarHeight:h.statusBarHeight}),r=Math.max(32,.7*t.height);k.current={startY:e,rangeY:r},w(A.current)}}).exec()};return c().nextTick(function(){n||(t=setTimeout(e,80))}),function(){n=!0,null!==t&&clearTimeout(t),null!==b.current&&clearTimeout(b.current),b.current=null}},[w,S,i]),c().usePageScroll(function(n){w(n.scrollTop)}),(0,f.jsxs)(o.Ss,{className:"scroll-top-mask",style:{height:"".concat(Math.max(h.menuButtonTop+h.menuButtonHeight+18,h.statusBarHeight+52)+24,"px"),opacity:v},children:[(0,f.jsx)(o.Ss,{className:"scroll-top-blur scroll-top-blur-mid"}),(0,f.jsx)(o.Ss,{className:"scroll-top-blur scroll-top-blur-soft"}),(0,f.jsx)(o.Ss,{className:"scroll-top-gradient"}),g&&(0,f.jsx)(o.Ss,{className:"scroll-top-back",style:{top:"".concat(h.menuButtonTop,"px")},onTap:function(){return c().navigateBack()},children:(0,f.jsx)(o.EY,{className:"scroll-top-back-arrow",children:"\u2190"})}),(0,f.jsx)(o.EY,{className:"scroll-top-title",style:{top:"calc(".concat(h.menuButtonTop,"px + 40rpx)"),transform:"translateY(-50%)",opacity:Math.max(0,Math.min(1,(v-.5)/.5))},children:t})]})}},9674:function(n,t,e){e.d(t,{A:function(){return c}});var r=e(118),o=e(9703),i=e(4848);function c(n){var t=n.darkTop,e=void 0!==t&&t,c=(0,o.wR)(),u=c.resolvedTheme,a="dark"===u||e,s=a?"#191919":"#faf7f2",l=a?"#ffffff":"#000000";return(0,i.jsx)(r.tf,{backgroundColor:s,backgroundColorTop:s,backgroundColorBottom:s,backgroundTextStyle:a?"light":"dark",rootBackgroundColor:s,children:(0,i.jsx)(r.yk,{frontColor:l,backgroundColor:s})})}},9703:function(n,t,e){e.d(t,{NP:function(){return g},Wo:function(){return d},wR:function(){return h}});var r=e(5544),o=e(6540),i=e(758),c=e.n(i),u=e(118),a=e(1457),s=e(6606),l=e(4848),f=(0,o.createContext)({theme:"auto",resolvedTheme:"light",toggleTheme:function(){},setTheme:function(){}}),d="themeChange";function g(n){var t=n.children,e=(0,o.useState)((0,a.O4)()),g=(0,r.A)(e,2),h=g[0],p=g[1],m=(0,o.useState)((0,a.eW)((0,a.O4)())),v=(0,r.A)(m,2),y=v[0],S=v[1],k=(0,o.useCallback)(function(n){S((0,a.eW)(n))},[]),b=(0,o.useCallback)(function(n){(0,a.Rq)(n),"auto"===(0,a.O4)()&&S(n)},[]),A=(0,o.useCallback)(function(){try{var n=c().getAppBaseInfo();b("dark"===n.theme?"dark":"light")}catch(n){}try{c().createSelectorQuery().select(".system-theme-detector").fields({computedStyle:["opacity"]}).exec(function(n){var t=n&&n[0]&&n[0].computedStyle&&n[0].computedStyle.opacity;b("1"===t?"dark":"light")})}catch(n){}},[b]),w=(0,o.useCallback)(function(n){(0,a.F0)(n),p(n),"auto"===n?A():k(n)},[A,k]),T=(0,o.useCallback)(function(){var n="light"===y?"dark":"light";w(n)},[y,w]);return(0,o.useEffect)(function(){A()},[A]),(0,o.useEffect)(function(){var n,t=function(n){!n||"dark"!==n.theme&&"light"!==n.theme||b(n.theme)},e=c();return null===(n=e.onThemeChange)||void 0===n||n.call(e,t),function(){var n;null===(n=e.offThemeChange)||void 0===n||n.call(e,t)}},[b]),(0,o.useEffect)(function(){c().eventCenter.trigger(d,y)},[y]),(0,o.useEffect)(function(){(0,s.G)(y)},[y]),(0,i.useDidShow)(function(){"auto"===h&&A()}),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(u.Ss,{className:"system-theme-detector"}),(0,l.jsx)(f.Provider,{value:{theme:h,resolvedTheme:y,toggleTheme:T,setTheme:w},children:t})]})}function h(){return(0,o.useContext)(f)}},9201:function(n,t,e){e.d(t,{c:function(){return a}});var r=e(5544),o=e(6540),i=e(758),c=e.n(i),u=null;function a(){var n=(0,o.useState)(null!==u&&void 0!==u?u:{statusBarHeight:20,menuButtonTop:26,menuButtonHeight:32,capsuleRight:368,safeInsetTop:20,safeInsetBottom:0,headerPaddingTop:66,backBtnPaddingTop:20}),t=(0,r.A)(n,2),e=t[0],i=t[1];return(0,o.useEffect)(function(){if(u)i(u);else try{var n,t,e,r,o,a,s,l,f=c().getSystemInfoSync(),d=c().getMenuButtonBoundingClientRect(),g=f.statusBarHeight||20,h=null!==(n=d.top)&&void 0!==n?n:g+4,p=null!==(t=d.height)&&void 0!==t?t:32,m=null!==(e=d.right)&&void 0!==e?e:f.windowWidth-7,v=null!==(r=null===(o=f.safeArea)||void 0===o?void 0:o.top)&&void 0!==r?r:g,y=null!==(a=f.safeAreaInsetBottom)&&void 0!==a?a:f.screenHeight-(null!==(s=null===(l=f.safeArea)||void 0===l?void 0:l.bottom)&&void 0!==s?s:f.screenHeight),S=Math.max(h+p+6,g+44),k=Math.max(g,h-4),b={statusBarHeight:g,menuButtonTop:h,menuButtonHeight:p,capsuleRight:m,safeInsetTop:v,safeInsetBottom:y,headerPaddingTop:S,backBtnPaddingTop:k};u=b,i(b)}catch(n){}},[]),e}},5414:function(n,t,e){e.d(t,{l:function(){return u}});var r=e(6540),o=e(758),i=e.n(o),c=e(6606);function u(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=t.mode,u=void 0===e?"auto":e,a=(0,r.useCallback)(function(){var t="dark"===u||"auto"===u&&"light"===n,e=t?"#000000":"#ffffff",r=t?"#faf7f2":"#191919";i().setNavigationBarColor({frontColor:e,backgroundColor:r}),(0,c.G)(n,r)},[u,n]);(0,r.useEffect)(a,[a]),(0,o.useDidShow)(a)}},5787:function(n,t,e){e.d(t,{l8:function(){return w},jp:function(){return f},gf:function(){return i.gf},xZ:function(){return T},iD:function(){return c},ri:function(){return a},x5:function(){return j},W$:function(){return A},r7:function(){return s}});var r=e(1212),o=e(467),i=e(3246);function c(n){return u.apply(this,arguments)}function u(){return u=(0,o.A)((0,r.A)().m(function n(t){var e;return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:return n.n=1,i.Ay.post("/api/auth/login",{code:t},{auth:!1});case 1:return e=n.v,null!==e&&void 0!==e&&e.accessToken&&(0,i.WG)(e.accessToken),n.a(2,e)}},n)})),u.apply(this,arguments)}function a(){(0,i.L)()}function s(n){return l.apply(this,arguments)}function l(){return l=(0,o.A)((0,r.A)().m(function n(t){return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:return n.a(2,i.Ay.patch("/api/users/me",t))}},n)})),l.apply(this,arguments)}function f(){return d.apply(this,arguments)}function d(){return d=(0,o.A)((0,r.A)().m(function n(){return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:return n.a(2,i.Ay.get("/api/users/me"))}},n)})),d.apply(this,arguments)}var g=e(4765),h=e(9379),p=e(758),m=e.n(p);function v(n,t,e,r){return y.apply(this,arguments)}function y(){return y=(0,o.A)((0,r.A)().m(function n(t,e,o,c){var u,a;return(0,r.A)().w(function(n){while(1)switch(n.p=n.n){case 0:return n.n=1,m().uploadFile({url:"".concat(i.C1).concat(t),filePath:e,name:o,formData:c,header:{Authorization:"Bearer ".concat((0,i.gf)())}});case 1:u=n.v,n.p=2,a=JSON.parse(u.data),n.n=4;break;case 3:throw n.p=3,n.v,new Error("\u7f51\u7edc\u5f02\u5e38\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5");case 4:if(!a||"number"!==typeof a.code||0===a.code){n.n=5;break}throw new Error(a.message||"\u8bf7\u6c42\u5931\u8d25");case 5:return n.a(2,a&&"number"===typeof a.code?a.data:a)}},n,null,[[2,3]])})),y.apply(this,arguments)}function S(n){return i.Ay.get("/api/upload/credentials?key=".concat(encodeURIComponent(n)))}function k(n,t){return b.apply(this,arguments)}function b(){return b=(0,o.A)((0,r.A)().m(function n(t,e){var o,i;return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:if(e.presignedUrl){n.n=1;break}throw new Error("\u83b7\u53d6 COS \u76f4\u4f20\u5730\u5740\u5931\u8d25");case 1:return o=m().getFileSystemManager(),i=o.readFileSync(t),n.n=2,m().request({url:e.presignedUrl,method:"PUT",data:i,header:{"Content-Type":"application/octet-stream"}});case 2:return n.a(2,e.presignedUrl.split("?")[0])}},n)})),b.apply(this,arguments)}function A(n){return v("/api/sketch",n,"image")}function w(n,t,e){return v("/api/wordcloud/generate",n,"image",(0,h.A)({names:t},e?{params:JSON.stringify(e)}:{}))}function T(n){return i.Ay.get("/api/wordcloud/jobs/".concat(n))}function C(n){return!!n&&/^(wxfile:|http:\/\/tmp\/|tmp\/)/i.test(n)}function x(n){return _.apply(this,arguments)}function _(){return _=(0,o.A)((0,r.A)().m(function n(t){var e,o;return(0,r.A)().w(function(n){while(1)switch(n.p=n.n){case 0:return n.p=0,e="uploads/sticker/".concat(Date.now(),"_").concat(Math.floor(1e6*Math.random()),".jpg"),n.n=1,S(e);case 1:return o=n.v,n.n=2,k(t,o);case 2:return n.a(2,n.v);case 3:return n.p=3,n.v,n.a(2,t)}},n,null,[[0,3]])})),_.apply(this,arguments)}function j(n){return B.apply(this,arguments)}function B(){return B=(0,o.A)((0,r.A)().m(function n(t){var e,o,i,c,u,a,s,l,f,d,p,m,v,y,S,k;return(0,r.A)().w(function(n){while(1)switch(n.p=n.n){case 0:if(t){n.n=1;break}return n.a(2,t);case 1:if(e=(0,h.A)({},t),!t.background||!C(t.background.src)){n.n=3;break}return a=h.A,s=(0,h.A)({},t.background),l={},n.n=2,x(t.background.src);case 2:f=n.v,e.background=a(s,l,{src:f});case 3:if(!t.stickers||!t.stickers.length){n.n=14;break}o=[],i=(0,g.A)(t.stickers),n.p=4,i.s();case 5:if((c=i.n()).done){n.n=10;break}if(u=c.value,d=o,!C(u.src)){n.n=7;break}return m=h.A,v=(0,h.A)({},u),y={},n.n=6,x(u.src);case 6:S=n.v,p=m(v,y,{src:S}),n.n=8;break;case 7:p=u;case 8:d.push.call(d,p);case 9:n.n=5;break;case 10:n.n=12;break;case 11:n.p=11,k=n.v,i.e(k);case 12:return n.p=12,i.f(),n.f(12);case 13:e.stickers=o;case 14:return n.a(2,e)}},n,null,[[4,11,12,13]])})),B.apply(this,arguments)}},8199:function(n,t,e){e.d(t,{uq:function(){return o}});var r="https://wordcloudwechat.oss-cn-hangzhou.aliyuncs.com";function o(n){if(!n)return"";if(/^(https?:|wxfile:|data:)/i.test(n))return n;if(!r)return n;var t=r.replace(/\/+$/,"");if(!n.startsWith("/img/"))return n;var e=n.startsWith("/")?n:"/".concat(n);return"".concat(t).concat(e)}},6764:function(n,t,e){e.d(t,{d:function(){return y},m:function(){return h}});var r=e(1212),o=e(467),i=e(2284),c=e(758),u=e.n(c),a=e(5787),s=e(1457),l="smart_auth_verified",f=18e5,d=null,g=null;function h(){d=null,g=null;try{u().removeStorageSync(l)}catch(n){}}function p(n){var t=d||function(){try{var n=u().getStorageSync(l);return n&&"object"===(0,i.A)(n)?n:null}catch(n){return null}}();return t&&t.openid===n?Date.now()-t.at>f?null:(d=t,t.ok):null}function m(n,t){var e={openid:n,ok:t,at:Date.now()};d=e;try{u().setStorageSync(l,e)}catch(n){}}function v(){var n=(0,s.Q4)();return!(null===n||void 0===n||!n.openid)&&!(0,s.Ic)(n.openid)&&!!n.accessToken&&!!(0,a.gf)()}function y(){return S.apply(this,arguments)}function S(){return S=(0,o.A)((0,r.A)().m(function n(){var t,e;return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:if(t=(0,s.Q4)(),null!==t&&void 0!==t&&t.openid){n.n=1;break}return console.log("[AuthGuard] \u65e0\u672c\u5730\u7528\u6237\uff0c\u5224\u5b9a\u672a\u767b\u5f55"),n.a(2,!1);case 1:if(console.log("[AuthGuard] \u672c\u5730\u7528\u6237 openid=",t.openid),!(0,s.Ic)(t.openid)){n.n=2;break}return(0,s.Hf)(),(0,a.ri)(),h(),n.a(2,!1);case 2:if(e=p(t.openid),null===e){n.n=3;break}return console.log("[AuthGuard] \u547d\u4e2d\u672c\u5730\u7f13\u5b58 ok=",e),n.a(2,e);case 3:return g||(g=(0,a.jp)().then(function(n){console.log("[AuthGuard] getMe \u8fd4\u56de:",JSON.stringify(n));var e=!!n&&!!n.id&&n.openid===t.openid;return console.log("[AuthGuard] \u4e00\u81f4\u6027=",e),e?(m(t.openid,!0),!0):((0,s.Hf)(),(0,a.ri)(),h(),!1)}).catch(function(n){return console.error("[AuthGuard] getMe \u5931\u8d25\uff0c\u8d70\u672c\u5730\u4f1a\u8bdd\u515c\u5e95:",n),v()}).finally(function(){g=null})),n.a(2,g)}},n)})),S.apply(this,arguments)}},5234:function(n,t,e){e.d(t,{QE:function(){return l},R6:function(){return u},rj:function(){return s},y9:function(){return a},zv:function(){return c}});var r=e(9379),o=e(8199),i=[{id:"notebook-small",name:"\u5fae\u96d5\u7b14\u8bb0\u672c\uff08\u5c0f\uff09",desc:"\u4fbf\u643a\u968f\u884c\uff0c\u8bb0\u5f55\u70b9\u6ef4",icon:"/icon/\u4e66\u672c.png",iconImg:"/icon/\u4e66\u672c.png",price:12,originalPrice:18,leadTime:"3-5\u4e2a\u5de5\u4f5c\u65e5",description:"\u7cbe\u9009\u4f18\u8d28\u7eb8\u5f20\uff0c\u5c01\u9762\u91c7\u7528\u9ad8\u6863PU\u6750\u8d28\uff0c\u624b\u611f\u7ec6\u817b\u3002\u5185\u9875\u53ef\u5b9a\u5236\u6a2a\u7ebf\u3001\u65b9\u683c\u6216\u7a7a\u767d\u4e09\u79cd\u7248\u5f0f\u3002\u6fc0\u5149\u5fae\u96d5\u5de5\u827a\u5c06\u540d\u5b57\u6216\u56fe\u6848\u7cbe\u51c6\u523b\u5370\u5728\u5c01\u9762\uff0c\u6c38\u4e0d\u892a\u8272\u3002\u5c0f\u5de7\u8f7b\u4fbf\uff0c\u9002\u5408\u968f\u8eab\u643a\u5e26\uff0c\u65e0\u8bba\u662f\u8bfe\u5802\u7b14\u8bb0\u8fd8\u662f\u65e5\u5e38\u5907\u5fd8\uff0c\u90fd\u662f\u4f60\u7684\u4e13\u5c5e\u4f34\u4fa3\u3002",subtitle:"\u638c\u5fc3\u95f4\u7684\u4e13\u5c5e\u5370\u8bb0 \xb7 \u6fc0\u5149\u5fae\u96d5 \xb7 \u4e09\u8272\u5185\u9875\u53ef\u9009",tone:[28,22,18],story:"\u7075\u611f\u6e90\u81ea\u624b\u8d26\u6587\u5316\u4e2d\u5bf9\u4e66\u5199\u4eea\u5f0f\u611f\u7684\u8ffd\u6c42\u3002\u6211\u4eec\u76f8\u4fe1\uff0c\u5728\u6570\u5b57\u6d2a\u6d41\u7684\u65f6\u4ee3\uff0c\u7eb8\u7b14\u7684\u6e29\u5ea6\u4f9d\u7136\u4e0d\u53ef\u66ff\u4ee3\u3002\u5f53\u6fc0\u5149\u5fae\u96d5\u5728PU\u5c01\u9762\u4e0a\u7559\u4e0b\u4e13\u5c5e\u5370\u8bb0\uff0c\u6bcf\u4e00\u7b14\u4e66\u5199\u90fd\u5728\u4e0e\u8fc7\u53bb\u5bf9\u8bdd\u3002\u7b14\u8bb0\u672c\u5c0f\u5de7\u5230\u8db3\u4ee5\u653e\u5165\u4efb\u4f55\u53e3\u888b\uff0c\u5374\u627f\u8f7d\u7740\u72ec\u4e00\u65e0\u4e8c\u7684\u8bb0\u5fc6\u3002",scene:"\u8bfe\u5802\u7b14\u8bb0\u3001\u65e5\u5e38\u5907\u5fd8\u3001\u65c5\u884c\u624b\u8d26\u3001\u5fc3\u60c5\u65e5\u8bb0\u3002\u9002\u5408\u9001\u7ed9\u540c\u5b66\u3001\u4f34\u4fa3\u6216\u4f5c\u4e3a\u6d3b\u52a8\u4f34\u624b\u793c\u2014\u2014\u8ba9\u6bcf\u4e00\u4e2a\u4eba\u90fd\u62e5\u6709\u523b\u7740\u81ea\u5df1\u540d\u5b57\u7684\u4e13\u5c5e\u7b14\u8bb0\u672c\u3002",tags:["\u4f34\u624b\u793c","\u5b66\u751f","\u624b\u8d26","\u4fbf\u643a","\u6fc0\u5149\u5fae\u96d5"],specs:[["\u5c3a\u5bf8","105 \xd7 148mm\uff08A6\uff09"],["\u9875\u6570","120\u5f20/240\u9875"],["\u5185\u9875\u7248\u5f0f","\u6a2a\u7ebf / \u65b9\u683c / \u7a7a\u767d \u53ef\u9009"],["\u5c01\u9762\u6750\u8d28","\u9ad8\u6863PU\u76ae\u9769"],["\u96d5\u523b\u5de5\u827a","CO2 \u6fc0\u5149\u5fae\u96d5\uff08\u6c38\u4e0d\u892a\u8272\uff09"],["\u9002\u7528\u573a\u666f","\u8bfe\u5802\u3001\u65c5\u884c\u3001\u65e5\u5e38\u5907\u5fd8"]],images:["/img/book_small/The1.jpg"],mask:{shape:"rect",width:300,height:420,borderRadius:8}},{id:"notebook-large",name:"\u5fae\u96d5\u7b14\u8bb0\u672c\uff08\u5927\uff09",desc:"\u5927\u5f00\u672c\uff0c\u66f4\u591a\u521b\u4f5c\u7a7a\u95f4",icon:"/icon/\u4e66\u672c_\u5927.png",iconImg:"/icon/\u4e66\u672c_\u5927.png",price:45,originalPrice:58,leadTime:"3-5\u4e2a\u5de5\u4f5c\u65e5",description:"A4\u5c3a\u5bf8\u5927\u5f00\u672c\uff0c180\xb0\u5e73\u644a\u8bbe\u8ba1\uff0c\u4e66\u5199\u66f4\u81ea\u7531\u3002\u5c01\u9762\u53ef\u9009\u771f\u76ae\u3001\u4eff\u5e03\u7eb9\u6216\u78e8\u7802\u6750\u8d28\uff0c\u6fc0\u5149\u5fae\u96d5\u533a\u57df\u66f4\u5927\uff0c\u9002\u5408\u5448\u73b0\u5168\u73ed\u540d\u5b57\u3001\u56e2\u961f\u53e3\u53f7\u6216\u516c\u53f8Logo\u7b49\u5927\u7bc7\u5e45\u5185\u5bb9\u3002\u662f\u6bd5\u4e1a\u7eaa\u5ff5\u3001\u4f01\u4e1a\u5e74\u4f1a\u793c\u54c1\u7684\u9996\u9009\u3002",subtitle:"\u5927\u7bc7\u5e45\u5b9a\u5236\u9996\u9009 \xb7 180\xb0\u5e73\u644a \xb7 \u6bd5\u4e1a/\u56e2\u5efa\u5fc5\u5907",tone:[35,28,22],story:"\u6bcf\u4e00\u6b21\u544a\u522b\u90fd\u503c\u5f97\u88ab\u90d1\u91cd\u4e66\u5199\u3002\u6bd5\u4e1a\u5b63\u7684\u6559\u5ba4\u91cc\uff0c\u7b14\u8bb0\u672c\u644a\u5f00\u5728\u8bfe\u684c\u4e0a\uff0c\u5168\u73ed\u7684\u540d\u5b57\u88ab\u6fc0\u5149\u523b\u5370\u5728\u5c01\u9762\u4e2d\u592e\uff0c\u6210\u4e3a\u6c38\u6052\u7684\u540c\u5b66\u5f55\u3002180\xb0\u5e73\u644a\u8bbe\u8ba1\u8ba9\u4e66\u5199\u4e0d\u518d\u88ab\u8ba2\u88c5\u675f\u7f1a\uff0cA4\u5927\u5c3a\u5bf8\u7ed9\u4f60\u5c3d\u60c5\u6325\u6d12\u7684\u5929\u5730\u3002\u8fd9\u662f\u9001\u7ed9\u4e00\u7fa4\u4eba\u6700\u597d\u7684\u544a\u522b\u793c\u7269\u3002",scene:"\u6bd5\u4e1a\u7eaa\u5ff5\u518c\u3001\u516c\u53f8\u5e74\u4f1a\u793c\u54c1\u3001\u56e2\u961f\u5efa\u8bbe\u4f34\u624b\u793c\u3001\u5ba2\u6237\u7b54\u8c22\u3002\u7279\u522b\u9002\u5408\u9700\u8981\u5728\u5c01\u9762\u5448\u73b0\u5927\u91cf\u6587\u5b57\u6216\u56fe\u6848\u7684\u5b9a\u5236\u9700\u6c42\u2014\u2014\u73ed\u7ea7\u540d\u5355\u3001\u516c\u53f8\u613f\u666f\u3001\u56e2\u961f\u53e3\u53f7\u4e00\u7f51\u6253\u5c3d\u3002",tags:["\u6bd5\u4e1a\u793c","\u56e2\u5efa","\u4f01\u4e1a\u5b9a\u5236","\u5927\u7bc7\u5e45","\u5e73\u644a\u8bbe\u8ba1"],specs:[["\u5c3a\u5bf8","210 \xd7 297mm\uff08A4\uff09"],["\u9875\u6570","100\u5f20/200\u9875"],["\u5c01\u9762\u6750\u8d28","\u771f\u76ae / \u4eff\u5e03\u7eb9 / \u78e8\u7802 \u53ef\u9009"],["\u5f00\u5408\u9002\u7528","180\xb0\u5e73\u644a\u8bbe\u8ba1"],["\u96d5\u523b\u5de5\u827a","CO2 \u6fc0\u5149\u5fae\u96d5\uff08\u9ad8\u6e05\u6670\u5ea6\uff09"],["\u5b9a\u5236\u9762\u79ef","\u5c01\u9762\u6574\u9762\u53ef\u96d5"]],images:["/img/book_big/The1.jpg","/img/book_big/The2.jpg"],mask:{shape:"rect",width:340,height:480,borderRadius:8}},{id:"coaster",name:"\u94dc\u8d28\u676f\u57ab",desc:"\u91d1\u5c5e\u8d28\u611f\uff0c\u684c\u9762\u827a\u672f",icon:"/icon/\u676f\u5b50.png",iconImg:"/icon/\u676f\u5b50.png",price:25,originalPrice:35,leadTime:"5-7\u4e2a\u5de5\u4f5c\u65e5",description:"\u91c7\u7528\u4f18\u8d28\u9ec4\u94dc\u6750\u8d28\uff0c\u8868\u9762\u7ecf\u62c9\u4e1d\u5de5\u827a\u5904\u7406\uff0c\u5448\u73b0\u54d1\u5149\u91d1\u5c5e\u8d28\u611f\u3002\u80cc\u9762\u914d\u6709\u9632\u6ed1\u8f6f\u6728\u57ab\uff0c\u4fdd\u62a4\u684c\u9762\u540c\u65f6\u9632\u6b62\u6ed1\u52a8\u3002\u6fc0\u5149\u5fae\u96d5\u53ef\u5728\u8868\u9762\u523b\u5370\u540d\u5b57\u3001\u65e5\u671f\u6216\u795d\u798f\u8bed\uff0c\u662f\u4e54\u8fc1\u65b0\u5c45\u3001\u65b0\u5a5a\u8d3a\u793c\u7684\u7cbe\u81f4\u4e4b\u9009\u3002",subtitle:"\u9ec4\u94dc\u8d28\u611f \xb7 \u62c9\u4e1d\u54d1\u5149 \xb7 \u684c\u9762\u4e0a\u7684\u5fae\u578b\u96d5\u5851",tone:[42,30,18],story:"\u8bbe\u8ba1\u7075\u611f\u6765\u81ea\u65e5\u5f0f\u4f98\u5bc2\u7f8e\u5b66\u3002\u5c81\u6708\u4f1a\u5728\u9ec4\u94dc\u8868\u9762\u7559\u4e0b\u6e29\u67d4\u7684\u6c27\u5316\u75d5\u8ff9\uff0c\u5c31\u5982\u540c\u4e00\u676f\u8336\u4ece\u70ed\u5230\u51c9\u7684\u8fc7\u7a0b\u3002\u62c9\u4e1d\u5904\u7406\u540e\u7684\u54d1\u5149\u8868\u9762\u5728\u706f\u5149\u4e0b\u5448\u73b0\u7ec6\u817b\u7684\u91d1\u5c5e\u7eb9\u7406\uff0c\u6fc0\u5149\u5fae\u96d5\u7684\u540d\u5b57\u6210\u4e3a\u8fd9\u4ef6\u5668\u7269\u4e0a\u6700\u51b7\u9759\u7684\u6ce8\u811a\u3002\u5b83\u4e0d\u53ea\u662f\u676f\u57ab\uff0c\u66f4\u662f\u684c\u9762\u4e0a\u7684\u5fae\u578b\u96d5\u5851\u3002",scene:"\u4e54\u8fc1\u9001\u793c\u3001\u65b0\u5a5a\u8d3a\u793c\u3001\u5496\u5561\u89d2\u5e03\u7f6e\u3001\u529e\u516c\u684c\u7f8e\u5b66\u3002\u9002\u5408\u9001\u7ed9\u559c\u6b22\u624b\u51b2\u5496\u5561\u7684\u670b\u53cb\uff0c\u6216\u4f5c\u4e3a\u5a5a\u793c\u5bbe\u5ba2\u7684\u56de\u793c\u2014\u2014\u6bcf\u4e00\u53ea\u676f\u57ab\u4e0a\u90fd\u523b\u7740\u5bbe\u5ba2\u7684\u540d\u5b57\uff0c\u8ba9\u793c\u7269\u672c\u8eab\u6210\u4e3a\u5ea7\u4f4d\u5361\u3002",tags:["\u4e54\u8fc1\u793c","\u65b0\u5a5a\u8d3a\u793c","\u684c\u9762\u7f8e\u5b66","\u9ec4\u94dc","\u624b\u51b2\u5496\u5561"],specs:[["\u6750\u8d28","\u9ec4\u94dc + \u80cc\u9762\u8f6f\u6728\u9632\u6ed1\u57ab"],["\u8868\u9762\u5904\u7406","\u62c9\u4e1d\u54d1\u5149"],["\u76f4\u5f84","100mm"],["\u539a\u5ea6","3mm"],["\u96d5\u523b\u5de5\u827a","\u5149\u7ea4\u6fc0\u5149\u7cbe\u7ec6\u5fae\u96d5"],["\u8010\u6e29","\u2264120\xb0C"]],images:["/img/cup/The1.jpg"],mask:{shape:"circle",width:280,height:280}},{id:"penbox",name:"\u7af9\u5236\u7b14\u76d2",desc:"\u81ea\u7136\u7af9\u7eb9\uff0c\u6587\u623f\u96c5\u5668",icon:"/icon/\u7b14\u76d2.png",iconImg:"/icon/\u7b14\u76d2.png",price:75,originalPrice:98,leadTime:"7-10\u4e2a\u5de5\u4f5c\u65e5",description:"\u7cbe\u9009\u5929\u7136\u6960\u7af9\uff0c\u7ecf\u591a\u9053\u5de5\u5e8f\u6253\u78e8\u629b\u5149\uff0c\u4fdd\u7559\u5929\u7136\u7af9\u7eb9\u808c\u7406\u3002\u76d2\u76d6\u91c7\u7528\u78c1\u5438\u5f00\u5408\uff0c\u5185\u90e8\u8bbe\u6709\u5206\u5c42\u9694\u677f\u3002\u6fc0\u5149\u5fae\u96d5\u5728\u7af9\u9762\u4e0a\u5448\u73b0\u6df1\u6d45\u4e0d\u4e00\u7684\u96d5\u523b\u6548\u679c\uff0c\u878d\u5165\u58a8\u9999\u6c14\u8d28\u3002\u9002\u5408\u4e66\u623f\u6848\u5934\u3001\u4e66\u6cd5\u7231\u597d\u8005\u7684\u6587\u623f\u4f34\u4fa3\u3002",subtitle:"\u5929\u7136\u6960\u7af9 \xb7 \u78c1\u5438\u5f00\u5408 \xb7 \u6587\u623f\u96c5\u5668\u4e4b\u9009",tone:[30,24,16],story:"\u6bcf\u4e00\u53ea\u7b14\u76d2\u90fd\u6765\u81ea\u540c\u4e00\u7247\u7af9\u6797\u7684\u4e0d\u540c\u90e8\u4f4d\uff0c\u56e0\u6b64\u7eb9\u8def\u7edd\u4e0d\u91cd\u590d\u2014\u2014\u6b63\u5982\u6ca1\u6709\u4e24\u4e2a\u4eba\u7684\u4e66\u6cd5\u98ce\u683c\u5b8c\u5168\u76f8\u540c\u3002\u6211\u4eec\u4fdd\u7559\u4e86\u6960\u7af9\u5929\u7136\u7684\u6e29\u6da6\u89e6\u611f\uff0c\u53ea\u5728\u8868\u9762\u4ee5\u6fc0\u5149\u523b\u4e0b\u540d\u5b57\u6216\u4e00\u53e5\u7bb4\u8a00\u3002\u6253\u5f00\u78c1\u5438\u76d2\u76d6\u65f6\u7684\u6e05\u8106\u58f0\u54cd\uff0c\u662f\u6587\u623f\u4e2d\u7684\u5c0f\u5c0f\u4eea\u5f0f\u3002",scene:"\u4e66\u623f\u6848\u5934\u3001\u4e66\u6cd5\u7231\u597d\u8005\u88c5\u5907\u3001\u6559\u5e08\u8282\u793c\u7269\u3001\u4e66\u623f\u6696\u623f\u793c\u3002\u9002\u5408\u9001\u7ed9\u5199\u5b57\u597d\u770b\u7684\u4eba\u2014\u2014\u56e0\u4e3a\u61c2\u4e66\u5199\u7684\u4eba\uff0c\u624d\u61c2\u4e00\u53ea\u597d\u7b14\u76d2\u7684\u5206\u91cf\u3002",tags:["\u6587\u623f","\u4e66\u6cd5","\u6559\u5e08\u8282","\u4e66\u623f","\u5929\u7136\u6750\u8d28"],specs:[["\u6750\u8d28","\u5929\u7136\u6960\u7af9"],["\u5f00\u5408\u65b9\u5f0f","\u78c1\u5438\u5f0f\u76d2\u76d6"],["\u5185\u90e8\u7ed3\u6784","\u5206\u5c42\u9694\u677f\uff08\u53ef\u8c03\u8282\uff09"],["\u5c3a\u5bf8","200 \xd7 65 \xd7 30mm"],["\u8868\u9762\u5904\u7406","\u624b\u5de5\u6253\u78e8\u629b\u5149\uff0c\u65e0\u6f06"],["\u96d5\u523b\u5de5\u827a","CO2 \u6fc0\u5149\u70e7\u8680\uff08\u6df1\u6d45\u53ef\u8c03\uff09"]],images:["/img/penbox/The1.jpg","/img/penbox/The2.jpg","/img/penbox/The3.jpg"],mask:{shape:"rect",width:320,height:160,borderRadius:12}},{id:"booklamp",name:"\u4e66\u672c\u578b\u706f",desc:"\u6e29\u6696\u5149\u5f71\uff0c\u70b9\u4eae\u5fc3\u610f",icon:"/icon/\u4e66\u706f.png",iconImg:"/icon/\u4e66\u706f.png",price:45,originalPrice:68,leadTime:"5-7\u4e2a\u5de5\u4f5c\u65e5",description:"\u5f00\u5408\u5f0f\u8bbe\u8ba1\uff0c\u6253\u5f00\u5373\u4eae\uff0c\u5408\u62e2\u5373\u706d\uff0c\u5982\u9b54\u6cd5\u4e66\u822c\u5145\u6ee1\u60ca\u559c\u3002\u91c7\u7528LED\u6696\u5149\u706f\u6e90\uff0c\u5149\u7ebf\u67d4\u548c\u4e0d\u523a\u773c\uff0c\u53ef\u6301\u7eed\u70b9\u4eae6-8\u5c0f\u65f6\u3002\u5c01\u9762\u6fc0\u5149\u5fae\u96d5\u53ef\u5b9a\u5236\u6587\u5b57\u3001\u56fe\u6848\u6216\u7167\u7247\uff0c\u8ba9\u6e29\u6696\u7684\u706f\u5149\u627f\u8f7d\u4e13\u5c5e\u8bb0\u5fc6\u3002\u662f\u60c5\u4fa3\u793c\u7269\u3001\u6bd5\u4e1a\u793c\u7269\u7684\u521b\u610f\u4e4b\u9009\u3002",subtitle:"\u5f00\u5408\u5373\u4eae \xb7 LED\u6696\u5149 \xb7 \u9b54\u6cd5\u4e66\u822c\u7684\u60ca\u559c",tone:[25,20,15],story:"\u7075\u611f\u6765\u81ea\u300a\u54c8\u5229\xb7\u6ce2\u7279\u300b\u4e2d\u7684\u9b54\u6cd5\u8bfe\u672c\u2014\u2014\u6253\u5f00\u4e00\u672c\u4e66\uff0c\u5149\u8292\u503e\u6cfb\u800c\u51fa\u3002\u6211\u4eec\u91c7\u7528\u675c\u90a6\u7eb8\u4e0e\u5b9e\u6728\u5c01\u9762\u7ed3\u5408\uff0c\u8ba9\u706f\u4f53\u65e2\u8f7b\u8584\u53c8\u575a\u56fa\u3002\u6fc0\u5149\u5fae\u96d5\u5728\u5c01\u9762\u7559\u4e0b\u4f60\u7684\u540d\u5b57\u6216\u4e00\u5e45\u5c0f\u753b\uff0c\u5f53\u706f\u5728\u6df1\u591c\u4eae\u8d77\uff0c\u90a3\u662f\u4e13\u5c5e\u4e8e\u4f60\u7684\u6e29\u6696\u89d2\u843d\u3002",scene:"\u60c5\u4fa3\u793c\u7269\u3001\u6bd5\u4e1a\u7eaa\u5ff5\u3001\u5e8a\u5934\u591c\u706f\u3001\u9732\u8425\u6c1b\u56f4\u706f\u3001\u513f\u7ae5\u623f\u3002\u7279\u522b\u9002\u5408\u5728\u5c01\u9762\u523b\u4e0a\u4e24\u4e2a\u4eba\u7684\u540d\u5b57\u548c\u4e00\u53e5\u60c5\u8bdd\uff0c\u5728\u60c5\u4eba\u8282\u6216\u7eaa\u5ff5\u65e5\u9001\u51fa\u2014\u2014\u6253\u5f00\u4e66\u706f\uff0c\u5c31\u50cf\u6253\u5f00\u4e00\u5c01\u4f1a\u53d1\u5149\u7684\u60c5\u4e66\u3002",tags:["\u60c5\u4fa3\u793c","\u6bd5\u4e1a\u7eaa\u5ff5","\u591c\u706f","\u6c1b\u56f4\u706f","\u521b\u610f\u793c\u7269"],specs:[["\u5149\u6e90","LED \u6696\u767d\u5149\uff083000K\uff09"],["\u7eed\u822a","6-8\u5c0f\u65f6\uff08\u5185\u7f6e\u53ef\u5145\u7535\u9502\u7535\u6c60\uff09"],["\u5145\u7535","USB Type-C \u63a5\u53e3"],["\u5c01\u9762\u6750\u8d28","\u675c\u90a6\u7eb8 + \u5b9e\u6728\u5c01\u9762"],["\u5c55\u5f00\u5c3a\u5bf8","210 \xd7 150mm"],["\u96d5\u523b\u5de5\u827a","\u6fc0\u5149\u5fae\u96d5\uff08\u652f\u6301\u6587\u5b57+\u7b80\u5355\u56fe\u6848\uff09"]],images:["/img/booklight/The1.jpg","/img/booklight/The2.jpg"],mask:{shape:"rect",width:320,height:240,borderRadius:4}}],c=i.map(function(n){return(0,r.A)((0,r.A)({},n),{},{images:(n.images||[]).map(function(n){return(0,o.uq)(n)}),iconImg:(0,o.uq)(n.iconImg)})}),u=c,a=function(n){return c.find(function(t){return t.id===n})},s={"notebook-small":(0,o.uq)("/icon/\u4e66\u672c.png"),"notebook-large":(0,o.uq)("/icon/\u4e66\u672c_\u5927.png"),coaster:(0,o.uq)("/icon/\u676f\u5b50.png"),penbox:(0,o.uq)("/icon/\u7b14\u76d2.png"),booklamp:(0,o.uq)("/icon/\u4e66\u706f.png")};function l(n){return null!==n&&void 0!==n&&n.iconImg?(0,o.uq)(n.iconImg):null!==n&&void 0!==n&&n.id?(0,o.uq)(s[n.id]||"/icon/\u56db\u89d2\u661f.svg"):(0,o.uq)("/icon/\u56db\u89d2\u661f.svg")}},3246:function(n,t,e){e.d(t,{C1:function(){return a},L:function(){return g},Sy:function(){return l},WG:function(){return d},gf:function(){return f},q:function(){return m}});var r=e(1212),o=e(9379),i=e(467),c=e(758),u=e.n(c),a="https://wxbackend.tokenleaping.com",s="smart_access_token";function l(){try{u().hideLoading()}catch(n){}}function f(){try{return u().getStorageSync(s)||""}catch(n){return""}}function d(n){u().setStorageSync(s,n)}function g(){try{u().removeStorageSync(s)}catch(n){}}var h=null;var p=null;function m(n){p=n}function v(n,t,e,r){return y.apply(this,arguments)}function y(){return y=(0,i.A)((0,r.A)().m(function n(t,e,o,i){return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:return n.a(2,u().request({url:"".concat(a).concat(t),method:e,data:o,header:i}))}},n)})),y.apply(this,arguments)}function S(n){return k.apply(this,arguments)}function k(){return k=(0,i.A)((0,r.A)().m(function n(t){var e,i,c,u,a,s,l,d,m,y,S,k,b,A,w,T,C,x,_=arguments;return(0,r.A)().w(function(n){while(1)switch(n.p=n.n){case 0:return e=_.length>1&&void 0!==_[1]?_[1]:{},i=e.method,c=void 0===i?"GET":i,u=e.data,a=e.headers,s=void 0===a?{}:a,l=e.auth,d=void 0===l||l,m=e.skipAuthRefresh,y=void 0!==m&&m,S=function(){var n=f();return(0,o.A)((0,o.A)({"Content-Type":"application/json"},d&&n?{Authorization:"Bearer ".concat(n)}:{}),s)},n.p=1,n.n=2,v(t,c,u,S());case 2:k=n.v,n.n=4;break;case 3:throw n.p=3,n.v,b=new Error("\u7f51\u7edc\u5f02\u5e38\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5"),b.statusCode=-1,b;case 4:if(401!==k.statusCode||y||!p){n.n=9;break}return n.n=5,p();case 5:if(A=n.v,!A){n.n=9;break}return n.p=6,n.n=7,v(t,c,u,S());case 7:k=n.v,n.n=9;break;case 8:throw n.p=8,n.v,w=new Error("\u7f51\u7edc\u5f02\u5e38\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5"),w.statusCode=-1,w;case 9:if(401!==k.statusCode){n.n=10;break}throw g(),null===(T=h)||void 0===T||T(),C=new Error("\u767b\u5f55\u5df2\u8fc7\u671f\uff0c\u8bf7\u91cd\u65b0\u767b\u5f55"),C.statusCode=401,C;case 10:if(x=k.data,!x||"number"!==typeof x.code||0===x.code){n.n=11;break}throw new Error(x.message||"\u8bf7\u6c42\u5931\u8d25");case 11:return n.a(2,x&&"number"===typeof x.code?x.data:x)}},n,null,[[6,8],[1,3]])})),k.apply(this,arguments)}var b={get:function(n,t){return S(n,(0,o.A)((0,o.A)({},t),{},{method:"GET"}))},post:function(n,t,e){return S(n,(0,o.A)((0,o.A)({},e),{},{method:"POST",data:t}))},put:function(n,t,e){return S(n,(0,o.A)((0,o.A)({},e),{},{method:"PUT",data:t}))},patch:function(n,t,e){return S(n,(0,o.A)((0,o.A)({},e),{},{method:"PATCH",data:t}))},del:function(n,t){return S(n,(0,o.A)((0,o.A)({},t),{},{method:"DELETE"}))}};t.Ay=b},1457:function(n,t,e){e.d(t,{E1:function(){return O},cY:function(){return S},Hf:function(){return P},kg:function(){return H},ab:function(){return Q},hG:function(){return F},IU:function(){return C},Re:function(){return U},EB:function(){return z},p_:function(){return v},n7:function(){return w},O4:function(){return V},ug:function(){return q},Q4:function(){return I},Ic:function(){return u},Q1:function(){return M},kh:function(){return b},eW:function(){return X},Fu:function(){return y},Rq:function(){return K},F0:function(){return Z},iA:function(){return R},iZ:function(){return Y},yU:function(){return L},i5:function(){return k},uF:function(){return G}});var r=e(758),o=e.n(r),i="smart_user_info",c="smart_active_openid";function u(n){return!!n&&(n.startsWith("mock_")||n.startsWith("mock-"))}function a(){var n,t=null;try{t=o().getStorageSync(i)}catch(n){t=null}var e=(null===(n=t)||void 0===n?void 0:n.openid)||o().getStorageSync(c)||"_guest_";return o().setStorageSync(c,e),e}function s(n){var t=a();return"".concat(n,"_").concat(t)}function l(n,t){return"".concat(n,"_").concat(t)}var f=e(6764),d=e(9379),g=e(436),h=e(8199),p=e(5234);function m(n){try{return o().getStorageSync(l("design_list",n))||[]}catch(n){return[]}}function v(){try{return o().getStorageSync(s("design_list"))||[]}catch(n){return[]}}function y(n){o().setStorageSync(s("design_list"),n)}function S(n,t){var e=v(),r=(0,h.uq)((null===n||void 0===n?void 0:n.iconImg)||p.rj[null===n||void 0===n?void 0:n.id]||"/icon/\u56db\u89d2\u661f.svg"),o={id:"DSG"+Date.now(),productId:n.id,productName:n.name,productIcon:r,unitPrice:n.price,count:t,status:"undesigned",createdAt:(new Date).toISOString().slice(0,10)};return y([].concat((0,g.A)(e),[o])),o}function k(n,t){var e=v(),r=e.findIndex(function(t){return t.id===n});-1!==r&&(e[r]=(0,d.A)((0,d.A)({},e[r]),t),y(e))}function b(n){var t=v().filter(function(t){return!n.includes(t.id)});y(t)}function A(n){try{return o().getStorageSync(l("order_list",n))||[]}catch(n){return[]}}function w(){try{return o().getStorageSync(s("order_list"))||[]}catch(n){return[]}}function T(n){o().setStorageSync(s("order_list"),n)}function C(n){var t,e=v(),r=w(),o=e.find(function(t){return t.id===n});if(!o)return null;var i=null!==(t=o.productIcon)&&void 0!==t&&t.startsWith("/icon/")||/^https?:/i.test(o.productIcon||"")?o.productIcon:p.rj[o.productId]||"/icon/\u56db\u89d2\u661f.svg",c=(0,h.uq)(i),u={id:"ORD"+Date.now().toString().slice(-9),productName:o.productName,productIcon:c,statusCode:"pending",date:(new Date).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).replace(/\//g,"-"),price:"\xa5"+(o.unitPrice*o.count).toFixed(2),count:o.count,sku:"".concat(o.productName," \xd7 ").concat(o.count)},a=e.findIndex(function(t){return t.id===n});return-1!==a&&(e[a].status="ordered",e[a].orderId=u.id),y(e),T([u].concat((0,g.A)(r))),u}var x="smart_user_registry",_="zhihui2024";function j(){try{return o().getStorageSync(x)||[]}catch(n){return[]}}function B(n){var t=j();t.includes(n)||(t.push(n),o().setStorageSync(x,t))}function N(n){var t=j().filter(function(t){return t!==n});o().setStorageSync(x,t)}function I(){try{return o().getStorageSync(i)}catch(n){return null}}function E(n){var t;o().setStorageSync(i,n),null!==n&&void 0!==n&&n.openid&&(o().setStorageSync(c,n.openid),o().setStorageSync("user_info_".concat(n.openid),n),B(n.openid)),(0,f.m)(),null===(t=o().eventCenter)||void 0===t||t.trigger("authStateChanged",{openid:(null===n||void 0===n?void 0:n.openid)||""})}function D(n){try{var t=o().getStorageSync("user_info_".concat(n));if(t)return t}catch(n){}var e=I();return(null===e||void 0===e?void 0:e.openid)===n?e:null}function P(){var n;o().removeStorageSync(i),o().removeStorageSync(c),(0,f.m)(),null===(n=o().eventCenter)||void 0===n||n.trigger("authStateChanged",{openid:""})}function R(n){E(n)}function q(){return I()}function M(){var n=j();return n.map(function(n){var t=D(n),e=m(n),r=A(n);return{openid:n,nickName:(null===t||void 0===t?void 0:t.nickName)||"\u672a\u77e5\u7528\u6237",avatarUrl:(null===t||void 0===t?void 0:t.avatarUrl)||"",loginAt:(null===t||void 0===t?void 0:t.loginAt)||0,designCount:e.length,orderCount:r.length}})}function H(n,t){var e="mock_"+Date.now().toString(36)+"_"+Math.random().toString(36).slice(2,6),r={openid:e,nickName:n||"\u5fae\u4fe1\u7528\u6237",avatarUrl:t||"",loginAt:Date.now()};return E(r),r}function Y(n){var t=D(n);return!!t&&(o().setStorageSync(i,t),o().setStorageSync(c,n),!0)}function F(n){o().removeStorageSync("user_info_".concat(n)),o().removeStorageSync("design_list_".concat(n)),o().removeStorageSync("order_list_".concat(n)),o().removeStorageSync("address_list_".concat(n)),N(n);var t=I();(null===t||void 0===t?void 0:t.openid)===n&&P()}function G(n){return n===_}function U(){try{return o().getStorageSync(s("address_list"))||[]}catch(n){return[]}}function W(n){o().setStorageSync(s("address_list"),n)}function O(n){var t=U(),e=(0,d.A)((0,d.A)({},n),{},{id:"ADR"+Date.now()});return e.isDefault&&t.forEach(function(n){n.isDefault=!1}),W([e].concat((0,g.A)(t))),e}function L(n,t){var e=U(),r=e.findIndex(function(t){return t.id===n});-1!==r&&(t.isDefault&&e.forEach(function(n){n.isDefault=!1}),e[r]=(0,d.A)((0,d.A)({},e[r]),t),W(e))}function Q(n){var t=U().filter(function(t){return t.id!==n});W(t)}function z(){return U().find(function(n){return n.isDefault})}var J="smart_theme";function V(){try{return o().getStorageSync(J)||"auto"}catch(n){return"auto"}}function Z(n){o().setStorageSync(J,n)}var $=null;function K(n){$=n}function X(n){if("auto"===n){if($)return $;try{var t=o().getAppBaseInfo();if("dark"===t.theme||"light"===t.theme)return t.theme}catch(n){}return"light"}return n}},6606:function(n,t,e){e.d(t,{G:function(){return c}});var r=e(758),o=e.n(r);function i(n){return"dark"===n?"#191919":"#faf7f2"}function c(n,t){var e=null!==t&&void 0!==t?t:i(n);o().setBackgroundColor({backgroundColor:e,backgroundColorTop:e,backgroundColorBottom:e}),o().setBackgroundTextStyle({textStyle:"dark"===n?"light":"dark"})}}}]); \ No newline at end of file +"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[76],{9513:function(n,t,e){e.d(t,{A:function(){return i}});var r=e(118),o=e(4848);function i(n){var t=n.children,e=n.className,i=n.style;return(0,o.jsx)(r.Ss,{className:"bottom-action-bar ".concat(e||""),style:i,children:t})}},7723:function(n,t,e){e.d(t,{A:function(){return d}});var r=e(5544),o=e(758),i=e.n(o),c=e(6540),u=e(118),a=e(6764),s=e(9703),l=e(8199),f=e(4848);function d(n){var t=(0,c.useState)("checking"),e=(0,r.A)(t,2),o=e[0],d=e[1],g=(0,c.useCallback)(function(){var n=!1;return(0,a.d)().then(function(t){n||d(t?"ok":"denied")}).catch(function(){n||d("denied")}),function(){n=!0}},[]);return(0,c.useEffect)(function(){var n=g(),t=function(){g()},e=function(){g()};return i().eventCenter.on("tabBarChange",t),i().eventCenter.on(s.Wo,e),i().eventCenter.on("authStateChanged",t),function(){n(),i().eventCenter.off("tabBarChange",t),i().eventCenter.off(s.Wo,e),i().eventCenter.off("authStateChanged",t)}},[g]),"checking"===o?(0,f.jsx)(u.Ss,{className:"login-guard",children:(0,f.jsxs)(u.Ss,{className:"login-guard-inner",children:[(0,f.jsx)(u._V,{className:"login-guard-icon",src:(0,l.uq)("/icon/\u8bbe\u7f6e.png"),mode:"aspectFit"}),(0,f.jsx)(u.EY,{className:"login-guard-title",children:"\u6821\u9a8c\u767b\u5f55\u72b6\u6001"})]})}):"denied"===o?(0,f.jsx)(u.Ss,{className:"login-guard",children:(0,f.jsxs)(u.Ss,{className:"login-guard-inner",children:[(0,f.jsx)(u._V,{className:"login-guard-icon",src:(0,l.uq)("/icon/\u4e2a\u4eba.png"),mode:"aspectFit"}),(0,f.jsx)(u.EY,{className:"login-guard-title",children:"\u8bf7\u5148\u767b\u5f55"}),(0,f.jsx)(u.EY,{className:"login-guard-desc",children:"\u767b\u5f55\u540e\u67e5\u770b\u60a8\u7684\u4e13\u5c5e\u5185\u5bb9"}),(0,f.jsx)(u.Ss,{className:"btn-primary login-guard-btn",onTap:function(){return i().switchTab({url:"/pages/profile/index"})},children:(0,f.jsx)(u.EY,{children:"\u53bb\u767b\u5f55"})})]})}):n.children}},3053:function(n,t,e){e.d(t,{A:function(){return d}});var r=e(5544),o=e(118),i=e(758),c=e.n(i),u=e(6540),a=e(9201);function s(n){var t=n.viewportBottom,e=n.scrollTop,r=n.statusBarHeight,o=Number.isFinite(t)?t:0,i=Number.isFinite(e)?e:0,c=Number.isFinite(r)?r:0;return Math.max(0,o+i-c-8)}function l(n){var t=n.scrollTop,e=n.startY,r=n.rangeY,o=Number.isFinite(t)?t:0,i=Math.max(0,Number.isFinite(e)?e:0),c=Math.max(1,Number.isFinite(r)?r:1);return o<=i?0:Math.min(1,(o-i)/c)}var f=e(4848);function d(n){var t=n.title,e=n.targetSelector,i=void 0===e?".page-header":e,d=n.showBack,g=void 0!==d&&d,h=(0,a.c)(),p=(0,u.useState)(0),m=(0,r.A)(p,2),v=m[0],y=m[1],S=(0,u.useMemo)(function(){return{startY:Math.max(0,h.headerPaddingTop-h.statusBarHeight),rangeY:Math.max(48,.45*h.headerPaddingTop)}},[h.headerPaddingTop,h.statusBarHeight]),k=(0,u.useRef)(S),b=(0,u.useRef)(null),A=(0,u.useRef)(0),w=(0,u.useCallback)(function(n){A.current=n,null===b.current&&(b.current=setTimeout(function(){b.current=null;var n=k.current,t=n.startY,e=n.rangeY;y(l({scrollTop:A.current,startY:t,rangeY:e}))},16))},[]);return(0,u.useEffect)(function(){var n=!1,t=null;k.current=S;var e=function(){n||c().createSelectorQuery().select(i).boundingClientRect(function(t){if(!n){if(!t||Array.isArray(t)||"number"!==typeof t.bottom||"number"!==typeof t.height)return k.current=S,void w(A.current);var e=s({viewportBottom:t.bottom,scrollTop:A.current,statusBarHeight:h.statusBarHeight}),r=Math.max(32,.7*t.height);k.current={startY:e,rangeY:r},w(A.current)}}).exec()};return c().nextTick(function(){n||(t=setTimeout(e,80))}),function(){n=!0,null!==t&&clearTimeout(t),null!==b.current&&clearTimeout(b.current),b.current=null}},[w,S,i]),c().usePageScroll(function(n){w(n.scrollTop)}),(0,f.jsxs)(o.Ss,{className:"scroll-top-mask",style:{height:"".concat(Math.max(h.menuButtonTop+h.menuButtonHeight+18,h.statusBarHeight+52)+24,"px"),opacity:v},children:[(0,f.jsx)(o.Ss,{className:"scroll-top-blur scroll-top-blur-mid"}),(0,f.jsx)(o.Ss,{className:"scroll-top-blur scroll-top-blur-soft"}),(0,f.jsx)(o.Ss,{className:"scroll-top-gradient"}),g&&(0,f.jsx)(o.Ss,{className:"scroll-top-back",style:{top:"".concat(h.menuButtonTop,"px")},onTap:function(){return c().navigateBack()},children:(0,f.jsx)(o.EY,{className:"scroll-top-back-arrow",children:"\u2190"})}),(0,f.jsx)(o.EY,{className:"scroll-top-title",style:{top:"calc(".concat(h.menuButtonTop,"px + 40rpx)"),transform:"translateY(-50%)",opacity:Math.max(0,Math.min(1,(v-.5)/.5))},children:t})]})}},9674:function(n,t,e){e.d(t,{A:function(){return c}});var r=e(118),o=e(9703),i=e(4848);function c(n){var t=n.darkTop,e=void 0!==t&&t,c=(0,o.wR)(),u=c.resolvedTheme,a="dark"===u||e,s=a?"#191919":"#faf7f2",l=a?"#ffffff":"#000000";return(0,i.jsx)(r.tf,{backgroundColor:s,backgroundColorTop:s,backgroundColorBottom:s,backgroundTextStyle:a?"light":"dark",rootBackgroundColor:s,children:(0,i.jsx)(r.yk,{frontColor:l,backgroundColor:s})})}},9703:function(n,t,e){e.d(t,{NP:function(){return g},Wo:function(){return d},wR:function(){return h}});var r=e(5544),o=e(6540),i=e(758),c=e.n(i),u=e(118),a=e(1457),s=e(6606),l=e(4848),f=(0,o.createContext)({theme:"auto",resolvedTheme:"light",toggleTheme:function(){},setTheme:function(){}}),d="themeChange";function g(n){var t=n.children,e=(0,o.useState)((0,a.O4)()),g=(0,r.A)(e,2),h=g[0],p=g[1],m=(0,o.useState)((0,a.eW)((0,a.O4)())),v=(0,r.A)(m,2),y=v[0],S=v[1],k=(0,o.useRef)(null),b=(0,o.useCallback)(function(n){S((0,a.eW)(n))},[]),A=(0,o.useCallback)(function(n){(0,a.Rq)(n),k.current=n,"auto"===(0,a.O4)()&&S(n)},[]),w=(0,o.useCallback)(function(){try{var n=c().getAppBaseInfo();A("dark"===n.theme?"dark":"light")}catch(n){}try{c().createSelectorQuery().select(".system-theme-detector").fields({computedStyle:["opacity"]}).exec(function(n){var t=n&&n[0]&&n[0].computedStyle&&n[0].computedStyle.opacity;A("1"===t?"dark":"light")})}catch(n){}},[A]),T=(0,o.useCallback)(function(n){(0,a.F0)(n),p(n),"auto"===n?w():b(n)},[w,b]),C=(0,o.useCallback)(function(){var n="light"===y?"dark":"light";T(n)},[y,T]);return(0,o.useEffect)(function(){w()},[w]),(0,o.useEffect)(function(){var n,t=function(n){!n||"dark"!==n.theme&&"light"!==n.theme||A(n.theme)},e=c();return null===(n=e.onThemeChange)||void 0===n||n.call(e,t),function(){var n;null===(n=e.offThemeChange)||void 0===n||n.call(e,t)}},[A]),(0,o.useEffect)(function(){if("auto"===h){var n=setInterval(function(){try{var n=c().getAppBaseInfo(),t="dark"===n.theme?"dark":"light";t!==k.current&&A(t)}catch(n){}},2e3);return function(){return clearInterval(n)}}},[h,A]),(0,o.useEffect)(function(){c().eventCenter.trigger(d,y)},[y]),(0,o.useEffect)(function(){(0,s.G)(y)},[y]),(0,i.useDidShow)(function(){"auto"===h&&w()}),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(u.Ss,{className:"system-theme-detector"}),(0,l.jsx)(f.Provider,{value:{theme:h,resolvedTheme:y,toggleTheme:C,setTheme:T},children:t})]})}function h(){return(0,o.useContext)(f)}},9201:function(n,t,e){e.d(t,{c:function(){return a}});var r=e(5544),o=e(6540),i=e(758),c=e.n(i),u=null;function a(){var n=(0,o.useState)(null!==u&&void 0!==u?u:{statusBarHeight:20,menuButtonTop:26,menuButtonHeight:32,capsuleRight:368,safeInsetTop:20,safeInsetBottom:0,headerPaddingTop:66,backBtnPaddingTop:20}),t=(0,r.A)(n,2),e=t[0],i=t[1];return(0,o.useEffect)(function(){if(u)i(u);else try{var n,t,e,r,o,a,s,l,f=c().getSystemInfoSync(),d=c().getMenuButtonBoundingClientRect(),g=f.statusBarHeight||20,h=null!==(n=d.top)&&void 0!==n?n:g+4,p=null!==(t=d.height)&&void 0!==t?t:32,m=null!==(e=d.right)&&void 0!==e?e:f.windowWidth-7,v=null!==(r=null===(o=f.safeArea)||void 0===o?void 0:o.top)&&void 0!==r?r:g,y=null!==(a=f.safeAreaInsetBottom)&&void 0!==a?a:f.screenHeight-(null!==(s=null===(l=f.safeArea)||void 0===l?void 0:l.bottom)&&void 0!==s?s:f.screenHeight),S=Math.max(h+p+6,g+44),k=Math.max(g,h-4),b={statusBarHeight:g,menuButtonTop:h,menuButtonHeight:p,capsuleRight:m,safeInsetTop:v,safeInsetBottom:y,headerPaddingTop:S,backBtnPaddingTop:k};u=b,i(b)}catch(n){}},[]),e}},5414:function(n,t,e){e.d(t,{l:function(){return u}});var r=e(6540),o=e(758),i=e.n(o),c=e(6606);function u(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=t.mode,u=void 0===e?"auto":e,a=(0,r.useCallback)(function(){var t="dark"===u||"auto"===u&&"light"===n,e=t?"#000000":"#ffffff",r=t?"#faf7f2":"#191919";i().setNavigationBarColor({frontColor:e,backgroundColor:r}),(0,c.G)(n,r)},[u,n]);(0,r.useEffect)(a,[a]),(0,o.useDidShow)(a)}},5787:function(n,t,e){e.d(t,{l8:function(){return w},jp:function(){return f},gf:function(){return i.gf},xZ:function(){return T},iD:function(){return c},ri:function(){return a},x5:function(){return B},W$:function(){return A},r7:function(){return s}});var r=e(1212),o=e(467),i=e(3246);function c(n){return u.apply(this,arguments)}function u(){return u=(0,o.A)((0,r.A)().m(function n(t){var e;return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:return n.n=1,i.Ay.post("/api/auth/login",{code:t},{auth:!1});case 1:return e=n.v,null!==e&&void 0!==e&&e.accessToken&&(0,i.WG)(e.accessToken),n.a(2,e)}},n)})),u.apply(this,arguments)}function a(){(0,i.L)()}function s(n){return l.apply(this,arguments)}function l(){return l=(0,o.A)((0,r.A)().m(function n(t){return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:return n.a(2,i.Ay.patch("/api/users/me",t))}},n)})),l.apply(this,arguments)}function f(){return d.apply(this,arguments)}function d(){return d=(0,o.A)((0,r.A)().m(function n(){return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:return n.a(2,i.Ay.get("/api/users/me"))}},n)})),d.apply(this,arguments)}var g=e(4765),h=e(9379),p=e(758),m=e.n(p);function v(n,t,e,r){return y.apply(this,arguments)}function y(){return y=(0,o.A)((0,r.A)().m(function n(t,e,o,c){var u,a;return(0,r.A)().w(function(n){while(1)switch(n.p=n.n){case 0:return n.n=1,m().uploadFile({url:"".concat(i.C1).concat(t),filePath:e,name:o,formData:c,header:{Authorization:"Bearer ".concat((0,i.gf)())}});case 1:u=n.v,n.p=2,a=JSON.parse(u.data),n.n=4;break;case 3:throw n.p=3,n.v,new Error("\u7f51\u7edc\u5f02\u5e38\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5");case 4:if(!a||"number"!==typeof a.code||0===a.code){n.n=5;break}throw new Error(a.message||"\u8bf7\u6c42\u5931\u8d25");case 5:return n.a(2,a&&"number"===typeof a.code?a.data:a)}},n,null,[[2,3]])})),y.apply(this,arguments)}function S(n){return i.Ay.get("/api/upload/credentials?key=".concat(encodeURIComponent(n)))}function k(n,t){return b.apply(this,arguments)}function b(){return b=(0,o.A)((0,r.A)().m(function n(t,e){var o,i;return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:if(e.presignedUrl){n.n=1;break}throw new Error("\u83b7\u53d6 COS \u76f4\u4f20\u5730\u5740\u5931\u8d25");case 1:return o=m().getFileSystemManager(),i=o.readFileSync(t),n.n=2,m().request({url:e.presignedUrl,method:"PUT",data:i,header:{"Content-Type":"application/octet-stream"}});case 2:return n.a(2,e.presignedUrl.split("?")[0])}},n)})),b.apply(this,arguments)}function A(n){return v("/api/sketch",n,"image")}function w(n,t,e){return v("/api/wordcloud/generate",n,"image",(0,h.A)({names:t},e?{params:JSON.stringify(e)}:{}))}function T(n){return i.Ay.get("/api/wordcloud/jobs/".concat(n))}function C(n){return!!n&&/^(wxfile:|http:\/\/tmp\/|tmp\/)/i.test(n)}function x(n){return _.apply(this,arguments)}function _(){return _=(0,o.A)((0,r.A)().m(function n(t){var e,o;return(0,r.A)().w(function(n){while(1)switch(n.p=n.n){case 0:return n.p=0,e="uploads/sticker/".concat(Date.now(),"_").concat(Math.floor(1e6*Math.random()),".jpg"),n.n=1,S(e);case 1:return o=n.v,n.n=2,k(t,o);case 2:return n.a(2,n.v);case 3:return n.p=3,n.v,n.a(2,t)}},n,null,[[0,3]])})),_.apply(this,arguments)}function B(n){return j.apply(this,arguments)}function j(){return j=(0,o.A)((0,r.A)().m(function n(t){var e,o,i,c,u,a,s,l,f,d,p,m,v,y,S,k;return(0,r.A)().w(function(n){while(1)switch(n.p=n.n){case 0:if(t){n.n=1;break}return n.a(2,t);case 1:if(e=(0,h.A)({},t),!t.background||!C(t.background.src)){n.n=3;break}return a=h.A,s=(0,h.A)({},t.background),l={},n.n=2,x(t.background.src);case 2:f=n.v,e.background=a(s,l,{src:f});case 3:if(!t.stickers||!t.stickers.length){n.n=14;break}o=[],i=(0,g.A)(t.stickers),n.p=4,i.s();case 5:if((c=i.n()).done){n.n=10;break}if(u=c.value,d=o,!C(u.src)){n.n=7;break}return m=h.A,v=(0,h.A)({},u),y={},n.n=6,x(u.src);case 6:S=n.v,p=m(v,y,{src:S}),n.n=8;break;case 7:p=u;case 8:d.push.call(d,p);case 9:n.n=5;break;case 10:n.n=12;break;case 11:n.p=11,k=n.v,i.e(k);case 12:return n.p=12,i.f(),n.f(12);case 13:e.stickers=o;case 14:return n.a(2,e)}},n,null,[[4,11,12,13]])})),j.apply(this,arguments)}},8199:function(n,t,e){e.d(t,{uq:function(){return o}});var r="https://wordcloudwechat.oss-cn-hangzhou.aliyuncs.com";function o(n){if(!n)return"";if(/^(https?:|wxfile:|data:)/i.test(n))return n;if(!r)return n;var t=r.replace(/\/+$/,"");if(!n.startsWith("/img/"))return n;var e=n.startsWith("/")?n:"/".concat(n);return"".concat(t).concat(e)}},6764:function(n,t,e){e.d(t,{d:function(){return y},m:function(){return h}});var r=e(1212),o=e(467),i=e(2284),c=e(758),u=e.n(c),a=e(5787),s=e(1457),l="smart_auth_verified",f=18e5,d=null,g=null;function h(){d=null,g=null;try{u().removeStorageSync(l)}catch(n){}}function p(n){var t=d||function(){try{var n=u().getStorageSync(l);return n&&"object"===(0,i.A)(n)?n:null}catch(n){return null}}();return t&&t.openid===n?Date.now()-t.at>f?null:(d=t,t.ok):null}function m(n,t){var e={openid:n,ok:t,at:Date.now()};d=e;try{u().setStorageSync(l,e)}catch(n){}}function v(){var n=(0,s.Q4)();return!(null===n||void 0===n||!n.openid)&&!(0,s.Ic)(n.openid)&&!!n.accessToken&&!!(0,a.gf)()}function y(){return S.apply(this,arguments)}function S(){return S=(0,o.A)((0,r.A)().m(function n(){var t,e;return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:if(t=(0,s.Q4)(),null!==t&&void 0!==t&&t.openid){n.n=1;break}return console.log("[AuthGuard] \u65e0\u672c\u5730\u7528\u6237\uff0c\u5224\u5b9a\u672a\u767b\u5f55"),n.a(2,!1);case 1:if(console.log("[AuthGuard] \u672c\u5730\u7528\u6237 openid=",t.openid),!(0,s.Ic)(t.openid)){n.n=2;break}return(0,s.Hf)(),(0,a.ri)(),h(),n.a(2,!1);case 2:if(e=p(t.openid),null===e){n.n=3;break}return console.log("[AuthGuard] \u547d\u4e2d\u672c\u5730\u7f13\u5b58 ok=",e),n.a(2,e);case 3:return g||(g=(0,a.jp)().then(function(n){console.log("[AuthGuard] getMe \u8fd4\u56de:",JSON.stringify(n));var e=!!n&&!!n.id&&n.openid===t.openid;return console.log("[AuthGuard] \u4e00\u81f4\u6027=",e),e?(m(t.openid,!0),!0):((0,s.Hf)(),(0,a.ri)(),h(),!1)}).catch(function(n){return console.error("[AuthGuard] getMe \u5931\u8d25\uff0c\u8d70\u672c\u5730\u4f1a\u8bdd\u515c\u5e95:",n),v()}).finally(function(){g=null})),n.a(2,g)}},n)})),S.apply(this,arguments)}},5234:function(n,t,e){e.d(t,{QE:function(){return l},R6:function(){return u},rj:function(){return s},y9:function(){return a},zv:function(){return c}});var r=e(9379),o=e(8199),i=[{id:"notebook-small",name:"\u5fae\u96d5\u7b14\u8bb0\u672c\uff08\u5c0f\uff09",desc:"\u4fbf\u643a\u968f\u884c\uff0c\u8bb0\u5f55\u70b9\u6ef4",icon:"/icon/\u4e66\u672c.png",iconImg:"/icon/\u4e66\u672c.png",price:12,originalPrice:18,leadTime:"3-5\u4e2a\u5de5\u4f5c\u65e5",description:"\u7cbe\u9009\u4f18\u8d28\u7eb8\u5f20\uff0c\u5c01\u9762\u91c7\u7528\u9ad8\u6863PU\u6750\u8d28\uff0c\u624b\u611f\u7ec6\u817b\u3002\u5185\u9875\u53ef\u5b9a\u5236\u6a2a\u7ebf\u3001\u65b9\u683c\u6216\u7a7a\u767d\u4e09\u79cd\u7248\u5f0f\u3002\u6fc0\u5149\u5fae\u96d5\u5de5\u827a\u5c06\u540d\u5b57\u6216\u56fe\u6848\u7cbe\u51c6\u523b\u5370\u5728\u5c01\u9762\uff0c\u6c38\u4e0d\u892a\u8272\u3002\u5c0f\u5de7\u8f7b\u4fbf\uff0c\u9002\u5408\u968f\u8eab\u643a\u5e26\uff0c\u65e0\u8bba\u662f\u8bfe\u5802\u7b14\u8bb0\u8fd8\u662f\u65e5\u5e38\u5907\u5fd8\uff0c\u90fd\u662f\u4f60\u7684\u4e13\u5c5e\u4f34\u4fa3\u3002",subtitle:"\u638c\u5fc3\u95f4\u7684\u4e13\u5c5e\u5370\u8bb0 \xb7 \u6fc0\u5149\u5fae\u96d5 \xb7 \u4e09\u8272\u5185\u9875\u53ef\u9009",tone:[28,22,18],story:"\u7075\u611f\u6e90\u81ea\u624b\u8d26\u6587\u5316\u4e2d\u5bf9\u4e66\u5199\u4eea\u5f0f\u611f\u7684\u8ffd\u6c42\u3002\u6211\u4eec\u76f8\u4fe1\uff0c\u5728\u6570\u5b57\u6d2a\u6d41\u7684\u65f6\u4ee3\uff0c\u7eb8\u7b14\u7684\u6e29\u5ea6\u4f9d\u7136\u4e0d\u53ef\u66ff\u4ee3\u3002\u5f53\u6fc0\u5149\u5fae\u96d5\u5728PU\u5c01\u9762\u4e0a\u7559\u4e0b\u4e13\u5c5e\u5370\u8bb0\uff0c\u6bcf\u4e00\u7b14\u4e66\u5199\u90fd\u5728\u4e0e\u8fc7\u53bb\u5bf9\u8bdd\u3002\u7b14\u8bb0\u672c\u5c0f\u5de7\u5230\u8db3\u4ee5\u653e\u5165\u4efb\u4f55\u53e3\u888b\uff0c\u5374\u627f\u8f7d\u7740\u72ec\u4e00\u65e0\u4e8c\u7684\u8bb0\u5fc6\u3002",scene:"\u8bfe\u5802\u7b14\u8bb0\u3001\u65e5\u5e38\u5907\u5fd8\u3001\u65c5\u884c\u624b\u8d26\u3001\u5fc3\u60c5\u65e5\u8bb0\u3002\u9002\u5408\u9001\u7ed9\u540c\u5b66\u3001\u4f34\u4fa3\u6216\u4f5c\u4e3a\u6d3b\u52a8\u4f34\u624b\u793c\u2014\u2014\u8ba9\u6bcf\u4e00\u4e2a\u4eba\u90fd\u62e5\u6709\u523b\u7740\u81ea\u5df1\u540d\u5b57\u7684\u4e13\u5c5e\u7b14\u8bb0\u672c\u3002",tags:["\u4f34\u624b\u793c","\u5b66\u751f","\u624b\u8d26","\u4fbf\u643a","\u6fc0\u5149\u5fae\u96d5"],specs:[["\u5c3a\u5bf8","105 \xd7 148mm\uff08A6\uff09"],["\u9875\u6570","120\u5f20/240\u9875"],["\u5185\u9875\u7248\u5f0f","\u6a2a\u7ebf / \u65b9\u683c / \u7a7a\u767d \u53ef\u9009"],["\u5c01\u9762\u6750\u8d28","\u9ad8\u6863PU\u76ae\u9769"],["\u96d5\u523b\u5de5\u827a","CO2 \u6fc0\u5149\u5fae\u96d5\uff08\u6c38\u4e0d\u892a\u8272\uff09"],["\u9002\u7528\u573a\u666f","\u8bfe\u5802\u3001\u65c5\u884c\u3001\u65e5\u5e38\u5907\u5fd8"]],images:["/img/book_small/The1.jpg"],mask:{shape:"rect",width:300,height:420,borderRadius:8}},{id:"notebook-large",name:"\u5fae\u96d5\u7b14\u8bb0\u672c\uff08\u5927\uff09",desc:"\u5927\u5f00\u672c\uff0c\u66f4\u591a\u521b\u4f5c\u7a7a\u95f4",icon:"/icon/\u4e66\u672c_\u5927.png",iconImg:"/icon/\u4e66\u672c_\u5927.png",price:45,originalPrice:58,leadTime:"3-5\u4e2a\u5de5\u4f5c\u65e5",description:"A4\u5c3a\u5bf8\u5927\u5f00\u672c\uff0c180\xb0\u5e73\u644a\u8bbe\u8ba1\uff0c\u4e66\u5199\u66f4\u81ea\u7531\u3002\u5c01\u9762\u53ef\u9009\u771f\u76ae\u3001\u4eff\u5e03\u7eb9\u6216\u78e8\u7802\u6750\u8d28\uff0c\u6fc0\u5149\u5fae\u96d5\u533a\u57df\u66f4\u5927\uff0c\u9002\u5408\u5448\u73b0\u5168\u73ed\u540d\u5b57\u3001\u56e2\u961f\u53e3\u53f7\u6216\u516c\u53f8Logo\u7b49\u5927\u7bc7\u5e45\u5185\u5bb9\u3002\u662f\u6bd5\u4e1a\u7eaa\u5ff5\u3001\u4f01\u4e1a\u5e74\u4f1a\u793c\u54c1\u7684\u9996\u9009\u3002",subtitle:"\u5927\u7bc7\u5e45\u5b9a\u5236\u9996\u9009 \xb7 180\xb0\u5e73\u644a \xb7 \u6bd5\u4e1a/\u56e2\u5efa\u5fc5\u5907",tone:[35,28,22],story:"\u6bcf\u4e00\u6b21\u544a\u522b\u90fd\u503c\u5f97\u88ab\u90d1\u91cd\u4e66\u5199\u3002\u6bd5\u4e1a\u5b63\u7684\u6559\u5ba4\u91cc\uff0c\u7b14\u8bb0\u672c\u644a\u5f00\u5728\u8bfe\u684c\u4e0a\uff0c\u5168\u73ed\u7684\u540d\u5b57\u88ab\u6fc0\u5149\u523b\u5370\u5728\u5c01\u9762\u4e2d\u592e\uff0c\u6210\u4e3a\u6c38\u6052\u7684\u540c\u5b66\u5f55\u3002180\xb0\u5e73\u644a\u8bbe\u8ba1\u8ba9\u4e66\u5199\u4e0d\u518d\u88ab\u8ba2\u88c5\u675f\u7f1a\uff0cA4\u5927\u5c3a\u5bf8\u7ed9\u4f60\u5c3d\u60c5\u6325\u6d12\u7684\u5929\u5730\u3002\u8fd9\u662f\u9001\u7ed9\u4e00\u7fa4\u4eba\u6700\u597d\u7684\u544a\u522b\u793c\u7269\u3002",scene:"\u6bd5\u4e1a\u7eaa\u5ff5\u518c\u3001\u516c\u53f8\u5e74\u4f1a\u793c\u54c1\u3001\u56e2\u961f\u5efa\u8bbe\u4f34\u624b\u793c\u3001\u5ba2\u6237\u7b54\u8c22\u3002\u7279\u522b\u9002\u5408\u9700\u8981\u5728\u5c01\u9762\u5448\u73b0\u5927\u91cf\u6587\u5b57\u6216\u56fe\u6848\u7684\u5b9a\u5236\u9700\u6c42\u2014\u2014\u73ed\u7ea7\u540d\u5355\u3001\u516c\u53f8\u613f\u666f\u3001\u56e2\u961f\u53e3\u53f7\u4e00\u7f51\u6253\u5c3d\u3002",tags:["\u6bd5\u4e1a\u793c","\u56e2\u5efa","\u4f01\u4e1a\u5b9a\u5236","\u5927\u7bc7\u5e45","\u5e73\u644a\u8bbe\u8ba1"],specs:[["\u5c3a\u5bf8","210 \xd7 297mm\uff08A4\uff09"],["\u9875\u6570","100\u5f20/200\u9875"],["\u5c01\u9762\u6750\u8d28","\u771f\u76ae / \u4eff\u5e03\u7eb9 / \u78e8\u7802 \u53ef\u9009"],["\u5f00\u5408\u9002\u7528","180\xb0\u5e73\u644a\u8bbe\u8ba1"],["\u96d5\u523b\u5de5\u827a","CO2 \u6fc0\u5149\u5fae\u96d5\uff08\u9ad8\u6e05\u6670\u5ea6\uff09"],["\u5b9a\u5236\u9762\u79ef","\u5c01\u9762\u6574\u9762\u53ef\u96d5"]],images:["/img/book_big/The1.jpg","/img/book_big/The2.jpg"],mask:{shape:"rect",width:340,height:480,borderRadius:8}},{id:"coaster",name:"\u94dc\u8d28\u676f\u57ab",desc:"\u91d1\u5c5e\u8d28\u611f\uff0c\u684c\u9762\u827a\u672f",icon:"/icon/\u676f\u5b50.png",iconImg:"/icon/\u676f\u5b50.png",price:25,originalPrice:35,leadTime:"5-7\u4e2a\u5de5\u4f5c\u65e5",description:"\u91c7\u7528\u4f18\u8d28\u9ec4\u94dc\u6750\u8d28\uff0c\u8868\u9762\u7ecf\u62c9\u4e1d\u5de5\u827a\u5904\u7406\uff0c\u5448\u73b0\u54d1\u5149\u91d1\u5c5e\u8d28\u611f\u3002\u80cc\u9762\u914d\u6709\u9632\u6ed1\u8f6f\u6728\u57ab\uff0c\u4fdd\u62a4\u684c\u9762\u540c\u65f6\u9632\u6b62\u6ed1\u52a8\u3002\u6fc0\u5149\u5fae\u96d5\u53ef\u5728\u8868\u9762\u523b\u5370\u540d\u5b57\u3001\u65e5\u671f\u6216\u795d\u798f\u8bed\uff0c\u662f\u4e54\u8fc1\u65b0\u5c45\u3001\u65b0\u5a5a\u8d3a\u793c\u7684\u7cbe\u81f4\u4e4b\u9009\u3002",subtitle:"\u9ec4\u94dc\u8d28\u611f \xb7 \u62c9\u4e1d\u54d1\u5149 \xb7 \u684c\u9762\u4e0a\u7684\u5fae\u578b\u96d5\u5851",tone:[42,30,18],story:"\u8bbe\u8ba1\u7075\u611f\u6765\u81ea\u65e5\u5f0f\u4f98\u5bc2\u7f8e\u5b66\u3002\u5c81\u6708\u4f1a\u5728\u9ec4\u94dc\u8868\u9762\u7559\u4e0b\u6e29\u67d4\u7684\u6c27\u5316\u75d5\u8ff9\uff0c\u5c31\u5982\u540c\u4e00\u676f\u8336\u4ece\u70ed\u5230\u51c9\u7684\u8fc7\u7a0b\u3002\u62c9\u4e1d\u5904\u7406\u540e\u7684\u54d1\u5149\u8868\u9762\u5728\u706f\u5149\u4e0b\u5448\u73b0\u7ec6\u817b\u7684\u91d1\u5c5e\u7eb9\u7406\uff0c\u6fc0\u5149\u5fae\u96d5\u7684\u540d\u5b57\u6210\u4e3a\u8fd9\u4ef6\u5668\u7269\u4e0a\u6700\u51b7\u9759\u7684\u6ce8\u811a\u3002\u5b83\u4e0d\u53ea\u662f\u676f\u57ab\uff0c\u66f4\u662f\u684c\u9762\u4e0a\u7684\u5fae\u578b\u96d5\u5851\u3002",scene:"\u4e54\u8fc1\u9001\u793c\u3001\u65b0\u5a5a\u8d3a\u793c\u3001\u5496\u5561\u89d2\u5e03\u7f6e\u3001\u529e\u516c\u684c\u7f8e\u5b66\u3002\u9002\u5408\u9001\u7ed9\u559c\u6b22\u624b\u51b2\u5496\u5561\u7684\u670b\u53cb\uff0c\u6216\u4f5c\u4e3a\u5a5a\u793c\u5bbe\u5ba2\u7684\u56de\u793c\u2014\u2014\u6bcf\u4e00\u53ea\u676f\u57ab\u4e0a\u90fd\u523b\u7740\u5bbe\u5ba2\u7684\u540d\u5b57\uff0c\u8ba9\u793c\u7269\u672c\u8eab\u6210\u4e3a\u5ea7\u4f4d\u5361\u3002",tags:["\u4e54\u8fc1\u793c","\u65b0\u5a5a\u8d3a\u793c","\u684c\u9762\u7f8e\u5b66","\u9ec4\u94dc","\u624b\u51b2\u5496\u5561"],specs:[["\u6750\u8d28","\u9ec4\u94dc + \u80cc\u9762\u8f6f\u6728\u9632\u6ed1\u57ab"],["\u8868\u9762\u5904\u7406","\u62c9\u4e1d\u54d1\u5149"],["\u76f4\u5f84","100mm"],["\u539a\u5ea6","3mm"],["\u96d5\u523b\u5de5\u827a","\u5149\u7ea4\u6fc0\u5149\u7cbe\u7ec6\u5fae\u96d5"],["\u8010\u6e29","\u2264120\xb0C"]],images:["/img/cup/The1.jpg"],mask:{shape:"circle",width:280,height:280}},{id:"penbox",name:"\u7af9\u5236\u7b14\u76d2",desc:"\u81ea\u7136\u7af9\u7eb9\uff0c\u6587\u623f\u96c5\u5668",icon:"/icon/\u7b14\u76d2.png",iconImg:"/icon/\u7b14\u76d2.png",price:75,originalPrice:98,leadTime:"7-10\u4e2a\u5de5\u4f5c\u65e5",description:"\u7cbe\u9009\u5929\u7136\u6960\u7af9\uff0c\u7ecf\u591a\u9053\u5de5\u5e8f\u6253\u78e8\u629b\u5149\uff0c\u4fdd\u7559\u5929\u7136\u7af9\u7eb9\u808c\u7406\u3002\u76d2\u76d6\u91c7\u7528\u78c1\u5438\u5f00\u5408\uff0c\u5185\u90e8\u8bbe\u6709\u5206\u5c42\u9694\u677f\u3002\u6fc0\u5149\u5fae\u96d5\u5728\u7af9\u9762\u4e0a\u5448\u73b0\u6df1\u6d45\u4e0d\u4e00\u7684\u96d5\u523b\u6548\u679c\uff0c\u878d\u5165\u58a8\u9999\u6c14\u8d28\u3002\u9002\u5408\u4e66\u623f\u6848\u5934\u3001\u4e66\u6cd5\u7231\u597d\u8005\u7684\u6587\u623f\u4f34\u4fa3\u3002",subtitle:"\u5929\u7136\u6960\u7af9 \xb7 \u78c1\u5438\u5f00\u5408 \xb7 \u6587\u623f\u96c5\u5668\u4e4b\u9009",tone:[30,24,16],story:"\u6bcf\u4e00\u53ea\u7b14\u76d2\u90fd\u6765\u81ea\u540c\u4e00\u7247\u7af9\u6797\u7684\u4e0d\u540c\u90e8\u4f4d\uff0c\u56e0\u6b64\u7eb9\u8def\u7edd\u4e0d\u91cd\u590d\u2014\u2014\u6b63\u5982\u6ca1\u6709\u4e24\u4e2a\u4eba\u7684\u4e66\u6cd5\u98ce\u683c\u5b8c\u5168\u76f8\u540c\u3002\u6211\u4eec\u4fdd\u7559\u4e86\u6960\u7af9\u5929\u7136\u7684\u6e29\u6da6\u89e6\u611f\uff0c\u53ea\u5728\u8868\u9762\u4ee5\u6fc0\u5149\u523b\u4e0b\u540d\u5b57\u6216\u4e00\u53e5\u7bb4\u8a00\u3002\u6253\u5f00\u78c1\u5438\u76d2\u76d6\u65f6\u7684\u6e05\u8106\u58f0\u54cd\uff0c\u662f\u6587\u623f\u4e2d\u7684\u5c0f\u5c0f\u4eea\u5f0f\u3002",scene:"\u4e66\u623f\u6848\u5934\u3001\u4e66\u6cd5\u7231\u597d\u8005\u88c5\u5907\u3001\u6559\u5e08\u8282\u793c\u7269\u3001\u4e66\u623f\u6696\u623f\u793c\u3002\u9002\u5408\u9001\u7ed9\u5199\u5b57\u597d\u770b\u7684\u4eba\u2014\u2014\u56e0\u4e3a\u61c2\u4e66\u5199\u7684\u4eba\uff0c\u624d\u61c2\u4e00\u53ea\u597d\u7b14\u76d2\u7684\u5206\u91cf\u3002",tags:["\u6587\u623f","\u4e66\u6cd5","\u6559\u5e08\u8282","\u4e66\u623f","\u5929\u7136\u6750\u8d28"],specs:[["\u6750\u8d28","\u5929\u7136\u6960\u7af9"],["\u5f00\u5408\u65b9\u5f0f","\u78c1\u5438\u5f0f\u76d2\u76d6"],["\u5185\u90e8\u7ed3\u6784","\u5206\u5c42\u9694\u677f\uff08\u53ef\u8c03\u8282\uff09"],["\u5c3a\u5bf8","200 \xd7 65 \xd7 30mm"],["\u8868\u9762\u5904\u7406","\u624b\u5de5\u6253\u78e8\u629b\u5149\uff0c\u65e0\u6f06"],["\u96d5\u523b\u5de5\u827a","CO2 \u6fc0\u5149\u70e7\u8680\uff08\u6df1\u6d45\u53ef\u8c03\uff09"]],images:["/img/penbox/The1.jpg","/img/penbox/The2.jpg","/img/penbox/The3.jpg"],mask:{shape:"rect",width:320,height:160,borderRadius:12}},{id:"booklamp",name:"\u4e66\u672c\u578b\u706f",desc:"\u6e29\u6696\u5149\u5f71\uff0c\u70b9\u4eae\u5fc3\u610f",icon:"/icon/\u4e66\u706f.png",iconImg:"/icon/\u4e66\u706f.png",price:45,originalPrice:68,leadTime:"5-7\u4e2a\u5de5\u4f5c\u65e5",description:"\u5f00\u5408\u5f0f\u8bbe\u8ba1\uff0c\u6253\u5f00\u5373\u4eae\uff0c\u5408\u62e2\u5373\u706d\uff0c\u5982\u9b54\u6cd5\u4e66\u822c\u5145\u6ee1\u60ca\u559c\u3002\u91c7\u7528LED\u6696\u5149\u706f\u6e90\uff0c\u5149\u7ebf\u67d4\u548c\u4e0d\u523a\u773c\uff0c\u53ef\u6301\u7eed\u70b9\u4eae6-8\u5c0f\u65f6\u3002\u5c01\u9762\u6fc0\u5149\u5fae\u96d5\u53ef\u5b9a\u5236\u6587\u5b57\u3001\u56fe\u6848\u6216\u7167\u7247\uff0c\u8ba9\u6e29\u6696\u7684\u706f\u5149\u627f\u8f7d\u4e13\u5c5e\u8bb0\u5fc6\u3002\u662f\u60c5\u4fa3\u793c\u7269\u3001\u6bd5\u4e1a\u793c\u7269\u7684\u521b\u610f\u4e4b\u9009\u3002",subtitle:"\u5f00\u5408\u5373\u4eae \xb7 LED\u6696\u5149 \xb7 \u9b54\u6cd5\u4e66\u822c\u7684\u60ca\u559c",tone:[25,20,15],story:"\u7075\u611f\u6765\u81ea\u300a\u54c8\u5229\xb7\u6ce2\u7279\u300b\u4e2d\u7684\u9b54\u6cd5\u8bfe\u672c\u2014\u2014\u6253\u5f00\u4e00\u672c\u4e66\uff0c\u5149\u8292\u503e\u6cfb\u800c\u51fa\u3002\u6211\u4eec\u91c7\u7528\u675c\u90a6\u7eb8\u4e0e\u5b9e\u6728\u5c01\u9762\u7ed3\u5408\uff0c\u8ba9\u706f\u4f53\u65e2\u8f7b\u8584\u53c8\u575a\u56fa\u3002\u6fc0\u5149\u5fae\u96d5\u5728\u5c01\u9762\u7559\u4e0b\u4f60\u7684\u540d\u5b57\u6216\u4e00\u5e45\u5c0f\u753b\uff0c\u5f53\u706f\u5728\u6df1\u591c\u4eae\u8d77\uff0c\u90a3\u662f\u4e13\u5c5e\u4e8e\u4f60\u7684\u6e29\u6696\u89d2\u843d\u3002",scene:"\u60c5\u4fa3\u793c\u7269\u3001\u6bd5\u4e1a\u7eaa\u5ff5\u3001\u5e8a\u5934\u591c\u706f\u3001\u9732\u8425\u6c1b\u56f4\u706f\u3001\u513f\u7ae5\u623f\u3002\u7279\u522b\u9002\u5408\u5728\u5c01\u9762\u523b\u4e0a\u4e24\u4e2a\u4eba\u7684\u540d\u5b57\u548c\u4e00\u53e5\u60c5\u8bdd\uff0c\u5728\u60c5\u4eba\u8282\u6216\u7eaa\u5ff5\u65e5\u9001\u51fa\u2014\u2014\u6253\u5f00\u4e66\u706f\uff0c\u5c31\u50cf\u6253\u5f00\u4e00\u5c01\u4f1a\u53d1\u5149\u7684\u60c5\u4e66\u3002",tags:["\u60c5\u4fa3\u793c","\u6bd5\u4e1a\u7eaa\u5ff5","\u591c\u706f","\u6c1b\u56f4\u706f","\u521b\u610f\u793c\u7269"],specs:[["\u5149\u6e90","LED \u6696\u767d\u5149\uff083000K\uff09"],["\u7eed\u822a","6-8\u5c0f\u65f6\uff08\u5185\u7f6e\u53ef\u5145\u7535\u9502\u7535\u6c60\uff09"],["\u5145\u7535","USB Type-C \u63a5\u53e3"],["\u5c01\u9762\u6750\u8d28","\u675c\u90a6\u7eb8 + \u5b9e\u6728\u5c01\u9762"],["\u5c55\u5f00\u5c3a\u5bf8","210 \xd7 150mm"],["\u96d5\u523b\u5de5\u827a","\u6fc0\u5149\u5fae\u96d5\uff08\u652f\u6301\u6587\u5b57+\u7b80\u5355\u56fe\u6848\uff09"]],images:["/img/booklight/The1.jpg","/img/booklight/The2.jpg"],mask:{shape:"rect",width:320,height:240,borderRadius:4}}],c=i.map(function(n){return(0,r.A)((0,r.A)({},n),{},{images:(n.images||[]).map(function(n){return(0,o.uq)(n)}),iconImg:(0,o.uq)(n.iconImg)})}),u=c,a=function(n){return c.find(function(t){return t.id===n})},s={"notebook-small":(0,o.uq)("/icon/\u4e66\u672c.png"),"notebook-large":(0,o.uq)("/icon/\u4e66\u672c_\u5927.png"),coaster:(0,o.uq)("/icon/\u676f\u5b50.png"),penbox:(0,o.uq)("/icon/\u7b14\u76d2.png"),booklamp:(0,o.uq)("/icon/\u4e66\u706f.png")};function l(n){return null!==n&&void 0!==n&&n.iconImg?(0,o.uq)(n.iconImg):null!==n&&void 0!==n&&n.id?(0,o.uq)(s[n.id]||"/icon/\u56db\u89d2\u661f.svg"):(0,o.uq)("/icon/\u56db\u89d2\u661f.svg")}},3246:function(n,t,e){e.d(t,{C1:function(){return a},L:function(){return g},Sy:function(){return l},WG:function(){return d},gf:function(){return f},q:function(){return m}});var r=e(1212),o=e(9379),i=e(467),c=e(758),u=e.n(c),a="https://wxbackend.tokenleaping.com",s="smart_access_token";function l(){try{u().hideLoading()}catch(n){}}function f(){try{return u().getStorageSync(s)||""}catch(n){return""}}function d(n){u().setStorageSync(s,n)}function g(){try{u().removeStorageSync(s)}catch(n){}}var h=null;var p=null;function m(n){p=n}function v(n,t,e,r){return y.apply(this,arguments)}function y(){return y=(0,i.A)((0,r.A)().m(function n(t,e,o,i){return(0,r.A)().w(function(n){while(1)switch(n.n){case 0:return n.a(2,u().request({url:"".concat(a).concat(t),method:e,data:o,header:i}))}},n)})),y.apply(this,arguments)}function S(n){return k.apply(this,arguments)}function k(){return k=(0,i.A)((0,r.A)().m(function n(t){var e,i,c,u,a,s,l,d,m,y,S,k,b,A,w,T,C,x,_=arguments;return(0,r.A)().w(function(n){while(1)switch(n.p=n.n){case 0:return e=_.length>1&&void 0!==_[1]?_[1]:{},i=e.method,c=void 0===i?"GET":i,u=e.data,a=e.headers,s=void 0===a?{}:a,l=e.auth,d=void 0===l||l,m=e.skipAuthRefresh,y=void 0!==m&&m,S=function(){var n=f();return(0,o.A)((0,o.A)({"Content-Type":"application/json"},d&&n?{Authorization:"Bearer ".concat(n)}:{}),s)},n.p=1,n.n=2,v(t,c,u,S());case 2:k=n.v,n.n=4;break;case 3:throw n.p=3,n.v,b=new Error("\u7f51\u7edc\u5f02\u5e38\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5"),b.statusCode=-1,b;case 4:if(401!==k.statusCode||y||!p){n.n=9;break}return n.n=5,p();case 5:if(A=n.v,!A){n.n=9;break}return n.p=6,n.n=7,v(t,c,u,S());case 7:k=n.v,n.n=9;break;case 8:throw n.p=8,n.v,w=new Error("\u7f51\u7edc\u5f02\u5e38\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5"),w.statusCode=-1,w;case 9:if(401!==k.statusCode){n.n=10;break}throw g(),null===(T=h)||void 0===T||T(),C=new Error("\u767b\u5f55\u5df2\u8fc7\u671f\uff0c\u8bf7\u91cd\u65b0\u767b\u5f55"),C.statusCode=401,C;case 10:if(x=k.data,!x||"number"!==typeof x.code||0===x.code){n.n=11;break}throw new Error(x.message||"\u8bf7\u6c42\u5931\u8d25");case 11:return n.a(2,x&&"number"===typeof x.code?x.data:x)}},n,null,[[6,8],[1,3]])})),k.apply(this,arguments)}var b={get:function(n,t){return S(n,(0,o.A)((0,o.A)({},t),{},{method:"GET"}))},post:function(n,t,e){return S(n,(0,o.A)((0,o.A)({},e),{},{method:"POST",data:t}))},put:function(n,t,e){return S(n,(0,o.A)((0,o.A)({},e),{},{method:"PUT",data:t}))},patch:function(n,t,e){return S(n,(0,o.A)((0,o.A)({},e),{},{method:"PATCH",data:t}))},del:function(n,t){return S(n,(0,o.A)((0,o.A)({},t),{},{method:"DELETE"}))}};t.Ay=b},1457:function(n,t,e){e.d(t,{E1:function(){return O},cY:function(){return S},Hf:function(){return P},kg:function(){return H},ab:function(){return Q},hG:function(){return F},IU:function(){return C},Re:function(){return U},EB:function(){return z},p_:function(){return v},n7:function(){return w},O4:function(){return V},ug:function(){return q},Q4:function(){return I},Ic:function(){return u},Q1:function(){return M},kh:function(){return b},eW:function(){return X},Fu:function(){return y},Rq:function(){return K},F0:function(){return Z},iA:function(){return R},iZ:function(){return Y},yU:function(){return L},i5:function(){return k},uF:function(){return G}});var r=e(758),o=e.n(r),i="smart_user_info",c="smart_active_openid";function u(n){return!!n&&(n.startsWith("mock_")||n.startsWith("mock-"))}function a(){var n,t=null;try{t=o().getStorageSync(i)}catch(n){t=null}var e=(null===(n=t)||void 0===n?void 0:n.openid)||o().getStorageSync(c)||"_guest_";return o().setStorageSync(c,e),e}function s(n){var t=a();return"".concat(n,"_").concat(t)}function l(n,t){return"".concat(n,"_").concat(t)}var f=e(6764),d=e(9379),g=e(436),h=e(8199),p=e(5234);function m(n){try{return o().getStorageSync(l("design_list",n))||[]}catch(n){return[]}}function v(){try{return o().getStorageSync(s("design_list"))||[]}catch(n){return[]}}function y(n){o().setStorageSync(s("design_list"),n)}function S(n,t){var e=v(),r=(0,h.uq)((null===n||void 0===n?void 0:n.iconImg)||p.rj[null===n||void 0===n?void 0:n.id]||"/icon/\u56db\u89d2\u661f.svg"),o={id:"DSG"+Date.now(),productId:n.id,productName:n.name,productIcon:r,unitPrice:n.price,count:t,status:"undesigned",createdAt:(new Date).toISOString().slice(0,10)};return y([].concat((0,g.A)(e),[o])),o}function k(n,t){var e=v(),r=e.findIndex(function(t){return t.id===n});-1!==r&&(e[r]=(0,d.A)((0,d.A)({},e[r]),t),y(e))}function b(n){var t=v().filter(function(t){return!n.includes(t.id)});y(t)}function A(n){try{return o().getStorageSync(l("order_list",n))||[]}catch(n){return[]}}function w(){try{return o().getStorageSync(s("order_list"))||[]}catch(n){return[]}}function T(n){o().setStorageSync(s("order_list"),n)}function C(n){var t,e=v(),r=w(),o=e.find(function(t){return t.id===n});if(!o)return null;var i=null!==(t=o.productIcon)&&void 0!==t&&t.startsWith("/icon/")||/^https?:/i.test(o.productIcon||"")?o.productIcon:p.rj[o.productId]||"/icon/\u56db\u89d2\u661f.svg",c=(0,h.uq)(i),u={id:"ORD"+Date.now().toString().slice(-9),productName:o.productName,productIcon:c,statusCode:"pending",date:(new Date).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).replace(/\//g,"-"),price:"\xa5"+(o.unitPrice*o.count).toFixed(2),count:o.count,sku:"".concat(o.productName," \xd7 ").concat(o.count)},a=e.findIndex(function(t){return t.id===n});return-1!==a&&(e[a].status="ordered",e[a].orderId=u.id),y(e),T([u].concat((0,g.A)(r))),u}var x="smart_user_registry",_="zhihui2024";function B(){try{return o().getStorageSync(x)||[]}catch(n){return[]}}function j(n){var t=B();t.includes(n)||(t.push(n),o().setStorageSync(x,t))}function N(n){var t=B().filter(function(t){return t!==n});o().setStorageSync(x,t)}function I(){try{return o().getStorageSync(i)}catch(n){return null}}function E(n){var t;o().setStorageSync(i,n),null!==n&&void 0!==n&&n.openid&&(o().setStorageSync(c,n.openid),o().setStorageSync("user_info_".concat(n.openid),n),j(n.openid)),(0,f.m)(),null===(t=o().eventCenter)||void 0===t||t.trigger("authStateChanged",{openid:(null===n||void 0===n?void 0:n.openid)||""})}function D(n){try{var t=o().getStorageSync("user_info_".concat(n));if(t)return t}catch(n){}var e=I();return(null===e||void 0===e?void 0:e.openid)===n?e:null}function P(){var n;o().removeStorageSync(i),o().removeStorageSync(c),(0,f.m)(),null===(n=o().eventCenter)||void 0===n||n.trigger("authStateChanged",{openid:""})}function R(n){E(n)}function q(){return I()}function M(){var n=B();return n.map(function(n){var t=D(n),e=m(n),r=A(n);return{openid:n,nickName:(null===t||void 0===t?void 0:t.nickName)||"\u672a\u77e5\u7528\u6237",avatarUrl:(null===t||void 0===t?void 0:t.avatarUrl)||"",loginAt:(null===t||void 0===t?void 0:t.loginAt)||0,designCount:e.length,orderCount:r.length}})}function H(n,t){var e="mock_"+Date.now().toString(36)+"_"+Math.random().toString(36).slice(2,6),r={openid:e,nickName:n||"\u5fae\u4fe1\u7528\u6237",avatarUrl:t||"",loginAt:Date.now()};return E(r),r}function Y(n){var t=D(n);return!!t&&(o().setStorageSync(i,t),o().setStorageSync(c,n),!0)}function F(n){o().removeStorageSync("user_info_".concat(n)),o().removeStorageSync("design_list_".concat(n)),o().removeStorageSync("order_list_".concat(n)),o().removeStorageSync("address_list_".concat(n)),N(n);var t=I();(null===t||void 0===t?void 0:t.openid)===n&&P()}function G(n){return n===_}function U(){try{return o().getStorageSync(s("address_list"))||[]}catch(n){return[]}}function W(n){o().setStorageSync(s("address_list"),n)}function O(n){var t=U(),e=(0,d.A)((0,d.A)({},n),{},{id:"ADR"+Date.now()});return e.isDefault&&t.forEach(function(n){n.isDefault=!1}),W([e].concat((0,g.A)(t))),e}function L(n,t){var e=U(),r=e.findIndex(function(t){return t.id===n});-1!==r&&(t.isDefault&&e.forEach(function(n){n.isDefault=!1}),e[r]=(0,d.A)((0,d.A)({},e[r]),t),W(e))}function Q(n){var t=U().filter(function(t){return t.id!==n});W(t)}function z(){return U().find(function(n){return n.isDefault})}var J="smart_theme";function V(){try{return o().getStorageSync(J)||"auto"}catch(n){return"auto"}}function Z(n){o().setStorageSync(J,n)}var $=null;function K(n){$=n}function X(n){if("auto"===n){if($)return $;try{var t=o().getAppBaseInfo();if("dark"===t.theme||"light"===t.theme)return t.theme}catch(n){}return"light"}return n}},6606:function(n,t,e){e.d(t,{G:function(){return c}});var r=e(758),o=e.n(r);function i(n){return"dark"===n?"#191919":"#faf7f2"}function c(n,t){var e=null!==t&&void 0!==t?t:i(n);o().setBackgroundColor({backgroundColor:e,backgroundColorTop:e,backgroundColorBottom:e}),o().setBackgroundTextStyle({textStyle:"dark"===n?"light":"dark"})}}}]); \ No newline at end of file diff --git a/src/app.config.ts b/src/app.config.ts index c53298b..bff8542 100644 --- a/src/app.config.ts +++ b/src/app.config.ts @@ -23,16 +23,9 @@ export default defineAppConfig({ 'pages/userDatabase/index' ], window: { - backgroundTextStyle: 'dark', + // 初始窗口/导航背景交给 theme.json 按系统外观自动选择, + // 避免首帧先固定成浅色再被 JS 切到深色而闪烁。 navigationStyle: 'custom', - // 顶部/窗口颜色先显式固定为小程序浅色主题,避免 iOS 顶部区域跟随系统深色; - // 应用启动后页面 Hook 会按小程序内主题实时覆盖上面的值。 - navigationBarBackgroundColor: '#faf7f2', - backgroundColor: '#faf7f2', - backgroundColorTop: '#faf7f2', - backgroundColorBottom: '#faf7f2', - // 状态栏文字默认黑字;各页面 useStatusBar 会按小程序主题覆盖它。 - navigationBarTextStyle: 'black', }, tabBar: { custom: true, diff --git a/src/context/ThemeContext.tsx b/src/context/ThemeContext.tsx index a186514..95c98a1 100644 --- a/src/context/ThemeContext.tsx +++ b/src/context/ThemeContext.tsx @@ -1,4 +1,4 @@ -import { createContext, useContext, useState, useCallback, useEffect } from 'react' +import { createContext, useContext, useState, useCallback, useEffect, useRef } from 'react' import Taro, { useDidShow } from '@tarojs/taro' import { View } from '@tarojs/components' import { getTheme, setTheme as saveTheme, resolveTheme, setDetectedSystemTheme, type ThemeMode } from '../utils/store' @@ -31,6 +31,7 @@ type ThemeChangeApi = { export function ThemeProvider({ children }: { children: React.ReactNode }) { const [theme, set] = useState(getTheme()) const [resolvedTheme, setResolved] = useState<'light' | 'dark'>(resolveTheme(getTheme())) + const systemThemeRef = useRef<'light' | 'dark' | null>(null) const updateResolved = useCallback((mode: ThemeMode) => { setResolved(resolveTheme(mode)) @@ -42,6 +43,7 @@ export function ThemeProvider({ children }: { children: React.ReactNode }) { */ const updateFromSystem = useCallback((t: 'light' | 'dark') => { setDetectedSystemTheme(t) + systemThemeRef.current = t if (getTheme() === 'auto') { setResolved(t) } @@ -102,6 +104,23 @@ export function ThemeProvider({ children }: { children: React.ReactNode }) { } }, [updateFromSystem]) + // 部分机型/工具上 onThemeChange 不回调,自动模式再轮询兜底,保证系统切换能跟上 + useEffect(() => { + if (theme !== 'auto') return + const timer = setInterval(() => { + try { + const info = Taro.getAppBaseInfo() + const next = info.theme === 'dark' ? 'dark' : 'light' + if (next !== systemThemeRef.current) { + updateFromSystem(next) + } + } catch { + /* ignore */ + } + }, 2000) + return () => clearInterval(timer) + }, [theme, updateFromSystem]) + // 广播实际生效主题,供 custom-tab-bar 等独立组件订阅 useEffect(() => { Taro.eventCenter.trigger(THEME_CHANGE_EVENT, resolvedTheme) diff --git a/tools/liquid-glass.test.mjs b/tools/liquid-glass.test.mjs index 24612d2..0763817 100644 --- a/tools/liquid-glass.test.mjs +++ b/tools/liquid-glass.test.mjs @@ -42,3 +42,16 @@ test('app sets page background before first render without a blinking full fade' assert.match(appSource, /componentWillMount/) assert.doesNotMatch(appCss, /animation:\s*page-fade-in/) }) + +test('delegates initial background to themeLocation instead of hardcoding light', () => { + const config = read('src/app.config.ts') + assert.match(config, /themeLocation:\s*'theme\.json'/) + assert.doesNotMatch(config, /navigationBarBackgroundColor:\s*'#faf7f2'/) + assert.doesNotMatch(config, /backgroundColorTop:\s*'#faf7f2'/) +}) + +test('polls the system theme while following the system', () => { + const ctx = read('src/context/ThemeContext.tsx') + assert.match(ctx, /setInterval/) + assert.match(ctx, /getAppBaseInfo\(\)/) +})