当前位置: 首页 > news >正文

uniapp 在线更新应用

在线更新应用及进度条显示

1.比较现安装手机中的apk 与线上apk的版本

getVersion(){var newVersion=uni.getStorageSync("newVersion").split(".")var version=plus.runtime.version.split(".") // 获取手机安装的版本var versionNum="",newVersionNum=""for(var i=0;i<version.length;i++){versionNum+=version[i]}for(var i=0;i<newVersion.length;i++){newVersionNum+=newVersion[i]}if(versionNum<newVersionNum){this.chooseUpApp()}},

2.选择android的方式安装还是apple的testFligt方式安装

chooseUpApp(){uni.showModal({title: '提示',content: plus.os.name == 'Android'?'检测到有最新版本,是否下载!':'检测到有最新版本,是否去TestFlight下载!',success:(res)=> {if (res.confirm) {if(plus.os.name == 'Android'){this.isUpApp=truethis.upApp()}else{plus.runtime.launchApplication({ action:this.upUrl}, function(e) {uni.showToast({icon:"none",title:"请确认手机安装了TestFlight"})console.log('Open system default browser failed: ' + e.message);  });  }} else if (res.cancel) {console.log('用户点击取消');}}});},

3.安装apk,并显示进度条

upApp(){//下载APPvar downloadTask=uni.downloadFile({url:this.upUrl,complete(res){console.log(res)if(res.statusCode==200){plus.runtime.install(res.tempFilePath, {force: false}, (e) => {this.isUpApp=falseplus.runtime.restart();}, (e) => {console.log(e);this.isUpApp=falseuni.showToast({title: '安装升级包失败',icon: 'none'})});}}})this.progress=0// console.log(downloadTask)downloadTask.onProgressUpdate((res) => { //监听下载进度变化console.log(res)if(this.progress!=res.progress){this.progress=res.progress// console.log('下载进度' + res.progress);// console.log('已经下载的数据长度' + res.totalBytesWritten);// console.log('预期需要下载的数据总长度' + res.totalBytesExpectedToWrite);}// 测试条件,取消下载任务。});},

http://www.lryc.cn/news/525848.html

相关文章:

  • AIGC视频生成模型:ByteDance的PixelDance模型
  • python远程获取数据库中的相关数据并存储至json文件
  • Kubernetes v1.28.0安装dashboard v2.6.1(k8s图形化操作界面)
  • 详解三种常用标准化:Batch Norm、Layer Norm和RMSNorm
  • linux+docker+nacos+mysql部署
  • 如何实现gitlab和jira连通
  • 利用ML.NET精准提取人名
  • Node.js的解释
  • Macos下交叉编译安卓的paq8px压缩算法
  • 如何在data.table中处理缺失值
  • 从零安装 LLaMA-Factory 微调 Qwen 大模型成功及所有的坑
  • SQL-leetcode—1164. 指定日期的产品价格
  • [Day 15]54.螺旋矩阵(简单易懂 有画图)
  • HTTP 配置与应用(不同网段)
  • Quartus:开发使用及 Tips 总结
  • VSCode下EIDE插件开发STM32
  • Golang并发机制及CSP并发模型
  • HTML 文本格式化详解
  • 我谈《概率论与数理统计》的知识体系
  • 五、华为 RSTP
  • 基于Java Web的网上房屋租售网站
  • Pyside6(PyQT5)中的QTableView与QSqlQueryModel、QSqlTableModel的联合使用
  • git常用命令学习
  • 【优选算法】7----三数之和
  • 分子动力学模拟里的术语:leap-frog蛙跳算法和‌Velocity-Verlet算法
  • 2025年数学建模美赛:A题分析(1)Testing Time: The Constant Wear On Stairs
  • 利用 SoybeanAdmin 实现前后端分离的企业级管理系统
  • 996引擎 - 前期准备-配置开发环境
  • Tensor 基本操作4 理解 indexing,加减乘除和 broadcasting 运算 | PyTorch 深度学习实战
  • 【Uniapp-Vue3】request各种不同类型的参数详解