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

uniapp 实战 -- app 的自动升级更新(含生成 app 发布页)

uniapp 提供了 App升级中心 uni-upgrade-center ,可以便捷实现app 的自动升级更新,具体编码和配置如下:

1. 用户端 – 引入升级中心插件

下载安装插件 uni-upgrade-center - App

https://ext.dcloud.net.cn/plugin?id=4542

在这里插入图片描述

pages.json 中添加页面配置

(不要配在第一项)

		{"path": "uni_modules/uni-upgrade-center-app/pages/upgrade-popup","style": {"disableScroll": true,"app-plus": {"backgroundColorTop": "transparent","background": "transparent","titleNView": false,"scrollIndicator": false,"popGesture": "none","animationType": "fade-in","animationDuration": 200}}}

在首页导入调用

pages/index/index.vue

import checkUpdate from '@/uni_modules/uni-upgrade-center-app/utils/check-update'
onLoad() {checkUpdate()
},

打包 app

https://blog.csdn.net/weixin_41192489/article/details/135551800

本范例中,版本配置为1.0.1版

2. 管理端 – 创建 uni-admin 项目

详见 https://blog.csdn.net/weixin_41192489/article/details/135547916

将项目免费托管到 unicloud 更方便,不托管也行。

3. 管理端 – 添加 app 应用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此处选择第1步中打包得到的可自动升级更新的apk

在这里插入图片描述
在这里插入图片描述

4. 管理端 - 生成 app 发布页

在这里插入图片描述
在这里插入图片描述
会下载得到一个 index.html 文件,可根据需要修改名称
在这里插入图片描述
将其托管到unicloud
在这里插入图片描述
此时访问 你的前端网页托管域名/朝阳的百宝箱app下载.html 就能看到啦!
在这里插入图片描述
你的前端网页托管域名在这看:

在这里插入图片描述

5. 手机 - 扫码下载安装可自动升级更新的app

手机打开任意浏览器,扫描 app发布页的二维码即可下载安装

6. 用户端 - 更新代码,打包 apk

修改 app 项目的代码,增加配置文件里的版本号后再次打包,得到升级后的apk,本范例版本配置为 1.0.2 版

7. 管理端 - 发布新版 apk

运行 uni-admin 项目并登录
(已托管的直接访问线上链接登录)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8. 手机 - app 自动升级更新

打开手机上的app,会弹出升级弹窗,按提示下载更新即可。

推荐 - 使用 wgt 包实现 app 热更新

管理更便捷,用户下载量更小,且无感,方法详见:

https://blog.csdn.net/weixin_41192489/article/details/135553150

相关文章:

uniapp 实战 -- app 的自动升级更新(含生成 app 发布页)

uniapp 提供了 App升级中心 uni-upgrade-center ,可以便捷实现app 的自动升级更新,具体编码和配置如下: 1. 用户端 – 引入升级中心插件 下载安装插件 uni-upgrade-center - App https://ext.dcloud.net.cn/plugin?id4542 pages.json 中添加…...

微服务http调用其他服务的方法

在对应需要调的服务配置文件加上路径 #审批方案微服务配置 server.port: 9004 upload.path: /alldev/u01/ schedule.cron.countDown: 0 0 8-18 * * ? statistics.syskey: ywsp schedule.countDown.isExecute: true post.url.updateStatus: http://10.3.2.222:8888/ecological…...

vagrant 用户名密码登录

正常登录后 sudo -i 切换到root权限 vim /etc/ssh/vim sshd_config 将PasswordAuthentication no设置 为yes 重启sshd.service服务 systemctl restart sshd.service...

强化学习应用(三):基于Q-learning的无人机物流路径规划研究(提供Python代码)

一、Q-learning简介 Q-learning是一种强化学习算法,用于解决基于马尔可夫决策过程(MDP)的问题。它通过学习一个价值函数来指导智能体在环境中做出决策,以最大化累积奖励。 Q-learning算法的核心思想是通过不断更新一个称为Q值的…...

探索SQL性能优化之道:实用技巧与最佳实践

SQL性能优化可能是每个数据库管理员和开发者在日常工作中必不可少的一个环节。在大数据时代,为确保数据库系统的响应速度和稳定性,掌握一些实用的SQL优化技巧至关重要。 本文将带着开发人员走进SQL性能优化的世界,深入剖析实用技巧和最佳实践…...

Github项目推荐-Insomnia

项目地址 GitHub地址:GitHub - Kong/insomnia 官网:The Collaborative API Development Platform - Insomnia 项目简述 想必大家都知道PostMan吧。Insomnia可以说是PostMan的开源平替。页面ui很不错,功能强大,使用也比较方便。…...

python 语法

