zoukankan      html  css  js  c++  java
  • app每次更新版本时调用js代码提示用户下载更新

    var url = '网络地址';
    //APP升级
    var wait;
    function update(){
        //判断操作系统
        var system = 'android';
        if(mui.os.ios){
            system = 'ios';
        } 
        mui.getJSON(url+'/apicommon/update/index',{
                app:'cooperatives',
                system:system,
                version:plus.runtime.version
            },function(data){
                //data = JSON.stringify(data);
                if(data.code==200){
                    var APPInfo = data.data;
                    if(APPInfo.colum=='full'){
                        mui.confirm(APPInfo.brief, APPInfo.name, ['稍后','立即升级'], function(e) {
                            if(e.index==1){
                                if(system=='android'){
                                    //当苹果调整进市场下载
                                    plus.runtime.openURL(APPInfo.url);  
                                    plus.nativeUI.closeWaiting();
                                }else{
                                    wait = plus.nativeUI.showWaiting("下载升级文件",{'100%',height:'100%',round:0,background:'rgba(0,0,0,0.3)'});
                                    //当安卓及其他下载
                                    var dtask = plus.downloader.createDownload(url+APPInfo.url, {}, function(d, status){
                                        if(status == 200){ 
                                            console.log(d.filename);
                                            wait.setTitle("安装APP更新");
                                            plus.runtime.install(d.filename,{},function(){  
                                                plus.nativeUI.closeWaiting();
                                                mui.alert('应用安装完成', '升级成功', '确认重启', function(e) {
                                                    plus.runtime.restart();
                                                });
                                                delFile(d.filename);
                                            },function(e){  
                                                plus.nativeUI.closeWaiting(); 
                                                mui.toast('安装失败');
                                                delFile(d.filename);
                                            });
                                        } else {
                                            plus.nativeUI.closeWaiting();
                                            mui.toast('下载失败');
                                        }  
                                    });
                                    dtask.addEventListener("statechanged", onStateChanged, false);
                                    dtask.start();
                                }
                            }
                        });
                    }else{
                        var dtask = plus.downloader.createDownload(url+APPInfo.url, {}, function(d, status){
                            if(status == 200){
                                plus.runtime.install(d.filename,{},function(){  
                                    delFile(d.filename);
                                },function(e){ 
                                    delFile(d.filename);
                                });
                            } 
                        });
                        dtask.start();
                    }
                    //plus.navigator.closeSplashscreen();
                }
        });
    }
    function onStateChanged(download, status) {
        wait.setTitle((download.downloadedSize/(1024 * 1024)).toFixed(2)+'MB/'+(download.totalSize/(1024 * 1024)).toFixed(2)+'MB');
    }
    function delFile(filename) {
        plus.io.resolveLocalFileSystemURL(filename, function(entry) {
            entry.remove();
        });
    }
    
    //打开新窗口
    function opens(url,data){
        mui.openWindow({
            url:url, 
            id:url,
            waiting:{
                autoShow:false,
            },
            show:{
              aniShow:"pop-in"
            },
            extras:data
        });
    }
    //登录窗口
    function login_open(url,data){
        mui.openWindow({
            url:url, 
            id:url,
            waiting:{
                autoShow:false,
            },
            show:{
              aniShow:"slide-in-bottom"
            },
            extras:data
        });
    }
    //登录窗口
    function search_open(url,data){
        mui.openWindow({
            url:url, 
            id:url,
            waiting:{
                autoShow:false,
            },
            show:{
              aniShow:"none"
            },
            extras:data
        });
    }
    //监听状态栏
    mui.ready(function() {});
    mui.plusReady(function() {});
    
    
    
    
    /* mui.ajax(url+'apicommon/update/index',{
            data:{
                app:'cooperatives',
                system:'ios',
                version:plus.runtime.version
            },
            dataType:'json',//服务器返回json格式数据
            type:'post',//HTTP请求类型
            success:function(data){
                console.log('加载:3');
                response = JSON.stringify(data);
                console.log('加载:'+response);
                plus.navigator.closeSplashscreen();
            },
            error:function(xhr,type,errorThrown){
                //异常处理;
                console.log('异常:'+type);
            }
        }); */
  • 相关阅读:
    大的FIbonacci数列_Java求法
    HDU1134_Game of Connections 卡特兰数
    oracle中查询锁表
    SpringBoot之使用Druid连接池以及SQL监控和spring监控
    用vue封装插件并发布到npm
    vue 预览 Excel 表格
    vue + elementUI 表格 底部 合计总数
    springboot项目中实现访问druid内置监控页面
    解决Elementui eltable合计 showsummary不显示,样式混乱问题
    Druid连接池:慢查询监控
  • 原文地址:https://www.cnblogs.com/Dark-fire-liehuo/p/10730025.html
Copyright © 2011-2022 走看看