admin管理员组文章数量:1566353
- 新建downloader.js文件
export function down(url, option, callback) {
// 文件下载
// 调用方式 ---> 文件引入名称 = down(url, option, callback)
return plus.downloader.createDownload(url, option, callback)
}
export function getDownList(callback) {
// 文件查询
// 调用方式 --->文件引入名称.getDownList((ret)=>console.log(ret)) 传入回调方法接收参数
plus.io.resolveLocalFileSystemURL('_downloads/video/',function(res){
let DataList = []
var directoryReader = res.createReader()
directoryReader.readEntries( function( entries ){
var i;
for( i=0; i < entries.length; i++ ) {
console.log( entries[i].name );
DataList.push(entries[i].name)
}
callback(DataList)
})
}, function ( e ) {
console.log( "Read entries failed: " + e.message );
})
}
2、在调用的文件中引入此文件
// 此处示范为down
import * as down from '@/utils/downLoader.js'
// 调用 --> 下载
this.task = down.down(url, 下载参数(为对象,无参数传空对象),下载完成回调函数)
this.task // 为下载实例 具体参考[H5+的downloader](http://www.html5plus/doc/zh_cn/downloader.html#plus.downloader.enumerate)
// App非正常关闭时,再次打开App的下载任务处理
plus.downloader.enumerate(function(tasks){
// 传入的tasks为数组
tasks.forEach((im,ix) => {
if(im.state == 0){
console.log(im,'=====>','下载任务开始调度')
}
if(im.state == 1){
console.log(im,'=====>','下载任务开始请求')
}
if(im.state == 2){
console.log(im,'=====>','下载任务请求已经接收')
}
if(im.state == 3){
console.log(im,'=====>','下载任务接收数据')
}
if(im.state == 4){
console.log(im,'=====>','下载任务已完成')
}
if(im.state == 5){
console.log(im,'=====>','下载任务已暂停')
}
})
},-1);
// 关于 -1 为查询下载任务的状态码 如下:
/*
undefined: (undefined 类型 )下载任务未开始
通过plus.downloader.createDownload()方法创建下载任务后的初始状态,此时可调用其start()方法开始下载。
0: (Number 类型 )下载任务开始调度
调用下载任务的start()方法之后处于此状态,此时下载任务处于可调度下载状态。
1: (Number 类型 )下载任务开始请求
下载任务建立网络连接,发送请求到服务器并等待服务器的响应。
2: (Number 类型 )下载任务请求已经接收
下载任务网络连接已建立,服务器返回响应,准备传输数据内容。
3: (Number 类型 )下载任务接收数据
下载任务接收数据,监听statechanged事件时可多次触发此状态。
4: (Number 类型 )下载任务已完成
下载任务完成数据传输并断开连接,下载成功或失败都会设置为此状态。
5: (Number 类型 )下载任务已暂停
调用下载任务的pause()方法将任务暂停,此时可调用其resume()方法重新开始下载。
-1: (Number 类型 )枚举任务状态
非下载任务状态,泛指所有下载任务的状态,用于enumerate()和clear()操作时指定作用于所有下载任务。
*/
版权声明:本文标题:uniapp制作App实现下载系列功能 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1727550864a1120544.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论