From 8438fea72ffa3e687259bd1979993a6c662aa54b Mon Sep 17 00:00:00 2001 From: lhmin0604 Date: Sat, 12 Sep 2026 03:10:51 +0800 Subject: [PATCH] =?UTF-8?q?feat(r2):=20=E5=89=8D=E7=AB=AF=20API=20?= =?UTF-8?q?=E5=B1=82=E2=80=94=E2=80=94=E5=9C=B0=E5=9D=80/=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E6=B8=85=E5=8D=95=E5=88=87=E6=8D=A2=E5=88=B0=E5=90=8E?= =?UTF-8?q?=E7=AB=AF=E6=8E=A5=E5=8F=A3=EF=BC=88=E9=98=B6=E6=AE=B52?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - api/address.ts: fetchAddresses/createAddress/updateAddress/deleteAddress/ setDefaultAddress;region[] ↔ province/city/district 双向转换唯一落点 - api/design.ts: fetchDesignList/createDesign/updateDesign/deleteDesign/ deleteDesigns;状态映射 DRAFT↔undesigned、SUBMITTED↔designing、 PROCESSING↔processing、DONE↔ordered;一条设计=一条清单(items 固定 1 元素, title=productName,productIcon 不上传由页面按 productId 兜底) - types/index.ts: DesignItem.status 补 'processing'、productIcon 改 optional、 AddressItem 补 createdAt?;全部消费点已确认兼容(均有兜底) - docs/r2-workflow.md: R2 工作流程与阶段0 契约确认记录 验证:build:weapp 通过;Node 打桩 Taro.request 转发本地 3091 后端实测 13 项全过(region 往返/状态映射/designData 保留/越权 403/无效 token 401) Co-Authored-By: Claude --- dist/common.js | 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 +- docs/r2-workflow.md | 203 ++++++++++++++++++++++++++++ src/types/index.ts | 16 ++- src/utils/api/address.ts | 96 ++++++++++++- src/utils/api/design.ts | 122 ++++++++++++++++- 9 files changed, 428 insertions(+), 19 deletions(-) create mode 100644 docs/r2-workflow.md diff --git a/dist/common.js b/dist/common.js index ed9594c..d00f353 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.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 +"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)}},6845: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="";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(6845),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/dist/pages/diy/index.js b/dist/pages/diy/index.js index d26e8a1..988b8ed 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(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 +"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(6845),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 7258c02..8c14e0d 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(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 +"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(6845),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 f13373d..aadbbb5 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(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 +"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(6845),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 d77d8cc..025de70 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 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 +"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(6845),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/docs/r2-workflow.md b/docs/r2-workflow.md new file mode 100644 index 0000000..aebd2bf --- /dev/null +++ b/docs/r2-workflow.md @@ -0,0 +1,203 @@ +# R2 地址 + 设计清单上链路工作流程 + +> 对应路线文档:`docs/routes/route-r2-address-design.md` +> 契约文档:后端 `wxmp_backend/docs/api-contract-v1.md` §4/§5、前端 `docs/design-data-contract-v1.md` +> 分支:前端 `wechat_wc` / 后端 `wxmp_backend` 均为 `feat/r2-address-design` + +--- + +## 一、这条链路在做什么 + +把「收货地址」和「设计清单」两组数据从**小程序本地 Storage**(openid 隔离的离线数据) +迁到**后端 PostgreSQL**(真实账号数据)。做完之后: + +- 换手机、清缓存、卸载重装,地址和设计清单不丢; +- 多端(未来 web/管理后台)能看到同一份数据; +- R3 的下单闭环能直接消费服务端的地址 id 和设计清单 id(下单接口要传 `addressId`、`designListId`); +- R4 的 WCD 生产打包能从服务端读到完整的 `designData` JSON。 + +一句话:这是把"玩具数据"换成"账本数据"的一步,R3 整条交易链路都压在它上面。 + +--- + +### 阶段 0:契约确认 ✅(2026-09-11 已确认,零契约改动) + +以下结论为 R2 实现的唯一依据,实现阶段不再讨论: + +1. **清单映射:一条前端 DesignItem = 一条后端 DesignList 记录**,`items` 数组固定 1 个元素。 + 依据:状态枚举是清单级实体字段(逐条映射的前提)、批量删除是 `{ids: string[]}`、 + `DesignList.orders` 逐条关联、R4 `wordcloud.service.ts` 已按 `items[0]` 消费。 + POST /api/design-list 请求体 `{ title, items: [单个条目] }`。 +2. **designData.category 裁剪为 `{ id, mask, tone? }`**:DIY 保存时只取这三个字段提交 + (当前 `diy/index.tsx` 提交完整 ProductCategory,需改为裁剪),其余展示字段由客户端 + 按 productId 从 productConfig 推导。与冻结契约 §2 一致,后端白名单不放宽。 +3. **productIcon 不入契约**:服务端不存图标,设计清单页继续用现有 + `PRODUCT_ICON_MAP[productId]` 兜底推导(`designList/index.tsx:168` 逻辑已存在)。 +4. **title 前端传 productName**:后端 `title` 保持必填不动,创建时填商品名。 +5. **GET 两个列表接口不分页**:返回纯数组(地址、清单均为小数据量)。 +6. **状态迁移触发点**:创建默认 `DRAFT`(product 加入清单);DIY 保存设计 → `SUBMITTED`; + `PROCESSING`/`DONE` 由 R3 订单流程驱动,前端不提交;`ordered` 由 `orderId != null` 派生, + 前端只读。状态机单向推进,禁止回退。 +7. **其他默认**:批量删除用单接口 `POST /api/design-list/batch-delete`; + `productId` R2 不做存在性校验(R1 商品表可能未 seed);手机号只做非空字符串校验; + 越权 403 / 不存在 404(契约既定)。 + +## 二、工作流程(按顺序) + +### 原阶段 0 任务清单(存档) + +1. 通读后端 `docs/api-contract-v1.md` §4(地址)、§5(设计清单)。 +2. 确认状态映射表已定死(不再讨论): + + | 前端显示 | 前端状态码 | 后端 DesignListStatus | + |---|---|---| + | 待设计 | `undesigned` | `DRAFT` | + | 设计中 | `designing` | `SUBMITTED` | + | 生产中 | `processing` | `PROCESSING` | + | 已下单 | `ordered`(派生) | `DONE` | + + `ordered` **不落库**,由 `orderId != null` 派生;前端不提交这个状态。 +3. 确认 Prisma `Address` / `DesignList` 模型字段与契约一致,缺字段先出迁移。 + +### 阶段 1:后端补齐 CRUD(先做,前端等它) + +改动范围:`src/addresses/`、`src/design-list/`,两个模块均已注册,骨架已存在。 + +**addresses(当前只有 GET/POST/PATCH :id/default,且 service 全是 TODO):** + +1. `PATCH /api/addresses/:id` —— 缺失,新增。 +2. `DELETE /api/addresses/:id` —— 缺失,新增;若删的是默认地址,事务内把最新一条设为默认。 +3. `POST` / `PATCH :id` / `PATCH :id/default` 的**默认地址唯一性事务**: + `prisma.$transaction` 内先 `updateMany` 清掉该用户所有 `isDefault`,再设新默认。 +4. `setDefault` 补 userId 归属校验(现在谁都能改任何人的地址,这是越权洞)。 +5. 所有按 id 的路由统一:非本人 → 403,不存在 → 404。 + +**design-list(当前只有 GET/GET :id/POST):** + +1. `PATCH /api/design-list/:id` —— 更新 `title`/`items`/状态迁移(状态机后端校验, + 只允许 `DRAFT → SUBMITTED → PROCESSING → DONE` 单向推进)。 +2. `DELETE /api/design-list/:id` + `POST /api/design-list/batch-delete`(body `{ ids: string[] }`, + 一次事务删,返回实际删除数——不要让前端循环单删)。 +3. `items` JSON 白名单校验:放行 `version/background/wordcloud/rotation/zIndex`, + **原样透传不修改**(`wordcloud` 分组是 R4 写入的,丢了 WCD 打包就失败); + 单条 designData ≤ 1MB,超限 400。 +4. `findOne` 补归属校验(当前 TODO)。 +5. Swagger 补全以上全部接口。 + +### 阶段 2:前端 API 层(页面不动) + +1. `src/utils/api/address.ts`(现为空占位):实现 + `fetchAddresses / createAddress / updateAddress / deleteAddress / setDefaultAddress`。 + **唯一一处**做 `region: [province, city, district]` ↔ `province/city/district` 双向转换, + 页面和 store 不允许出现第二次转换。 +2. `src/utils/api/design.ts`:实现 + `fetchDesignList / createDesign / updateDesign / deleteDesign(s)`, + 做后端 `DRAFT/SUBMITTED/...` ↔ 前端 `undesigned/designing/...` 的状态码映射。 +3. `src/types/index.ts`:`AddressItem` 增加服务端字段(服务端 id、`createdAt` 等); + `DesignItem.status` 补 `'processing'`、`DesignItem.orderId` 派生 `ordered` 展示。 + +### 阶段 3:切换页面(两个页面 + 三个写入点) + +| 文件 | 改动 | +|---|---| +| `pages/address/index.tsx` | 增删改查、设默认全部走 API;401 由 request 层统一抛出并引导登录;API 失败降级读本地缓存并提示 | +| `pages/designList/index.tsx` | 列表/筛选/批量删除走 API;状态筛选基于服务端返回的 `status` 计算,消灭魔法字符串 | +| `pages/product/index.tsx`(加入清单) | `addDesign` 写 API(需登录),失败降级本地 | +| `pages/diy/index.tsx`(保存 designData) | `updateDesign` 走 API;`designData.category` 裁剪为 `{id, mask, tone}`(决策#2);贴纸本地图路径允许暂存(R4 派单前才持久化,契约约束 #1) | +| `pages/diy/stickerEdit/index.tsx` | 同上,保存贴纸改动走 API | + +### 阶段 4:本地 store 降级改造 + +`utils/store/address.ts`、`design.ts` 保留,但语义变为"离线兜底缓存": + +- API 成功 → 把服务端数据写回本地缓存(下次冷启动先展示缓存再刷新); +- API 失败/断网 → 页面读缓存并可正常浏览,写操作提示失败; +- 登录后首次进入:只读服务端,**不自动合并**本地旧数据(`smart_design_list_` + 与服务端并存的问题按路线文档风险节处理:忽略或提供一次性导入,默认忽略)。 + +### 阶段 5:联调与验收 + +按路线文档验收标准逐条过: + +- 登录态下地址/清单全流程走真实后端; +- 越权访问返回 403、不存在返回 404(用两个账号互测); +- 默认地址永远唯一;删默认地址后自动产生新默认; +- 断网降级提示、401 引导登录; +- 前端 `npm run build:weapp` 通过、后端 `nest build` 通过; +- Swagger 涵盖全部接口;状态映射落进契约文档。 + +--- + +## 三、需要注意的部分(坑位清单) + +### 后端 + +1. **越权是本分支最大风险**。每个按 id 操作的 service 必须带 `where: { id, userId }`, + 查不到时区分 404/403:先查存在性再查归属,或统一 404(避免枚举他人资源 id 时, + 推荐统一 404,路线文档要求两者区分则按 403 处理——按契约文档走)。 +2. **默认地址唯一性只能由后端事务保证**。前端传 `isDefault: true` 只是一个"请求", + 不是规则;不要在 controller 之外有任何直接 update `isDefault` 的路径。 +3. **删除默认地址的补偿**必须和删除在同一个事务里,否则会出现"全员无默认"的中间态。 +4. **items JSON 是白名单透传,不是深校验**。后端只验结构和大小,不改内容; + 特别是 PATCH 时要做**合并语义**确认:不传 `designData` 不得清掉已有值 + (否则 R4 写入的 `wordcloud` 会被一次普通数量修改冲掉)。 +5. **状态机校验**:拒绝 `DONE → DRAFT` 这类回退;`ordered` 不接受前端提交。 +6. **批量删除**要么后端一个接口,要么明确部分失败语义——不要默认前端循环单删。 + +### 前端 + +1. **region 转换只写在 `api/address.ts` 一处**。散落到页面就会出现两套转换, + 后续排查字段错位会花双倍时间。 +2. **不要改 `checkout/index.tsx`**(红线:checkout 归 R3)。R2 只保证接口稳定, + checkout 里对本地 store 的读取暂不动,R3 接入时一并切换。 +3. **不要把 `wxfile://` 临时路径当脏数据清洗掉**。DIY 保存时贴纸 src 暂为本地路径是 + 契约允许的(R4 在下单/派单前才持久化),后端白名单放行即可。 +4. **`DesignItem.status` 增加 `processing` 后**,`designList` 页的 `STATUS_STYLE`、 + 筛选 tabs 要同步扩展,漏了会出现"生产中"条目渲染不出徽标。 +5. **401 处理已有全局机制**(`request.ts` 自动续登 + `onUnauthorized`), + 页面里不要自己再写跳登录逻辑,重复处理会出现双弹窗。 +6. **旧本地数据不迁移**。首次切换后以服务端为准,本地旧清单直接忽略; + 提前和需求方确认这一点(用户可能反馈"我的设计没了"——是预期行为,需要文案兜底)。 + +### 跨路线影响 + +| 受影响方 | 影响 | 需要做的 | +|---|---|---| +| **R3 订单** | 下单接口依赖服务端 `addressId` / `designListId` | R2 保证 id 稳定、可查询;R3 接入时 checkout 改传服务端 id | +| **R4 词云/派单** | `designData` 结构和保留字段 | R2 PATCH 不得丢 `wordcloud` / `category.mask` / 贴纸本地路径 | +| **profile / settings / orderDetail 页** | 现在从本地 store 读地址和清单数 | R2 期间 API 成功会回写本地缓存,这些页面**暂不改也能读到底数据**(读的是缓存);R3/R4 后续各自切换 | +| **userDatabase 账号管理** | 靠 `getDesignListFor(openid)` 跨账号读本地清单 | 服务端化后该功能语义变化(读不到别人云端数据),属于已知降级,无需处理 | + +--- + +## 四、影响面(改动文件总览) + +**后端 `wxmp_backend`(分支 feat/r2-address-design):** + +- `src/addresses/*`:补 PATCH :id、DELETE :id、默认事务、归属校验、DTO、Swagger +- `src/design-list/*`:补 PATCH/DELETE/批量删除、items 白名单与 1MB 校验、状态机、归属校验 +- `prisma/`:仅当模型字段与契约不一致时才出迁移(预计不需要) +- `docs/api-contract-v1.md`:落地状态映射表与错误码(如尚未完整落地) + +**前端 `wechat_wc`(分支 feat/r2-address-design):** + +- `src/utils/api/address.ts`、`design.ts`:从空占位到完整实现(核心新增) +- `src/types/index.ts`:AddressItem/DesignItem 对齐服务端结构 +- `src/pages/address/index.tsx`、`designList/index.tsx`:数据源切 API +- `src/pages/product/index.tsx`、`diy/index.tsx`、`diy/stickerEdit/index.tsx`:写入点切 API +- `src/utils/store/address.ts`、`design.ts`:降级为缓存层,接口签名尽量不变以减少页面改动 + +**明确不动:** `checkout/index.tsx`、`orders`/`orderDetail` 页、`utils/store/order.ts`(R3 所有)。 + +--- + +## 五、里程碑建议 + +| 步骤 | 产出 | 验证 | +|---|---|---| +| 1 | 后端 addresses 完整 CRUD + 事务 | Swagger 手测 + 双账号越权测试 | +| 2 | 后端 design-list 完整 CRUD + 校验 | 同上 + 超 1MB JSON 拒绝测试 | +| 3 | 前端 API 层 + 类型对齐 | `build:weapp` 通过 | +| 4 | 两个页面 + 三个写入点切换 | 真机全流程 | +| 5 | store 降级缓存 + 断网/401 场景 | 关服务端模拟断网 | +| 6 | 契约文档收口 + 双端构建 | 验收标准逐条打勾 | diff --git a/src/types/index.ts b/src/types/index.ts index 0cbc557..eefbce1 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -142,17 +142,23 @@ export interface WordCloudDispatchResult { message?: string } -/** 设计清单条目 */ +/** 设计清单条目(与后端 DesignList 一一对应,api-contract-v1 §5) */ export interface DesignItem { id: string productId: string productName: string - productIcon: string + /** + * 条目图标。服务端不存储(契约 forbidNonWhitelisted 拒绝多余字段), + * 页面按 PRODUCT_ICON_MAP[productId] 兜底推导;仅本地缓存/旧数据可能携带 + */ + productIcon?: string unitPrice: number count: number - status: 'undesigned' | 'designing' | 'ordered' + /** undesigned/designing 由前端驱动;processing/ordered 由服务端状态映射产生(R3 驱动) */ + status: 'undesigned' | 'designing' | 'processing' | 'ordered' designData?: DesignDataV1 orderId?: string + /** 服务端 createdAt(ISO),展示时取日期部分 */ createdAt: string } @@ -168,7 +174,7 @@ export interface OrderItem { sku: string } -/** 收货地址 */ +/** 收货地址(后端 province/city/district/detail 以 region 数组表达,转换只在 api/address.ts) */ export interface AddressItem { id: string name: string @@ -176,6 +182,8 @@ export interface AddressItem { region: string[] // [province, city, district] detail: string // 门牌号/详细地址 isDefault: boolean + /** 服务端创建时间(ISO 8601),本地缓存数据可能没有 */ + createdAt?: string } /** 编辑器中的图片状态(向后兼容) */ diff --git a/src/utils/api/address.ts b/src/utils/api/address.ts index bbafe6a..f1d3fcd 100644 --- a/src/utils/api/address.ts +++ b/src/utils/api/address.ts @@ -1,7 +1,93 @@ /** - * R2 收货地址接口归属文件。 - * 后端 /api/addresses CRUD 就绪后,在这里补充: - * fetchAddresses / createAddress / updateAddress / deleteAddress / setDefaultAddress - * 返回类型优先直接对应 src/types/index.ts 的 AddressItem 契约。 + * R2 收货地址接口(api-contract-v1 §4)。 + * + * 唯一负责 region: [province, city, district] ↔ 后端 province/city/district + * 双向转换的文件;页面与 store 不得出现第二次转换(route-r2 §3)。 */ -export {} +import http from '../request' +import type { AddressItem } from '../../types' + +/** 后端 Address 结构(契约 §4:四个独立地址字段) */ +interface ServerAddress { + id: string + name: string + phone: string + province: string + city: string + district: string + detail: string + isDefault: boolean + createdAt?: string + updatedAt?: string +} + +/** ServerAddress → 前端 AddressItem(合并省市区为 region 数组) */ +function toAddressItem(rec: ServerAddress): AddressItem { + return { + id: rec.id, + name: rec.name, + phone: rec.phone, + region: [rec.province, rec.city, rec.district], + detail: rec.detail, + isDefault: rec.isDefault, + createdAt: rec.createdAt, + } +} + +/** 前端 region 数组 → 后端四个独立字段 */ +function toServerFields(addr: { + name?: string + phone?: string + region?: string[] + detail?: string + isDefault?: boolean +}): Record { + // 后端 ValidationPipe forbidNonWhitelisted:undefined 字段会被 JSON 序列化丢弃, + // 这里显式展开保证只传后端声明的字段 + const body: Record = {} + if (addr.name !== undefined) body.name = addr.name + if (addr.phone !== undefined) body.phone = addr.phone + if (addr.region !== undefined) { + const [province = '', city = '', district = ''] = addr.region + body.province = province + body.city = city + body.district = district + } + if (addr.detail !== undefined) body.detail = addr.detail + if (addr.isDefault !== undefined) body.isDefault = addr.isDefault + return body +} + +/** 我的收货地址列表(默认地址在前) */ +export async function fetchAddresses(): Promise { + const list = await http.get('/api/addresses') + return (list || []).map(toAddressItem) +} + +/** 新增收货地址(首个地址后端自动设为默认) */ +export async function createAddress( + addr: Omit, +): Promise { + const rec = await http.post('/api/addresses', toServerFields(addr)) + return toAddressItem(rec) +} + +/** 更新本人地址(只传显式给出的字段;isDefault=true 由后端事务保证唯一默认) */ +export async function updateAddress( + id: string, + patch: Partial>, +): Promise { + const rec = await http.patch(`/api/addresses/${id}`, toServerFields(patch)) + return toAddressItem(rec) +} + +/** 删除本人地址(若删的是默认地址,后端自动补偿最新一条为默认) */ +export async function deleteAddress(id: string): Promise { + await http.del(`/api/addresses/${id}`) +} + +/** 设为默认地址 */ +export async function setDefaultAddress(id: string): Promise { + const rec = await http.patch(`/api/addresses/${id}/default`) + return toAddressItem(rec) +} diff --git a/src/utils/api/design.ts b/src/utils/api/design.ts index c8b10da..2b01bf0 100644 --- a/src/utils/api/design.ts +++ b/src/utils/api/design.ts @@ -1,7 +1,119 @@ /** - * R2 设计清单接口归属文件。 - * 后端 /api/design-list CRUD 就绪后,在这里补充: - * fetchDesignList / createDesign / updateDesign / deleteDesign - * 设计数据(贴纸、掩膜、分类信息)以 JSON 方式随 items/designData 提交。 + * R2 设计清单接口(api-contract-v1 §5)。 + * + * 映射约定(阶段0 决策,见 docs/r2-workflow.md): + * - 一条前端 DesignItem = 一条后端 DesignList 记录,items 固定 1 个元素; + * - title 由 productName 承担(后端必填); + * - productIcon 不入库(后端 forbidNonWhitelisted 会拒绝),页面按 productId 兜底推导; + * - 状态映射:DRAFT↔undesigned、SUBMITTED↔designing、PROCESSING↔processing、DONE↔ordered; + * - 前端只允许提交 designing(→SUBMITTED),PROCESSING/DONE 由 R3 驱动。 */ -export {} +import http from '../request' +import type { DesignDataV1, DesignItem } from '../../types' + +/** 后端 DesignListStatus → 前端状态码(契约 §5 映射表) */ +const SERVER_STATUS_MAP: Record = { + DRAFT: 'undesigned', + SUBMITTED: 'designing', + PROCESSING: 'processing', + DONE: 'ordered', +} + +/** 清单条目(后端 items[] 固定 1 个元素,契约 §5) */ +export interface DesignListEntryPayload { + productId: string + productName: string + unitPrice: number + count: number + designData?: DesignDataV1 +} + +/** 后端 DesignList 记录结构 */ +interface ServerDesignList { + id: string + userId?: string + title: string + items: (Partial & Record)[] + status: string + createdAt: string + updatedAt?: string +} + +/** ServerDesignList → 前端 DesignItem */ +function toDesignItem(rec: ServerDesignList): DesignItem { + const entry = rec.items && rec.items[0] + return { + id: rec.id, + productId: entry?.productId ?? '', + productName: entry?.productName || rec.title, + // productIcon 有意不返回:服务端不存储,页面按 PRODUCT_ICON_MAP[productId] 兜底 + unitPrice: entry?.unitPrice ?? 0, + count: entry?.count ?? 1, + status: SERVER_STATUS_MAP[rec.status] ?? 'undesigned', + designData: entry?.designData, + createdAt: (rec.createdAt || '').slice(0, 10), + } +} + +/** 我的设计清单(createdAt 倒序) */ +export async function fetchDesignList(): Promise { + const list = await http.get('/api/design-list') + return (list || []).map(toDesignItem) +} + +/** 创建清单(一条设计一条清单;后端初始状态 DRAFT/undesigned) */ +export async function createDesign(entry: DesignListEntryPayload): Promise { + const rec = await http.post('/api/design-list', { + title: entry.productName, + items: [ + { + productId: entry.productId, + productName: entry.productName, + unitPrice: entry.unitPrice, + count: entry.count, + ...(entry.designData !== undefined ? { designData: entry.designData } : {}), + }, + ], + }) + return toDesignItem(rec) +} + +export interface UpdateDesignPayload { + /** 新标题(前端一般不传) */ + title?: string + /** 状态迁移:前端只允许 designing(→SUBMITTED,DIY 保存设计时) */ + status?: 'designing' + /** 条目整体替换(items 是全量覆盖,修改 designData 时必须带全 4 个基本字段) */ + item?: DesignListEntryPayload +} + +/** 更新本人清单(部分更新:只传显式给出的字段) */ +export async function updateDesign(id: string, payload: UpdateDesignPayload): Promise { + const body: Record = {} + if (payload.title !== undefined) body.title = payload.title + if (payload.status !== undefined) body.status = 'SUBMITTED' + if (payload.item !== undefined) { + body.items = [ + { + productId: payload.item.productId, + productName: payload.item.productName, + unitPrice: payload.item.unitPrice, + count: payload.item.count, + ...(payload.item.designData !== undefined ? { designData: payload.item.designData } : {}), + }, + ] + } + const rec = await http.patch(`/api/design-list/${id}`, body) + return toDesignItem(rec) +} + +/** 删除本人清单 */ +export async function deleteDesign(id: string): Promise { + await http.del(`/api/design-list/${id}`) +} + +/** 批量删除(后端只删本人条目,返回实际删除数;部分 id 无效不报错) */ +export async function deleteDesigns(ids: string[]): Promise { + const res = await http.post<{ deleted: number }>('/api/design-list/batch-delete', { ids }) + return res?.deleted ?? 0 +}