CacheManager wx.createCacheManager(Object object)
创建缓存管理器,安卓端于基础库版本 2.24.0 开始支持。
基础库 2.23.0 开始支持,低版本需做兼容处理。
小程序插件:不支持
参数
Object object
|
属性
|
类型
|
默认值
|
必填
|
说明
|
|
origin
|
string
|
|
否
|
全局 origin
|
|
mode
|
string
|
|
否
|
缓存模式,默认为 weakNetwork
|
|
合法值
|
说明
|
weakNetwork
|
弱网/离线使用缓存返回
|
always
|
总是使用缓存返回
|
none
|
不开启,后续可手动开启/停止使用缓存返回
|
|
|
maxAge
|
number
|
|
否
|
全局缓存有效时间,单位为毫秒,默认为 7 天,最长不超过 30 天
|
|
extra
|
object
|
|
否
|
额外的缓存处理
|
|
|
结构属性
|
类型
|
默认值
|
必填
|
说明
|
|
apiList
|
Array.<string>
|
|
否
|
需要缓存的 wx api 接口,不传则表示支持缓存的接口全都做缓存处理。返回的如果是缓存数据,开发者可通过 fromCache 标记区分
|
|
合法值
|
说明
|
wx.login
|
|
wx.checkSession
|
|
wx.getSetting
|
|
|
|
返回值
缓存管理器
示例代码
const cacheManager = createCacheManager()
cacheManager.addRule(/https:\/\/(?:.*)/ig) // 表示所有 https 请求都匹配
cacheManager.on('request', evt => {
// 在弱网时接收到 wx.request 请求
return new Promise((resolve, reject) => {
const matchRes = cm.match(evt)
if (matchRes && matchRes.data) {
// 有缓存,返回
resolve(matchRes.data)
} else {
// 没缓存,抛错
reject({ errMsg: 'no cache' })
}
})
})