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),新版本的要。具体看官方的内容。
相关推荐
开开心心就好5 小时前
批量提取PDF中的图片,直接导出原图
前端·javascript·支持向量机·智能手机·pdf·html·启发式算法
Setsuna_F_Seiei7 小时前
前端转型 Agent 开发 05 之 Agent Hooks 与 Checkpointer(让 Agent 从全自动转变人为可掌控)
前端·agent·ai编程
百万蹄蹄向前冲9 小时前
风扇转了一晚上MVP专家团翻车事故
前端·人工智能
默_笙9 小时前
🏛 给 AI 配一间办公室:Harness Engineering 六大模块与它的实现
前端·javascript
linux_cfan10 小时前
videojs v10 源代码系列解读:14 · 谓词守卫:在运行时安全地调用能力
前端·javascript·音视频
kyriewen10 小时前
我扒了 10,221 条 JD:腾讯技术岗 75% 在要 AI
前端·人工智能·ai编程
郑州光合科技余经理11 小时前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
IT_陈寒12 小时前
Vue的响应式让我熬到凌晨三点,原来漏了这个小细节
前端·人工智能·后端
Blanche150012 小时前
利用 RAG 为答疑机器人扩展知识范围
前端
天若有情67312 小时前
【纯前端小工具】公历生日转农历,批量查询每年农历生日对应的公历日期(GitHub Pages在线直接用)
前端·javascript·github pages·农历转换·lunisolar·网页小工具