微信小程序获取用户信息

微信小程序获取用户手机号码(类似膜拜手机号授权),自己写的程序也用到了,查看微信小程序文档,原来微信提供了方法,
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"> </button>
直接就可以 调取微信的授权方法如下图:

 

授权图片

具体方法如下

流程图.png


1.客户端调用wx.login,返回数据包含了js_code,用于获取openid(用户唯一标识)和sessionkey(会话密钥)。
2.拿到js_code后,将其发送给服务端,服务端拿它与微信服务端做交互获取openid和sessionkey。(也可以自己直接调用微信的接口,openid和sessionkey)
(1)自己拿拿数据的方法
需要的参数为(appid,secret,js_code)
wx.request({
url: 'https://api.weixin.qq.com/sns/jscode2session?appid=' + appId + '&secret=' + secret + '&js_code=' + code + '&grant_type=authorization_code',
data: {},
header: {
'content-type': 'json'
},
success: function (res) {
var openid = res.data.openid //返回openid
var session_key = res.data.session_key//返回session_key
}
})
(2). 服务器拿数据的方法
服务器拿数据的方法,更是简单:直接用js_code调用服务器的方法,服务器直接返回openid和sessionkey。(推荐用第二种方法,因为appid,secret保存到后台比较安全)

 

3.当用户点击了绑定用户手机号码<button>,微信调用方法:
Page({
getPhoneNumber: function(e) {
console.log(e.detail.errMsg)
console.log(e.detail.iv)
console.log(e.detail.encryptedData) //加密的用户信息
}
})
具体可以看一下文档https://mp.weixin.qq.com/debug/wxadoc/dev/api/getPhoneNumber.html,(拿session_key和encryptedData、vi解密手机号)
解密:微信提供了几种方法,让自己的服务器解密,最终拿到的格式为:

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值