创新互联百度小程序教程:版本号比较

  • 版本号比较

    版本号比较

    智能小程序客户端和智能小程序基础库版本号风格为 Major.Minor.Patch(主版本号.次版本号.修订号),可以通过 swan.getSystemInfo 或者 swan.getSystemInfoSync 方法返回的 SDKVersion 字段来获取。

    创新互联建站专业为企业提供上城网站建设、上城做网站、上城网站设计、上城网站制作等企业网站建设、网页设计与制作、上城企业网站模板建站服务,10余年上城做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

    代码示例

     
     
     
    1. swan.getSystemInfoSync()
    2. /*
    3. {
    4. brand: "iPhone", // 手机品牌
    5. model: "iPhone 6", // 手机型号
    6. pixelRatio: 2, // 设备像素比
    7. language: "zh_CN", // 宿主 App 设置的语言
    8. version: "6.5.23", // 宿主 App 版本号
    9. system: "iOS 9.3.4", // 操作系统版本
    10. platform: "ios", // 客户端平台
    11. SDKVersion: "1.7.0", // 小程序基础库版本
    12. host: "1.7.0", // 宿主平台 如:baiduboxapp
    13. }
    14. */

    智能小程序的 API 和组件会标明支持的基础库版本,开发者可以比较基础库版本号来进行兼容,这通常可以兼容所有情况,对于 API 和组件的兼容也可以考虑后面提供的其他方法。

    不少开发者会使用错误的版本号比较方法,例如直接用字符串比较,parseInt 比较等,往后当基础库版本号提升上去后,会引发一些逻辑错误,如下所示:

    代码示例:不建议使用

     
     
     
    1. // info.SDKVersion == "1.11.0"
    2. var info = swan.getSystemInfoSync()
    3. // 结果实际为false,无法进入if语句
    4. if (info.SDKVersion > "1.9.0") {
    5. // 处理高版本小程序的逻辑
    6. }

    版本号比较可以参考下面的方法来判断:

    代码示例

     
     
     
    1. function compareVersion(v1, v2) {
    2. v1 = v1.split('.')
    3. v2 = v2.split('.')
    4. var len = Math.max(v1.length, v2.length)
    5. while (v1.length < len) {
    6. v1.push('0')
    7. }
    8. while (v2.length < len) {
    9. v2.push('0')
    10. }
    11. for (var i = 0; i < len; i++) {
    12. var num1 = parseInt(v1[i])
    13. var num2 = parseInt(v2[i])
    14. if (num1 > num2) {
    15. return 1
    16. } else if (num1 < num2) {
    17. return -1
    18. }
    19. }
    20. return 0
    21. }
    22. compareVersion('1.11.0', '1.9.9')
    23. // 1

    注意:
    此方法同样适用于判断百度 APP 版本,但在不得不使用百度 APP 版本进行判断兼容的情况下,请使用 SWAN 版本进行判断兼容。

    网站标题:创新互联百度小程序教程:版本号比较
    文章分享:http://www.shufengxianlan.com/qtweb/news9/259759.html

    网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

    广告

    声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联