更新機構アプレット
開発者は、アプレット管理背景の新バージョンをリリースした後、ユーザーが歴史のローカルアプレットのバージョンを持っている場合、それはまだこの時点で古いバージョン開放されていてもよいです。マイクロチャネルクライアントは、新しいバージョンにサイレントアップデートがあるだろう場合は、バージョンが更新されていませんローカルにキャッシュされたアプレットの数を検討する機会を持つことになります。一般的には、新しいリリースの後にバックグラウンドでの開発者が、それはすぐにすべての現在のネットワークユーザーに影響することはできませんが、最悪の場合には、また、24時間以内にユーザーに新しいバージョン情報のリリース後に発行されました。開いたときに次の時間は、ユーザーが最初に再び上の最新バージョンに更新します。
起動時にアップデート
たびにアプレットコールドスタートを、更新されたバージョンをチェックし、新しいバージョンを見つけた場合、ローカルパケットは、アプレットの新しいバージョンを待つようにすることをクライアントで始まりながら、それは、非同期コードパッケージの新しいバージョンをダウンロードします次のコールドスタートでは、アプリケーションになります。
ホット/コールドスタートと前景/背景のコンセプトは、プログラムのドキュメント小さなを参照して操作機構
することができwx.getUpdsateManager
、起動時にAPIの新バージョンを更新するようにユーザーを強制するために使用します。
wx.showLoading({
title: '加载中..',
mask: true
})
const updateManager = wx.getUpdateManager()
updateManager.onCheckForUpdate(function (res) {
// 请求完新版本信息的回调
console.log('是否有新版本: ', + res.hasUpdate)
if (!res.hasUpdate) {
wx.hideLoading()
}
})
updateManager.onUpdateReady(function () {
wx.hideLoading()
wx.showModal({
title: '更新提示',
content: '新版本已经准备好,是否重启应用?',
showCancel: false,
success: function (res) {
if (res.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate()
}
}
})
})
updateManager.onUpdateFailed(function () {
wx.hideLoading();
wx.showModal({
title: '提示',
content: '检查到有新版本,但下载失败,请检查网络后重试',
showCancel: false
})
})
setTimeout(wx.hideLoading, 5000)
のでonCheckForUpdate
(開発ツールで、おそらく約4秒)の新しいバージョンをチェックするために時間内にいくつかの遅延が発生します、ユーザーが自宅の外に操作をトリガーする新しいバージョンをチェックする処理を防ぐために、追加wx.showLoading
覆われています。
ユーザーはまだコールドスタートを実施する必要があるように、新しいバージョンに上記のコードの更新も、すぐには反映されないことに注意してください。
参考:https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/update-mechanism.html