微信小程序获取用户信息及手机号授权的流程

 我们在进行小程序开发的时候,往往需要获取微信用户的部分个人信息,常见的有用户头像,昵称等。微信小程序官方文档上对获取用户信息的接口有详细的介绍,但在2021年4月份后,小程序官方对获取用户信息的方式有了一些变更,考虑到部分开发者可能不了解变更情况,所以本文对当前微信小程序获取用户信息的方式进行一个总结,并介绍一些关于小程序手机号授权相关的内容。

1. wx.getUserInfo
 这是以前小程序用来获取用户信息的官方接口,官方文档:getUserInfo,在使用这种方式时,有一个好处就是不需要用户授权,即对用户无感的方式获取用户信息。但它的问题在于,在2021年4月份的更新上,微信不想继续使用这种在用户不知情的情况下获取用户信息的方式,所以增加了其他接口来获取用户信息。但原来的getUserInfo并没有被抛弃,只是现在获取的用户信息就无法获取真正的用户信息了,获取到的只能是一个类似游客身份的用户信息。
2021年4月份后调用getUserInfo的效果


2. wx.getUserProfile
 这是2021年4月份之后用来代替getUserInfo的新接口,官方文档:wx.getUserProfile,其最大的特点一是在于需要使用点击事件来调用该方法,二是一定需要用户授权之后才能获取用户信息。用户授权之后,就能返回用户真正的头像,昵称性别等用户信息。
在这里插入图片描述


3. open-data
 上面的方法2虽然是最新的,但是对于开发人员来说会有两个问题。一是想小程序一打开就能加载到用户的信息,没有按钮去触发wx.getUserProfile,这怎么办。二是原本获取用户信息是无感的,突然要让用户多一步确认,用户不爽怎么办,有没有不需要让用户确认就能获取信息的办法呢。要解决这两个问题的话,就可以使用open-data,这是一个在wxml里面使用的标签,官方文档地址:open-data。这个方法可以在用户无感的情况下直接获取用户头像等信息,然后直接展示在页面上。


 以上就是微信小程序获取用户信息的一些内容,希望能帮助到大家。


 接下来再说下获取用户手机号,手机号授权的流程,微信官方文档:获取手机号。首先需要一个按钮的点击事件。

<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button>

 触发后,会弹框让用户选择是否授权
在这里插入图片描述
 用户点击允许后就会从微信那边获取到数据,但这个数据不是直接的手机号,它是微信一段加密的数据。
返回的数据
 这段加密的数据是需要解密才能得到正确的手机号的,解密的官方文档:加密数据解密算法。需要传encryptedData,iv和session_key,小程序官方也贴心的提供了部分语言解密的代码,就在上面的链接地址里面,但只有部分语言,其他语言的话需要开发者在网上寻找热心网友了。
微信官方提供的解密代码示例


 以上就是微信小程序目前获取用户信息和手机号授权的流程介绍了,希望能帮助到大家一起学习。

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LeeBrook0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值