微信小程序授权获取用户手机号

官方文档:手机号快速验证组件 | 微信开放文档

步骤1:获取code,需要将 button 组件 open-type 的值设置为 getPhoneNumber,当用户点击并同意之后,通过 bindgetphonenumber 事件获取回调信息;

<button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">
	手机号快捷登录
</button>

getPhoneNumber(e){
    console.log(e.detail.code)  // 动态令牌code
    console.log(e.detail.errMsg) // 回调信息(成功失败都会返回)
    console.log(e.detail.errno)  // 错误码(失败时返回)
},

注:官方文档写的是bindgetphonenumber="getPhoneNumber"

        这里我们需要把bindgetphonenumber改为@getphonenumber

步骤2:获取access_token ,通过 getAccessToken | 微信开放文档 获取多端后台接口调用凭据;

wx.request({
    url: 'https://api.weixin.qq.com/cgi-bin/token',
    method: 'GET',
    data:{
        grant_type: 'client_credential',
        appid: 'xxx',
		secret: 'xxx',
	},
	success:(res)=>{
		this.access_token = res.data.access_token
	}
})

appid和secret通过 微信公众平台 → 管理 → 开发管理 获取。

步骤3:通过codeaccess_token去调用获取手机号 | 微信开放文档,获取用户手机号;

wx.request({
	url: 'https://api.weixin.qq.com/wxa/business/getuserphonenumberaccess_token='+this.access_token,
	method: 'POST',
	data:{
		code: e.detail.code
	},
	success:(response)=>{
		console.log(response.data.phone_info.phoneNumber)  //获取用户手机号
	}
})

注:access_token参数是拼在请求URL里的,code是放在data里。

END:大功告成!👏👏😊😊😊👍👍 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值