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

 更新时间:2021年6月23日 14:49  
注意:安卓9.0以上的手机需要在manifest 》app模块权限配置里面勾选PACKAGES 权限不然会无法安装

//注意:安卓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


相关文章