uniapp 使用plus.downloader.createDownload多任务下载
index.js
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex);
const store = new Vuex.Store({
state:{
downloads: [],
downloadTasks:[],
},
mutations:{
//添加下载任务
ADD_DOWNLOAD(state, download) {
state.downloads.push(download);
},
//删除下载任务
REMOVE_DOWNLOAD(state, taskId) {
state.downloads = state.downloads.filter(download => download.taskId !== taskId);
},
//设置对应任务下载状态
UPDATE_DOWNLOADS_STATUS(state, {
taskId, status }) {
const download = state.downloads.find(d => d.taskId === taskId);
if (download) {
download.status = status;
}
},
//更新对应任务下载进度
UPDATE_DOWNLOAD_PROGRESS(state, {
taskId, progress }) {
const download = state.downloads.find(d => d.taskId === taskId);
if (download) {
download.progress = progress;
}
},
//新增下载任务实例
ADD_DOWNLOAD_TASK(state, task) {
state.downloadTasks.push(task);
},
//删除下载任务实例
REMOVE_DOWNLOAD_TASK(state, taskId) {
state.downloadTasks = state.downloadTasks.filter(task => task.taskId !== taskId);
},