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