/**
 * 上传图片
 */
export const uploadImageListOrSingle = async (files, cb:Function) => {
  const token = await PreferenceModel.getPreference('tokenInfo', 'token')
  const uploadConfigData = []
  console.info('转换之后的files', JSON.stringify(files))
  files.forEach(v => {
    const uploadConfig = {
      url: 'https://xxx.xxx.xxx/api/v1.0/oss/upload',
      header: {
        'Hwkj-Custom-Client': 'PlatformOfWeb',
        "Authorization": token ? 'Bearer ' + token : '',
      },
      method: "POST",
      files: [v],
      data: [{ name: "files", value: "files"}],
    }
    uploadConfigData.push(uploadConfig)
  })
  const promises = uploadConfigData.map(async item => await onGetImageUploadBackUrl(item));
  Promise.all(promises)
    .then((data) => {
      const showList = []
      data.forEach(v => {
        showList.push(v[0])
      })
      cb(showList)
    })
    .catch(error => {
      console.error("Error occurred1:", error);
    });
}
const onGetImageUploadBackUrl = (uploadConfig) => {
  let uploadTask;
  return new Promise((resolve, reject) => {
    try {
      request.uploadFile( getContext(this), uploadConfig).then((data) => {
        console.info('JSON.stringify(data)', JSON.stringify(data))
        uploadTask = data;
        let upProgressCallback = (data) => {
          console.info("data1111:" + JSON.stringify(data));
          resolve(data)
        };
        uploadTask.on('complete', upProgressCallback);
      }).catch((err) => {
        console.error('Failed to request the upload. Cause: ' + JSON.stringify(err));
      });
    } catch (err) {
      console.error('applog:', JSON.stringify(err));
      console.error('err.code : ' + err.code + ', err.message : ' + err.message);
    }
  })
}