闭包 在函数嵌套的前提下&#xff0c;内部函数使用了外部函数的变量&#xff0c;并且外部函数返回了内部函数&#xff0c;我们把这个使用外部函数变量的内部函数称为闭包。 def outfunc(arg):def innerFunc(msg):print(f"<{msg}> {arg} <{msg}>")retu…...

Mac下载Navicat premium提示文件损坏的解决方案

引用&#xff1a;https://blog.csdn.net/weixin_44898291/article/details/120879508 sudo xattr -r -d com.apple.quarantine...

算法——贪心法(Greedy)

贪心法 把整个问题分解成多个步骤&#xff0c;在每个步骤都选取当前步骤的最优方案&#xff0c;直到所有步骤结束&#xff1b;在每一步都不考虑对后续步骤的影响&#xff0c;在后续步骤中也不再回头改变前面的选择。不足之处&#xff1a; 贪心算法并不能保证获得全局最优解&…...

VmWare虚拟机的安装

VmWare官方最新版下载地址 vmware官方下载地址 安装流程 安装成功验证 安装完成之后&#xff0c;打开网络中心&#xff0c;一定要确认这里多出两个网络连接&#xff0c;才证明Vmware已经安装成功...

Vue.js轻量级框架:快速搭建可扩展的管理系统

一、前言 在项目实战开发中&#xff0c;尤其是大平台系统的搭建&#xff0c;针对不同业务场景&#xff0c;需要为用户多次编写用于录入、修改、展示操作的相应表单页面。一旦表单需求过多&#xff0c;对于开发人员来说&#xff0c;算是一种重复开发&#xff0c;甚至是繁杂的工作…...

Android-多线程

线程是进程中可独立执行的最小单位&#xff0c;也是 CPU 资源&#xff08;时间片&#xff09;分配的基本单位&#xff0c;同一个进程中的线程可以共享进程中的资源&#xff0c;如内存空间和文件句柄。线程有一些基本的属性&#xff0c;如id、name、以及priority。 id&#xff1…...

sqlalchemy 监听所有实体插入以及更新事件

这边使用的是flaskdependency-injectersqlalchemy&#xff0c;有一个公共类&#xff0c;想插入或者更新的时候对公共类某些字段进行统一操作 这个是公共类&#xff1a;包括一些基础字段&#xff0c;所有的实体都会继承这个类 """Models module.""&q…...

go怎么结束很多个协程呢

在Go语言中&#xff0c;可以通过使用context来结束多个协程。context包提供了用于跟踪、取消和传递截止日期的机制&#xff0c;可用于协程的生命周期管理。 以下是一个使用context取消多个协程的示例&#xff1a; package mainimport ("context""fmt"&qu…...

springboot 项目访问静态资源遇到的问题,WebMvcConfigurer和WebMvcConfigurationSupport

之前发过通过继承WebMvcConfigurationSupport来访问静态资源的文章——img标签访问静态资源&#xff0c;代码如下 Configuration public class LocalPathWebMvcConfigurer extends WebMvcConfigurationSupport {/*** 在springboot项目中&#xff0c;允许浏览器访问指定本地文件…...

Nginx配置负载均衡实例

Nginx配置反向代理实例二 提醒一下&#xff1a;下面实例讲解是在Mac系统演示的&#xff1b; 负载均衡实例实现的效果 浏览器地址栏输入地址http://192.168.0.101/test/a.html&#xff0c;刷新页面进行多次请求&#xff0c;负载均衡效果&#xff0c;平均分配到8080端口服务和8…...

【算法题】50. Pow(x, n)

题目 实现 pow(x, n) &#xff0c;即计算 x 的整数 n 次幂函数&#xff08;即&#xff0c;xn &#xff09;。 示例 1&#xff1a; 输入&#xff1a;x 2.00000, n 10 输出&#xff1a;1024.00000 示例 2&#xff1a; 输入&#xff1a;x 2.10000, n 3 输出&#xff1a;9.…...

K8S动态PV

pv和pvc存储卷 存储卷&#xff1a; emptyDir容器内部&#xff0c;随着pod销毁&#xff0c;emptyDir也会消失&#xff0c;不能做数据持久化 hostPath&#xff1a;持久化存储数据&#xff0c;可以和节点上目录做挂载。pod被销毁了数据还在 NFS&#xff1a;一台机器&#xff0…...

逆变器2(原理框图)

总流程 输入&#xff08;低压直流24Vdc&#xff09;——升压&#xff08;DC—DC&#xff09;&#xff08;高压直流369Vdc&#xff09; ——逆变&#xff08;DC—AC&#xff09;&#xff08;交流220V&#xff09; 升压电路&#xff1a;BOOST电路、LLC电路、推挽电路 逆变器过程…...

