用Hbuilder制作的移动app,想实现用户一打开app自动检测新版本,若有更新自动在app内实现强制更新,不需要用户选择是否更新。
求大神帮忙,若解决,必酬谢。
微信、QQ:953485331。
better2018
- 发布:2018-06-11 09:12
- 更新:2018-06-11 10:53
- 阅读:6320
uniapp视频教程 - https://www.uni-app.cn/ (枫桥居 uni-app视频教程)
checkApp: function(url, version) {
var nowv = plus.runtime.version.replace(/\./g, '')
var newv = ''
if(version) {
newv = version.replace(/\./g, '')
}
if(newv && url && parseInt(newv) > parseInt(nowv)) {
mui.confirm('发现新版本,是否立即升级', '新版提醒', ['稍后再说', '现在升级'], function(e) {
if(e.index == 1) {
plus.runtime.openURL(url)
}
})
return true
} else {
return false
}
},
checkWgt: function(url, version) {
var newVersion = version
mui.plusReady(function() {
plus.runtime.getProperty(plus.runtime.appid, function(wgtinfo) {
var nowv = wgtinfo.version.replace(/\./g, '')
var newv = ''
if(version) {
newv = version.replace(/\./g, '')
}
if(newv && url && newv > nowv) {
mui.toast('发现新版,自动更新:' + nowv);
//执行更新
plus.io.resolveLocalFileSystemURL('_doc/update/' + version + '.wgt', function(entry) {
entry.remove();
});
//下载wgt
plus.downloader.createDownload(url, {
filename: "_doc/update/"
}, function(d, status) {
if(status == 200) {
var path = d.filename;
// 安装wgt包
plus.runtime.install(path, {}, function() {
mui.toast(newVersion + " 更新成功!");
setTimeout(function() {
plus.runtime.restart();
}, 500);
}, function(e) {
mui.toast("更新包安装失败:" + e.message);
});
} else {
mui.toast("下载更新包失败!");
}
}).start();
return true
} else {
return false
}
})
})
}
下面是调用方法
util.ajax('post', '/api/setting/checkUpdate', data, function(rs) {
if(rs.code > 0) {
//检查app安装包
var newApp = that.checkApp(rs.data.app_url, rs.data.app_version)
if(!newApp) {
//检查更新包
that.checkWgt(rs.data.wgt_url, rs.data.wgt_version)
}
}
})
6***@qq.com
hello 请问下你用的什么模拟器呢
2018-06-11 09:55
uniapp视频教程
itools 安卓模拟器
2018-06-11 10:01
6***@qq.com
回复 uniapp视频教程:谢谢 是哪个版本呢
2018-06-11 10:05
6***@qq.com
回复 uniapp视频教程:谢了哈 我已经下载了
2018-06-11 10:07
6***@qq.com
回复 uniapp视频教程:大哥 还有个问题, 怎么用hbuilderX连接iTools模拟器?我直接把uniapp的demo 打包后拖到iTools里启动显示白屏
2018-06-11 12:23
uniapp视频教程
回复 6***@qq.com:uniapp不支持模拟器,得用真机连接(安卓机)
2018-06-11 12:29