新聞中心
數(shù)據(jù)預拉取
預拉取能夠在小程序冷啟動的時候通過微信后臺提前向第三方服務器拉取業(yè)務數(shù)據(jù),當代碼包加載完時可以更快地渲染頁面,減少用戶等待時間,從而提升小程序的打開速度 。

創(chuàng)新互聯(lián)建站專業(yè)提供成都主機托管四川主機托管成都服務器托管四川服務器托管,支持按月付款!我們的承諾:貴族品質、平民價格,機房位于中國電信/網通/移動機房,資陽托管服務器服務有保障!
使用流程
1. 配置數(shù)據(jù)下載地址
登錄小程序 MP 管理后臺,進入設置 -> 開發(fā)設置 -> 數(shù)據(jù)預加載,點擊開啟,填寫數(shù)據(jù)下載地址,只支持 HTTPS 。
2. 設置 TOKEN
第一次啟動小程序時,調用 wx.setBackgroundFetchToken() 設置一個 TOKEN 字符串,可以跟用戶態(tài)相關,會在后續(xù)微信客戶端向開發(fā)者服務器請求時帶上,便于給后者校驗請求合法性。
示例:
App({
onLaunch() {
wx.setBackgroundFetchToken({
token: 'xxx'
})
}
})
3. 微信客戶端提前拉取數(shù)據(jù)
當用戶打開小程序時,微信服務器將向開發(fā)者服務器(上面配置的數(shù)據(jù)下載地址)發(fā)起一個 HTTP GET 請求,其中包含的 query 參數(shù)如下,數(shù)據(jù)獲取到后會將整個 HTTP body 緩存到本地。
| 參數(shù) | 類型 | 必填 | 說明 |
|---|---|---|---|
| appid | String | 是 | 小程序標識。 |
| token | String | 否 | 前面設置的 TOKEN。 |
| code | String | 否 | 用戶登錄憑證,未設置TOKEN時由微信側預生成,可在開發(fā)者后臺調用 auth.code2Session,換取 openid 等信息。 |
| timestamp | Number | 是 | 時間戳,微信客戶端發(fā)起請求的時間 |
| path | String | 否 | 打開小程序的路徑。 |
| query | String | 否 | 打開小程序的query。 |
| scene | Number | 否 | 打開小程序的場景值。 |
query 參數(shù)會使用 urlencode 處理
token和code只會存在一個,用于標識用戶身份。
開發(fā)者服務器接口返回的數(shù)據(jù)類型應為字符串,且大小應不超過 256KB,否則將無法緩存數(shù)據(jù)
4. 讀取數(shù)據(jù)
用戶啟動小程序時,調用 wx.getBackgroundFetchData() 獲取已緩存到本地的數(shù)據(jù)。
示例:
App({
onLaunch() {
wx.getBackgroundFetchData({
fetchType: 'pre',
success(res) {
console.log(res.fetchedData) // 緩存數(shù)據(jù)
console.log(res.timeStamp) // 客戶端拿到緩存數(shù)據(jù)的時間戳
console.log(res.path) // 頁面路徑
console.log(res.query) // query 參數(shù)
console.log(res.scene) // 場景值
}
})
}
})
調試方法
為了方便調試數(shù)據(jù)預拉取,工具提供了下面的調試能力給到開發(fā)者。
當前題目:創(chuàng)新互聯(lián)小程序教程:微信小程序數(shù)據(jù)預拉取
轉載注明:http://m.5511xx.com/article/cdjhojh.html


咨詢
建站咨詢
