uni-admin < 1.9.0
:请前往 Gitee 下载 tag v0.4.2
版本使用1.9.0 <= uni-admin < 1.9.2
:请前往 Gitee 下载 tag v0.5.1
版本使用uni-admin >= 1.9.3
:uni-admin 已内置 升级中心,直接使用即可 详情。并且云函数 upgrade-center
废弃,使用 uni-upgrade-center
云函数。统一管理App及App在
Android
、iOS
平台上App安装包
和wgt资源包
的发布升级本插件为uni升级中心后台管理系统,客户端检查更新插件请点击查看 uni-upgrade-center-app
升级中心是一款uni-admin插件,负责App版本更新业务。包含后台管理界面、更新检查逻辑,App内只要调用弹出提示即可。
升级中心有以下功能点:
只需导入插件,初始化数据库即可拥有上述功能。
您也可以自己修改逻辑自定义数据库字段,和随意定制 UI 样式。
使用HBuilderX 3.1.0+
,因为要使用到uni_modules
使用已有uniCloud-admin
项目或新建项目:打开HBuilderX
-> 文件
-> 新建
-> 项目
-> uni-app
选择 uniCloud admin
模板,键入一个名字,确定
鼠标右键选择关联云服务空间
和运行云服务空间初始化向导
在插件市场打开本插件页面,在右侧点击使用 HBuilderX 导入插件
,选择 uniCloud admin
项目点击确定
等待下载安装完毕。由于本插件依赖一些uni-ui插件,下载完成后会显示合并插件页面,自行选择即可
找到/uni_modules/uni-upgrade-center/uniCloud/cloudfunctions/upgrade-center
,右键上传部署
在pages.json
中添加页面路径json //此结构与uniCloud admin中的pages.json结构一致 { "pages": [ // ……其他页面配置 { "path": "uni_modules/uni-upgrade-center/pages/version/list", "style": { "navigationBarTitleText": "版本列表" } }, { "path": "uni_modules/uni-upgrade-center/pages/version/add", "style": { "navigationBarTitleText": "新版发布" } }, { "path": "uni_modules/uni-upgrade-center/pages/version/detail", "style": { "navigationBarTitleText": "版本信息查看" } } ] }
在manifest.json -> 源码视图
中添加以下配置:js "networkTimeout":{ "uploadFile":1200000 //ms, 如果不配置,上传大文件可能会超时 }
运行项目到Chrome
添加菜单
vue2
运行起来uniCloud admin,菜单管理模块会自动读取`/uni_modules/uni-upgrade-center/menu.json`文件中的菜单配置,生成【待添加菜单】,选中升级中心,点击`添加选中的菜单`即可
<div align="center">
<img src="https://vkceyugu.cdn.bspapp.com/VKCEYUGU-a90b5f95-90ba-4d30-a6a7-cd4d057327db/16dc338e-7d5b-4290-98a9-adb7f0c23754.png" width="800"></img>
</div>
vue3
可将 `/uni_modules/uni-upgrade-center/menu.json` 拷贝至 `uniCloud/database/db_init.json` 中的 `opendb-admin-menus` 节点下,并右键初始化数据库即可。
添加成功后,就可以在左侧的菜单栏中找到升级中心
菜单
在进入升级中心
之前:
uni-admin
的应用管理
中添加一个应用,才可以在升级中心
中发布对应应用的版本。/uni_modules/uni-upgrade-center/pages/utils.js
中修改defaultDisplayApp
字段来设置默认显示应用的appid
。由于插件依赖的uni-ui的一些组件,建议右键/uni_modules/uni-upgrade-center
安装一下第三方依赖,否则可能会出现一些问题
运行在uniCloud
,由于本插件使用了clientDB
,因此可能需要配置一下uni-config-center插件
关于uni-id
的配置信息。如提示公用模块uni-id缺少配置信息
请这样做:
/uniCloud/cloudfunctions/common/uni-config-center/
下创建uni-id
文件夹,文件夹内创建config.json
文件。config.json
中。**注:一定要把注释去除!**应用管理
,这里展示你所添加的 App,点击右上角 新增
可以新增一个 App修改
应用信息或者删除
该应用。Tips
- 删除应用会把该应用的所有版本记录同时删除
发布新版
,可以发布原生App安装包
和wgt资源包
。在左上角点击下拉列表
,可以切换展示应用。包地址
云存储
,会自动将地址填入该项- 也可以手动填写一个地址,就可以不用再上传文件
- 如果是发布`苹果`版本,包地址则为 应用在`AppStore的链接`
强制更新
上线发行
- 同时只可有一个线上发行版,线上发行不可更设为下线。未上线可以设为上线发行并自动替换当前线上发行版
- 修改当前包为上线发行,自动替换当前线上发行版
注:版本号请填写以.
分隔字符串,例如:0.0.1
原生App安装包
一致原生App最低版本
- 如果此次打包wgt使用了`新的api`或者打包了`新的模块`,则在发布 `wgt资源包` 的时候,将此版本更新为本次版本
- 如果已有正式版`wgt资源包`,则本次新增会自动带出
静默更新
注:版本号请填写以.
分隔字符串,例如:0.0.1
Tips
pages/system/upgradecenter/version/add.vue
中有版本对比函数(compare)。
数据表基于 openDB 规范,它约定了一个标准用户表的表名和字段定义,并且基于 nosql 的特性,可以由开发者自行扩展字段。
本项目用到了 2 个表:
点击升级中心
,会进入应用管理列表,在这里你可以新增应用,或者在应用详情
中查看、修改或删除一个已经录入的应用。
在应用管理列表中点击某个应用的版本管理
,进入该应用的所有版本记录。列表排序为:先排序已上线版本,剩下已下线版本根据创建时间排列。
在应用版本列表中点击详情
,即可进入该版本的信息详情中查看、修改或删除该记录。
Tips
- 升级中心设计之初就支持iOS的wgt更新
- iOS的wgt更新肯定是违反apple政策的,注意事项:
- 审核期间请不要弹窗升级
- 升级完后尽量不要自行重启
- 尽量使用静默更新
- 可以通过以下修改支持iOS的wgt更新:
> \uni_modules\uni-upgrade-center\pages\mixin\version_add_detail_mixin.js
>
> 将 data
中的 enableiOSWgt: false
中 改为 enableiOSWgt: true
常见问题
- 以下问题可以通过升级插件版本解决:
- createdate不与默认值匹配
- ["create_date"]在数据库中并不存在
- 提交的字段["dirty_data"]在数据库中并不存在
- 集合[opendb-app-list]对应的schema内存在错误,详细信息:opendb-app-list表对应的schema名称冲突,这是什么意思呢