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

uniapp项目实践总结(十九)版本更新和热更新实现方法

导语:当一个 APP 应用开发完成以后,就要上架应用商店,但有时候修改一些小问题或者推出一些活动,又不想频繁地提交应用商店审核,那么就可以使用应用内更新功能来进行应用的版本升级更新或热更新,下面就介绍一下实现的方法。

目录

  • 准备工作
  • 原理分析
  • 实战演练
  • 案例展示

准备工作

  • /pages/index文件夹下面新建一个version.vue的组件;
  • 按照前面文章所说的页面结构,编写好预定的页面;

原理分析

下面是应用更新的原理总结。

安装包版本更新

  • 通过uni.getSystemInfoSync方法的appVersion属性获取到应用当前安装包版本号;
  • 通过请求版本更新接口获取线上的安装包版本号;
  • 比较两个安装包版本号的大小,如果一致不更新,如果不一致,线上大于当前更新版本,线上小于当前不更新;

资源包版本更新

  • 通过uni.getStorage获取本地资源包版本号,如不存在,则通过uni.setStorage设置默认版本号;
  • 通过请求版本更新接口获取线上的资源包版本号;
  • 比较两个资源包版本号的大小,如果一致不更新,如果不一致,线上大于当前更新版本,线上小于当前不更新;

实战演练

模板使用

  • 比较版本号
<view class="version-box"><view class="version-item">版本1:<inputclass="version-item-ipt"type="text"placeholder="请输入版本1"v-model="versionInfo.v1" /></view><view class="version-item">版本2:<inputclass="version-item-ipt"type="text"placeholder="请输入版本2"v-model="versionInfo.v2" /></view><view class="version-item"><button class="version-item-btn" type="primary" size="mini" @click="compareVersion('test')">比较版本</button></view><view class="version-item" v-show="versionInfo.text"><text>比较结果:</text><text class="version-item-txt">{{ versionInfo.text }}</text></view>
</view>
  • 获取线上版本
<!-- #ifdef APP-PLUS -->
<view class="version-box"><view class="version-item"><button class="version-item-btn" type="primary" size="mini" @click="getVersion">获取版本</button></view><view class="version-item"> 当前版本: {{ checkInfo.current }} </view><view class="version-item"> 线上版本: {{ checkInfo.online }} </view><view class="version-item"> 当前资源包版本: {{ checkInfo.currentSource }} </view><view class="version-item"> 线上资源包版本: {{ checkInfo.onlineSource }} </view>
</view>
<!-- #endif -->
  • 检测更新
<!-- #ifdef APP-PLUS -->
<vi

相关文章:

uniapp项目实践总结(十九)版本更新和热更新实现方法

导语:当一个 APP 应用开发完成以后,就要上架应用商店,但有时候修改一些小问题或者推出一些活动,又不想频繁地提交应用商店审核,那么就可以使用应用内更新功能来进行应用的版本升级更新或热更新,下面就介绍一下实现的方法。 目录 准备工作原理分析实战演练案例展示准备工作…...

一起学数据结构(8)——二叉树中堆的代码实现

在上篇文章中提到&#xff0c;提到了二叉树中一种特殊的结构——完全二叉树。对于完全二叉树&#xff0c;在存储时&#xff0c;适合使用顺序存储。对于非完全二叉树&#xff0c;适合用链式存储。本文将给出完全二叉树的顺序结构以及相关的代码实现&#xff1a; 1. 二叉树的结构…...

Linux环境变量配置说明(配置jdk为例-摘录自尚硅谷技术文档)

配置环境变量的不同方法 Linux的环境变量可在多个文件中配置,如/etc/profile&#xff0c;/etc/profile.d/.sh&#xff0c;~/.bashrc&#xff0c;~/.bash_profile等&#xff0c;下面说明上述几个文件之间的关系和区别。 bash的运行模式可分为login shell和non-login shell。 例…...

idea常用插件笔记

文章目录 Free Mybatis Toollombok插件idea插件导出导入 idea提供了很多好用的插件&#xff0c;之前都装了的&#xff0c;但是换了下电脑&#xff0c;什么都没了&#xff0c;所以记录下方便以后用。 Free Mybatis Tool mybatis跳转插件&#xff0c;再也不用费力的找xml了。 l…...

