一、调用(简化,无进度条)
- 直接调用接口进行下载,无进度条
const downloadTask = uni.downloadFile({ url: 'http://mewajump.com/apk/test.apk', success: (downloadResult) => { if (downloadResult.statusCode === 200) { console.log('安装包下载成功,即将安装:' + JSON.stringify(downloadResult, null, 4)); plus.runtime.openFile(downloadResult.tempFilePath); } } }); downloadTask.onProgressUpdate((res) => { console.log(res) });
二、调用(稍全面,显示进度条)
- 进度条视图样式由开发者自行设置
- 函数
// 开始下载任务 const downloadTask = uni.downloadFile({ url: this.appReFreshUrl, // 接口调用成功 success: downloadResult => { uni.hideLoading(); if (downloadResult.statusCode === 200) { plus.runtime.install( downloadResult.tempFilePath, { force: false }, function() { plus.runtime.restart(); }, function(e) { console.error('install fail...'); } ); } }, // 接口调用失败 fail: err => { uni.showToast({ icon: 'none', mask: true, title: '安装失败,请重新下载' }); }, // 接口调用结束 complete: () => { downloadTask.offProgressUpdate(); //取消监听加载进度 } }); //监听下载进度 downloadTask.onProgressUpdate(res => { that.percent = res.progress; // console.log('下载进度百分比:' + res.progress); // 下载进度百分比 // console.log('已经下载的数据长度:' + res.totalBytesWritten); // 已经下载的数据长度,单位 Bytes // console.log('预期需要下载的数据总长度:' + res.totalBytesExpectedToWrite); // 预期需要下载的数据总长度,单位 Bytes });
- 视图
<view v-if="downLineShow" style="width: 80%; height: 30rpx;"> <text>新版本下载中,请稍等</text> <progress :percent="percent" font-size="24rpx" border-radius="44rpx" activeColor="#D52424" show-info stroke-width="10"></progress> </view>
- data参数,可自行修改
downLineShow: false,
percent: '0'