import uploader from '@/plugins/uploader/index.js'

export default {
    /**
     * 执行任务队列
     */
    async uploadImageTask(that) {
        const uploadTask = that.uploadTask

        const options = {
            files: uploadTask, // 必填 临时文件路径 格式: [{path: "图片地址"}]
            load: false, //(默认 true 说明:本接口是否提示加载动画)
            maxSize: 300000, //(默认 无 说明:上传的文件最大字节数限制,默认不限制)
            onEachUpdate: res => {
                console.log("上传成功返回:",res);
            },
            Update: res => {
                console.log("上传进度返回:",res);
            }
        }
		const result = await uploader.qnFileUpload(options)

        if (result && !result.statusCode) { // 匹配已上传完成的图片,更新缓存数据
            let newTask = [] 
            let delImg = [] 
            uploadTask.forEach(v => {
                if (result.includes(`/${v.key}`)) { // 删除已上传的图片
                    delImg.push(v.path)
                } else { // 未上传的重新存储
                    newTask.push(v)
                }
            })

            // uni.setStorageSync('delImg', delImg) // 已上传完的图片,会在启动系统的时候做一次清理
            that.$u.vuex('uploadTask', newTask)
        }
        
    }
}