新聞中心
- 版本號比較
版本號比較
智能小程序客戶端和智能小程序基礎(chǔ)庫版本號風(fēng)格為 Major.Minor.Patch(主版本號.次版本號.修訂號),可以通過 swan.getSystemInfo 或者 swan.getSystemInfoSync 方法返回的 SDKVersion 字段來獲取。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供上城網(wǎng)站建設(shè)、上城做網(wǎng)站、上城網(wǎng)站設(shè)計、上城網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、上城企業(yè)網(wǎng)站模板建站服務(wù),10余年上城做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
代碼示例
swan.getSystemInfoSync()/*{brand: "iPhone", // 手機品牌model: "iPhone 6", // 手機型號pixelRatio: 2, // 設(shè)備像素比language: "zh_CN", // 宿主 App 設(shè)置的語言version: "6.5.23", // 宿主 App 版本號system: "iOS 9.3.4", // 操作系統(tǒng)版本platform: "ios", // 客戶端平臺SDKVersion: "1.7.0", // 小程序基礎(chǔ)庫版本host: "1.7.0", // 宿主平臺 如:baiduboxapp}*/
智能小程序的 API 和組件會標(biāo)明支持的基礎(chǔ)庫版本,開發(fā)者可以比較基礎(chǔ)庫版本號來進行兼容,這通常可以兼容所有情況,對于 API 和組件的兼容也可以考慮后面提供的其他方法。
不少開發(fā)者會使用錯誤的版本號比較方法,例如直接用字符串比較,parseInt 比較等,往后當(dāng)基礎(chǔ)庫版本號提升上去后,會引發(fā)一些邏輯錯誤,如下所示:
代碼示例:不建議使用
// info.SDKVersion == "1.11.0"var info = swan.getSystemInfoSync()// 結(jié)果實際為false,無法進入if語句if (info.SDKVersion > "1.9.0") {// 處理高版本小程序的邏輯}
版本號比較可以參考下面的方法來判斷:
代碼示例:
function compareVersion(v1, v2) {v1 = v1.split('.')v2 = v2.split('.')var len = Math.max(v1.length, v2.length)while (v1.length < len) {v1.push('0')}while (v2.length < len) {v2.push('0')}for (var i = 0; i < len; i++) {var num1 = parseInt(v1[i])var 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
注意:
此方法同樣適用于判斷百度 APP 版本,但在不得不使用百度 APP 版本進行判斷兼容的情況下,請使用 SWAN 版本進行判斷兼容。
網(wǎng)站標(biāo)題:創(chuàng)新互聯(lián)百度小程序教程:版本號比較
文章源于:http://m.fisionsoft.com.cn/article/dhcoghp.html


咨詢
建站咨詢
