1 line
8.2 KiB
JavaScript
1 line
8.2 KiB
JavaScript
"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[339],{9519:function(e,s,t){var a=t(7842),n=t(9379),c=t(5544),i=t(118),r=t(758),l=t.n(r),o=t(6540),d=t(1457),u=t(9703),h=t(9201),f=t(5414),m=t(9674),x=t(3053),g=t(9513),v=t(4848),j=function(e,s,t){return Math.min(Math.max(e,s),t)};function S(){var e=(0,u.wR)(),s=e.resolvedTheme,t=(0,h.c)();(0,f.l)(s);var a=(0,o.useState)(""),r=(0,c.A)(a,2),S=r[0],N=r[1],p=(0,o.useState)(""),w=(0,c.A)(p,2),T=w[0],k=w[1],b=(0,o.useState)(null),y=(0,c.A)(b,2),A=y[0],E=y[1],Y=(0,o.useState)(0),M=(0,c.A)(Y,2),C=M[0],I=M[1],R=(0,o.useState)(0),D=(0,c.A)(R,2),P=D[0],B=D[1],q=(0,o.useState)(0),F=(0,c.A)(q,2),Q=F[0],J=F[1],O=(0,o.useState)(!1),X=(0,c.A)(O,2),H=X[0],_=X[1],z=(0,o.useState)(!1),G=(0,c.A)(z,2),K=G[0],L=G[1],U=((0,o.useRef)(null),(0,o.useRef)(null)),V=(0,o.useRef)(null),W=(0,o.useRef)({width:0,height:0}),Z=(0,o.useCallback)(function(e){K||l().nextTick(function(){var s=l().createSelectorQuery();s.select("#editCanvas").fields({node:!0,size:!0}).exec(function(s){var t=s&&s[0],a=t?t.node:void 0;if(a){var n=a.getContext("2d"),c=s[0]&&s[0].width||300,i=s[0]&&s[0].height||400;c<=0&&(c=300),i<=0&&(i=400);var r=l().getSystemInfoSync().pixelRatio||1;a.width=Math.round(c*r),a.height=Math.round(i*r),n.scale(r,r),V.current=a,U.current=n,W.current={width:c,height:i},L(!0),$(n,c,i,e)}else setTimeout(function(){return Z(e)},300)})})},[K]);(0,o.useEffect)(function(){var e=l().getCurrentInstance().router,s=e?e.params:void 0,t=s?s.designId:"",a=s?s.stickerId:"";N(t),k(a);var n=(0,d.p_)(),c=n.find(function(e){return e.id===t}),i=c&&c.designData&&c.designData.stickers?c.designData.stickers.find(function(e){return e.id===a}):void 0;i&&(E(i),I(i.edits&&i.edits.brightness||0),B(i.edits&&i.edits.hue||0),J(i.edits&&i.edits.contrast||0),Z(i))},[Z]);var $=function(e,s,t,a,n){if(e&&V.current){var c=V.current;if(s&&t){var i=a.width||200,r=a.height||200,o=c.createImage();o.onload=function(){e.clearRect(0,0,s,t),e.save();var a=.9*Math.min(s/i,t/r,4),c=i*a,l=r*a,d=(s-c)/2,u=(t-l)/2,h=n?n.brightness:C,f=n?n.hue:P,m=n?n.contrast:Q;e.filter=0!==h||0!==f||0!==m?"brightness(".concat(100+h,"%) hue-rotate(").concat(f,"deg) contrast(").concat(100+m,"%)"):"none",e.drawImage(o,d,u,c,l),e.restore()},o.onerror=function(e){console.error("Canvas load image error:",e,a.src),l().showToast({title:"\u56fe\u7247\u52a0\u8f7d\u5931\u8d25",icon:"none"})},a.src&&(o.src=a.src)}}},ee=function(){if(A&&U.current&&V.current){var e=W.current,s=e.width,t=e.height;$(U.current,s,t,A,{brightness:C,hue:P,contrast:Q})}};(0,o.useEffect)(function(){ee()},[C,P,Q]);var se=function(){A&&S&&(_(!0),l().canvasToTempFilePath({canvas:V.current,quality:.92,success:function(e){var s=e.tempFilePath,t=(0,d.p_)(),a=t.findIndex(function(e){return e.id===S});if(-1!==a){var c=t[a].designData&&t[a].designData.stickers||[],i=c.findIndex(function(e){return e.id===T});-1!==i?(c[i]=(0,n.A)((0,n.A)({},c[i]),{},{src:s,edits:{brightness:C,hue:P,contrast:Q}}),(0,d.i5)(S,{designData:(0,n.A)((0,n.A)({},t[a].designData),{},{stickers:c})}),l().showToast({title:"\u4fdd\u5b58\u6210\u529f",icon:"success"}),l().navigateBack()):_(!1)}else _(!1)},fail:function(){_(!1),l().showToast({title:"\u4fdd\u5b58\u5931\u8d25",icon:"none"})}}))},te=function(){A&&(l().cropImage?l().cropImage({src:A.src,cropScale:"1:1",success:function(e){var s=(0,n.A)((0,n.A)({},A),{},{src:e.tempFilePath});E(s),setTimeout(function(){return ee()},200)}}):l().showToast({title:"\u5f53\u524d\u5fae\u4fe1\u7248\u672c\u4e0d\u652f\u6301\u88c1\u526a",icon:"none"}))},ae="https://your-api-domain.com",ne=function(){A&&(_(!0),l().uploadFile({url:"".concat(ae,"/api/sketch"),filePath:A.src,name:"image",success:function(e){try{var s=JSON.parse(e.data);if(!s.url)throw new Error("no url");var t=(0,n.A)((0,n.A)({},A),{},{src:s.url,edits:(0,n.A)((0,n.A)({},A.edits),{},{sketchSrc:s.url})});E(t),setTimeout(function(){return ee()},200),l().showToast({title:"\u7ebf\u7a3f\u751f\u6210\u6210\u529f",icon:"success"})}catch(e){ce()}},fail:function(){ce()}}))},ce=function(){A&&U.current?(l().showToast({title:"\u4f7f\u7528\u672c\u5730\u7ebf\u7a3f",icon:"none"}),I(20),J(80),B(0),_(!1)):_(!1)},ie="".concat((C+100)/200*100,"%"),re="".concat((P+180)/360*100,"%"),le="".concat((Q+100)/200*100,"%");return(0,v.jsxs)(i.Ss,{className:"theme-".concat(s),children:[(0,v.jsx)(m.A,{}),(0,v.jsx)(x.A,{title:"\u7f16\u8f91\u8d34\u7eb8",targetSelector:".edit-header",showBack:!0}),(0,v.jsxs)(i.Ss,{className:"sticker-edit-page",children:[(0,v.jsxs)(i.Ss,{className:"edit-header",style:{paddingTop:"".concat(t.statusBarHeight+12,"px")},children:[(0,v.jsx)(i.EY,{className:"edit-back",onTap:function(){return l().navigateBack()},children:"\u2190"}),(0,v.jsx)(i.EY,{className:"edit-title",children:"\u7f16\u8f91\u8d34\u7eb8"}),(0,v.jsx)(i.EY,{className:"edit-save",onTap:se,children:"\u4fdd\u5b58"})]}),(0,v.jsx)(i.Ss,{className:"edit-canvas-wrap",children:(0,v.jsx)(i.Hl,{id:"editCanvas",type:"2d",className:"edit-canvas",style:{width:"100%",height:"480rpx"}})}),(0,v.jsxs)(i.Ss,{className:"edit-tools surface-card mt-20",children:[(0,v.jsxs)(i.Ss,{className:"edit-row",children:[(0,v.jsx)(i.EY,{className:"edit-label",children:"\u5feb\u901f\u64cd\u4f5c"}),(0,v.jsxs)(i.Ss,{className:"edit-quick-actions",children:[(0,v.jsx)(i.Ss,{className:"quick-btn",onTap:te,children:(0,v.jsx)(i.EY,{children:"\u88c1\u526a"})}),(0,v.jsx)(i.Ss,{className:"quick-btn",onTap:ne,children:(0,v.jsx)(i.EY,{children:"\u8f6c\u7ebf\u7a3f"})})]})]}),(0,v.jsxs)(i.Ss,{className:"edit-row slider-row",onTouchMove:function(e){var s=e.changedTouches[0].clientX,t=l().createSelectorQuery().in(e.currentTarget);t.select(".slider-track").boundingClientRect(function(e){if(e){var t=j((s-e.left)/e.width,0,1),a=1*Math.round((200*t-100)/1);I(j(a,-100,100))}}).exec()},children:[(0,v.jsx)(i.EY,{className:"edit-label",children:"\u4eae\u5ea6"}),(0,v.jsxs)(i.Ss,{className:"slider-wrap",children:[(0,v.jsxs)(i.Ss,{className:"slider-track",children:[(0,v.jsx)(i.Ss,{className:"slider-fill",style:{width:ie}}),(0,v.jsx)(i.Ss,{className:"slider-thumb",style:{left:ie}})]}),(0,v.jsx)(i.EY,{className:"slider-value",children:C>0?"+".concat(C):C})]})]}),(0,v.jsxs)(i.Ss,{className:"edit-row slider-row",onTouchMove:function(e){var s=e.changedTouches[0].clientX,t=l().createSelectorQuery().in(e.currentTarget);t.select(".slider-track").boundingClientRect(function(e){if(e){var t=j((s-e.left)/e.width,0,1),a=1*Math.round((360*t-180)/1);B(j(a,-180,180))}}).exec()},children:[(0,v.jsx)(i.EY,{className:"edit-label",children:"\u8272\u76f8"}),(0,v.jsxs)(i.Ss,{className:"slider-wrap",children:[(0,v.jsxs)(i.Ss,{className:"slider-track",children:[(0,v.jsx)(i.Ss,{className:"slider-fill",style:{width:re}}),(0,v.jsx)(i.Ss,{className:"slider-thumb",style:{left:re}})]}),(0,v.jsx)(i.EY,{className:"slider-value",children:P>0?"+".concat(P):P})]})]}),(0,v.jsxs)(i.Ss,{className:"edit-row slider-row",onTouchMove:function(e){var s=e.changedTouches[0].clientX,t=l().createSelectorQuery().in(e.currentTarget);t.select(".slider-track").boundingClientRect(function(e){if(e){var t=j((s-e.left)/e.width,0,1),a=1*Math.round((200*t-100)/1);J(j(a,-100,100))}}).exec()},children:[(0,v.jsx)(i.EY,{className:"edit-label",children:"\u5bf9\u6bd4\u5ea6"}),(0,v.jsxs)(i.Ss,{className:"slider-wrap",children:[(0,v.jsxs)(i.Ss,{className:"slider-track",children:[(0,v.jsx)(i.Ss,{className:"slider-fill",style:{width:le}}),(0,v.jsx)(i.Ss,{className:"slider-thumb",style:{left:le}})]}),(0,v.jsx)(i.EY,{className:"slider-value",children:Q>0?"+".concat(Q):Q})]})]})]}),(0,v.jsx)(i.Ss,{style:{flex:1}}),(0,v.jsxs)(g.A,{className:"edit-footer",children:[(0,v.jsx)(i.Ss,{className:"btn-secondary",onTap:function(){return l().navigateBack()},children:(0,v.jsx)(i.EY,{children:"\u53d6\u6d88"})}),(0,v.jsx)(i.Ss,{className:"btn-primary",onTap:se,children:(0,v.jsx)(i.EY,{children:"\u4fdd\u5b58"})})]}),(0,v.jsx)(i.Ss,{className:"safe-bottom-placeholder"}),H&&(0,v.jsx)(i.Ss,{className:"edit-loading",children:(0,v.jsx)(i.EY,{className:"edit-loading-text",children:"\u5904\u7406\u4e2d\u2026"})})]})]})}var N={navigationStyle:"custom",enablePageMeta:!0,navigationBarTitleText:"\u7f16\u8f91\u8d34\u7eb8"};Page((0,a.createPageConfig)(S,"pages/diy/stickerEdit/index",{root:{cn:[]}},N||{}))}},function(e){var s=function(s){return e(e.s=s)};e.O(0,[907,96,76],function(){return s(9519)});e.O()}]); |