參考:
一、Egret提供的本地緩存工具類( 備注:新版本進行了修改,並增加了sound.js等)
在微信小游戲項目中,Egret提供了file-util.js、image.js、text.js來控制微信的50M緩存。

二、嘗試緩存一個json文件
現在我們嘗試使用text.js來緩存json配置文件。當緩存時,啟動游戲不會再次下載這個文件;當沒有緩存時,啟動游戲時會再次下載這個文件。
使用一個測試json文件,如下圖server_config.json。至於這個文件是干什么的就不用關心了,測試用的 = =!

修改text.js的needCache,增加root.indexOf("magicfactory") >=0的判斷。

server_config.json文件保存在服務器路徑下,路徑中有magicfactory,所以當是這個路徑下載的json文件,就會被緩存起來。

當我們沒有緩存這個文件時,會進行下載,在微信開發者工具的network中可以看到。

當我們緩存了這個文件時,就不會再次進行下載了。

三、如何清理緩存
工具類已經提供了remove的方法。

以下是微信小游戲官方的示例代碼。 在檢查到新版本時有包更新時,可以執行一次fileutil.fs.remove()。
實際測試PC開發者工具onCheckForUpdate很快,但是真機這個請求會非常慢。
const updateManager = wx.getUpdateManager()
updateManager.onCheckForUpdate(function (res) {
// 請求完新版本信息的回調
console.log(res.hasUpdate)
})
updateManager.onUpdateReady(function () {
wx.showModal({
title: '更新提示',
content: '新版本已經准備好,是否重啟應用?',
success: function (res) {
if (res.confirm) {
// 新的版本已經下載好,調用 applyUpdate 應用新版本並重啟
updateManager.applyUpdate()
}
}
})
})
updateManager.onUpdateFailed(function () {
// 新版本下載失敗
})
