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(); }); }