Files
wechat_wc/dist/pages/diy/index.js
T

1 line
9.6 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),g=a(9674),v=a(4848);function f(){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),f=(0,c.A)(l,2),j=f[0],N=f[1],S=(0,o.useState)(1),y=(0,c.A)(S,2),w=(y[0],y[1],(0,o.useState)("")),b=(0,c.A)(w,2),k=b[0],T=b[1],A=(0,o.useState)(1),E=(0,c.A)(A,2),Y=(E[0],E[1]),I=(0,o.useState)([]),D=(0,c.A)(I,2),O=D[0],P=D[1],_=(0,o.useState)(null),F=(0,c.A)(_,2),M=F[0],R=F[1],z=(0,o.useState)(!1),V=(0,c.A)(z,2),q=V[0],B=V[1],C=(0,o.useState)({x:0,y:0}),G=(0,c.A)(C,2),J=G[0],X=G[1],L=(0,o.useState)(!1),H=(0,c.A)(L,2),K=H[0],Q=H[1],U=(0,o.useState)(!1),W=(0,c.A)(U,2),Z=W[0],$=W[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){N(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])),T(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;T(l),Y(m.count);var g=(0,u.y9)(m.productId);if(g&&N(g),null!==(p=m.designData)&&void 0!==p&&p.stickers)P(m.designData.stickers);else if(null!==(x=m.designData)&&void 0!==x&&x.imageSrc){var v,f,j,S={id:"legacy_"+Date.now(),src:m.designData.imageSrc,x:(null===(v=m.designData.imagePos)||void 0===v?void 0:v.x)||0,y:(null===(f=m.designData.imagePos)||void 0===f?void 0:f.y)||0,scale:(null===(j=m.designData.imagePos)||void 0===j?void 0:j.scale)||1,width:200,height:200,isOverlapping:!1};P([S])}}}else if(n){var y=(0,u.y9)(n);if(y){N(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])),T(w.id)}}},[]);var ee=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 $(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},n=[].concat((0,i.A)(O),[a]),t=ee(n);P(t),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,i.A)(O),[e]),n=ee(a);P(n),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)},ne=function(e,s){var a=e.touches[0],n=O.find(function(e){return e.id===s});n&&(R(s),B(!0),X({x:a.clientX-n.x,y:a.clientY-n.y}))},te=function(e){if(q&&M){var s=e.touches[0],a=O.map(function(e){return e.id!==M?e:(0,t.A)((0,t.A)({},e),{},{x:s.clientX-J.x,y:s.clientY-J.y})}),n=ee(a);P(n)}},ie=function(){return B(!1)},ce=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,t.A)((0,t.A)({},a),{},{scale:Math.max(.3,Math.min(3,a.scale+s))})}),n=ee(a);P(n)},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)}))};return j?(0,v.jsxs)(r.Ss,{className:"theme-".concat(a),children:[(0,v.jsx)(g.A,{}),(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:le,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: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 ne(s,e.id)},onTouchMove:te,onTouchEnd:ie,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 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:[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:"\u26a0\ufe0f \u6709\u8d34\u7eb8\u91cd\u53e0\uff0c\u8bf7\u8c03\u6574\u4f4d\u7f6e"})]}),M&&(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 re(M,-.1)},children:"\uff0d"}),(0,v.jsxs)(r.EY,{className:"tool-value",children:[Math.round(100*((null===(e=O.find(function(e){return e.id===M}))||void 0===e?void 0:e.scale)||1)),"%"]}),(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:ce,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 Q(!0)},children:(0,v.jsx)(r.EY,{children:"\u9884\u89c8\u6548\u679c"})}),(0,v.jsx)(r.Ss,{className:"btn-outline",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 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: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-outline",onTap:function(){return Q(!1)},children:(0,v.jsx)(r.EY,{children:"\u8fd4\u56de\u4fee\u6539"})}),(0,v.jsx)(r.Ss,{className:"btn-gradient ".concat(Z?"disabled":""),onTap:oe,children:(0,v.jsx)(r.EY,{children:"\u786e\u8ba4\u5b8c\u6210"})})]})]})}),(0,v.jsx)(r.Ss,{style:{height:"40px"}})]})]}):(0,v.jsxs)(r.Ss,{className:"theme-".concat(a),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 j={navigationStyle:"custom",enablePageMeta:!0,navigationBarTitleText:"DIY\u5de5\u4f5c\u53f0"};Page((0,n.createPageConfig)(f,"pages/diy/index",{root:{cn:[]}},j||{}))}},function(e){var s=function(s){return e(e.s=s)};e.O(0,[907,96,76],function(){return s(8955)});e.O()}]);