1、搬一下微信文档的版本号比较法,搬到util.js里面。
//#region 版本兼容判断
const 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
}
//#endregion
//#region 当前版本
const version =()=>{
let version=wx.getSystemInfoSync().SDKVersion;
return version;
}
//#endregion
module.exports = {
compareVersion:compareVersion,
version:version
}
2、checkversion.js 简易封装便于多个地方使用和修改对比的版本号
最新版的获取手机号的button的基础库版本是2.21.2,事件回调获取到动态令牌
code,
更新了可以多获取到一个code到后台换取到手机号。
let util=require("util.js");
let getPhoneNumberversion="2.21.2";
const showModMSG=(title,content)=>{
wx.showModal({
title: title,
content: content
});
}
const checkGetPhoneVersion = ()=>{
if (util.compareVersion(util.version(),getPhoneNumberversion) >= 0) {
return true
} else {
showModMSG('提示','当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。');
return false;
}
}
module.exports = {
checkGetPhoneVersion:checkGetPhoneVersion
}
3、使用基础库版本兼容
wxml
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">按钮</button>
js
const util = require("../../utils/util"),
version = require("../../utils/checkversion");
Page({
getPhoneNumber (e) {
if(version.checkGetPhoneVersion()){
console.log("版本大于或等于2.21.2,获取到code")
}else{
console.log("版本未到2.21.2,获取不到code,兼容旧版的encryptedData,vi,到后台解密处理")
}
},
})
改版本位置,在工具右上角
获取到返回的新版信息,带code
将code拿到后台就可以换取到手机号。
请求接口:
phonenumber.getPhoneNumber | 微信开放文档
祝大家一次成功。\(^o^)/。
版权声明:本文为as66708原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。