diff --git a/docs/upgrade-center.md b/docs/upgrade-center.md index 8ef46f16e074b956932d1f725d731999ee7f665e..56c364628cebc7b319243abc7319716904a3f59d 100644 --- a/docs/upgrade-center.md +++ b/docs/upgrade-center.md @@ -17,8 +17,6 @@ App升级中心 uni-upgrade-center,提供了 App 的版本更新服务。包 - 数据库遵循 [opendb](https://uniapp.dcloud.net.cn/uniCloud/opendb.html) 规范 - **关于应用转让后升级中心(uni-upgrade-center)的使用问题** [详情](https://ask.dcloud.net.cn/article/40112) -从 uni-upgrade-center `v0.7.0` 版本起,开始支持uni-app x。 - 为了一套代码同时兼容uni-app和uni-app x,升级中心原本的 js 文件改为了 ts 文件。如果开发者的项目下未使用ts,那么需要增加ts编译。HBuilderX项目会自动加载ts编译器,cli项目则需要自己手动配置。 ### 为什么需要升级中心? @@ -180,16 +178,18 @@ App升级中心 uni-upgrade-center,提供了 App 的版本更新服务。包
┌─uniCloud 云空间目录,在 uni-upgrade-center-app 组件中为空,占位使用
-│─components 符合 easycom 组件规范的组件目录
-│ └─uni-upgrade-center-app
-│ └─uni-upgrade-center-app.uvue uni-app x 项目中要使用到的升级中心弹窗组件,如果需要自定义弹窗样式,可以修改此组件
+│─components(0.9.0 版本起删除,请使用 `pages/uni-app-x/upgrade-popup.vue`)
+│ └─uni-upgrade-center-app(0.9.0 版本起删除,请使用 `pages/uni-app-x/upgrade-popup.vue`)
+│ └─uni-upgrade-center-app.uvue(0.9.0 版本起删除,请使用 `pages/uni-app-x/upgrade-popup.vue`)
├─pages 页面文件存放的目录
+│ ├─uni-app-x
+│ │ └─upgrade-popup.vue uni-app x 项目中要使用到的升级中心弹窗页面,如果需要自定义弹窗样式,可以修改此页面,使用请看dialogPage
│ └─upgrade-popup.vue uni-app 项目中要使用到的升级中心页面,如果需要自定义样式,可以修改此页面
├─static 存放升级中心引用的静态资源(图片)的目录,如需自定义样式,可以替换此目录下的图片
├─utils 存放升级中心引用的工具函数的目录
│ ├─call-check-version.ts 升级中心请求云端函数方法,调用 uni-upgrade-center 云函数,获取 App 版本信息
│ ├─check-update.ts 调用升级中心方法,检查更新,并根据结果判断是否显示更新弹框
-│ └─utils.uts uni-app x 项目中要使用到到工具函数,openSchema 为打开应用外部链接方法
+│ └─check-update-nvue.js 由于 uni-app 项目 `nvue` 页面不支持 ts ,因此调用检查更新函数在这里导出
├─changelog.md uni-upgrade-center-app 更新日志
├─package.json uni-upgrade-center-app 插件信息日志
└─readme.md uni-upgrade-center-app 说明文档
@@ -252,7 +252,25 @@ App升级中心 uni-upgrade-center,提供了 App 的版本更新服务。包
2. 默认使用当前绑定的服务空间,如果要请求其他服务空间,可以使用其他服务空间的 `callFunction`。[详情](https://uniapp.dcloud.io/uniCloud/cf-functions.html#call-by-function-cross-space)
3. **注:** uni-app 的 vue2 模式不支持在 nvue 页面中使用 ts,请引入用插件根目录 `utils/check-update-nvue.js` 文件
-7. 升级弹框可自行编写,也可以使用`uni.showModal`,或使用现有的升级弹框样式,如果不满足UI需求请自行替换 `static` 目录下的资源文件。在`utils/check-update.ts`中都有实例。
+ ```js
+ import checkUpdate from '@/uni_modules/uni-upgrade-center-app/utils/check-update'
+ ```
+
+7. 在需要调用的 **页面** 中(一般在首页加载完成后调用或设置页面检查更新按钮调用)执行 `checkUpdate` 方法,比如在 `onReady` 生命周期中( **注:** 因为是组件所以一定要保证组件加载完毕),以下为完整使用示例:
+
+ ```js
+ import checkUpdate from '@/uni_modules/uni-upgrade-center-app/utils/check-update'
+ // ...
+ export default {
+ // ...
+ onReady() {
+ checkUpdate()
+ }
+ // ...
+ }
+ ```
+
+8. 升级弹框可自行编写,也可以使用`uni.showModal`,或使用现有的升级弹框样式,如果不满足UI需求请自行替换 `static` 目录下的资源文件。在`utils/check-update.ts`中都有实例。
**注意** 使用wgt更新,打包前请务必将 manifest.json 中的版本名称修改为更高版本。(请使用类似 1.0.0 以 `.` 分隔的多段式格式)
@@ -272,16 +290,18 @@ App升级中心 uni-upgrade-center,提供了 App 的版本更新服务。包
- 插件版本 `>= 0.6.0`,依赖 `uni-admin 1.9.3+` 的 `uni-upgrade-center 云函数`,插件不再单独提供云函数,可以跳过此步骤
- 插件版本 `<= 0.6.0`,找到`/uni_modules/uni-upgrade-center-app/uniCloud/cloudfunctions/check-version`,右键上传部署
-5. 升级中心在 uni-app x 端是 `easycom 组件` 可直接使用,无需在页面导入注册。在需要显示升级弹窗的页面直接使用组件即可(升级中心弹出时会调用 api 隐藏 tabbar,在关闭时会调用调用 api 显示 tabbar)
+5. 如果是uni-app,需在`pages.json`中添加页面路径。**注:请不要设置为pages.json中第一项**
- > 注意组件的 `ref` 属性
-
- ```html
-
-
+ ```json
+ "pages": [
+ // ……其他页面配置
+ {
+ "path" : "uni_modules/uni-upgrade-center-app/pages/uni-app-x/upgrade-popup"
+ }
+ ]
```
-6. 在 `script` 标签内顶部引入 `checkVersion` 方法
+6. 在 `script` 标签内顶部引入 `checkUpdate` 方法
```js
import checkUpdate from '@/uni_modules/uni-upgrade-center-app/utils/check-update'
@@ -289,33 +309,23 @@ App升级中心 uni-upgrade-center,提供了 App 的版本更新服务。包
7. 在需要调用的 **页面** 中(一般在首页加载完成后调用或设置页面检查更新按钮调用)执行 `checkUpdate` 方法,比如在 `onReady` 生命周期中( **注:** 因为是组件所以一定要保证组件加载完毕),以下为完整使用示例:
- ```html
-
-
-
-
-
-
-
+ // ...
+ }
```
8. 当你打开调用升级中心组件的页面就会检查更新,如有更新就出弹窗。也可以在其他页面或者组件中使用
**注意** 在 uni-app x 的 app-Android 端没有 wgt 更新,也不会检测到 wgt 包的更新
-**更新下载安装`check-update.ts`**
+#### 更新下载安装`check-update.ts`
> 该函数在utils目录下
@@ -323,9 +333,7 @@ App升级中心 uni-upgrade-center,提供了 App 的版本更新服务。包
2. 如果是 iOS,则会直接打开AppStore的链接
-3. 其他情况:
- - `uni-app`:会将检查更新云函数返回的结果保存在localStorage中,并跳转进入`upgrade-popup.vue`打开更新弹框
- - `uni-app x`:会将检查更新云函数返回的结果传递给 `\uni_modules\uni-upgrade-center-app\components\uni-upgrade-center-app\uni-upgrade-center-app.uvue` 组件的 `show` 方法,修改组件的显示状态,显示更新弹框
+3. 会将检查更新云函数返回的结果保存在localStorage中,并跳转进入`upgrade-popup.vue`打开更新弹框
**Tips**
@@ -333,6 +341,14 @@ App升级中心 uni-upgrade-center,提供了 App 的版本更新服务。包
- 使用多段式版本格式(如:"3.0.0.0.0.1.0.1", "3.0.0.0.0.1")。如果不满足对比规则,请自行修改。
- 如果修改,请将*pages/upgrade-popup.vue*中*compare*函数一并修改
+### 版本说明
+
+> 此处版本与 [gitee](https://gitee.com/dcloud/uni-upgrade-center) 的 tag 和 uni-upgrade-center-app 的版本相对应
+
+- 从 uni-upgrade-center `v0.7.0` 版本起,开始支持uni-app x。
+- `v0.8.5` 之后的版本(如 0.9.0)将不再支持 HBuilderX 4.31 之前的版本,如需使用请升级 HBuilderX 至 4.31 以上版本。
+- `v0.9.0` 版本起在 uni-app x 上使用 [dialogPage](https://doc.dcloud.net.cn/uni-app-x/api/dialog-page.html) 实现,效果更好
+
### 费用评测@upgrade-center-fee