W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
基礎(chǔ)庫(kù) 2.8.0 開(kāi)始支持,低版本需做兼容處理。
生效條件:用戶七天內(nèi)使用過(guò)的小程序
周期性更新能夠在用戶未打開(kāi)小程序的情況下,也能從服務(wù)器提前拉取數(shù)據(jù),當(dāng)用戶打開(kāi)小程序時(shí)可以更快地渲染頁(yè)面,減少用戶等待時(shí)間,增強(qiáng)在弱網(wǎng)條件下的可用性。
登錄小程序 MP 管理后臺(tái),進(jìn)入設(shè)置 -> 開(kāi)發(fā)設(shè)置 -> 數(shù)據(jù)周期性更新,點(diǎn)擊開(kāi)啟,填寫數(shù)據(jù)下載地址。
第一次啟動(dòng)小程序時(shí),調(diào)用 wx.setBackgroundFetchToken() 設(shè)置一個(gè) TOKEN 字符串,可以跟用戶態(tài)相關(guān),會(huì)在后續(xù)微信客戶端向開(kāi)發(fā)者服務(wù)器請(qǐng)求時(shí)帶上,便于給后者校驗(yàn)請(qǐng)求合法性。
示例:
App({
onLaunch() {
wx.setBackgroundFetchToken({
token: 'xxx'
})
}
})
微信客戶端會(huì)在一定的網(wǎng)絡(luò)條件下,每隔 12 小時(shí)(以上一次成功更新的時(shí)間為準(zhǔn))向配置的數(shù)據(jù)下載地址發(fā)起一個(gè) HTTP GET 請(qǐng)求,其中包含的 query 參數(shù)如下,數(shù)據(jù)獲取到后會(huì)將整個(gè) HTTP body 緩存到本地。
參數(shù) | 類型 | 說(shuō)明 |
---|---|---|
appid | String | 小程序標(biāo)識(shí) |
token | String | 前面設(shè)置的 TOKEN |
timestamp | Number | 時(shí)間戳,微信客戶端發(fā)起請(qǐng)求的時(shí)間 |
query 參數(shù)會(huì)使用 urlencode 處理
開(kāi)發(fā)者服務(wù)器接口返回的數(shù)據(jù)類型應(yīng)為字符串,且大小應(yīng)不超過(guò) 256KB,否則將無(wú)法緩存數(shù)據(jù)
用戶啟動(dòng)小程序時(shí),調(diào)用 wx.getBackgroundFetchData() 獲取已緩存到本地的數(shù)據(jù)。
示例:
App({
onLaunch() {
wx.getBackgroundFetchData({
fetchType: 'periodic',
success(res) {
console.log(res.fetchedData) // 緩存數(shù)據(jù)
console.log(res.timeStamp) // 客戶端拿到緩存數(shù)據(jù)的時(shí)間戳
}
})
}
})
由于微信客戶端每隔 12 個(gè)小時(shí)才會(huì)發(fā)起一次請(qǐng)求,調(diào)試周期性更新功能會(huì)顯得不太方便。 因此為了方便調(diào)試周期性數(shù)據(jù)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: