微信小程序、微信低版本兼容

基础库低版本兼容

小程序的功能不断的增加,但是旧版本的微信客户端并不支持新功能,所以在使用这些新能力的时候需要做兼容。

1版本号比较

js
  _getuserinfo() {
     
    // 4 13
    // 2.10.4
    // 获取到用户的客户端基础库版本
    let version = wx.getSystemInfoSync()
    console.log(version.SDKVersion)
    this.compareVersion(version.SDKVersion, "2.10.4")
    // 加判断
    if (this.compareVersion(version.SDKVersion, "2.10.4") >= 0) {
     
      // 支持当前api
      wx.getUserProfile({
     
        desc: '获取信息',
      })

    } else {
     
      // 不支持当前api
      wx.showToast({
     
        title: '请升级您的微信客户端',
        icon:'none'
      })
    }
  },
      
  
    版本号比较的函数,直接参考文档
    https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html
  compareVersion(v1, v2) {
     
    v1 = v1.split('.') // 变成数组
    v2 = v2.split('.')
    const len = Math.max(v1.length, v2.length)

    // 2.14    2.10.4
    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
  }

2API 存在判断

  _getuserinfo(){
     
    if(wx.getUserProfile){
     
      // 支持
      wx.getUserProfile({
     
        desc: '获取信息',
      })
    }else{
     
      // 不支持
      wx.showToast({
     
        title: '请升级微信版本',
      })
    }
  },

2.3wx.canIUse

  let res = wx.canIUse('console.log')
    console.log(res)

你可能感兴趣的:(小程序,uni-app,小程序,前端)