UNI-APP APP版本更新方法

  • 直接上代码不墨迹

直接上代码不墨迹

         // 版本更新方法wgtUrlupload(){let _this = this;//系统版本升级判断接口(后台获取服务器)var urlfun = 你自己后台服务器的接口方法  判断是否需要升级// #ifdef APP-PLUS/** 锁定屏幕方向 */plus.screen.lockOrientation('portrait-primary');console.log("onLaunch锁定屏幕方向")/** 检测升级 */// 取得版本号plus.runtime.getProperty(plus.runtime.appid, function(info) {// 版本号变量持久化存储getApp().globalData.editionnum = info.version; //版本号持久化存储做其它备用// console.log("当前应用版本:" + info.version + "---" + plus.runtime.version);// console.log("appid:" +plus.runtime.appid);// console.log("appid基座版本号:" +plus.runtime.version);uni.request({url: urlfun,  //接口地址。urlmethod:"POST",      //传输类型data: {"appid": plus.runtime.appid,"version": plus.runtime.version,"system":uni.getStorageSync('systemname'),"editionnum":info.version,},       //必要参数// header: data.header,   //https 请求头参数success: (res) => {console.log("AJAX数据请求接口--返回状态--"+JSON.stringify(res.data));var data = res.data;var status = data.status;// 判断返回结果,调用升级方法if(status == 200){// 开始调用  data = 服务器返回的数据里面有 新的版本号,下载地址_this.checkVersionToLoadUpdate(info.version,data);}else{uni.showToast({title: data.msg, duration: 1500  }); }}});})// #endif},/*** 进行版本型号的比对 以及下载更新请求* @param {Object} server_version 服务器最新 应用版本号* @param {Object} curr_version 当前应用版本号*/checkVersionToLoadUpdate:function(server_version,data){if(server_version !== data.edition){//TODO 此处判断是否为 WIFI连接状态if(plus.networkinfo.getCurrentType()!=3){uni.showToast({  title: '有新的版本发布,检测到您目前非Wifi连接,为节约您的流量,程序已停止自动更新,将在您连接WIFI之后重新检测更新',  mask: true,  duration: 5000,icon:"none"});  return;  }else{uni.showModal({title: "版本更新",content: '有新的版本发布,检测到您当前为Wifi连接,是否立即进行新版本下载?',confirmText:'立即更新',cancelText:'稍后进行',success: function (res) {if (res.confirm) {uni.showToast({icon:"none",mask: true,title: '有新的版本发布,检测到您目前为Wifi连接,程序已启动自动更新。新版本下载完成后将自动弹出安装程序',  duration: 5000,  }); //设置 最新版本apk的下载链接var downloadApkUrl = data.uplodurl;var dtask = plus.downloader.createDownload( downloadApkUrl, {}, function ( d, status ) {  // 下载完成  if ( status == 200 ) {   plus.runtime.install(plus.io.convertLocalFileSystemURL(d.filename),{},{},function(error){  uni.showToast({  title: '安装失败', duration: 1500  });  })} else {  uni.showToast({  title: '更新失败',duration: 1500  });  }    });  dtask.start();} else if (res.cancel) {console.log('稍后更新');}}});}}},
