千鋒教育(yu)-做(zuo)有情懷、有良心、有品質的職業教育(yu)機構
當(dang)小程序發(fa)布新的版本后,用戶(hu)如(ru)果之前訪問(wen)過該(gai)小程序,通過已打(da)開的小程序進(jin)入(未手動(dong)刪除),則會彈(dan)出提示,提醒用戶(hu)更(geng)新新的版本。
用戶點擊確定就可(ke)以自(zi)動(dong)重啟更新(xin),點擊取消則關閉彈窗,不再更新(xin). 核心步(bu)驟:
- 打開小程序, 檢查小程序是否有新版本
updateManager.onCheckForUpdate(function (res) {}) 小程序有(you)新(xin)(xin)(xin)(xin)版本,則靜默下(xia)載(zai)(zai)新(xin)(xin)(xin)(xin)版本,做好更(geng)新(xin)(xin)(xin)(xin)準備updateManager.onUpdateReady(function () {}) 新(xin)(xin)(xin)(xin)的版本已經下(xia)載(zai)(zai)好,調用applyUpdate應用新(xin)(xin)(xin)(xin)版本并重啟小程序updateManager.applyUpdate()
- 更新(xin)版本的模(mo)(mo)(mo)擬(ni)測試,微信開(kai)發者工具上可以通過「編(bian)譯(yi)模(mo)(mo)(mo)式」下(xia)的「下(xia)次編(bian)譯(yi)模(mo)(mo)(mo)擬(ni)更新(xin)」開(kai)關來調(diao)試. 點擊(ji)編(bian)譯(yi)模(mo)(mo)(mo)式設置下(xia)拉列表,然(ran)后點擊(ji)“添加編(bian)譯(yi)模(mo)(mo)(mo)式”,在(zai)自定(ding)義編(bian)譯(yi)條(tiao)件(jian)彈窗(chuang)界面,點擊(ji)下(xia)次編(bian)譯(yi)時模(mo)(mo)(mo)擬(ni)更新(xin),然(ran)后點擊(ji)確定(ding),重(zhong)新(xin)編(bian)譯(yi)就可以了.
注(zhu): 需要(yao)(yao)注(zhu)意(yi)的是,這種方(fang)式模擬更新一(yi)次之后就失效了,后邊再測(ce)試仍需要(yao)(yao)對這種編譯模式進行重新設置才(cai)可以.
- 核(he)心(xin)代(dai)碼如下:
App({ onLaunch: function(options) { this.autoUpdate() }, autoUpdate:function(){ var self=this
// 獲取小(xiao)程(cheng)序更新(xin)機制兼容(rong) if (wx.canIUse('getUpdateManager')) { const updateManager = wx.getUpdateManager()
//1. 檢查小程序是(shi)否有新版(ban)本發布 updateManager.onCheckForUpdate(function (res) { // 請求完新版(ban)本信(xin)息的(de)回調 if (res.hasUpdate) {
//2. 小程序有新(xin)版本(ben),則靜默(mo)下(xia)載新(xin)版本(ben),做好更新(xin)準備 updateManager.onUpdateReady(function () { wx.showModal({ title: '更新(xin)提示', content: '新(xin)版本(ben)已經(jing)準備好,是否重啟應(ying)用?', success: function (res) { if (res.confirm) {
//3. 新(xin)(xin)(xin)(xin)的版(ban)(ban)(ban)本(ben)(ben)已(yi)經下載(zai)好,調(diao)用(yong)(yong)(yong)applyUpdate應(ying)用(yong)(yong)(yong)新(xin)(xin)(xin)(xin)版(ban)(ban)(ban)本(ben)(ben)并重(zhong)啟 updateManager.applyUpdate() }else if (res.cancel) { //不應(ying)用(yong)(yong)(yong) } } }) }) updateManager.onUpdateFailed(function () { // 新(xin)(xin)(xin)(xin)的版(ban)(ban)(ban)本(ben)(ben)下載(zai)失(shi)敗(bai) wx.showModal({ title: '已(yi)經有新(xin)(xin)(xin)(xin)版(ban)(ban)(ban)本(ben)(ben)了喲(yo)~', content: '新(xin)(xin)(xin)(xin)版(ban)(ban)(ban)本(ben)(ben)已(yi)經上(shang)線啦~,請(qing)您(nin)刪(shan)除當(dang)前(qian)小(xiao)程序,重(zhong)新(xin)(xin)(xin)(xin)搜(sou)索打開喲(yo)~', }) }) } }) } else { // 如果希望(wang)用(yong)(yong)(yong)戶在(zai)最(zui)新(xin)(xin)(xin)(xin)版(ban)(ban)(ban)本(ben)(ben)的客戶端上(shang)體驗您(nin)的小(xiao)程序,可以這樣子(zi)提示(shi) wx.showModal({ title: '提示(shi)', content: '當(dang)前(qian)微信版(ban)(ban)(ban)本(ben)(ben)過低(di),無法使用(yong)(yong)(yong)該功能(neng),請(qing)升級到(dao)最(zui)新(xin)(xin)(xin)(xin)微信版(ban)(ban)(ban)本(ben)(ben)后重(zhong)試。' }) } } })
上一篇
小程序生命周期下一篇
小程序嵌入H5頁面怎么做相關推薦