APP打包远程进行包版本更新,版本推送功能(uniapp),实现思路࿱
投稿于 被查看 42761 次 评论:187
APP打包远程进行包版本更新,版本推送功能(uniapp),实现思路
大概思路如下:
代码:
App.vue
// #ifdef APP-PLUS let _this = this let v = plus.runtime.versionCode uni.getSystemInfo({ success: function (res) { if(res.platform != 'android') return // 获取当前已安装的app版本号 版本信息获取 _this.$store.dispatch('root/getNewVersion', {version: v}) } }); // #endif
root.js
async getNewVersion({ commit }, data) { // 获取新的版本号 (这里换成自己的接口) const result = await User.getVersion(data.version) // 不需要更新则跳过 if(!result) return // 当前版本号保存 commit('setVersion', data.version) // 需要新版本号等 commit('setNewVersionInfo', result) // 更新提醒 uni.showModal({ title: '发现新版本,是否更新', content: '待更新版本号:' + result.new_version, success: res => { // 点击确定 if (res.confirm) { // 打开手机自带浏览器下载 plus.runtime.openURL(result.url) } // 点击取消更新 uni.$u.toast('点击取消更新') // 安卓退出app plus.runtime.quit(); } }); },
注:
- 本文用到的只是安卓端的版本推送,故对非Android系统系统做了甄别
- ios强制退出App与安卓有所不同,ios端参考如下
-
plus.ios.import('UIApplication').sharedApplication().performSelector('exit');
用户评论