此处定义
getPhoneNumber 是微信官方要求,获取用户手机号码授权
onGetPhoneNumber是回调函数,获取授权后会回调到该方法,也就脊尘是获取的电话号码就在这个函数的返回值里面。当然这个函数是自定义的,名字大家可以随便起,上面的getPhoneNumber可不能随便修改。枣野链
接着我们通过授权之后,获取第三个参数iv,调用下面方法进行服务端解密
that.deciyption(sessionID,encryptedData,iv)
微信小程序获取密钥失败那是你没受权小程序应用权限导致的,系统无法检测你的登录信息,请重新受权即可。需要将 组件 open-type 的值设置为 getPhoneNumber。用户点击后会d出一个授权d窗让用户确认(若该用户账户未绑定手机号码会执行一次氏或绑定手歼肢伍机号码的流程;授权d窗每次使用都会d出)。 用户同意后,开发者可以通过 bindgetphonenumber 事件回调获取到一个加密数据,开发者可以把该数据传回饥如到自己的服务端进行解密获取手机号。对于第一次实现小程序获取用户手机号、用户信息功能的程序猿来说,有一个着手的思路可以事耐竖半功倍。本文可纯滑以给你提供这个思路,助你快速准确完成需求。
调用wx.login,在成功回调中,拿自己小程序的appId、secret请求接口 url: ' https://api.weixin.qq.com/sns/jscode2session?appid=' + appId + '&secret=' + secret + '&js_code=' +code + '&grant_type=authorization_code',请求成功即可拿到openid和session-key
小程序的appId必须昌裤大要在微信公众平台完成微信认证(里面需要上传一些企业的一些证件和信息)才能有获取用户手机号的权限
最后拿用户的获取到的e.detail.iv、和e.detail.encryptedData(加密的手机号)和前面拿到过的session-key传给后台,交给后台解密即可
具体解密规则参考官方文档:( https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html )
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)