/*  time:20022.08.29
**  classify:AYN Define Component
**  author:zhangb
**  description: 用于资源图片上传压缩，以提升终端性能，提升用户良性体验，该组件基于‘image-conversion’基础进行封装延展，视频文件不进行压缩,PNG由于无法改变分辨率,所以压缩后原型输出
**  params： file -- 上传文件   ctimes -- 压缩比例值
*/

import * as imageConversion from 'image-conversion'; 

export function compressFileM(file,ctimes) {
  console.log('上传前的尺寸',file);
    // 如果是视频不做压缩处理
    if(file.type === 'video/mp4'){
      return true
    }
    const isLt1M = (file.size / 1024 / 1024) * 10 < 1;
    if (!isLt1M) {
      let myImg = new Promise((resolve) => {
        // 压缩值自定义，当前定义为原图的  1/<ctimes>
        imageConversion.compressAccurately(file,{
          size:file.size/1024/ctimes,  //指定压缩后的大小
          type:file.type                 //指定压缩的后文件类型
        }).then((res) => {
          res = new File([res], file.name, { type: res.type, lastModified: Date.now() })
          resolve(res);
        });
      });
      console.log('今经过压缩处理的文件',myImg);
      return myImg;
    }
  return isLt1M;
}