准备一个button组件, 将 button 组件 open-type 的值设置为 getPhoneNumber ,当用户点击并同意之后,可以通过 bindgetphonenumber 事件回调获取到动态令牌 code 。
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">点击获取电话号码</button>
Page({getPhoneNumber(e) {console.log(de)}})
接着把 code 传到开发者后台,并在开发者后台调用微信后台提供的 PhoneNumber 接口,消费 code 来换取用户手机号。每个 code 有效期为5分钟,且只能消费一次。
getPhoneNumber: function(e) {console.log(Msg == "getPhoneNumber:ok");if (Msg === "getPhoneNumber:ok") {wx.request({url: ' localhost/index/users/decodePhone',data: {encryptedData: ptedData,iv: e.detail.iv,sessionKey: this.data.session_key,uid: "",},method: "post",success: (res) => {console.log(res);}})}}
注: getPhoneNumber 返回的 code 与 wx.login 返回的 code 作用是不一样的,不能混用。
注:从基础库 2.21.2 开始,对获取手机号的接口进行了安全升级, 需要用户主动触发才能发起获取
手机号接口,所以该功能不由 API 来调用,需用 button 组件的点击来触发。另外,新版本接口 不
再需要提前调用 wx.login 进行登录。
本文发布于:2024-02-02 16:35:31,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170686293245053.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |