描述:
新版文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html
如题所示,最近项目中对获取手机号的接口进行升级,这里先展示下老版的写法
wxml部分:
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button>
js部分:
getphonenumber(e) {
wx.login({
success (res) {
if (res.code) {
//发起网络请求
wx.request({
url: 'https://example.com/onLogin',
data: {
code: res.code
},
success (res) {
const data = {
...,
encryptedData: e.detail.encryptedData,
iv: e.detail.iv,
sessionKey: res.data.session_key
}
wx.request({
url: 'https://example.com/getphonenumber',
data,
success (res) {
// todo
}
})
}
})
}
}
})
}
新版写法:
getphonenumber(e) {
wx.request({
url: 'https://example.com/getphonenumber',
data: {
code: e.detail.code
},
success (res) {
// todo
}
})
}
分析:
1、如文档所说旧版用户使用不当会存在下图所示问题,本身项目定位也是做自己的产品,也本着长期发展的目标,决定进行此次更新。
2、新版代码简洁逻辑清晰,但若在项目中替换的话,还需要考虑到用户版本库使用情况,原因是:从基础库 2.21.2 开始,对获取手机号的接口进行了安全升级,这时需要登录下我们的小程序管理后台,设置-》基本设置-》基础库最低版本设置;查看下当前小程序用户版本库使用的占比情况,如下图所示,由于我们当前的小程序自2.21.3以下没有用户再使用,故直接设置了2.21.2,这样设置后,假设后面有低版本用户访问我们小程序的话,微信侧会提示用户去更新微信版本
3、考虑如果其他同学项目发现有部分用户的版本是低于2.21.2的,这时可能就需要做兼容处理了。
小结:
获取手机号虽然api更简洁了,但也注意不能滥用哦~,好吧就到这里了,如有描述的不到位的地方,欢迎大家指正哈~