mui -检测用户手机app上的版本-自动更新

    //获取版本号提示更新
        var btn = ["确定升级", "取消"];
//获取app系统更新[是否手动点击获取更新]
function appUpdate(ismanual) {
    console.log('appUpdate');
    var banbenid=1;
    
    mui.plusReady(function () {
        plus.runtime.getProperty(plus.runtime.appid, function (inf) {
            ver = inf.version;
            console.log('手机版本ver:' + ver);
            var client;
            var ua = navigator.userAgent.toLowerCase();
            if (/iphone|ipad|ipod/.test(ua)) {    //苹果手机            
                mui.ajax(url+"/front_get_bybneben.do?id="+banbenid,{
                    type: "GET",
                    async:false,
                    dataType: "jsonp",
                    success: function (data) {
                        //console.log('data:' + JSON.stringify(data));
                        var resultCount = data.list.banben;
                        //console.log(resultCount);
                    
                            if (resultCount > ver) {
                                var _msg = "发现新版本:V" + resultCount;
                                //plus.nativeUI.alert("发现新版本:V" + normItem);
                                mui.confirm(_msg, '升级确认', btn, function (e) {
                                    if (e.index == 0) { //执行升级操作
                                        document.location.href = 'http://******/HibuddyApp.apk'; //上新APPStore下载地址
                                    }else if(e.index == 1){
                                        plus.runtime.quit();
                                    }
                                });
                                return;
                            } 
                        
                        if (ismanual) {
                            mui.toast('当前版本号已是最新');
                        }
                        return;
                    }
                });
            } else if (/android/.test(ua)) {
                mui.ajax(url+"/front_get_bybneben.do?id="+banbenid,{
                    type: "GET",
                    async:false,
                    dataType: "jsonp",
                    success: function (data) {
                       // console.log('data:' + JSON.stringify(data));
                        var json_data = jQuery.parseJSON(data);
                        var resultCount = json_data.list.banben;
                        console.log(resultCount);
                    /* if (resultCount > ver) {
                                var _msg = "发现新版本:V" + resultCount;
                                //plus.nativeUI.alert("发现新版本:V" + normItem);
                                mui.confirm(_msg, '升级确认', btn, function (e) {
                                    if (e.index == 0) { //执行升级操作
                                        document.location.href = 'http://*****/HibuddyApp.apk'; //上新APPStore下载地址
                                    }else if(e.index == 1){
                                        plus.runtime.quit();
                                    }
                                });
                                return;
                            } 
                            if (ismanual) {
                            mui.toast('当前版本号已是最新');
                        }
                            return;
                       },*/
                      var apkUrl = "http://114*****uddy/HibuddyApp.apk";
                       if (resultCount > ver) {
                            //mui.toast("发现新版本:V" + data.Data);//获取远程数据库中上新andriod版本号 
                            var _msg="发现新版本:V" + resultCount;
                            mui.confirm(_msg, '升级确认', btn, function (e) {
                                if (e.index == 0) { //执行升级操作
                                    plus.nativeUI.toast("正在准备环境,请稍后!");
                                    var dtask = plus.downloader.createDownload(apkUrl, {}, function (d, status) {
                                        if (status == 200) {
                                            var path = d.filename;//下载apk
                                            plus.runtime.install(path); // 自动安装apk文件
                                        } else {
                                            plus.nativeUI.alert('版本更新失败:' + status);
                                        }
                                    });
                                    dtask.start();
                                }else if(e.index == 1){
                                        plus.runtime.quit();
                                    }
                            });
                        } else {
                            console.log('当前版本号已是最新');
                            if (ismanual) {
                                mui.toast('当前版本号已是最新');
                            }
                            return;
                        }
                    },
                   
                    error: function (xhr, type, errerThrown) {
                        if (ismanual) {
                            mui.toast('网络异常,请稍候再试');
                        }
                    }
                });
            }
        });
    });
}

 ajax访问的是从后台数据库传来的一个版本号(这个版本号是开发者自己手动输入上去)每次升级,需要自己改动版本号

而手机上的版本号是开发者平台打包时,配置的必填项;

需要在数据库见一个存放版本号的表

查询出来的版本号与手机版本号相对比

 

posted @ 2019-09-06 15:27  小白咚  阅读(1135)  评论(0编辑  收藏  举报