搜索二叉树【C++】

文章目录 二叉搜索树二叉搜索树的模拟实现构造函数拷贝构造函数赋值运算符重载函数析构函数Insert循环递归 Erase循环递归 Find循环递归 二叉搜索树的应用K模型KV模型 完整代码普通版本递归版本 二叉搜索树 二叉搜索树又称为二叉排序树&#xff0c;它或者是一棵空树&#xff0…...

华为云云耀云服务器L实例评测|认识redis未授权访问漏洞 漏洞的部分复现 设置连接密码 redis其他命令学习

前言 最近华为云云耀云服务器L实例上新&#xff0c;也搞了一台来玩&#xff0c;期间遇到过MySQL数据库被攻击的情况&#xff0c;数据丢失&#xff0c;还好我有几份备份&#xff0c;没有造成太大的损失。昨天收到华为云的邮箱提醒&#xff0c;我的redis数据库没有设置密码&…...

快速安装NGINX

快速安装NGINX #安装依赖包 yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel#下载NGINX curl -O https://nginx.org/download/nginx-1.21.6.tar.gz#解压NGINX tar -zxvf nginx-1.21.6.tar.gz cd nginx-1.21.6.tar.gz#配置 ./configure --prefix/…...

一台电脑远程内网的另外一台电脑,禁止远程的电脑连接外网,只允许内网连接

一台电脑远程内网的另外一台电脑&#xff0c;禁止远程的电脑连接外网&#xff0c;只允许内网连接 1.找到右下角网卡图标&#xff0c;右键图标选择“打开网络和共享中心”。 3、点击“更改适配器设置”。 4、右键正在使用的网卡“本地连接”打开属性 5、找到“internet协…...

山西电力市场日前价格预测【2023-09-24】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-09-24&#xff09;山西电力市场全天平均日前电价为496.09元/MWh。其中&#xff0c;最高日前电价为705.54元/MWh&#xff0c;预计出现在14: 30。最低日前电价为333.70元/MWh&#xff0c;预计…...

MQ---第二篇

系列文章目录 文章目录 系列文章目录一、RabbitMQ事务消息二、RabbitMQ死信队列、延时队列一、RabbitMQ事务消息 通过对信道的设置实现 channel.txSelect();通知服务器开启事务模式;服务端会返回Tx.Select-Okchannel.basicPublish;发送消息,可以是多条,可以是消费消息提交…...

C++ 创建文件并写入内容

文章目录 1.问题2.filesystem3.示例参考文献 1.问题 C 如何向指定路径的文件写入内容呢&#xff1f; 这里有几点要求&#xff1a; 如果目录不存在需要自动创建。如果文件不存在需要自动创建。以覆盖的方式写入内容。 2.filesystem C17 带来了一个新的库&#xff1a;filesy…...

微信小程序rich-text里面写多行溢出显示省略号在ios中不显示的问题

问题&#xff1a;微信小程序rich-text里面写多行溢出显示省略号在ios中不显示的问题 解决方法&#xff1a;需要给一个默认的div标签&#xff0c;在div写行内样式 overflow : hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-o…...

解决Win11/10中Edge浏览器页面加载不出来、打不开问题|有网但是打不开,加载不了

问题症状 edge浏览器打不开&#xff0c;有网络能正常上网&#xff0c;但是edge浏览器无法浏览。网络质量很高&#xff0c;但是页面就是加载不出来&#xff0c;详情如下&#xff1a; &#xff08;我是在科学上网后造成这样子的原因&#xff0c;现在将我的方法分享一下&#xff…...

【DRAM存储器五】DRAM存储器的架构演进-part2

&#x1f449;个人主页&#xff1a;highman110 &#x1f449;作者简介&#xff1a;一名硬件工程师&#xff0c;持续学习&#xff0c;不断记录&#xff0c;保持思考&#xff0c;输出干货内容 参考书籍&#xff1a;《Memory Systems - Cache, DRAM, Disk》 目录 以提升吞吐…...

分享一个基于uniapp+springboot技术开发的校园失物招领小程序(源码、lw、调试)

