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("文件系统加载失败!")       }

  

时间: 2024-10-18 03:11:16

app 版本升级的相关文章

APP版本升级

/*** version_upgrade 版本升级信息表*/CREATE TABLE `version_upgrade` ( `id` smallint(4) unsigned NOT NULL AUTO_INCREMENT, `app_id` smallint(4) unsigned NOT NULL DEFAULT '0' COMMENT '客户端设备id 1安卓pad 2安卓手机 3ios手机 4iospad', `version_id` smallint(4) unsigned DEFA

cordova 跨平台APP版本升级

利用cordova+ionic开发好项目,之后就是打包发布,在这之前,还要做一个版本升级的小功能. 首先我们项目根目录里自然少不了配置:config.xml中 如图.version,我们以后每次升级APP就从这个wiget标签中读取version字段. cordova已经给们提供了APP版本获取插件工具,cordova-plugin-appversion 通过插件获取到本地app的版本号,通过请求获取后台的版本号.然后比较. function onReady() { cordova.getApp

小蚂蚁学习APP接口开发(9)—— APP版本升级的接口方法——处理客户端发来的请求数据

今天的笔记主要来记录最后的一个知识要点,APP客户端版本升级的接口开发. APP的开发主要由伟大而神圣的用户来更新,更新的流程应该是这样的: 开启APP--请求初始化接口init.php--检测是否需要更新---否--首页 ---是--更新 在初始化接口的时候,需要客户端发送几个数据: app_id            客户端id,比如: 1,安卓手机 2,iphone手机 version_id        大版本号id version_mini     小版本号id did        

App版本升级接口设计注意事项

做App开发时,避免不了需要版本升级的情况,而且有些情况下因为产品重大改变,需要强制升级. 1:由于AppStore貌似不支持强制升级,所以务必用后台来提供升级接口 2:在版本升级中,可能会其中某个版本需要强制升级 比如, V3--->V4->>>V5--->V6. V3可以选择性的升级到V4,V4必须升级到V5,V5可以选择性的升级到V6. 如果服务器的接口只提供最新版本的版本号和是否强制升级标识(由运营设置),然后由客户端来比较是否要升级. 如果最新版本是V5, 那么是没

包建强的培训课程(4):App测试深入学习和研究

v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} Normal 0 false 10 pt 0 2 false false false EN-US ZH-CN X-NONE $([{£¥·‘“〈<「『[[[〝﹙﹛﹝$(.[{£¥ !%),.:;>?]}¢¨°·ˇˉ

关于APP接口设计(转)

最近一段时间一直在做APP接口,总结一下APP接口开发过程中的注意事项: 1.效率:接口访问速度 APP有别于WEB服务,对服务器端要求是比较严格的,在移动端有限的带宽条件下,要求接口响应速度要快,所有在开发过程中尽量选择效率高的框架,PHP建议使用YAF框架. 2.数据格式 最好使用JSON格式数据,因为JSON有较好的跨平台性.对于 3.数据量 按需分配,APP客户端需要什么数据就返回什么数据,过多的数据量影响处理速度,最重要的是影响传输效率. 4.接口.参数命名准确 无论是接口还是参数,命

App竞品技术分析 (3)减小安装包的体积(转)

http://blog.csdn.net/JspAndAsp/article/details/49339403 1 从几件小事说起 春节在家帮姐姐的iPhone手机安装市面上形形色色的App,忘记她是使用4G流量包月了,于是在下载了10个App后,不但耗尽了流量,还按照0.3元/兆的价格扣了七八十元流量费用.后来我检查了这几个App的体积,发现每个App体积都是40-50M的样子,这让我很吃惊,因为我记得两年前这些App也就在10-20M的样子. 另一件记忆犹新的事情,是去公园景点游玩,当时公园

关于APP接口设计

最近一段时间一直在做APP接口,总结一下APP接口开发过程中的注意事项: 1.效率:接口访问速度 APP有别于WEB服务,对服务器端要求是比较严格的,在移动端有限的带宽条件下,要求接口响应速度要快,所有在开发过程中尽量选择效率高的框架,PHP建议使用YAF框架. 2.数据格式 最好使用JSON格式数据,因为JSON有较好的跨平台性.对于 3.数据量 按需分配,APP客户端需要什么数据就返回什么数据,过多的数据量影响处理速度,最重要的是影响传输效率. 4.接口.参数命名准确 无论是接口还是参数,命

PHP开发APP接口(七)

APP接口实例 单例模式连接数据库首页接口的开发以及客户端app的演示APP版本升级接口APP错误日志的接口 单例模式连接数据库学习要点:掌握单例模式设计php连接数据库 单例模式:一个类只能拥有一个实例:<?php class Db{    puclic function __construct(){ }} $db=new Db();$db1=new Db();普通的类可以产生多个实例 单例模式三大原则:1.构造函数需要标记为非Public(防止外部使用new操作符创建对象),单例类不能在其他