W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
小程序的功能不斷的增加,但是舊版本的QQ客戶端并不支持新功能,所以在使用這些新能力的時候需要做兼容。 開發(fā)者可以通過以下方式進行低版本的兼容:
QQ客戶端和小程序基礎庫的版本號風格為 Major.Minor.Patch(主版本號.次版本號.修訂版本號)。
文檔中會在組件,API等頁面描述中帶上各個功能所要求的最低基礎庫版本號。
開發(fā)者可以在小程序中通過調用 qq.getSystemInfo
或者 qq.getSystemInfoSync
獲取到當前小程序運行的基礎庫的版本號。通過版本號比較的方式進行運行低版本兼容邏輯。
版本號比較適用于所有情況。部分場景下也可以使用后面提到的方法完成
注意:不要直接使用字符串比較的方法進行版本號比較。 版本號比較可以參考以下代碼:
function compareVersion(v1, v2) {
v1 = v1.split('.')
v2 = v2.split('.')
const len = Math.max(v1.length, v2.length)
while (v1.length < len) {
v1.push('0')
}
while (v2.length < len) {
v2.push('0')
}
for (let i = 0; i < len; i++) {
const num1 = parseInt(v1[i])
const num2 = parseInt(v2[i])
if (num1 > num2) {
return 1
} else if (num1 < num2) {
return -1
}
}
return 0
}
compareVersion('1.11.0', '1.9.9') // 1
const version = qq.getSystemInfoSync().SDKVersion
if (compareVersion(version, '1.1.0') >= 0) {
qq.openBluetoothAdapter()
} else {
// 如果希望用戶在最新版本的客戶端上體驗您的小程序,可以這樣子提示
qq.showModal({
title: '提示',
content: '當前QQ版本過低,無法使用該功能,請升級到最新QQ版本后重試。'
})
}
對于新增的 API,可以通過判斷該API是否存在來判斷是否支持用戶使用的基礎庫版本。例如:
if (qq.openBluetoothAdapter) {
qq.openBluetoothAdapter()
} else {
// 如果希望用戶在最新版本的客戶端上體驗您的小程序,可以這樣子提示
qq.showModal({
title: '提示',
content: '當前QQ版本過低,無法使用該功能,請升級到最新QQ版本后重試。'
})
}
除了直接通過版本號判斷,也可以通過 qq.canIUse 來判斷是否可以在該基礎庫版本下直接使用。例如: API 參數(shù)或返回值 對于 API 的參數(shù)或者返回值有新增的參數(shù),可以判斷用以下代碼判斷。
qq.showModal({
success(res) {
if (qq.canIUse('showModal.cancel')) {
console.log(res.cancel)
}
}
})
組件
對于組件,新增的組件或屬性在舊版本上不會被處理,不過也不會報錯。如果特殊場景需要對舊版本做一些降級處理,可以這樣子做。
Page({
data: {
canIUse: qq.canIUse('cover-view')
}
})
<video controls="{{!canIUse}}">
<cover-view qq:if="{{canIUse}}">play</cover-view>
</video>
canIUse 的數(shù)據(jù)文件隨基礎庫進行更新,新版本中的新功能可能出現(xiàn)遺漏的情況,建議開發(fā)者在使用時提前測試。
需要 8.0.0 及以上版本QQ客戶端支持
為便于開發(fā)者解決低版本基礎庫無法兼容小程序的新功能的問題,開發(fā)者可設置小程序最低基礎庫版本要求。
開發(fā)者可以登錄QQ小程序管理后臺,進入「設置 - 基本設置 - 基礎庫最低版本設置」進行配置。在配置前,開發(fā)者可查看近 30 天內訪問當前小程序的用戶所使用的基礎庫版本占比,以幫助開發(fā)者了解當前用戶使用的情況。
設置后,若用戶基礎庫版本低于設置值,則無法正常打開小程序,并提示用戶更新客戶端版本。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: