W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
基礎(chǔ)庫(kù) 1.14.0 版本開始支持。
預(yù)拉取能夠在小程序冷啟動(dòng)的時(shí)候通過QQ后臺(tái)提前向第三方服務(wù)器拉取業(yè)務(wù)數(shù)據(jù),當(dāng)代碼包加載完時(shí)可以更快地渲染頁(yè)面,減少用戶等待時(shí)間,從而提升小程序的打開速度。
登錄小程序管理后臺(tái),進(jìn)入設(shè)置 -> 開發(fā)設(shè)置 -> 數(shù)據(jù)預(yù)拉取,點(diǎn)擊啟用,填寫數(shù)據(jù)下載地址,只支持 HTTPS。
第一次啟動(dòng)小程序時(shí),調(diào)用 qq.setBackgroundFetchToken() 設(shè)置一個(gè) TOKEN 字符串,可以跟用戶態(tài)相關(guān),會(huì)在后續(xù) QQ 客戶端向開發(fā)者服務(wù)器請(qǐng)求時(shí)帶上,便于給后者校驗(yàn)請(qǐng)求合法性。
示例:
App({
onLaunch() {
qq.setBackgroundFetchToken({
token: "xxx"
});
}
});
當(dāng)用戶打開小程序時(shí),QQ 服務(wù)器將向開發(fā)者服務(wù)器(上面配置的數(shù)據(jù)下載地址)發(fā)起一個(gè) HTTP GET 請(qǐng)求,其中包含的 query 參數(shù)如下,數(shù)據(jù)獲取到后會(huì)將整個(gè) HTTP body 緩存到本地。
屬性 | 類型 | 必填 | 說明 |
---|---|---|---|
appid | String | 是 | 小程序標(biāo)識(shí) |
token | String | 否 | 前面設(shè)置的 TOKEN |
code | String | 否 | 用戶登錄憑證,未設(shè)置 TOKEN 時(shí)由QQ側(cè)預(yù)生成,可在開發(fā)者后臺(tái)調(diào)用 auth.code2Session,換取 openid 等信息 |
timestamp | Number | 是 | 時(shí)間戳,QQ客戶端發(fā)起請(qǐng)求的時(shí)間 |
path | String | 否 | 打開小程序的路徑 |
query | String | 否 | 打開小程序的 query |
scene | Number | 否 | 打開小程序的場(chǎng)景值 |
query 參數(shù)會(huì)使用 urlencode 處理 token 和 code 只會(huì)存在一個(gè),用于標(biāo)識(shí)用戶身份 開發(fā)者服務(wù)器接口返回的數(shù)據(jù)類型應(yīng)為字符串,且大小應(yīng)不超過 256KB,否則將無法緩存數(shù)據(jù)
用戶啟動(dòng)小程序時(shí),調(diào)用 qq.getBackgroundFetchData() 獲取已緩存到本地的數(shù)據(jù)。 示例:
App({
onLaunch() {
qq.getBackgroundFetchData({
fetchType: "pre",
success(res) {
console.log(res.fetchedData); // 緩存數(shù)據(jù)
console.log(res.timeStamp); // 客戶端拿到緩存數(shù)據(jù)的時(shí)間戳
console.log(res.path); // 頁(yè)面路徑
console.log(res.query); // query 參數(shù)
console.log(res.scene); // 場(chǎng)景值
}
});
}
});
暫不支持,開發(fā)者工具后續(xù)版本將進(jìn)行更新
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)系方式:
更多建議: