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