ERA5合集,使用ERA5得到GNSS站点的温度,气压,水汽压,Tm和PWV合集,可以求五个参数

0. 码字不易&#xff0c;点赞加关注&#xff08;公众号&#xff1a;WZZHHH&#xff0c;部分资料在公众号可以下载&#xff09;&#xff0c;使用请注明出处&#xff08;根据我的研究方向&#xff0c;我会不断更新代码&#xff09;。 1.计算PWV的方法一般采用有三种&#xff0c; …...

三步解决TranslucentTB开机启动故障:从现象到原理的深度解析

三步解决TranslucentTB开机启动故障&#xff1a;从现象到原理的深度解析 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB TranslucentTB作…...

Qwen3-TTS开源镜像实操:与LangChain集成构建多语种AI Agent语音接口

Qwen3-TTS开源镜像实操&#xff1a;与LangChain集成构建多语种AI Agent语音接口 1. 项目概述与核心价值 Qwen3-TTS-12Hz-1.7B-VoiceDesign是一个强大的多语言文本转语音模型&#xff0c;专为现代AI应用场景设计。这个模型最大的特点是能够处理10种主要语言&#xff0c;包括中…...

Qwen3-TTS-12Hz-1.7B-CustomVoice效果展示:日语动漫风+韩语偶像音色

Qwen3-TTS-12Hz-1.7B-CustomVoice效果展示&#xff1a;日语动漫风韩语偶像音色 想不想让你的AI助手用元气满满的日语动漫腔跟你打招呼&#xff1f;或者用温柔甜美的韩语偶像音色为你朗读一段歌词&#xff1f;今天&#xff0c;我们就来深度体验一下Qwen3-TTS-12Hz-1.7B-CustomV…...

状态方程离散化

基于二阶RC卡尔曼滤波EKF的锂电池SOC估计仿真 仿真数据&#xff1a;HPPC工况&#xff0c;模型中自带数据 附带卡尔曼滤波EKF算法说明文档 图1&#xff1a;真实值与估计值对比曲线 图2&#xff1a;误差率波形 图3&#xff1a;估算SOC锂电池的荷电状态&#xff08;SOC&#xff09…...

3D Face HRN快速上手:无需代码,Gradio界面三步完成人脸重建

3D Face HRN快速上手&#xff1a;无需代码&#xff0c;Gradio界面三步完成人脸重建 1. 从一张照片到3D人脸&#xff0c;只需三步点击 你是否曾想过&#xff0c;将一张普通的自拍照或证件照&#xff0c;瞬间转化为一张可用于3D建模、游戏角色或虚拟形象的“皮肤地图”&#xf…...

FireRedASR-AED-L语音搜索应用:电商场景实战

FireRedASR-AED-L语音搜索应用&#xff1a;电商场景实战 1. 引言 想象一下这个场景&#xff1a;一位正在做饭的用户手上沾满面粉&#xff0c;突然想起需要购买烘焙材料&#xff0c;只需对着手机说"帮我找高筋面粉"&#xff0c;下一秒就能看到精准的商品搜索结果。这…...

SAP工单组件批量添加技巧:CO_XT_COMPONENT_ADD与CO_XT_ORDER_PREPARE_COMMIT组合使用教程

SAP工单组件批量添加实战&#xff1a;CO_XT_COMPONENT_ADD与CO_XT_ORDER_PREPARE_COMMIT深度解析 在SAP生产订单管理中&#xff0c;批量添加组件是制造企业常见的需求场景。当面对数百甚至上千个工单组件需要同时维护时&#xff0c;传统GUI操作不仅效率低下&#xff0c;还容易出…...

将Windows 10打造成局域网精准时钟源:NTP服务器配置全攻略

1. 为什么需要局域网NTP服务器&#xff1f; 最近在帮朋友调试一个实验室的监控系统时&#xff0c;遇到了一个典型的时间不同步问题。十几台设备记录的视频时间戳相差从几秒到几分钟不等&#xff0c;排查故障时简直像在玩拼图游戏。这种场景在中小型办公网络、实验室环境特别常见…...

VSG序阻抗扫频(电压电流双闭环)、时域下阻抗扫频稳定性分析及建模仿真

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

储能变流器双模式切换避坑指南:VF控制与PQ控制实战解析

储能变流器双模式切换实战手册&#xff1a;从原理到避坑全解析 引言&#xff1a;为什么双模式切换是储能系统的技术高地&#xff1f; 去年参与某大型光储项目时&#xff0c;我们团队在系统验收前72小时遭遇了令人窒息的场景——每当微网从并网切换到孤岛模式时&#xff0c;关键…...