微信小程序获取手机号用户拒接之后再掉接口微信返回40163

在项目开发中,微信小程序获取手机后调用接口,在调用成功之后调用接口
代码如下:

<button  type="primary" open-type="getPhoneNumber" @getphonenumber="onGetPhoneNumber">请授权绑定微信手机号</button>
onGetPhoneNumber(e){
	console.log(e)
	let that = this
	//this.code指的是调用wx.login换取的code
	if(this.code){
		//...请求接口的代码
	}
},

这样调用接口之后,微信那边返回40163

{"errcode":40163,"errmsg":"code been used, rid: 627c06d1-3dadd0ed-1df1d502"}

报错代码:40163 ,原因是code:代码已使用,因为你换了小程序AppID
检查没有换AppID,code使用过了,于是改成这个样子写

onGetPhoneNumber(e){
	console.log(e)
	let that = this
	//this.code指的是调用wx.login换取的code
	//e.detail.code指的是获取微信手机号换取的code
	if(this.code && e.detail.code ){
		//...请求接口的代码
	}
},

这样双重判断,可以保证code没有被使用
如果这篇文章对你有帮助的话,点个赞吧❤️❤️❤️

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您好,这是两个不同的功能,我来分别回答。 1. Java实现微信手机号登录 要实现微信手机号登录,您需要先了解微信开放平台和短信验证码服务商的接口文档。 对于微信登录,您可以通过微信开放平台提供的OAuth2.0授权登录接口实现。具体步骤如下: - 用户点击登录按钮,跳转到微信授权页面。 - 用户微信授权页面上确认授权登录。 - 微信授权服务器返回授权码。 - 通过授权码获取access_token和openid。 - 使用openid作为用户唯一标识,完成登录逻辑。 对于手机号登录,您可以使用短信验证码服务商提供的接口实现。具体步骤如下: - 用户输入手机号码并点击获取验证码按钮。 - 调用短信验证码服务商提供的发送短信验证码接口,将验证码发送到用户手机上。 - 用户输入收到的验证码并点击登录按钮。 - 调用短信验证码服务商提供的校验短信验证码接口进行验证。 - 验证通过后,使用手机号码作为用户唯一标识,完成登录逻辑。 2. 微信小程序获取手机号授权用户登录功能 要在微信小程序获取用户手机号码,您可以通过微信小程序提供的button组件和wx.login接口实现。具体步骤如下: - 用户点击获取手机号按钮。 - 调用wx.login接口获取临时登录凭证code。 - 将code发送到您的后台服务器,调用微信提供的auth.code2Session接口换取openid和session_key。 - 后台服务器返回openid和session_key给前端。 - 前端调用微信提供的button组件,设置属性为open-type="getPhoneNumber",并将session_key作为参数传递。 - 用户点击授权登录按钮,微信返回加密的手机号信息和iv。 - 前端将加密的手机号信息和iv发送到后台服务器,调用微信提供的解密算法解密手机号信息。 - 后台服务器返回解密后的手机号给前端,完成登录逻辑。 希望以上回答能够帮助您。如果您还有疑问,请随时提出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值