UNPKG

weweb-cli

Version:

微信小程序转成h5的小工具

1 lines 6.5 kB
webpackJsonp([18],{286:function(e,t,a){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function n(e){return Array.isArray(e)?e:(0,d.default)(e)}function o(e){if(Array.isArray(e)){for(var t=0,a=new Array(e.length);t<e.length;t++)a[t]=e[t];return a}return(0,d.default)(e)}Object.defineProperty(t,"__esModule",{value:!0});var r=a(13),s=i(r),c=a(53),d=i(c),f=["touchstart","touchmove","touchend","touchcancel","longtap"],h=function(e){var t=e.slice(0);return t[3]=t[3]/255,"rgba("+t.join(",")+")"},l=function(e){var t=this;return[].concat(o(e)).map(function(e){return{identifier:e.identifier,x:e.pageX-t._box.left,y:e.pageY-t._box.top}})},u=function(e,t){var a=e.x-t.x,i=e.y-t.y;return a*a+i*i};t.default=window.exparser.registerElement({is:"wx-canvas",behaviors:["wx-base","wx-native"],template:'<canvas id="canvas" width="300" height="150"></canvas>',properties:{canvasId:{type:String,public:!0},bindtouchstart:{type:String,value:"",public:!0},bindtouchmove:{type:String,value:"",public:!0},bindtouchend:{type:String,value:"",public:!0},bindtouchcancel:{type:String,value:"",public:!0},bindlongtap:{type:String,value:"",public:!0},disableScroll:{type:Boolean,value:!1,public:!0,observer:"disableScrollChanged"}},_updatePosition:function(){this.$.canvas.width=this._box.width,this.$.canvas.height=this._box.height,this.actionsChanged(this.actions)},attached:function(){var e=this;if(this._images={},this._box=this._getBox(),this.$.canvas.width=this.$$.offsetWidth,this.$.canvas.height=this.$$.offsetHeight,!this.canvasId)return this.triggerEvent("error",{errMsg:"canvas-id attribute is undefined"}),this._isError=!0,void(this.$$.style.display="none");window.__canvasNumbers__=window.__canvasNumbers__||{};var t=window.__webviewId__+"canvas"+this.canvasId;window.__canvasNumbers__.hasOwnProperty(t)?(this.triggerEvent("error",{errMsg:"canvas-id "+e.canvasId+" in this page has already existed"}),this._isError=!0,this.$$.style.display="none"):(window.__canvasNumber__=window.__canvasNumber__||1e5,window.__canvasNumbers__[t]=window.__canvasNumber__+__webviewId__,window.__canvasNumber__+=1e5,this._canvasNumber=window.__canvasNumbers__[t],WeixinJSBridge.publish("canvasInsert",{canvasId:e.canvasId,canvasNumber:e._canvasNumber}),WeixinJSBridge.subscribe("canvas"+e._canvasNumber+"actionsChanged",function(t){var a=t.actions,i=t.reserve;e.actions=a,e.actionsChanged(a,i)}),WeixinJSBridge.subscribe("invokeCanvasToDataUrl_"+e._canvasNumber,function(){var t=e.$.canvas.toDataURL();WeixinJSBridge.publish("onCanvasToDataUrl_"+e._canvasNumber,{dataUrl:t})}),e._ready(),document.addEventListener("pageReRender",e._pageReRenderCallback.bind(e)),this.addTouchEventForWebview())},detached:function(){var e=__webviewId__+"canvas"+this.canvasId;delete window.__canvasNumbers__[e],WeixinJSBridge.publish("canvasRemove",{canvasId:this.canvasId,canvasNumber:this._canvasNumber})},addTouchEventForWebview:function(){var e=this;f.forEach(function(t){e.$$.addEventListener(t,function(a){var i=l.call(e,a.touches),n=l.call(e,a.changedTouches);e.bindlongtap&&(e._touchInfo=e._touchInfo||{},e._disableScroll=e._disableScroll||0,"touchstart"===t?n.forEach(function(t){e._touchInfo[t.identifier]={},e._touchInfo[t.identifier].x=t.x,e._touchInfo[t.identifier].y=t.y,e._touchInfo[t.identifier].timeStamp=a.timeStamp;var i=setTimeout(function(){if(e._touchInfo.hasOwnProperty(t.identifier)){e._touchInfo[t.identifier].longPress=!0,++e._disableScroll;var i=[],n=[];for(var o in e._touchInfo){var r={identifier:o,x:e._touchInfo[o].x,y:e._touchInfo[o].y};i.push(r),o===String(t.identifier)&&n.push(r)}wx.publishPageEvent(e.bindlongtap,{type:"bindlongtap",timeStamp:e._touchInfo[t.identifier].timeStamp+300,target:{id:a.target.parentElement.id,offsetLeft:a.target.offsetLeft,offsetTop:a.target.offsetTop,dataset:e.dataset},touches:i,changedTouches:n})}},300);e._touchInfo[t.identifier].handler=i}):"touchend"===t||"touchcancel"===t?n.forEach(function(a){e._touchInfo.hasOwnProperty(a.identifier)||console.error("in "+t+", can not found "+a.identifier+" in "+(0,s.default)(e._touchInfo)),e._touchInfo[a.identifier].longPress&&--e._disableScroll,clearTimeout(e._touchInfo[a.identifier].handler),delete e._touchInfo[a.identifier]}):n.forEach(function(a){e._touchInfo.hasOwnProperty(a.identifier)||console.error("in "+t+", can not found "+a.identifier+" in "+(0,s.default)(e._touchInfo)),u(e._touchInfo[a.identifier],a)>5&&!e._touchInfo[a.identifier].longPress&&clearTimeout(e._touchInfo[a.identifier].handler),e._touchInfo[a.identifier].x=a.x,e._touchInfo[a.identifier].y=a.y})),e["bind"+t]&&i.length+n.length>0&&wx.publishPageEvent(e["bind"+t],{type:t,timeStamp:a.timeStamp,target:{id:a.target.parentElement.id,offsetLeft:a.target.offsetLeft,offsetTop:a.target.offsetTop,dataset:e.dataset},touches:i,changedTouches:n}),(e.disableScroll||e._disableScroll)&&(a.preventDefault(),a.stopPropagation())})})},actionsChanged:function(e,t){if(e){var a=this.$.canvas,i=a.getContext("2d");!1===t&&(i.fillStyle="#000000",i.strokeStyle="#000000",i.shadowColor="#000000",i.shadowBlur=0,i.shadowOffsetX=0,i.shadowOffsetY=0,i.setTransform(1,0,0,1,0,0),i.clearRect(0,0,a.width,a.height),e.forEach(function(e){var t=this,a=e.method,r=e.data;if(/^set/.test(a)){var s=a[3].toLowerCase()+a.slice(4),c=void 0;if("fillStyle"===s||"strokeStyle"===s){if("normal"===r[0])c=h(r[1]);else if("linear"===r[0]){var d=i.createLinearGradient.apply(i,r[1]);r[2].forEach(function(e){var t=e[0],a=h(e[1]);d.addColorStop(t,a)})}else if("radial"===r[0]){var f=r[1][0],l=r[1][1],u=r[1][2],_=[f,l,0,f,l,u],d=i.createRadialGradient.apply(i,_);r[2].forEach(function(e){var t=e[0],a=h(e[1]);d.addColorStop(t,a)})}i[s]=c}else if("globalAlpha"===s)i[s]=r[0]/255;else if("shadow"===s){var v=["shadowOffsetX","shadowOffsetY","shadowBlur","shadowColor"];r.forEach(function(e,t){i[v[t]]="shadowColor"===v[t]?h(e):e})}else"fontSize"===s?i.font=i.font.replace(/\d+\.?\d*px/,r[0]+"px"):i[s]=r[0]}else"fillPath"===a||"strokePath"===a?(a=a.replace(/Path/,""),i.beginPath(),r.forEach(function(e){i[e.method].apply(i,e.data)}),i[a]()):"fillText"===a?i.fillText.apply(i,r):"drawImage"===a?function(){var e=n(r),a=e[0],s=e.slice(1);t._images=t._images||{},t._images[a]?i.drawImage.apply(i,[t._images[a]].concat(o(s))):(t._images[a]=new Image,t._images[a].src=a,t._images[a].onload=function(){i.drawImage.apply(i,[t._images[a]].concat(o(s)))})}():i[a].apply(i,r)},this))}},_hiddenChanged:function(e,t){this.$$.style.display=e?"none":""},disableScrollChanged:function(e,t){}})}});