plus.runtime.install无法安装也无报错信息
plus.runtime.install无法安装也无报错信息,代码如下:
onLoad() { this.update();
},
methods: {
update() {
if (this.button === '正在更新') return;
this.button = '正在更新';
/* 准备更新 */
let that = this;
/* 初始化 */
this.dtask = plus.downloader.createDownload(this.url, {}, function(d, status) {
// console.log(JSON.stringify(d));
// 下载完成
if (status == 200) {
// uni.setStorageSync("appFile", {
// ver: that.ver,
// path: d.filename
// });
plus.runtime.install(plus.io.convertLocalFileSystemURL(d.filename), {}, {}, function(error) {
// console.log('error:', error)
// 如果安装本地文件失败, 下载最新文件安装
that.failed();
})
} else {
that.failed();
}
});
/* 开始更新 */
// let file = uni.getStorageSync('appFile');
// console.log(file)
// 使用本地文件更新
// if (file && file.ver == this.ver) {
// this.button = '安装更新';
// this.install(file.path, true);
// }
// 下载新文件
// else {
// 更新进度
this.dtask.addEventListener('statechanged', this.progress);
this.dtask.start();
// }
},
/* 安装进度 */
progress(task) {
if (!this.dtask) return;
switch (task.state) {
case 1:
this.text = '开始下载...';
break;
case 2:
this.text = '下载中...';
break;
case 3:
let progressVal = 0;
progressVal = Math.ceil(task.downloadedSize / task.totalSize * 100);
if (progressVal == 100) {
this.text = '下载完成...';
} else {
this.text = '下载 ' + progressVal + '%';
}
break;
case 4:
this.text = '开始安装...';
break;
}
},
/* 安装失败 */
failed() {
uni.showToast({
icon: "none",
mask: true,
title: '更新失败!请退出重试或向工作人员反映',
duration: 1500
});
setTimeout(function() {
plus.runtime.quit()
}, 1500);
}
}
·回复
已解决
我这边排查不出来错误, 最后定位到是 编辑器版本的问题. 我从 2.6.5 换到 2.5.1 就可以用了。
·回复
大佬怎么解决的?求方法,这两天我快被这个问题折磨疯了。。。我的下载更新代码跟贴中的几乎一样,且没有改动过,突然从某个版本开始就无法弹出安装了(下载完成后未自动执行安装),也不报错。。
·回复
请问一下,我是这样写的,执行的是安装更新失败!失败返回的e为null, 可以帮我看看那错了吗?
以上是 plus.runtime.install无法安装也无报错信息 的全部内容, 来源链接: utcz.com/a/15135.html