uniapp 移动端app判断用户app版本是否是最新版(Android)

1.在uniapp项目中的App.vue文件下

<script>import { ref } from 'vue';const token = ref();export default {onLaunch: function() {// #ifdef APP//获取打包时设置的版本号,然后存到storage里plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => {uni.setStorage({key: 'VersionCode',data: wgtinfo.versionCode})})// #endif},onShow: function() {// console.log('App Show')},onHide: function() {// console.log('App Hide')},}
</script><style lang="scss">@import "@/uni_modules/uview-plus/index.scss";html,body {overflow: hidden;overscroll-behavior: none;}
</style>

2. 具体实现代码

<template>
<view class="firm" v-show="showbaifenbi">已下载:<progress :percent="baifenbi" show-info stroke-width="3" /></view><view class="fullScreenMask" v-if="ifFullScreenMask"><view class="kuang"><view class="tit">温馨提示</view><view class="al_tit">当前版本不是最新版本,请前往应用商店下载!</view></view></view></template>
// 显示下载进度
let showbaifenbi = ref(false);
let baifenbi : any = ref(0);
let ifFullScreenMask = ref(false)onLoad(() => {uni.getSystemInfo({success: function (resInfo : any) {userEquipment.value = resInfo.osNameuni.getStorage({key: 'VersionCode',success: async (resData) => {// 获取最新版本的applet res = await proxy.$http("app_version/getAppVersionByNew",);let urlData = Url.value + res.data.url;if (Number(res.data.version_code) > Number(resData.data)) {if (userEquipment.value == 'android') {ifFullScreenMask.value = false// 方法一 :直接调取打开浏览器// plus.runtime.openURL(urlData)// 方法二 : 提示用户uni.showModal({title: '提示',content: '当前版本不是最新版本,点击下载',showCancel: false,success: function (res : any) {plus.nativeUI.showWaiting(`正在下载...`);showbaifenbi.value = truevar dtask = plus.downloader.createDownload(urlData,{method: "GET"}, (d, status) => {console.log(d);if (status == 200) {plus.runtime.install(d.filename)} else {plus.nativeUI.alert("安装失败,请稍候重试: " + status)}});//监听下载dtask.addEventListener("statechanged", listenStatechanged)dtask.start();}});} else {ifFullScreenMask.value = truereturn}} else {uni.showToast({title: '当前已经是最新版本',icon: 'none',position: 'bottom'});return}}})}});})/* 监听下载进度 */function listenStatechanged(task : any) {let num : any = parseInt(task.downloadedSize) / parseInt(task.totalSize) * 100baifenbi.value = parseInt(num)if (num == 100) {showbaifenbi.value = falseplus.nativeUI.closeWaiting();uni.showModal({title: '提示',content: '下载完成,请安装新版本',showCancel: false,success: () => {plus.runtime.quit();}})}}

ios的话自行给提示 去应用商店下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/629532.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用Python做数据分析之生成数据表

第一部分是生成数据表&#xff0c;常见的生成方法有两种&#xff0c;第一种是导入外部数据&#xff0c;第二种是直接写入数据。 Excel 中的文件菜单中提供了**外部数据的功能&#xff0c;支持数据库和文本文件和页面的多种数据源导入。 获取外部数据 python支持从多种类型的数…

mybtis动态SQL注解 脚本动态SQL\方法中构建SQL\SQL语句构造器

mybtis动态SQL注解 动态SQL注解脚本动态SQL方法中构建SQLSQL语句构造器 动态SQL注解 分类&#xff1a; 脚本动态SQL&#xff1a;XML配置方式的动态SQL&#xff0c;是用<script>的方式把它照搬过来&#xff0c;用注解来实现。适用于xml配置转换到注解配置方法中构建SQL&…

Hive数据导出的四种方法

hive数据仓库有多种数据导出方法&#xff0c;我在本篇文章中介绍下面的四种方法供大家参考&#xff1a;Insert语句导出、Hadoop命令导出、Hive shell命令导出、Export语句导出。 一、Insert语句导出 语法格式 Hive支持将select查询的结果导出成文件存放在文件系统中。语法格…

flink1.15 维表join guava cache和mysql方面优化

优化前 mysql响应慢,导致算子中数据输出追不上输入,导致显示cpu busy:100% 优化后效果两个图对应两个时刻: - - -- 优化前 select l.id,JSON_EXTRACT(r.msg,$$.key1) as msgv (select id,uid from tb1 l where id?) join (select uid,msg from tb2) r on l.uidr.uid;-- 优化…

STM32+HAL库驱动ADXL345传感器(SPI协议)

STM32HAL库驱动ADXL345传感器&#xff08;SPI协议&#xff09; ADXL345传感器简介实物STM32CubeMX配置SPI配置片选引脚配置串口配置 特别注意&#xff08;重点部分&#xff09;核心代码效果展示 ADXL345传感器简介 ADXL345 是 ADI 公司推出的基于 iMEMS 技术的 3 轴、数字输出加…

Flink(十三)【Flink SQL(上)】

前言 最近在假期实训&#xff0c;但是实在水的不行&#xff0c;三天要学完SSM&#xff0c;实在一言难尽&#xff0c;浪费那时间干什么呢。SSM 之前学了一半&#xff0c;等后面忙完了&#xff0c;再去好好重学一遍&#xff0c;毕竟这玩意真是面试必会的东西。 今天开始学习 Flin…

前端常见面试题之ajax、http

文章目录 一、手写ajax请求1. get2. post3. xhr.readyState4. xhr.status5. xhr.open 二、跨域三、cookie、localStorage和sessionStorage四、http1. http常见的状态码有哪些2. http常见的header有哪些3. 什么是RestfulAPI4. 描述一下http的缓存机制5. https 一、手写ajax请求 …

专业140+总410+哈尔滨工业大学803信号与系统和数字逻辑电路考研经验哈工大电子信息(信息与通信工程-信通)

一年的努力付出终于有了收获&#xff0c;今年专业课140&#xff0c;总分410顺利上岸哈工大803电子信息&#xff08;信息与通信-信通&#xff09;&#xff0c;回顾总结了自己这一年的复习&#xff0c;有得有失&#xff0c;希望对大家复习有所帮助。 数学 时间安排&#xff1a;…

Spring Boot中实现订单30分钟自动取消的策略

Spring Boot中实现订单30分钟自动取消的策略 简介 在电商和其他涉及到在线支付的应用中&#xff0c;通常需要实现一个功能&#xff1a;如果用户在生成订单后的一定时间内未完成支付&#xff0c;系统将自动取消该订单。本文将详细介绍基于Spring Boot框架实现订单30分钟内未支…

P9840 [ICPC2021 Nanjing R] Oops, It‘s Yesterday Twice More题解

[ICPC2021 Nanjing R] Oops, It’s Yesterday Twice More 传送门 题面翻译 有一张 n n n\times n nn 的网格图&#xff0c;每个格子上都有一只袋鼠。对于一只在 ( i , j ) (i,j) (i,j) 的袋鼠&#xff0c;有下面四个按钮&#xff1a; 按钮 U&#xff1a;如果 i > 1 …

4、python列表Lists

列表和你可以用它们做的事情。包括索引,切片和变异! 文章目录 1.列表1.1索引1.2切片1.3列表修改1.4列表函数1.5插曲:对象1.6列表方法1.6.1列表搜索1.7Tuples元组1.列表 Python 中的 List 表示有序的值序列: In [1]: primes = [2, 3, 5, 7]我们可以把其他类型的事情列入清…

“五星卡”上新!合合信息“外国人永久居留身份证”识别产品助力金融机构提升服务效率

外国人永久居留身份证&#xff08;简称“永居证”&#xff09;&#xff0c;是国家移民管理局对符合条件的外国人批准其在境内永久居留后&#xff0c;为其签发的法定身份证件。2023年12月&#xff0c;国家移民管理局正式启用签发更趋近于居民身份证技术体系的新一版永居证&#…

【Flutter 开发实战】Dart 基础篇:List 详解

嗨&#xff0c;各位朋友们&#xff0c;欢迎来到这篇博客&#xff01;今天我们将一起踏入 Dart 语言的神奇世界&#xff0c;深入了解 Dart 中的 List 类型。不用担心&#xff0c;我会尽可能用最通俗易懂的语言&#xff0c;让你对 List 有一个更深刻的理解。 Dart 中的 List Li…

SegVol: Universal and Interactive Volumetric Medical Image Segmentation

Abstract 精确的图像分割为临床研究提供了有意义且结构良好的信息。尽管在医学图像分割方面取得了显著的进展&#xff0c;但仍然缺乏一种能够分割广泛解剖类别且易于用户交互的基础分割模型。 本文提出了一种通用的交互式体医学图像分割模型——SegVol。通过对90k个未标记的C…

kibana查看和展示es数据

本文来说下使用kibana查看和展示es数据 文章目录 数据准备查询所有文档示例kibana查看和展示es数据 数据准备 可以使用es的命令或者java程序来往&#xff0c;es进行新增数据 查询所有文档示例 在 apifox 中&#xff0c;向 ES 服务器发 GET请求 &#xff1a;http://localhost:92…

rust跟我学二:模块编写与使用

图为RUST吉祥物 大家好,我是get_local_info作者带剑书生,这里用一篇文章讲解get_local_info中模块的使用。 首先,先要了解get_local_info是什么? get_local_info是一个获取linux系统信息的rust三方库,并提供一些常用功能,目前版本0.2.4。详细介绍地址:[我的Rust库更新]g…

在 Windows 11 上通过 Autoawq 启动 Mixtral 8*7B 大语言模型

在 Windows 11 上通过 Autoawq 启动 Mixtral 8*7B 大语言模型 0. 背景1. 安装依赖2. 开发 main.py3. 运行 main.py 0. 背景 看了一些文章之后&#xff0c;今天尝试在 Windows 11 上通过 Autoawq 启动 Mixtral 8*7B 大语言模型。 1. 安装依赖 pip install torch torchvision …

Spring框架的背景学习

Spring 的前世今生 相信经历过不使用框架开发 Web 项目的 70 后、80 后都会有如此感触&#xff0c;如今的程序员开发项目太轻松了&#xff0c;基本只需要关心业务如何实现&#xff0c;通用技术问题只需要集成框架便可。早在 2007 年&#xff0c;一个基于 Java语言的开源框架正…

Opencv基础用法学习2

案例1&#xff1a;调整图片颜色 在opencv中的读图方式是BGR,常见的读图方式是RGB // opencv 调整颜色 #include "opencv2/opencv.hpp" #include <iostream>int main() {// 读取图片cv::Mat src cv::imread("./media/dog.jpg");// BGR -> Grayc…

计算机网络 网络安全

网络安全 网络安全问题概述 计算机网络面临的女全性威胁 计算机网络的通信而临两大类威胁&#xff0c;即被动攻击和主动攻击 被动攻击是指攻击者从网络上窃听他人的通信内容。通常把这类攻击称为截获。在被动攻击中&#xff0c;攻击者只是观察和分析某一个协议数据单元 PDU…