评论

【实战记录】使用新版接口获取手机号过程中,对小程序的基础库版本的了解

升级获取手机号接口过程中,对小程序的基础库版本的了解

描述:

老版文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/deprecatedGetPhoneNumber.html

新版文档: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更简洁了,但也注意不能滥用哦~,好吧就到这里了,如有描述的不到位的地方,欢迎大家指正哈~

最后一次编辑于  2022-06-05  
点赞 12
收藏
评论
登录 后发表内容