新聞中心
周期性更新
基礎(chǔ)庫 2.8.0 開始支持,低版本需做 兼容處理。
生效條件:用戶七天內(nèi)使用過的小程序
周期性更新能夠在用戶未打開小程序的情況下,也能從服務(wù)器提前拉取數(shù)據(jù),當用戶打開小程序時可以更快地渲染頁面,減少用戶等待時間,增強在弱網(wǎng)條件下的可用性。
使用流程
1. 配置數(shù)據(jù)下載地址
登錄小程序 MP 管理后臺,進入設(shè)置 -> 開發(fā)設(shè)置 -> 數(shù)據(jù)周期性更新,點擊開啟,填寫數(shù)據(jù)下載地址。
2. 設(shè)置 TOKEN
第一次啟動小程序時,調(diào)用 wx.setBackgroundFetchToken() 設(shè)置一個 TOKEN 字符串,可以跟用戶態(tài)相關(guān),會在后續(xù)微信客戶端向開發(fā)者服務(wù)器請求時帶上,便于給后者校驗請求合法性。
示例:
App({
onLaunch() {
wx.setBackgroundFetchToken({
token: 'xxx'
})
}
})
3. 微信客戶端定期拉取數(shù)據(jù)
微信客戶端會在一定的網(wǎng)絡(luò)條件下,每隔 12 小時(以上一次成功更新的時間為準)向配置的數(shù)據(jù)下載地址發(fā)起一個 HTTP GET 請求,其中包含的 query 參數(shù)如下,數(shù)據(jù)獲取到后會將整個 HTTP body 緩存到本地。
| 參數(shù) | 類型 | 說明 |
|---|---|---|
| appid | String | 小程序標識 |
| token | String | 前面設(shè)置的 TOKEN |
| timestamp | Number | 時間戳,微信客戶端發(fā)起請求的時間 |
query 參數(shù)會使用 urlencode 處理
開發(fā)者服務(wù)器接口返回的數(shù)據(jù)類型應(yīng)為字符串,且大小應(yīng)不超過 256KB,否則將無法緩存數(shù)據(jù)
4. 讀取數(shù)據(jù)
用戶啟動小程序時,調(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ù)的時間戳
}
})
}
})
調(diào)試方法
由于微信客戶端每隔 12 個小時才會發(fā)起一次請求,調(diào)試周期性更新功能會顯得不太方便。 因此為了方便調(diào)試周期性數(shù)據(jù),工具提供了下面的調(diào)試能力給到開發(fā)者。
當前題目:創(chuàng)新互聯(lián)小程序教程:微信小程序周期性更新
地址分享:http://www.5511xx.com/article/djhpogo.html


咨詢
建站咨詢

