HBuilder 打包vue的商城项目,进行版本进行升级功能

本人不太会描述,该文只是记录一下,该项目是我们公司自己项目,项目完成之后,要对项目进行版本升级,这个时候就要求,对已经下载我们app的用户进行版本提示,提示用户点击升级来进行,版本的更新。

第一次尝试的时候是在app.vue文件中,在methods方法中定义自己的获取hbuilder中项目的版本号,但不知道什么原因,打印的数据总是会打印两遍,之后又在真机上进行测试,总会出现各种问题,最后将方法放到了home页面,因为我们商城是用户没有登陆的时候也可以进行查看商品的,所以放在首页也是可以,下面就是代码

获取hbuilder中项目的版本号:

  // 获取版本号     getNativeVersion () {       let that = this;       document.addEventListener("plusready", function () {         plus.runtime.getProperty(plus.runtime.appid, function (inf) {           that.nativeVersion = inf.version;           localStorage.setItem("nativeVersion", inf.version);           that.checkupdate()  /*  该函数是自己定义,用来获取后台返回的服务器端项目的版本号 */         });       });     },    //获取后端返回的服务器端的版本号, checkupdate () {       this.axios.post(‘接口地址url’ , qs.stringify({       })).then((res) => {         if (res.data.status == 1) {           this.version = res.data.data.version  /* 后端返回的服务器上面的版本号 */           this.downurl = res.data.data.downurl   /* 后端返回的新版本的app的apk地址 */           // alert(res.data.data.version + '接口版本')           // alert(localStorage.getItem('nativeVersion') + 'hbuilder版本')           // alert(res.data.data.version != localStorage.getItem('nativeVersion'))           if (res.data.data.version != localStorage.getItem('nativeVersion')) {   /* 将后台返回的版本号和自己获取的hbuilder进行对比,不相等时说明版本不一致,弹出提示框,提示用户进行升级 */             MessageBox.confirm('', {               title: '提示',               message: '发现新版本',               confirmButtonText: '升级',               cancelButtonText: '取消'             }).then(action => {               if (action == 'confirm') {                 plus.nativeUI.toast("正在准备环境,请稍后!");                 var dtask = plus.downloader.createDownload(this.downurl, {}, function (d, status) {                   if (status == 200) {                     var path = d.filename;   /* 下载apk */                     plus.runtime.install(path);   /* 自动安装apk文件 */                   } else {                     plus.nativeUI.alert('版本更新失败:' + status);                   }                 });                 dtask.start();               }             }).catch(error => {               if (error == 'cancel') {                 alert('取消升级');               }             });           } else {             console.log('版本一致')           }         } else {           alert(res.data.data.version)         }       }).catch((err) => {         console.log(err);       });     },   写的时候参考了很多的文章,写的有什么问题欢迎大佬们指导。

 

上一篇:Hbuilder如何真机调试?


下一篇:uniapp - Hbuilder打开微信小程序失败