微信小程序比较用户微信客户端版本号
一、文章背景
事出有因,最近开发小程序使用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)方法