&#x1f495;&#x1f495;作者&#xff1a;计算机源码社 &#x1f495;&#x1f495;个人简介&#xff1a;本人七年开发经验&#xff0c;擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等&#xff0c;大家有这一块的问题可以一起交流&#xff01; &#x1f495;&…...

RabbitMQ工作模式——Routing路由模式

1.Routing路由模式 Routing生产者代码 public class Producer_Routing {public static void main(String[] args) throws IOException, TimeoutException {//1.创建连接工厂ConnectionFactory factory new ConnectionFactory();//2.设置参数factory.setHost("172.16.98.…...

Python字典的增删改查以及嵌套

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 &#x1f447; &#x1f447; &#x1f447; 更多精彩机密、教程&#xff0c;尽在下方&#xff0c;赶紧点击了解吧~ python源码、视频教程、插件安装教程、资料我都准备好了&#xff0c;直接在文末名片自取就可 字典 基础数…...

【淘宝开店】新手入门开网店教程

一、上架产品流程顺序 1. 上架10个产品2. 早中晚各上架1件产品3. 连续上架4天 二、产品培训 动销率要求: 店铺产品数必须>10公式: 店铺最近30天有销量产品数 / 店铺上架总产品数 * 100%1. 从动销率可以得出, 店铺产品不宜过多2. 小卖家前期最佳建议产品数10个 三、上架产品…...

计网第五章(运输层)(五)(TCP拥塞控制)

目录 一、基本概念 二、拥塞控制算法 慢开始&#xff1a; 拥塞避免&#xff1a; 快重传&#xff1a; 快恢复&#xff1a; 一、基本概念 若对网络中某一资源的需求超过了该资源所能提供的可用部分&#xff08;供不应求&#xff09;&#xff0c;网络性能就会变坏。 在计算…...

windows/ubuntu怎么修改hosts文件

windows系统修改方法&#xff1a; 第一步&#xff1a;用管理员权限打开记事本&#xff0c;或者visual studio。 第二步&#xff1a;用记事本或者vs打开地址C:\Windows\System32\drivers\etc\hosts文件&#xff0c;这个时候就可以直接修改了 Ubuntu22 LTS系统修改方法&#xf…...

(日积月累版)大数据基础知识点1-关系型数据库

好久不见&#xff0c;甚是想念。 笔者最近有时间整理关于大数据的一些基础知识点&#xff0c;整理的目不在于能提升多少技能&#xff0c;关键在于巩固一些很基础的知识点&#xff0c;毕竟互联网就是基础略稳固的人比较有优势&#xff0c;在遇到或发现一些技术问题时&#xff0c…...

【开心消消乐】python实现-附ChatGPT解析

1.题目 开心消消乐 知识点编程基础:深搜、广搜 时间限制: 1s 空间限制: 256MB 限定语言:不限 题目描述: 给定一个N行M列的二维矩阵,矩阵中每个位置的数宁取值为0或1。矩阵示例如: 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 现需要将矩阵中所有的1进行反转为0,规则如下: 1)、当点击一…...

springBoot源码汇总

SpringFactoriesLoader 示例位置 SpringApplication#getSpringFactoriesInstances 加载spring.factroies下的初始化类 ClassLoader classLoader this.getClassLoader();Set<String> names new LinkedHashSet(SpringFactoriesLoader.loadFactoryNames(type, classLoade…...

代码随想录二刷day39

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣62. 不同路径二、力扣63. 不同路径 II 前言 一、力扣62. 不同路径 class Solution {public int uniquePaths(int m, int n) {int[][] dp new int[m][…...

Spring面试题7:面试官:Spring是如何进行异常处理的呢?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Spring是如何进行异常处理的呢? Spring通过异常处理机制来处理应用程序中的异常。它提供了多种方式来处理异常,包括以下几种: 声明式事务管理:…...

华为云云耀云服务器L实例评测|搭建您的私人影院网站

前言 本文为华为云云耀云服务器L实例测评文章&#xff0c;测评内容是云耀云服务器L实例搭建在线视频网站&#xff0c;大家可以将这个网站作为私人影院或是分享给朋友&#xff0c;但是尽量不要更广的传播&#xff0c;因为这涉及到版权问题 系统配置&#xff1a;华为云 2核2G 3M…...

Solidity 小白教程:22. Call

Solidity 小白教程&#xff1a;22. Call 这一讲我们将介绍如何利用 Call 调用合约。 Call call 是address类型的低级成员函数&#xff0c;它用来与其他合约交互。它的返回值为**(bool, data)&#xff0c;分别对应call**是否成功以及目标函数的返回值。 call是solidity官方推…...

mySQL 安装

一、windows安装包下载 mysql官网提供了两种安装方式&#xff0c;一个是zip安装&#xff0c;另一个是msi安装&#xff0c;这里简绍第一种安装方式&#xff0c;第二种简单&#xff0c;不再简绍 官网下载&#xff0c;根据自己需要选择版本&#xff1a;MySQL :: MySQL Community…...

涛然自得周刊(第 10 期):搬到海岛生活是一种什么体验

作者&#xff1a;何一涛 日期&#xff1a;2023 年 9 月 24 日 涛然自得周刊主要精选作者阅读过的书影音内容&#xff0c;周末发布。历史周刊内容可以看这里。 影音 《德雷尔一家》是一部根据书籍《希腊三部曲》改编的英剧&#xff0c;共 4 季&#xff0c;每一季豆瓣评分都超…...

pycharm中恢复原始界面布局_常用快捷键_常用设置

文章目录 1 恢复默认布局1 .1直接点击file→Manage IDE Settings→Restore Default Settings&#xff08;如下图所示&#xff09;&#xff1a;1.2 直接点击Restore and Restart&#xff0c; 然后Pycharm就会自动重启&#xff0c;重启之后的界面就是最原始的界面了 2 改变主题2.…...

企业网站的类型包括/长沙seo网站推广

谈判中最重要也是最艰难的一幕就是谈判中的较量&#xff0c;前期哪怕做了很多准备&#xff0c;如果在这个实际运作中把握不住&#xff0c;也往往前功尽弃。 现实生活中&#xff0c;我们基本上每天都在进行谈判&#xff0c;只不过是形式有所不同而已&#xff0c;谈判也往往涉及到…...

wordpress卡片式/青岛百度竞价

1、如果想使用IIS配置PHP的话&#xff0c;那么需要选择NonThreadSafe(NTS)版本的PHP2、32位操作系统、64位操作系统&#xff0c;分别表示为X86、X643、VC&#xff0c;即VisualC&#xff0c;VC9和VC11分别为VisualStudio2008和VisualStudio2012编译出来的版本因此在下载带有“VC…...

婚庆公司怎么找/如何做网站seo排名优化

1.需要的软件 1.1 VS2012 下载地址 百度吧&#xff01; 1.2 cocos2d-x-3.0rc0.zip下载地址 1.3 CocoStudio_V1.3.0.0.exe 下载地址 1.4 NDK android-ndk-r9d-windows-x86.zip 下载地址 1.5 SDK adt-bundle-windows-x86-20131030.zip 下载地址 1.6 Visual Assist X 10.8.2…...

wordpress b/s分离/制作网站的软件叫什么

目录 一、图标icon 二、进度条progress 三、文本text 四、富文本rich-text 一、图标icon 属性类型默认值必填说明typestring 是icon的类型&#xff0c;有效值&#xff1a;success, success_no_circle, info, warn, waiting, cancel, download, search, clearsizenumber/st…...

公司网站设计主页部分怎么做/google推广

转自&#xff1a;http://wulijun.github.io/2012/09/29/mysql-innodb-intro.html InnoDB是MySQL下使用最广泛的引擎&#xff0c;它是基于MySQL的高可扩展性和高性能存储引擎&#xff0c;从5.5版本开始&#xff0c;它已经成为了默认引擎。 InnODB引擎支持众多特性&#xff1a; 支…...

有关做内购的网站/sem竞价广告

我的世界神奇宝贝模组是一个近期非常热门的模组&#xff0c;安装之后就可以在我的世界游戏中抓小精灵了。那么&#xff0c;它的基本操作其实也非常简单&#xff0c;下面小编将告诉大家神奇宝贝模组里具体的键位设置。R键: 放出/收回精灵。上下键:上下选择GUI界面中的精灵。O键:…...