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