uniapp自动升级

一、创建云服务空间(https://unicloud.dcloud.net.cn

云空间用于关联需要版本控制升级的项目,如果已拥有云空间则省略此步骤。

二、搭建 uni升级中心 - 后台管理系统(升级中心 uni-upgrade-center - Admin)

uni-admin是一套基于uniCloud的开源应用管理端系统。

本插件是uni-admin系统的扩展插件,为开发者的admin系统添加功能。

需先确保本机有uni-admin项目,然后将此插件导入到uni-admin项目下。

如本机没有uni-admin项目,需要先在HBuilderX中新建项目 -> uni-app项目 -> 选择uni-admin模板。

如本机的uni-admin项目版本过老,可能无法使用新插件,需及时升级本机的uni-admin项目。

uni-admin 搭建过程和使用详见 https://ext.dcloud.net.cn/plugin?id=4470

三、需要打包的项目引入 uni升级中心 - 客户端检查更新插件(升级中心 uni-upgrade-center - App)

uni-upgrade-center-app引入过程详见https://ext.dcloud.net.cn/plugin?id=4542

四、App打包

1、两种打包形式,原生apk包和热更新wgt包

通常选择使用云端证书进行打包

此时为需要打包的app生成证书

2、我们是通过https://www.dcloud.io/ 的开发者后台

登录账号需要和app绑定的云空间保持一致

3、登录成功后,可以到我的应用里面创建应用

创建完成后进入到具体应用中,生成证书(appid是唯一的需要保持一致)

五、app发布和版本控制

1、运行步骤二搭建的uni-admin项目 登录成功后进入到uni-admin

若未发现升级中心模块则需要 添加菜单

Vue2

运行起来uniCloud admin,菜单管理模块会自动读取/uni_modules/uni-upgrade-center/menu.json文件中的菜单配置,生成【待添加菜单】,选中升级中心,点击添加选中的菜单即可

Vue3

将/uni_modules/uni-upgrade-center/menu.json 拷贝至 uniCloud/database/db_init.json 中的 opendb-admin-menus 节点下,并右键初始化数据库即可。

应用列表

点击菜单 应用管理,这里展示你所添加的 App,点击右上角 新增 可以新增一个 App

将App的信息都填写完善后,你可以在列表的操作列进行修改应用信息或者删除该应用。

注意:

删除应用会把该应用的所有版本记录同时删除

版本管理

在版本管理list的右上角点击发布新版,可以发布原生App安装包和wgt资源包。在左上角点击下拉列表,可以切换展示应用。

发布原生App安装包,在上传安装包界面填写此次发版信息

包地址

可以选择手动上传一个文件到 云存储,会自动将地址填入该项

也可以手动填写一个地址,就可以不用再上传文件

如果是发布苹果版本,包地址则为 应用在AppStore的链接

强制更新

如果使用强制更新,App端接收到该字段后,App升级弹出框不可取消

上线发行

可设置当前包是否上线发行,只有已上线才会进行更新检测

同时只可有一个线上发行版,线上发行不可更设为下线。未上线可以设为上线发行并自动替换当前线上发行

版修改当前包为上线发行,自动替换当前线上发行版

注意:版本号请填写以.分隔字符串,例如:0.0.1

发布wgt资源包

大部分配置与发布 原生App安装包 一致

原生App最低版本

上次使用新Api或打包新模块的App版本

如果此次打包wgt使用了新的api或者打包了新的模块,则在发布 wgt资源包 的时候,将此版本更新为本次版本

如果已有正式版wgt资源包,则本次新增会自动带出

静默更新

App升级时会在后台下载wgt包并自行安装。新功能在下次启动App时生效

静默更新后不重启应用,可能会导致正在访问的应用的页面数据错乱,请谨慎使用!

发布完成页面

注意:

  1. pages/system/upgradecenter/version/add.vue中有版本对比函数(compare)。
    使用多段式版本格式(如:"3.0.0.0.0.1.0.1", "3.0.0.0.0.1")(比较版本的方式大致是版本号去除. 后拼接成数字比较大小,具体可以去看下载插件中的代码)。如果不满足对比规则,请自行修改。
    本地的uniCloudAdmin 和待发行项目都必须关联到云空间
  2. 在维护老项目的时候发现有些系统内的升级插件是老的,老版本的不需要后台管理系统(升级中心 uni-upgrade-center - Admin),新版本的要。具体看官方的内容。
相关推荐
极客密码7 小时前
感谢雷总!Mimo大模型价值¥659/月的 MAX 套餐,让我免费领到了!
前端·ai编程·claude
深念Y8 小时前
我明白为什么B站没法在浏览器开直播了——Windows Chrome推流踩坑全记录
前端·chrome·webrtc·浏览器·srs·直播·flv
zhangxingchao8 小时前
AI应用开发七:可以替代 RAG 的技术
前端·人工智能·后端
Sun@happy8 小时前
现代 Web 前端渗透——基础篇(1)
前端·web安全
希冀1239 小时前
【CSS学习第十一篇】
前端·css·学习
隔窗听雨眠9 小时前
doctype、charset、meta如何控制整个渲染流水线
java·服务器·前端
kyriewen9 小时前
写组件文档写到吐?我用AI自动生成Storybook,同事以后直接抄
前端·javascript·面试
excel9 小时前
🧠 Prisma 表名大写 vs SQL 导出小写问题深度解析(附踩坑与解决方案)
前端·后端
周淳APP9 小时前
【前端工程化原理通识:从源头到运行时的理论阐述】
前端·编译·打包·前端工程化
五点六六六10 小时前
你敢信这是非Native页面写出来的渐变效果吗🌝(底层原理解析
前端·javascript·面试