update.md 1.9 KB
Newer Older
Q
qiang 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
### uni.getUpdateManager()

本API返回**全局唯一**的版本更新管理器对象: updateManager,用于管理小程序更新。

App的更新不使用本API,另见文档:
- 整包更新:[https://ask.dcloud.net.cn/article/34972](https://ask.dcloud.net.cn/article/34972)
- 资源文件热更新(wgt升级):[https://ask.dcloud.net.cn/article/35667](https://ask.dcloud.net.cn/article/35667)

**平台差异说明**

|App|H5|微信小程序|支付宝小程序|百度小程序|字节跳动小程序|QQ小程序|快手小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|x|x|√|√|√|√|√|√|

**updateManager 对象的方法列表:**

|方法				|参数		|说明															|
|---|---|---|
|onCheckForUpdate	|callback	|当向小程序后台请求完新版本信息,会进行回调						|
|onUpdateReady		|callback	|当新版本下载完成,会进行回调									|
|onUpdateFailed		|callback	|当新版本下载失败,会进行回调									|
|applyUpdate		|			|当新版本下载完成,调用该方法会强制当前小程序应用上新版本并重启	|

**onCheckForUpdate(callback) 回调结果说明:**

|属性|类型|说明|
|---|---|---|
|hasUpdate|Boolean|是否有新的版本	|

**代码示例**

```javascript
const updateManager = uni.getUpdateManager();

updateManager.onCheckForUpdate(function (res) {
  // 请求完新版本信息的回调
  console.log(res.hasUpdate);
});

updateManager.onUpdateReady(function (res) {
  uni.showModal({
    title: '更新提示',
    content: '新版本已经准备好,是否重启应用?',
    success(res) {
      if (res.confirm) {
        // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
        updateManager.applyUpdate();
      }
    }
  });

});

updateManager.onUpdateFailed(function (res) {
  // 新的版本下载失败
});
```