uni-app app内实现自动升级更新版本

 更新时间:2021年6月23日 14:49  点击:905

//注意:安卓9.0以上的手机需要在manifest 》app模块权限配置里面勾选PACKAGES 权限不然会无法安装       


onLoad(){

            this.plusReady();

            this.isandroid();        

        },

        methods: {

            // 获取当前版本号

            plusReady(){

                var that = this;

                // 获取本地应用资源版本号  

                plus.runtime.getProperty(plus.runtime.appid,function(inf){

                    that.wgtVer = inf.version;  //获取当前版本号

                    that.version = plus.runtime.version; 

                });

                

            },  

            // 检查是否安卓

            isandroid(){

                var that = this;

                uni.getSystemInfo({  

                    success:(res) => {  

                        if(res.platform=="android"){  

                            that.AndroidCheckUpdate();  

                        }  

                    }  

                }) 

            },

            // 自动更新

            AndroidCheckUpdate(){  

                var that=this;  

                uni.request({  

                    url: helper.webUrl + 'index.php/App/getAndroidVersion',  //获取最新版本号

                    method: 'GET',  

                    data: {},  

                    success: res => {  

                        if(res.data.version!=that.version){  

                            if(plus.networkinfo.getCurrentType()!=3){  

                                uni.showToast({  

                                    title: '有新的版本发布,检测到您目前非Wifi连接,为节约您的流量,程序已停止自动更新,将在您连接WIFI之后重新检测更新。',  

                                    mask: false,  

                                    duration: 5000,  

                                    icon:"none"  

                                });  

                                return;  

                            }  

                            uni.showToast({  

                                title: '有新的版本发布,检测到您目前为Wifi连接,程序已启动自动更新。新版本下载完成后将自动弹出安装程序。',  

                                mask: false,  

                                duration: 5000,  

                                icon:"none"  

                            });  


                               //res.data.androidurl    是apk的下载链接

                            var dtask = plus.downloader.createDownload(res.data.androidurl, {}, function ( d, status ) {  

                                    // 下载完成  

                                    if ( status == 200 ) {   

                                        plus.runtime.install(plus.io.convertLocalFileSystemURL(d.filename),{},{},function(error){  

                                            uni.showToast({  

                                                title: '安装失败',  

                                                mask: false,  

                                                duration: 1500  

                                            });  

                                        })  

                                    } else {  

                                         uni.showToast({  

                                            title: '更新失败',  

                                            mask: false,  

                                            duration: 1500  

                                         });  

                                    }    

                                });  

                                dtask.start();   

                        }  

                    }

                });  

            },

————————————————

版权声明:本文为CSDN博主「Mr.冬冬」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_42307129/article/details/89317877


[!--infotagslink--]

相关文章

  • VSCode 配置uni-app的方法

    这篇文章主要介绍了VSCode 配置uni-app的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
  • uni-app从安装到卸载的入门教程

    这篇文章主要介绍了uni-app从安装到卸载的入门教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-05-15
  • uniapp,微信小程序中使用 MQTT的问题

    这篇文章主要介绍了uniapp,微信小程序中使用 MQTT的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
  • 浅谈VUE uni-app 常用API

    这篇文章主要介绍了uni-app 常用API,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-10-20
  • 浅谈VUE uni-app 自定义组件

    这篇文章主要介绍了uni-app 的自定义组件,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-10-20
  • uni-app使用微信小程序云函数的步骤示例

    这篇文章主要介绍了uni-app使用微信小程序云函数的步骤示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-05-22
  • uni-app微信小程序登录授权的实现

    这篇文章主要介绍了uni-app微信小程序登录授权的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-05-22
  • C#基于FTP协议的简易软件自动升级程序

    这篇文章主要为大家详细介绍了C#基于FTP协议的简易软件自动升级程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
  • 微信小程序转化为uni-app项目的方法示例

    这篇文章主要介绍了微信小程序转化为uni-app项目的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-05-22
  • uni-app实现数据下拉刷新功能实例

    很多列表页总数量很大,一次性查询加载会导致页面有很长时间的空白期,自然体验感极差,就会使用分页加载数据,这篇文章主要给大家介绍了关于uni-app实现数据下拉刷新功能实例的相关资料,需要的朋友可以参考下...2022-08-02
  • uni-app app内实现自动升级更新版本

    注意:安卓9.0以上的手机需要在manifest 》app模块权限配置里面勾选PACKAGES 权限不然会无法安装...2021-06-23
  • uni-app实现数据上拉加载更多功能实例

    数据列表在很多时候,经常会用到,下面这篇文章主要给大家介绍了关于uni-app实现数据上拉加载更多功能的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下...2022-08-02