zoukankan      html  css  js  c++  java
  • app 版本升级

    cordova plugin add cordova-plugin-appversion //获取当前版本号

    cordova plugin add cordova-plugin-file-transfer  //下载

      

    判断平台

              判断平台
          let vm = this let browser = { versions: function () { let u = navigator.userAgent, app = navigator.appVersion; return {//移动终端浏览器版本信息 trident: u.indexOf('Trident') > -1, //IE内核 presto: u.indexOf('Presto') > -1, //opera内核 webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核 gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核 mobile: !!u.match(/AppleWebKit.*Mobile/i) || !!u.match(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/), //是否为移动终端 ios: !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器 iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器 iPad: u.indexOf('iPad') > -1, //是否iPad webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部 }; } (), language: (navigator.browserLanguage || navigator.language).toLowerCase() } if (browser.versions.iPhone || browser.versions.iPad || browser.versions.ios ) { vm.platform = 1 } if (browser.versions.android) { vm.platform = 2 } //platform ==1 ios平台,2安卓平台

    如果是ios,直接跳到苹果商店相应的位置就好

    安卓

    let vm = this
            window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fs) {
              let url = 'url';
              fs.root.getFile('userApp.apk', {create: true, exclusive: false},
                function (fileEntry) {
                  download(fileEntry.toURL(), url);
                }, onErrorCreateFile);
            }, onErrorLoadFs);
            function download(fileEntry, url) {
              let ft = new FileTransfer();
              let fileURL = fileEntry;
              ft.onprogress = function (e) {
            //获取进度
                if (e.lengthComputable) {
                  vm.percentShow = true
            //进度e.loaded / e.total
               vm.$set(vm.percent,'num',parseInt( e.loaded / e.total * 100, 10)) 
    const colorMap = ['#FFA55E']
    vm.$set(vm.percent,'strokeColor2',colorMap[parseInt( e.loaded / e.total * 3, 10)])
    }
    }
    ft.download(url, fileURL, function (entry) {
    cordova.plugins.fileOpener2.open( fileEntry, 'application/vnd.android.package-archive', {
    error : function(e) {
    console.log('Error status: ' + e.status + ' - Error message: ' + e.message);
    }, success : function () { console.log('file opened successfully');
    }
    } );
    }, function (err) {
    alert("下载失败!:"+JSON.stringify(err));
    }, null, // or, pass false
    {
    //headers: {
    // "Authorization": "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA=="
    //} });
    }
    //文件创建失败回调
    function onErrorCreateFile(error) {
    alert("文件创建失败!")
    }
    //FileSystem加载失败回调
    function onErrorLoadFs(error) {
    alert("文件系统加载失败!")
    }

      

  • 相关阅读:
    js事件监听机制(事件捕获)
    js预解析
    前端工程师也要关注代码版本控制
    BOM跟DOM的区别和关联
    web开发,click,touch,tap事件浅析
    prototype
    CSS:haslayout
    canvas画图
    第一个json解析:ps:(内容待完善)
    json解析实例
  • 原文地址:https://www.cnblogs.com/jsusu/p/7905060.html
Copyright © 2011-2022 走看看