<script>
export default {
data() {
return {
version: 1.02,
}
},
onLoad(option) {
uni.getSystemInfo({
success: (res) => {
//检测当前平台,如果是安卓则启动安卓更新
if (res.platform == "android") {
this.AndroidCheckUpdate();
}
}
})
},
methods: {
/**
* 安卓应用的检测更新实现
*/
AndroidCheckUpdate: function() {
var _this = this;
uni.request({
//请求地址,设置为自己的服务器链接
url: '',
method: 'GET',
data: {},
success: resMz => {
var server_version = resMz.data.data.version;
_this.checkVersionToLoadUpdate(server_version, _this.version);
},
fail: (resMz) => {
uni.showToast({
title: resMz.errmsg,
duration: 2000
});
},
complete: () => {}
});
},
/**
* 进行版本型号的比对 以及下载更新请求
* @param {Object} server_version 服务器最新 应用版本号
* @param {Object} curr_version 当前应用版本号
*/
//进行版本型号的比对 以及下载更新请求
checkVersionToLoadUpdate: function(server_version, curr_version) {
if (server_version > curr_version) {
uni.showModal({
title: "版本更新",
content: '有新的版本发布,是否立即进行新版本下载?',
confirmText: '立即更新',
cancelText: '稍后进行',
success: function(res) {
if (res.confirm) {
uni.showLoading({
title: '正在下载。。。'
})
//设置 最新版本apk的下载链接
var downloadApkUrl = "http://zyysrc.lianhenz.com/files/newbig1.apk";
var dtask = plus.downloader.createDownload(downloadApkUrl, {}, function(d,
status) {
uni.hideLoading()
if (status == 200) {
uni.showModal({
title: "提示",
content: '已完成更新!',
confirmText: '确定',
showCancel: false,
showCancel: false,
success: function(res) {
if (res.confirm) {
var fileSaveUrl = plus.io
.convertLocalFileSystemURL(d
.filename)
plus.runtime.install(plus.io
.convertLocalFileSystemURL(
d.filename), {}, {},
function(error) {
uni.showModal({
title: "提示",
content: '安装失败!',
confirmText: '确定',
showCancel: false,
})
})
}
}
})
} else {
uni.showModal({
title: '提示',
content: '更新失败',
showCancel: false,
});
plus.downloader.clear(); //清除下载任务
}
});
// 这里是监听下载进度,可以自己生成进度条,根据自己需求选择是否需要
// dtask.addEventListener("statechanged", function(task, status) {
// if (!dtask) {
// uni.showModal({
// content: '!dtask',
// });
// return;
// }
// switch (task.state) {
// case 1:
// uni.showToast({
// title: '开始下载...',
// });
// break;
// case 2:
// uni.showToast({
// title: '正在下载...',
// });
// break;
// case 3: // 已接收到数据
// var progressVal = (task.downloadedSize / task
// .totalSize) * 100;
// uni.showLoading({
// title: Number(progressVal) + "%",
// duration:2000
// });
// break;
// case 4:
// dtask = null;
// break;
// }
// });
// 开始下载
dtask.start();
} else if (res.cancel) {
console.log('稍后更新');
}
},
});
}
},
}
}
</script>
版权声明:本文为swx999原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。