由于好久没有写小程序这个功能了,导致自己很混乱,问了好几个人后又结合自己公司开发给出的接口,大致梳理了一下获取用户手机号的流程,仅供参考
首先要明确一个东西,获取用户手机号是可以直接授权登陆成功的,刚开始时我的思路是获取到用户手机号后想要登录成功还需要获取用户的头像昵称之类的。其实登录分为两种,一个是正常的授权登录(获取用户头像昵称openid等),另一个是手机号直接登录,获取不到用户的头像昵称之类的,但是可以获取到手机号和openid。两者互不影响。
1、用button组件的open-type="getPhoneNumber"功能,此处我用的是uniapp框架,不能直接使用bindgetphonenumber,要变一下写法,用@getphonenumber="getPhoneNumber"
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">获取手机号</button>
<button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">获取手机号</button>
2、调用getPhoneNumber方法。
if (e.detail.errMsg == 'getPhoneNumber:fail user deny') {
//用户取消了授权
}else{
//授权成功
}
授权成功后我们一定是要在回调函数中进行操作了。然