## PHP 服务器后台方法
/****************************************************************************   判断APP的应用版本是否需要升级*   appid       =》必要参数     __UNI__C5****** 注意你的appid 真机 与 正式的 不一样 真机为 HBuilder*    system      =》系统 Android || iOS*   editionnum  =》当前版本号*   edition     =》最新版本号*   url         =》下载地址***************************************************************************/function EditionUploadapp(){$appid       = $this->request->param('appid');$system       = $this->request->param('system');$editionnum      = $this->request->param('editionnum');if($appid == 'HBuilder'){if ($system == 'Android') {$where['type'] = 1;# code...}if ($system == 'iOS') {$where['type'] = 2;# code...}// 数据库最新版本查询$look = db::name($this->appedition)->where($where)->order("id desc")->find();if ($look) {$data['status']     = 200;$data['edition']   = $look['edition'];$data['uplodurl']   = $look['url'];$data['msg']        = "数据查询成功";# code...}else{$data['status']  = 100;$data['msg']       = "数据查询失败";}}else{$data['status']  = 100;$data['msg']       = "appid 序列号不匹配";}return json($data);}

UNI-APP APP版本更新方法相关推荐

  1. uniapp App更新解决方法

    uniapp App更新解决方法 最近项目碰到的app更新问题,安卓和iOS更新. 功能实现效果 安卓端:后台下载,自动弹出系统安装界面 iOS端:跳转 appStore app更新界面 1.获取用户 ...

  2. Android通过DownloadManager实现App的版本更新功能

    1.DownloadManager介绍 DownloadManger是android 2.3(api level 9)开始 提供的用于优化处理长时间的下载操作.DownloadManager 处理Ht ...

  3. 安卓开发实战之app之版本更新升级(DownloadManager和http下载)完整实现

    前言 本文将讲解app的升级与更新.一般而言用户使用App的时候升级提醒有两种方式获得: 一种是通过应用市场 获取 一种是打开应用之后提醒用户更新升级 而更新操作一般是在用户点击了升级按钮之后开始执行 ...

  4. Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net

    Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net 1. 提升单例有能力的1 2. 减少工作数量2 2.1. 减少距 ...

  5. android获取版本号报错,Android开发:获取安卓App版本号的方法步骤

    在Android开发过程中,想要开发一个完整功能的App,各个地方的内容都要涉及到,比如获取App的系统版本号就是必须要有的功能.Android的App版本号相关内容比iOS的App版本号内容要多,而 ...

  6. 5s的app显示无法连接服务器,苹果iphone5s手机无法连接App Store问题解决方法汇总...

    iphone5s无法连接App Store怎么办?大家在使用iphone5s过程中可能会遇到无法连接app store的问题,那怎么办呢?本文小编就主要给大家讲解一下如何解决iphone5s无法连接A ...

  7. vue js 和原生app调用回调方法问题

    vue js 和原生app调用回调方法问题 import Vue from 'vue' export default { name: 'list', components: { }, data: () ...

  8. 【uni-app】使用定义在App.vue的方法

    [uni-app]使用定义在App.vue的方法 前言 在methods中添加(推荐) 在globalData中添加方法(不建议) 前言 接手了一个小程序项目,考虑到后期可能会扩展到APP上,筛选技术 ...

  9. 安卓设置keychain_Android 7.0 SEAndroid app权限配置方法

    1.SEAndroid app分类 SELinux(或SEAndroid)将app划分为主要三种类型(根据user不同,也有其他的domain类型): 1)untrusted_app 第三方app,没 ...

最新文章

  1. Python的学习过程中not enough values to unpack (expected 2, got 1)解决方案
  2. Windows自带的杀进程工具
  3. 人生苦短,Python之父要解开这个困惑
  4. 大数据学习笔记04:单机模式使用ZooKeeper
  5. 11.LNMP基础架构
  6. 江苏卫视益智类节目《一战到底》不益智
  7. 概率论于数理统计(陈希孺)笔记2.3
  8. 转型微服务架构完整实施方案
  9. gogo系统更新无服务器,gogo云服务器
  10. 攻防世界 easyphp
  11. 螺旋城的灾难完全攻略及地图
  12. 前端下载文件流PDF文件显示空白 或 无法打开
  13. appinventor网络编程php,AppInventor离线版下载
  14. 最强大脑记忆曲线(13)--应用程序的加密及授权码的实现
  15. 气传导耳机是不是智商税?气传导耳机靠谱吗?
  16. async/await面试题
  17. 黑马程序员————高新技术————内省(了解JavaBean)
  18. 好书分享 《将来的你一定感谢现在拼命的自己》
  19. 单元测试打桩之Mockito
  20. 添加打印机出现错误代码:0x000006d9

热门文章

  1. 识别三极管和场效应管引脚
  2. 【DG】基于同一个主机建立物理备库和逻辑备库 (三)
  3. Python微信防撤回,基于itchat模块
  4. HTML+CSS网页设计期末课程大作——体育排球(5页面)
  5. python stdin.write_向stdin写入大量数据
  6. 苹果的名字测试软件,教你iOS12人脸识别测颜值捷径安装使用教程及iPhone XR修改AppleID姓名教程...
  7. 【aviutl/lua】BPM打点
  8. 嘟嘟牛mysql 密码_嘟嘟牛管家数据转化为万象、Pubwin的操作步骤
  9. Docker设置阿里云镜像加速器
  10. 天津市高中计算机会考,天津高中会考科目有哪些