You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.4 KiB
61 lines
1.4 KiB
var updateManager = {};
|
|
/**
|
|
* 本API返回全局唯一的版本更新管理器对象: updateManager,用于管理小程序更新。
|
|
* vk.updateManager.updateReady();
|
|
*/
|
|
updateManager.updateReady = function(obj) {
|
|
// #ifdef MP
|
|
updateManagerByMP(obj);
|
|
// #endif
|
|
};
|
|
|
|
|
|
export default updateManager;
|
|
|
|
|
|
function updateManagerByMP(obj = {}) {
|
|
let {
|
|
title = "更新提示",
|
|
content = "新版本已经准备好,点击更新!",
|
|
autoUpdate = true,
|
|
showCancel = false,
|
|
confirmText = "一键更新"
|
|
} = obj;
|
|
const updateManager = uni.getUpdateManager();
|
|
|
|
updateManager.onCheckForUpdate(function(res) {
|
|
// 请求完新版本信息的回调
|
|
// console.log(res.hasUpdate);
|
|
});
|
|
|
|
updateManager.onUpdateReady(function(res) {
|
|
uni.showModal({
|
|
title,
|
|
content,
|
|
showCancel,
|
|
confirmText,
|
|
success(res) {
|
|
if (res.confirm) {
|
|
if (typeof obj.success === "function") {
|
|
obj.success({
|
|
applyUpdate: updateManager.applyUpdate
|
|
});
|
|
}
|
|
if (typeof obj.complete === "function") obj.complete();
|
|
if (autoUpdate) {
|
|
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
|
|
updateManager.applyUpdate();
|
|
}
|
|
}
|
|
},
|
|
|
|
});
|
|
});
|
|
|
|
updateManager.onUpdateFailed(function(res) {
|
|
// 新的版本下载失败
|
|
console.error("onUpdateFailed", res);
|
|
if (typeof obj.fail === "function") obj.fail(res);
|
|
if (typeof obj.complete === "function") obj.complete();
|
|
});
|
|
}
|