微信小程序比较用户微信客户端版本号

微信小程序比较用户微信客户端版本号

一、文章背景
事出有因,最近开发小程序使用getPhoneNumber获取用户手机号,使用的是安全升级版getPhoneNumber,然而升级后的方法对客户的微信App版本号是有要求的!
在这里插入图片描述
二、实操,代码增加判断
所以在微信小程序的入口文件app.js这里做了微信客户端版本号的判断,代码如下

// 微信客户端版本号比较
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
 }

// 获取微信版本
const version = wx.getSystemInfoSync().version // 微信版本号 如:8.0.23
const paltsfrom =  wx.getSystemInfoSync().platform // ios 或 安卓
if(paltsfrom == 'ios' || paltsfrom == 'android'){
    
    
	if (this.compareVersion(version, '8.0.16') >= 0) {
    
    
      this.globalData.isGetPhoneNumber = true
	} else {
    
    
	  // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
	  // wx.showModal({
    
    
	  //   title: '提示',
	  //   content: '当前微信版本过低,部分功能将会无法正常使用,请升级到最新微信版本后重试。'
      // })
      this.globalData.isGetPhoneNumber = false
	}
}

三、传送门,相关文章
1.【面向公告编程】关于 getPhoneNumber 安全升级后获取手机号的误区
2.低版本兼容
3.wx.getSystemInfo(Object object)方法

猜你喜欢

转载自blog.csdn.net/TurtleOrange/article/details/125655795