|  | @@ -1,15 +1,15 @@
 | 
	
		
			
				|  |  |  export function resize(base64, callback) {
 | 
	
		
			
				|  |  |    const w = 1440
 | 
	
		
			
				|  |  | -  var newImage = new Image()
 | 
	
		
			
				|  |  | -  var quality = 0.8 //压缩系数
 | 
	
		
			
				|  |  | +  let newImage = new Image()
 | 
	
		
			
				|  |  | +  let quality = 0.8 //压缩系数
 | 
	
		
			
				|  |  |    newImage.src = base64
 | 
	
		
			
				|  |  |    newImage.setAttribute('crossOrigin', 'Anonymous')
 | 
	
		
			
				|  |  | -  var imgWidth, imgHeight
 | 
	
		
			
				|  |  | +  let imgWidth, imgHeight
 | 
	
		
			
				|  |  |    newImage.onload = function () {
 | 
	
		
			
				|  |  |      imgWidth = this.width
 | 
	
		
			
				|  |  |      imgHeight = this.height
 | 
	
		
			
				|  |  | -    var canvas = document.createElement('canvas')
 | 
	
		
			
				|  |  | -    var ctx = canvas.getContext('2d')
 | 
	
		
			
				|  |  | +    let canvas = document.createElement('canvas')
 | 
	
		
			
				|  |  | +    let ctx = canvas.getContext('2d')
 | 
	
		
			
				|  |  |      if (Math.max(imgWidth, imgHeight) > w) {
 | 
	
		
			
				|  |  |        if (imgWidth > imgHeight) {
 | 
	
		
			
				|  |  |          canvas.width = w
 | 
	
	
		
			
				|  | @@ -25,16 +25,11 @@ export function resize(base64, callback) {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      ctx.clearRect(0, 0, canvas.width, canvas.height)
 | 
	
		
			
				|  |  |      ctx.drawImage(this, 0, 0, canvas.width, canvas.height)
 | 
	
		
			
				|  |  | -    var base64 = canvas.toDataURL('image/jpeg', quality) // 执行压缩
 | 
	
		
			
				|  |  | +    let base64 = canvas.toDataURL('image/jpeg', quality) // 执行压缩
 | 
	
		
			
				|  |  |      while (base64.length / 1024 > 500) {
 | 
	
		
			
				|  |  |        quality -= 0.01
 | 
	
		
			
				|  |  |        base64 = canvas.toDataURL('image/jpeg', quality)
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -    // 防止最后一次压缩低于最低尺寸,只要quality递减合理,无需考虑
 | 
	
		
			
				|  |  | -    // while (base64.length / 1024 < 50) {
 | 
	
		
			
				|  |  | -    // 	quality += 0.001;
 | 
	
		
			
				|  |  | -    // 	base64 = canvas.toDataURL("image/jpeg", quality);
 | 
	
		
			
				|  |  | -    // }
 | 
	
		
			
				|  |  | -    callback(base64) //必须通过回调函数返回,否则无法及时拿到该值
 | 
	
		
			
				|  |  | +    callback(base64)
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 |