|
|
3 éve | |
|---|---|---|
| .. | ||
| pages | 3 éve | |
| static | 3 éve | |
| uniCloud | 3 éve | |
| utils | 3 éve | |
| changelog.md | 3 éve | |
| package.json | 3 éve | |
| pages_init.json | 3 éve | |
| readme.md | 3 éve | |
统一管理App及App在
Android、iOS平台上App安装包和wgt资源包的发布升级本插件为升级中心前台检查更新,后台Admin管理系统请点击查看 uni-upgrade-center
依赖数据库opendb-app-versions,如果没有此库,请在云服务空间中创建。
使用HBuilderX 3.1.0+,因为要使用到uni_modules
在插件市场打开本插件页面,在右侧点击使用 HBuilderX 导入插件,选择要导入的项目点击确定
找到/uni_modules/uni-upgrade-center-app/uniCloud/cloudfunctions/check-version,右键上传部署
在pages.json中添加页面路径。注:请不要设置为pages.json中第一项
```json
"pages": [
// ……其他页面配置
{
"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
} } } ] ```
将@/uni_modules/uni-upgrade-center-app/utils/check-updateimport到需要用到的地方,调用一下即可
升级弹框可自行编写,也可以使用uni.showModal,或使用现有的升级弹框样式,如果不满足UI需求请自行替换资源文件。在utils/check-update.js中都有实例。
wgt更新时,打包前请务必将manifest.json中的版本修改为更高版本。
check-update.js该函数在utils目录下
如果是静默更新,则不会打开更新弹框,会在后台下载后安装,下次启动应用生效
如果是 iOS,则会直接打开AppStore的链接
其他情况,会将check-version返回的结果保存在localStorage中,并跳转进入upgrade-popup.vue打开更新弹框
check-version该函数在uniCloud/cloudfunctions目录下
使用检查更新需要传递三个参数 appid、appVersion、wgtVersion
appid 使用 plus.runtime.appid 获取,注:真机运行时为固定值HBuilder,在调试的时候请使用本地调试云函数
appVersion 使用 plus.runtime.version 获取
wgtVersion 使用 plus.runtime.getProperty(plus.runtime.appid,(wgtInfo) => { wgtInfo.version }) 获取
check-version云函数内部会自动获取 App 平台
Tips
check-version云函数内部有版本对比函数(compare)。
upgrade-popup.vue - 更新应用:
check-version返回的参数表明需要更新,则将参数保存在localStorage中,带着键值跳转该页面version 进行比较,如果相等则安装。大于和小于都不进行安装,因为admin端可能会调整包的版本。不符合更新会将此包删除call-check-version
check-version拿取版本检测结果check-update
call-check-version并根据结果判断是否显示更新弹框check-version - 检查应用更新:
返回结果:
| code | message |
|---|---|
| 0 | 当前版本已经是最新的,不需要更新 |
| 101 | wgt更新 |
| 102 | 整包更新 |
| -101 | 暂无更新或检查appid是否填写正确 |
| -102 | 请检查传参是否填写正确 |