// component/uploadImg/uploadImg.js
var app = getApp()
const wxService = require('../../utils/wxService')
const utils = require('../../utils/util')
const envInfo = require('../../config/index').envInfo
Component({
  /**
   * 组件的属性列表
   */
  properties: {

  },

  /**
   * 组件的初始数据
   */
  data: {
    pics:[]
  },

  /**
   * 组件的方法列表
   */
  methods: {
    //点击上传图片
    uploadImg(){
      this.chooseImg()
    },
    deleteImage(event) {
      var pics = this.data.pics
      pics.splice(event.currentTarget.dataset.index, 1)
      this.setData({
        pics: pics
      })
    },
    //选取图片
    chooseImg(){
      let that = this;
      let pics = this.data.pics;
      var url = envInfo.ctx + '/merchant/upload/pic'
      wx.chooseImage({
        count: 5 - pics.length, // 最多可以选择的图片5张，
        sizeType: ['original', 'compressed'], // original 原图，compressed 压缩图，默认二者都有
        sourceType: ['album', 'camera'], // album 从相册选图，camera 使用相机，默认二者都有
        success: function (res) {
          var imgsrcs = res.tempFilePaths;
          imgsrcs.forEach(src => {
            pics.push(src);
          });
          that.setData({
            pics: pics
          });
          that.moreImgUpload({
            url: url,//这里是你图片上传的接口
            path: imgsrcs//这里是选取的图片的地址数组        
          });
        },
        fail: function () {
          // fail      
        },
        complete: function () {
          // complete      
        }
      })
    },

    //多张图片上传
    moreImgUpload(data){
      var that = this,
        i = data.i ? data.i : 0,//当前上传的哪张图片
        success = data.success ? data.success : 0,//上传成功的个数
        fail = data.fail ? data.fail : 0;//上传失败的个数
      wx.uploadFile({
        url: data.url,
        filePath: data.path[i],
        name: 'imgs',//这里根据自己的实际情况改
        formData: null,//这里是上传图片时一起上传的数据
        header: {
          'buyer-token': wx.getStorageSync('token')
        },
        success: (res) => {
          if (res.statusCode == 200) {
            var imgdata = JSON.parse(res.data);
            var img = imgdata.data[0];
            success++;//图片上传成功，图片上传成功的变量+1
            // this.data.params.sspList.push({
            //   cover: 0,
            //   url: img.url
            // });
            // that.setData({
            //   'params.sspList': this.data.params.sspList
            // })
            wxService.nextTick(() => {
              that.triggerEvent('_uploadImg', img.url)
            })
          }
        },
        fail: (res) => {
          fail++;//图片上传失败，图片上传失败的变量+1
        },
        complete: () => {
          i++;//这个图片执行完上传后，开始上传下一张            
          if (i == data.path.length) {   //当图片传完时，停止调用  
          } else {//若图片还没有传完，则继续调用函数  
            data.i = i;
            data.success = success;
            data.fail = fail;
            that.moreImgUpload(data);
          }
        }
      })
    }
  }
})
