WebAPP实现自动更新功能

WebAPP实现自动更新功能–后台下载APK,下载完成后自动打开

1.准备工作:添加cordova插件(cordova-plugin-filecordova-plugin-file-transfercordova-plugin-file-opener2cordova-plugin-app-version

2.直接上代码实现自动更新功能

1>、第一步 判断APP版本号是否相同
  cordova.getAppVersion().then(function (version) {
    
    
        var serverAppVersion = result.data.version;
        console.log(version+"     "+serverAppVersion);
        //如果本地于服务端的APP版本不符合
    if (version != serverAppVersion) {
        $.ckjIndex.showUpdateConfirm(result.data.update_remake);
    }
   });
2>、第二步 显示模板,提问是否需要升级
  showUpdateConfirm: function(APPdesc) {
    
    
    $.ui.popup({
        title:"版本升级",
                message: APPdesc, //从服务端获取更新的内容
                cancelText:"忽略",
                cancelCallback: null,
                doneText:"升级",
                supressFooter:false,
                cancelClass:'button',
                doneClass:'button',
                doneCallback: function () {
    
    
                    $.ckjIndex.getappUpdataINFO();                 
                },
                cancelOnly:false,
                blockUI:true
    });
   }
3>、第三步 调用下载方法,将APP下载到本地并用open方法打开需要安装的APP报,进行新包的安装
  getappUpdataINFO: function() {
    
    
    var fileTransfer = new FileTransfer();
    var url = $.ckjIndex.cfg.APPurl;
    var targetPath = cordova.file.externalRootDirectory+'fengchaoEshequ.apk';
    fileTransfer.download(
        url,
                targetPath,
                function(success) {
    
    
                    console.log("download complete: " + success.fullPath);
                    cordova.plugins.fileOpener2.open(       
                        targetPath,        
                        "application/vnd.android.package-archive",       
                        {       
                            success: successCallback,  
                            error: errorCallback,     
                        }       
                    );
                },
                function(error) {
    
    
                    console.log(error);
                    $.vv.tip({content: '下载APP失败', time:1000});
                }
    );
    function successCallback(){
    
    
        console.log("****************/打开成功/******************");
    }
        function errorCallback(e){
    
    
        console.log("****************/打开失败/******************");
                console.log(e);
    }
  }

3.自动更新功能实现(若有疑问可QQ:992899491)

4.效果图
自动更新效果图

猜你喜欢

转载自blog.csdn.net/qq_23334071/article/details/51992592