王总上门按摩后台代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
shangmenanmo/public/h5/static/js/user-pages-order-sign.30dad...

1 line
22 KiB

5 months ago
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["user-pages-order-sign"],{"02d1":function(t,e,n){"use strict";n("7a82");var i=n("4ea4").default;Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var a=i(n("5530")),r=i(n("c7eb")),o=i(n("1da1"));n("a9e3"),n("14d9"),n("d3b7"),n("159b"),n("cb29");var s=n("4602"),c={name:"v-sign",props:{cid:{type:String,default:"v-sign-".concat(Date.now())},width:{type:[String,Number]},height:{type:[String,Number]},lineWidth:{type:Number,default:4},lineColor:{type:String,default:"#333"},bgColor:{type:String,default:"#fff"},customStyle:{type:Object,default:function(){return{}}}},provide:function(){return{getSignInterface:this.provideSignInterface}},data:function(){return{formatSize:s.formatSize,lineData:[],winWidth:0,winHeight:0,penLineWidth:null,penLineColor:null}},created:function(){var t=uni.getSystemInfoSync(),e=t.windowWidth,n=t.windowHeight;this.winWidth=e,this.winHeight=n},onReady:function(){var t=uni.getSystemInfoSync(),e=t.windowWidth,n=t.windowHeight;this.winWidth=e,this.winHeight=n},mounted:function(){var t=this;this.canvasCtx=uni.createCanvasContext(this.cid,this),setTimeout((function(){t.setBackgroundColor(t.bgColor)}),10),this.$emit("init",this.provideSignInterface())},methods:{onTouchStart:function(t){var e=t.touches[0];this.lineData.push({style:{color:this.penLineColor||this.lineColor,width:this.penLineWidth||this.lineWidth},coordinates:[{type:t.type,x:e.x,y:e.y}]}),this.drawLine()},onTouchMove:function(t){var e=t.touches[0];this.lineData[this.lineData.length-1].coordinates.push({type:t.type,x:e.x,y:e.y}),this.drawLine()},onTouchEnd:function(t){this.$emit("end",this.lineData)},clear:function(){this.lineData=[],this.canvasCtx.clearRect(0,0,this.winWidth,this.winHeight),this.canvasCtx.draw(),this.setBackgroundColor(this.bgColor),this.$emit("clear")},revoke:function(){var t=this;this.setBackgroundColor(this.bgColor),this.lineData.pop(),this.lineData.forEach((function(e,n){if(t.canvasCtx.beginPath(),t.canvasCtx.setLineCap("round"),t.canvasCtx.setStrokeStyle(e.style.color),t.canvasCtx.setLineWidth(e.style.width),e.coordinates.length<2){var i=e.coordinates[0];t.canvasCtx.moveTo(i.x,i.y),t.canvasCtx.lineTo(i.x+1,i.y)}else e.coordinates.forEach((function(e){"touchstart"==e.type?t.canvasCtx.moveTo(e.x,e.y):t.canvasCtx.lineTo(e.x,e.y)}));t.canvasCtx.stroke()})),this.canvasCtx.draw(!0),this.$emit("revoke",this.lineData)},drawLine:function(){var t=this.lineData.length;if(t){var e=this.lineData[t-1],n=e.coordinates,i=n.length;if(i){var a,r;i<2?(a=n[i-1],r={x:a.x+1,y:a.y}):(a=n[i-2],r=n[i-1]);var o=e.style;this.canvasCtx.beginPath(),this.canvasCtx.setLineCap("round"),this.canvasCtx.setStrokeStyle(o.color),this.canvasCtx.setLineWidth(o.width),this.canvasCtx.moveTo(a.x,a.y),this.canvasCtx.lineTo(r.x,r.y),this.canvasCtx.stroke(),this.canvasCtx.draw(!0)}}},saveImage:function(){var t=arguments,e=this;return(0,o.default)((0,r.default)().mark((function n(){var i,a;return(0,r.default)().wrap((function(n){while(1)switch(n.prev=n.next){case 0:return i=t.length>0&&void 0!==t[0]?t[0]:"签名",n.next=3,e.canvasToTempFilePath();case 3:return a=n.sent,n.abrupt("return",new Promise((function(t,e){try{var n=document.createElement("a");n.href=a,n.download=i,document.body.appendChild(n),n.click(),n.remove(),t({errMsg:"saveImageH5:ok"})}catch(r){console.error(r),e(r)}})));case 5:case"end":return n.stop()}}),n)})))()},canvasToTempFilePath:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Promise((function(n,i){uni.canvasToTempFilePath((0,a.default)((0,a.default)({canvasId:t.cid},e),{},{success:function(t){n(t.tempFilePath)},fail:function(t){console.log("fail",t),i(t)}}),t)}))},setBackgroundColor:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"#fff";this.canvasCtx.beginPath(),this.canvasCtx.setFillStyle(t),this.canvasCtx.fillRect(0,0,this.winWidth,this.winHeight),this.canvasCtx.fill(),this.canvasCtx.draw(!0)},setLineWidth:function(t){this.penLineWidth=t},setLineColor:function(t){this.penLineColor=t},provideSignInterface