webpackJsonp([37],{DOrY:function(t,i,e){"use strict";var a=e("sbrb"),s=e.n(a),n=e("mtWM"),o=e.n(n),h=e("PJh5"),r=e.n(h),c={name:"vueImgCropper",props:{width:{type:Number,default:500},height:{type:Number,default:500},maxScale:{type:Number,default:4},footerHeight:{type:Number,default:window.innerWidth/6.4*.88},compressionRatio:{type:Number,default:.92}},data:function(){return{config:{},show:!1,touch:!1,touchmoveTime:0,ratio:1,nativeWindowHeight:window.innerHeight,windowHeight:window.innerHeight-this.$props.footerHeight,windowWidth:window.innerWidth,singlePoint:null,speedX:0,speedY:0,scale:1,d:0,dx:0,dy:0,boxWidth:0,boxHeight:0,boxTop:0,boxLeft:0,naturalWidth:0,naturalHeight:0,startWidth:0,startHeight:0,imgTop:0,imgLeft:0,fileType:"",minScale:1,maskWidth:0,maskHeight:0,info:"",duration:0,timingFunction:"ease-in-out",easingTime:2e3,ouOfRangeEasing:300,remainingTime:0}},methods:{getImg:function(){this.$refs.fileInput.click()},showLoading:function(){this.$emit("showLoading")},hideLoading:function(){this.$emit("hideLoading")},changeFun:function(t){var i=this,e=t.target.files[0];if(i.fileType=e.type,!/image\/\w+/.test(e.type))return this.$emit("showError","文件必须为图片!"),!1;if(this.showLoading(),"undefined"==typeof FileReader)return this.hideLoading(),void this.$emit("showError","抱歉,你的浏览器不支持 FileReader");var a=new FileReader;a.readAsDataURL(e),a.onload=function(t){var a=this.result;s.a.getData(e,function(){s.a.getAllTags(this);var t=s.a.getTag(this,"Orientation"),e=new Image;e.onload=function(){var e,a,s=0,n=void 0,o=void 0;n=this.naturalWidth,o=this.naturalHeight;var h=document.createElement("canvas");h.width=e=n,h.height=a=o;var r=h.getContext("2d");switch(t){case 3:s=180,n=-e,o=-a;break;case 6:h.width=a,h.height=e,s=90,n=e,o=-a;break;case 8:h.width=a,h.height=e,s=270,n=-e,o=a}r.rotate(s*Math.PI/180),r.drawImage(this,0,0,n,o);var c=new Image;c.onload=function(){var t=this.naturalWidth,e=this.naturalHeight;i.naturalWidth=this.naturalWidth,i.naturalHeight=this.naturalHeight;var a=i.$refs.img;i.windowHeight/i.windowWidth>=i.height/i.width?(i.startWidth=i.windowWidth,i.startHeight=e/t*i.windowWidth,i.imgTop=(i.windowHeight-i.startHeight)/2,i.imgLeft=0,i.boxWidth=i.startWidth,i.boxHeight=i.boxWidth*i.ratio,i.boxTop=(i.windowHeight-i.boxHeight)/2,i.boxLeft=0,i.maskHeight=(i.windowHeight-i.boxHeight)/2,i.maskWidth=0):(i.startHeight=i.windowHeight,i.startWidth=t/e*i.windowHeight,i.imgLeft=(i.windowWidth-i.startWidth)/2,i.imgTop=0,i.boxHeight=i.startHeight,i.boxWidth=i.boxHeight/i.ratio,i.boxLeft=(i.windowWidth-i.boxWidth)/2,i.boxTop=0),a.setAttribute("src",c.src),i.scale=1,i.dx=0,i.dy=0,i.hideLoading(),i.show=!0},c.src=h.toDataURL(i.fileType)},e.src=a})}},hidePage:function(){this.$parent.showImgPage=!1,this.show=!1,this.cleanInput()},touchstart:function(t){this.touch=!0},mouseWheel:function(t){var i=this,e=.1;t.deltaY>0?(this.scalethis.maxScale&&(e/=3),this.scale=this.scale+e),setTimeout(function(){i.resetImg()},0)},touchmove:function(t){if(this.touch=!0,t.preventDefault(),t.targetTouches.length>=2||t.touches.length>=2){var i="",e="",a=[],s=[];t.targetTouches.length>=2?(a=[(i=t.targetTouches[0]).pageX,i.pageY],s=[(e=t.targetTouches[1]).pageX,e.pageY]):(a=[(i=t.touches[0]).pageX,i.pageY],s=[(e=t.touches[1]).pageX,e.pageY]);var n=Math.sqrt((a[0]-s[0])*(a[0]-s[0])+(a[1]-s[1])*(a[1]-s[1]));if(0===this.d)return void(this.d=n);var o=(n-this.d)/this.d;(this.scale>this.maxScale&&o>0||this.scale<.8&&o<0)&&(o/=3),this.scale=this.scale+o,this.d=n}else if(1===t.targetTouches.length){var h=t.targetTouches[0],r={x:h.pageX,y:h.pageY},c=Date.now();if(!this.singlePoint)return this.singlePoint=r,this.speedX=0,this.speedY=0,void(this.touchmoveTime=c);var d=this.dx+r.x-this.singlePoint.x,l=this.dy+r.y-this.singlePoint.y,g=c-this.touchmoveTime;this.speedX=(r.x-this.singlePoint.x)/g,this.speedY=(r.y-this.singlePoint.y)/g;var u=this.getRange();d>u.maxDx||du.maxDy||la.maxDx||this.dya.maxDy)this.speedX=0,this.speedY=0,this.resetImg();else if(i-this.touchmoveTime>40||Math.abs(this.speedX)<.2&&Math.abs(this.speedY)<.2)this.speedX=0,this.speedY=0,this.resetImg();else{var s=-this.speedX/this.easingTime,n=-this.speedY/this.easingTime,o=this.dx,h=this.dy,r=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){window.setTimeout(t,1e3/60)},c=0,d=0,l=0,g=0,u=0,m=0,f=0,p=0;!function v(){var x=Date.now()-i;if(!t.touch&&x<=e){var w=t.speedX*x+.5*s*x*x,y=t.speedY*x+.5*n*x*x,b=o+w/2,_=h+y/2;if(0!==c)if(x<=c){var H=x-c+t.ouOfRangeEasing;t.dx=l+(f*H+u*H*H)}else t.dx=l;else if(0===c){var D=t.easingTime-x;(b>a.maxDx||ba.maxDx?a.maxDx:a.minDx,u=-(f=-s*D/2)/t.ouOfRangeEasing,c=x+t.ouOfRangeEasing,e=c>e?c:e),t.dx=b}if(0!==d)if(x<=d){var W=x-d+t.ouOfRangeEasing;t.dy=g+(p*W+m*W*W)}else t.dy=g;else if(0===d){var k=t.easingTime-x;(_>a.maxDy||_a.maxDy?a.maxDy:a.minDy,m=-(p=-n*k/2)/t.ouOfRangeEasing,d=x+t.ouOfRangeEasing,e=d>e?d:e),t.dy=_}r(v)}}()}},resetImg:function(){var t,i,e,a,s,n=this,o=this.getRange(),h=this.dx,r=this.dy,c=this.scale,d=0,l=0,g=0;if(this.dxo.maxDx&&(d=o.maxDx-this.dx),this.dyo.maxDy&&(l=o.maxDy-this.dy),this.scalethis.maxScale&&(g=this.maxScale-this.scale),0!==d||0!==l||0!==g){t=-2*d/(this.ouOfRangeEasing*this.ouOfRangeEasing),e=-t*this.ouOfRangeEasing,i=-2*l/(this.ouOfRangeEasing*this.ouOfRangeEasing),a=-i*this.ouOfRangeEasing,s=g/this.ouOfRangeEasing;var u=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){window.setTimeout(t,1e3/60)},m=Date.now();!function o(){var f=Date.now()-m;if(!n.touch)if(f<=n.ouOfRangeEasing){var p=e*f+.5*t*f*f,v=a*f+.5*i*f*f,x=s*f;n.dx=h+p,n.dy=r+v,n.scale=c+x,u(o)}else n.dx=h+d,n.dy=r+l,n.scale=c+g}()}},getRange:function(){var t=this.scale,i=this.scale;tthis.maxScale&&(i=this.maxScale);var e=-(this.startWidth*t-this.boxWidth)/2,a=-(this.startHeight*t-this.boxHeight)/2,s=(this.startWidth*t-this.boxWidth)/2,n=(this.startHeight*t-this.boxHeight)/2;return e>s&&(e=0,s=0),a>n&&(a=0,n=0),{minDx:e,minDy:a,maxDx:s,maxDy:n}},cutImg:function(){var t=this.$refs.canvas,i=t.getContext("2d"),e=this.$refs.img,a=this.getRange(),s=this.startWidth*this.scale,n=this.startHeight*this.scale,o=(-this.dx-a.minDx)/s*this.naturalWidth,h=(-this.dy-a.minDy)/n*this.naturalHeight,r=this.boxWidth/s*this.naturalWidth,c=this.boxHeight/n*this.naturalHeight;if(0==a.maxDx&&0==a.maxDy&&0==a.minDx&&0==a.minDy&&this.startHeight