"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[95],{8955:function(e,a,t){var s=t(7842),n=t(1212),i=t(467),c=t(9379),r=t(436),o=t(5544),d=t(118),l=t(758),u=t.n(l),h=t(6540),m=t(5234),p=t(1457),g=t(6845),x=t(9703),f=t(9201),v=t(5414),j=t(9674),N=t(3053),y=t(9513),w=t(4848);function S(){var e=(0,x.wR)(),a=(e.theme,e.resolvedTheme),t=(0,f.c)();(0,v.l)(a);var s=(0,h.useState)(null),l=(0,o.A)(s,2),S=l[0],k=l[1],A=(0,h.useState)(1),b=(0,o.A)(A,2),M=(b[0],b[1],(0,h.useState)("")),T=(0,o.A)(M,2),E=T[0],Y=T[1],I=(0,h.useState)(1),D=(0,o.A)(I,2),P=D[0],O=D[1],_=(0,h.useState)([]),F=(0,o.A)(_,2),R=F[0],B=F[1],q=(0,h.useState)(null),z=(0,o.A)(q,2),V=z[0],C=z[1],H=(0,h.useState)(!1),J=(0,o.A)(H,2),X=J[0],G=J[1],L=(0,h.useState)({x:0,y:0}),K=(0,o.A)(L,2),Q=K[0],U=K[1],W=(0,h.useState)(!1),Z=(0,o.A)(W,2),$=Z[0],ee=Z[1],ae=(0,h.useState)(!1),te=(0,o.A)(ae,2),se=te[0],ne=te[1],ie=function(e,a){(0,g.x9)({productId:e.id,productName:e.name,unitPrice:e.price,count:a}).then(function(e){return(0,p.Fu)([e].concat((0,r.A)((0,p.p_)()))),Y(e.id),(0,g.i5)(e.id,{status:"designing"}).then(function(a){(0,p.Fu)((0,p.p_)().map(function(t){return t.id===e.id?(0,c.A)((0,c.A)({},t),{},{status:a.status}):t}))}).catch(function(){(0,p.Fu)((0,p.p_)().map(function(a){return a.id===e.id?(0,c.A)((0,c.A)({},a),{},{status:"designing"}):a}))})}).catch(function(){var t={id:"DSG"+Date.now(),productId:e.id,productName:e.name,productIcon:e.icon,unitPrice:e.price,count:a,status:"designing",createdAt:(new Date).toISOString().slice(0,10)};(0,p.Fu)([].concat((0,r.A)((0,p.p_)()),[t])),Y(t.id)})};(0,h.useEffect)(function(){var e=u().getCurrentInstance().router,a=e?e.params:void 0,t=a?a.source:void 0,s=a&&a.productId||a&&a.category;if("product"===t&&s){var n=(0,m.y9)(s);if(n){k(n);var i=Number(a?a.quantity:void 0)||1;O(i),ie(n,i)}}else if("designList"===t&&a&&a.designId){var r=a.designId,o=(0,p.p_)(),d=o.find(function(e){return e.id===r});if(d){Y(r),O(d.count);var l=(0,m.y9)(d.productId);l&&k(l);var h=d.designData,x=h?h.stickers:void 0;if(x){var f=h&&h.category&&h.category.mask||(l?l.mask:void 0),v=f?x.map(function(e){if(e.width>f.width||e.height>f.height){var a=.6*Math.min(f.width,f.height)/Math.max(e.width,e.height);return(0,c.A)((0,c.A)({},e),{},{width:Math.round(e.width*a),height:Math.round(e.height*a)})}return e}):x;B(v)}else if(h?h.imageSrc:void 0){var j={id:"legacy_"+Date.now(),src:h.imageSrc,x:h.imagePos&&h.imagePos.x||0,y:h.imagePos&&h.imagePos.y||0,scale:h.imagePos&&h.imagePos.scale||1,width:200,height:200,isOverlapping:!1};B([j])}"undesigned"===d.status&&((0,p.i5)(r,{status:"designing"}),(0,g.i5)(r,{status:"designing"}).catch(function(){}))}}else if(s){var N=(0,m.y9)(s);N&&(k(N),ie(N,1))}},[]);var ce=(0,h.useRef)(null),re=(0,h.useRef)({designId:"",quantity:1,category:null,stickers:[]});re.current={designId:E,quantity:P,category:S,stickers:R};var oe=function(){var e=re.current,a=e.designId,t=e.quantity,s=e.category,n=e.stickers;if(a&&s){var i=(0,p.p_)().find(function(e){return e.id===a}),r=(0,c.A)((0,c.A)({},i&&i.designData?i.designData:{}),{},{version:1,category:(0,c.A)({id:s.id,mask:s.mask},s.tone?{tone:s.tone}:{}),stickers:n});(0,p.i5)(a,{designData:r}),(0,g.i5)(a,{item:{productId:s.id,productName:s.name,unitPrice:s.price,count:t,designData:r}}).catch(function(){})}},de=function(){ce.current&&(clearTimeout(ce.current),ce.current=null),oe()};u().useDidHide(de),(0,h.useEffect)(function(){return de},[]);var le=(0,h.useRef)(!0);(0,h.useEffect)(function(){le.current?le.current=!1:(ce.current&&clearTimeout(ce.current),ce.current=setTimeout(oe,800))},[R]);var ue=function(e){for(var a=e.map(function(e){return(0,c.A)((0,c.A)({},e),{},{isOverlapping:!1})}),t=0;ti.x&&n.yi.y&&(a[t].isOverlapping=!0,a[s].isOverlapping=!0)}var u=a.some(function(e){return e.isOverlapping});return ne(u),a},he=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 t=Math.min(S.mask.width,S.mask.height),s=.6*t/Math.max(e.width,e.height),n={id:"stk_"+Date.now(),src:a,x:0,y:0,scale:1,width:Math.round(e.width*s),height:Math.round(e.height*s),isOverlapping:!1},i=[].concat((0,r.A)(R),[n]),c=ue(i);B(c),C(n.id)},fail:function(){var e=Math.min(S.mask.width,S.mask.height),t=.6*e/200,s={id:"stk_"+Date.now(),src:a,x:0,y:0,scale:1,width:Math.round(200*t),height:Math.round(200*t),isOverlapping:!1},n=[].concat((0,r.A)(R),[s]),i=ue(n);B(i),C(s.id)}})}})},me=function(e){var a=R.filter(function(a){return a.id!==e}),t=ue(a);B(t),V===e&&C(null)},pe=function(e,a){var t=e.touches[0],s=R.find(function(e){return e.id===a});s&&(C(a),G(!0),U({x:t.clientX-s.x,y:t.clientY-s.y}))},ge=function(e){if(X&&V){var a=e.touches[0],t=R.map(function(e){if(e.id!==V)return e;var t=Math.max(0,S.mask.width-e.width*e.scale),s=Math.max(0,S.mask.height-e.height*e.scale);return(0,c.A)((0,c.A)({},e),{},{x:Math.min(Math.max(a.clientX-Q.x,0),t),y:Math.min(Math.max(a.clientY-Q.y,0),s)})}),s=ue(t);B(s)}},xe=function(){return G(!1)},fe=function(){V&&E&&(de(),u().navigateTo({url:"/pages/diy/stickerEdit/index?designId=".concat(E,"&stickerId=").concat(V)}))},ve=function(e,a){var t=R.map(function(t){if(t.id!==e)return t;var s=Math.max(.3,Math.min(3,t.scale+a)),n=Math.max(0,S.mask.width-t.width*s),i=Math.max(0,S.mask.height-t.height*s);return(0,c.A)((0,c.A)({},t),{},{scale:s,x:Math.min(Math.max(t.x,0),n),y:Math.min(Math.max(t.y,0),i)})}),s=ue(t);B(s)},je=function(){u().navigateBack()},Ne=function(){if(!S)return{width:300,height:420};var e={width:S.mask.width,height:S.mask.height};return"rect"===S.mask.shape&&(e.borderRadius=S.mask.borderRadius||0),"circle"===S.mask.shape&&(e.borderRadius="50%"),e},ye=function(){var e=(0,i.A)((0,n.A)().m(function e(){var a,t,s,i;return(0,n.A)().w(function(e){while(1)switch(e.p=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(!E||!S){e.n=6;break}return e.n=2,(0,g.x5)({stickers:R,category:S,version:1});case 2:return a=e.v,t=(0,c.A)({id:S.id,mask:S.mask},S.tone?{tone:S.tone}:{}),s=(0,p.p_)().find(function(e){return e.id===E}),i=(0,c.A)((0,c.A)({},s&&s.designData?s.designData:{}),{},{version:1,category:t,stickers:a.stickers||R}),(0,p.i5)(E,{status:"designing",designData:i}),e.p=3,e.n=4,(0,g.i5)(E,{status:"designing",item:{productId:S.id,productName:S.name,unitPrice:S.price,count:P,designData:i}});case 4:e.n=6;break;case 5:e.p=5,e.v,u().showToast({title:"\u7f51\u7edc\u4e0d\u53ef\u7528\uff0c\u5df2\u6682\u5b58\u5230\u672c\u5730",icon:"none"});case 6:ee(!1),u().navigateTo({url:"/pages/checkout/index?designId=".concat(E)});case 7:return e.a(2)}},e,null,[[3,5]])}));return function(){return e.apply(this,arguments)}}(),we=V?R.find(function(e){return e.id===V}):void 0,Se=we?we.scale:1;return S?(0,w.jsxs)(d.Ss,{className:"theme-".concat(a),children:[(0,w.jsx)(j.A,{}),(0,w.jsx)(N.A,{title:"\u8bbe\u8ba1\u5de5\u4f5c\u53f0",targetSelector:".page-header.surface-card",showBack:!0}),(0,w.jsxs)(d.Ss,{className:"diy-page",children:[(0,w.jsx)(d.Ss,{className:"page-header surface-card",style:{paddingTop:"".concat(t.statusBarHeight+12,"px")},children:(0,w.jsxs)(d.Ss,{className:"flex-between",style:{width:"100%"},children:[(0,w.jsx)(d.EY,{className:"back-btn",onTap:je,children:"\u2190"}),(0,w.jsx)(d.EY,{className:"page-title",children:"\u8bbe\u8ba1\u5de5\u4f5c\u53f0"}),(0,w.jsx)(d.Ss,{className:"header-spacer"})]})}),(0,w.jsx)(d.Ss,{className:"canvas-wrapper surface-card mt-20",catchMove:!0,children:(0,w.jsxs)(d.Ss,{className:"canvas-area",style:Ne(),children:[R.map(function(e){return(0,w.jsx)(d._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:X&&V===e.id?.8:1,zIndex:V===e.id?10:5,width:e.width||200,height:e.height||200},onTouchStart:function(a){return pe(a,e.id)},onTouchMove:ge,onTouchEnd:xe,onTap:function(){return C(e.id)},mode:"aspectFit"},e.id)}),(0,w.jsx)(d.Ss,{className:"mask-border",style:Ne()})]})}),(0,w.jsxs)(d.Ss,{className:"sticker-panel surface-card mt-20",children:[(0,w.jsx)(d.EY,{className:"section-title",children:"\u8d34\u7eb8"}),(0,w.jsxs)(d.Ss,{className:"sticker-list",children:[R.map(function(e){return(0,w.jsxs)(d.Ss,{className:"sticker-thumb ".concat(e.isOverlapping?"overlap":""," ").concat(V===e.id?"active":""),children:[(0,w.jsx)(d._V,{src:e.src,className:"sticker-thumb-img",mode:"aspectFit",onTap:function(){return C(e.id)}}),(0,w.jsx)(d.Ss,{className:"sticker-del",onTap:function(){return me(e.id)},children:(0,w.jsx)(d.EY,{className:"del-icon",children:"\xd7"})})]},e.id)}),(0,w.jsxs)(d.Ss,{className:"sticker-add-btn",onTap:he,children:[(0,w.jsx)(d.EY,{className:"add-icon",children:"+"}),(0,w.jsx)(d.EY,{className:"add-label",children:"\u6dfb\u52a0"})]})]}),se&&(0,w.jsx)(d.EY,{className:"overlap-hint",children:"\u6709\u8d34\u7eb8\u91cd\u53e0\uff0c\u8bf7\u8c03\u6574\u4f4d\u7f6e"})]}),V&&(0,w.jsxs)(d.Ss,{className:"toolbar surface-card mt-20",children:[(0,w.jsxs)(d.Ss,{className:"tool-row",children:[(0,w.jsx)(d.EY,{className:"tool-label",children:"\u7f29\u653e"}),(0,w.jsxs)(d.Ss,{className:"flex-center",style:{gap:"20px"},children:[(0,w.jsx)(d.Ss,{className:"tool-btn",onTap:function(){return ve(V,-.1)},children:"\uff0d"}),(0,w.jsxs)(d.EY,{className:"tool-value",children:[Math.round(100*Se),"%"]}),(0,w.jsx)(d.Ss,{className:"tool-btn",onTap:function(){return ve(V,.1)},children:"\uff0b"})]})]}),(0,w.jsxs)(d.Ss,{className:"tool-row",children:[(0,w.jsx)(d.EY,{className:"tool-label",children:"\u63d0\u793a"}),(0,w.jsx)(d.EY,{className:"tool-hint",children:"\u62d6\u52a8\u8c03\u6574\u4f4d\u7f6e\uff0c\u8d34\u7eb8\u4e0d\u53ef\u91cd\u53e0"})]})]}),(0,w.jsx)(d.Ss,{className:"edit-btn-bar mt-20",children:(0,w.jsx)(d.Ss,{className:"edit-btn ".concat(V?"active":"disabled"),onTap:fe,children:(0,w.jsx)(d.EY,{children:"\u7f16\u8f91"})})}),(0,w.jsxs)(y.A,{children:[(0,w.jsx)(d.Ss,{className:"btn-primary",onTap:function(){return ee(!0)},children:(0,w.jsx)(d.EY,{children:"\u9884\u89c8\u6548\u679c"})}),(0,w.jsx)(d.Ss,{className:"btn-secondary",onTap:he,children:(0,w.jsx)(d.EY,{children:"\u6dfb\u52a0\u8d34\u7eb8"})})]}),$&&(0,w.jsx)(d.Ss,{className:"preview-overlay",children:(0,w.jsxs)(d.Ss,{className:"preview-card surface-card",children:[(0,w.jsx)(d.EY,{className:"preview-title",children:"\u786e\u8ba4\u6548\u679c"}),(0,w.jsx)(d.Ss,{className:"preview-canvas",style:Ne(),children:R.map(function(e){return(0,w.jsx)(d._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,w.jsxs)(d.Ss,{className:"product-info",children:[(0,w.jsx)(d.EY,{className:"product-name",children:S.name}),(0,w.jsxs)(d.EY,{className:"product-size",children:["\u753b\u5e03\u5c3a\u5bf8: ",S.mask.width," \xd7 ",S.mask.height," px"]}),se&&(0,w.jsx)(d.EY,{className:"overlap-hint",children:"\u8d34\u7eb8\u6709\u91cd\u53e0\uff0c\u4e0d\u53ef\u63d0\u4ea4"})]}),(0,w.jsxs)(d.Ss,{className:"preview-actions",children:[(0,w.jsx)(d.Ss,{className:"btn-secondary",onTap:function(){return ee(!1)},children:(0,w.jsx)(d.EY,{children:"\u8fd4\u56de\u4fee\u6539"})}),(0,w.jsx)(d.Ss,{className:"btn-primary ".concat(se?"disabled":""),onTap:ye,children:(0,w.jsx)(d.EY,{children:"\u786e\u8ba4\u5b8c\u6210"})})]})]})}),(0,w.jsx)(d.Ss,{className:"safe-bottom-placeholder"})]})]}):(0,w.jsxs)(d.Ss,{className:"theme-".concat(a),children:[(0,w.jsx)(j.A,{}),(0,w.jsx)(N.A,{title:"\u8bbe\u8ba1\u5de5\u4f5c\u53f0",targetSelector:".page-header.surface-card",showBack:!0}),(0,w.jsx)(d.Ss,{className:"diy-page",children:(0,w.jsx)(d.EY,{className:"page-title",children:"\u52a0\u8f7d\u4e2d..."})})]})}var k={navigationStyle:"custom",enablePageMeta:!0,navigationBarTitleText:"DIY\u5de5\u4f5c\u53f0"};Page((0,s.createPageConfig)(S,"pages/diy/index",{root:{cn:[]}},k||{}))}},function(e){var a=function(a){return e(e.s=a)};e.O(0,[907,96,76],function(){return a(8955)});e.O()}]);