小程序更新
最后更新于:2022-04-02 03:40:24
[TOC]
## 概述
小程序每次**冷启动**时,都会检查是否有更新版本,如果发现有新版本,将会异步下载新版本的代码包,并同时用客户端本地的包进行启动,即新版本的小程序需要等下一次冷启动才会应用上。
如果需要马上应用最新版本,可以使用`uni.getUpdateManagerAPI` 进行处理。
本API返回**全局唯一**的版本更新管理器对象: updateManager,用于管理小程序更新
**uni.getUpdateManager() 对象的方法列表:**
| 方法 | 参数 | 说明 |
| --- | --- | --- |
| onCheckForUpdate | callback | 当向小程序后台请求完新版本信息,会进行回调 |
| onUpdateReady | callback | 当新版本下载完成,会进行回调 |
| onUpdateFailed | callback | 当新版本下载失败,会进行回调 |
| applyUpdate | | 当新版本下载完成,调用该方法会强制当前小程序应用上新版本并重启 |
**onCheckForUpdate(callback) 回调结果说明:**
| 属性 | 类型 | 说明 |
| --- | --- | --- |
| hasUpdate | Boolean | 是否有新的版本 |
示例
```
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) {
// 新的版本下载失败
});
```
';