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