function plusReady() {
//设置状态栏背景色
plus.navigator.setStatusBarBackground("#0356b6");
//返回事件处理
plus.key.addEventListener(
"backbutton",
function(e) {
var t = vue.$route.path;
if (
t == "/outinregister" ||
t == "/warning" ||
t == "/perfectinfo" ||
t == "/recordinfo"
)
return plus.runtime.quit();
},
!1
);
//启动app时检测版本
getversion();
//从后台切换到前台钩子
document.addEventListener(
"resume",
function() {
//后台切换到前台检测版本
getversion();
},
false
);
//获取当前版本与最新版本,执行是否更新
function getversion() {
//获取当前版本
let curversion;
plus.runtime.getProperty(plus.runtime.appid, function(inf) {
curversion = inf.version;
console.log("当前版本:", curversion);
//请求最新版本
vue.http
.post(
`https://www.fastmock.site/mock/9d720f2e9b94dcf2c7ee0e5f27e14bf3/mymock/getSMXQYversion`
)
.then(res => {
let upversion = res.data.version;
console.log("最新的版本:", upversion);
//两个版本对比,是否要更新?
if (upversion != curversion) {
updateapp();
}
});
});
}
//下载安装包并自动安装
function updateapp() {
var downloadTask = plus.downloader.createDownload("app下载外部链接", {
timeout: 5000
});
downloadTask.start();
downloadTask.addEventListener("statechanged", function(task, status) {
console.log(JSON.stringify(status));
if (status == "404" || status == "400") {
mui.toast("更新失败,可能文件不存在!");
return downloadTask.abort();
}
switch (task.state) {
case 1: // 开始
console.log("开始");
break;
case 2: //已连接到服务器
console.log("已连接到服务器");
break;
case 3: // 已接收到数据
// console.log('已接收到数据');
var current = parseInt((100 * task.downloadedSize) / task.totalSize);
vue.$Toast({
message: `下载进度: ${current}%`,
position: "top",
duration: 0
});
break;
case 4: // 下载完成
vue.$Toast.clear();
mui.toast("下载完成,请重新打开app");
plus.runtime.install(
task.filename,
{},
function() {
//成功安装回调
plus.runtime.quit();
},
function(DOMException) {
console.log(JSON.stringify(DOMException));
mui.toast("安装失败");
}
);
break;
}
});
}
}
VUe项目打包成app常用代码
最新推荐文章于 2024-03-29 02:51:47 发布