import OSS from 'ali-oss';
const baseUrl = 'http://oss-aishangjia.oss-cn-shenzhen.aliyuncs.com';
export const uploadAliOss = async (file, options) => {
  // 构建上传文件参数

  // 获取上传文件所需要的STS Token
  // 直接通过node.js上传
  // console.log(token)
  const client = new OSS({
    region: 'oss-cn-shenzhen',
    accessKeyId: 'LTAI4GKGZ9Z2Z8JZ77c3GNZP',
    accessKeySecret: 'BiDkpS7UXj72HWwDWaFZxiXjNFBNCM',
    bucket: 'oss-aishangjia',
    secure: true
  });

  const headers = {
    // 指定该Object被下载时的网页缓存行为。
    'Cache-Control': 'no-cache',
    // 指定该Object被下载时的名称。
    // 指定该Object被下载时的内容编码格式。
    'Content-Encoding': 'utf-8',
    // 指定过期时间，单位为毫秒。
    Expires: '1000',
    // 指定Object的存储类型。
    'x-oss-storage-class': 'Standard',
    // 指定初始化分片上传时是否覆盖同名Object。此处设置为true，表示禁止覆盖同名Object。
    'x-oss-forbid-overwrite': 'true'
  };

  const suffix = file.name.substring(file.name.lastIndexOf('.')); // .txt
  const objectName = Date.now() + suffix;

  // object-name可以自定义为文件名（例如file.txt）或目录（例如abc/test/file.txt）的形式，实现将文件上传至当前Bucket或Bucket下的指定目录。
  const result = await client.multipartUpload(objectName, file, {
    ...options,
    parallel: 4,
    partSize: 1024 * 1024 * 5
  });

  result.url = `${baseUrl}/${result.name}`;
  return Promise.resolve(result);
};
