微信小程序> 微信小程序比较版本号

微信小程序比较版本号

浏览量:2295 时间: 来源:zpzxgcr
小程序基础库版本号使用 semver 规范,格式为 Major.Minor.Patch,其中Major、Minor、Patch均为整数,1.9.901、2.44.322、10.32.44 都是符合 semver 风格的版本号。通常我们月度发布版本会把Minor提升一位,例如从1.9.x升级到1.10.x,如果是修正版本,会把Patch提升一位,例如1.10.0升级到 1.10.1。Major位则是重大特性发布时才会被提升一位。
在小程序中,可以通过wx.getSystemInfo()或者wx.getSystemInfoSync()方法获取小程序版本号
不少开发者会使用错误的版本号比较方法,例如直接用字符串比较,parseInt 比较等,往后当基础库版本号提升上去后,会引发一些逻辑错误,如代码8所示。
var info = wx.getSystemInfoSync() // info.SDKVersion == "1.11.0"if (info.SDKVersion  "1.9.0") { // 此时条件为false,无法进入if分支  // 处理高版本小程序的逻辑}
正确的比较方法如下
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 // 1表示 1.11.0比1.9.9要新compareVersion('1.11.0', '1.11.0') // = 0 // 0表示1.11.0和1.9.9是同一个版本compareVersion('1.11.0', '1.99.0') // = -1 // -1表示1.11.0比 1.99.0要老

以上就是小程序版本号比较的写法,为了兼容低版本用户以及某些场景下非常试用

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