1、背景
前段时间公司要求做微信小程序的开发,将我们现有移动端的功能在小程序上实现,由于之前是做Android开发的,对小程序其实不咋了解,但领导要求只能硬着头皮上了。
经过一段时间的摸索,能够做一些简单的功能,我们的小程序需要获取微信用户的基本信息以及电话号码,去做用户绑定,所以下面就把获取微信用户信息的过程在此记录一下,以便后面可以进行回顾。
微信小程序官方开发文档:https://developers.weixin.qq.com/miniprogram/dev/framework/
2、方法介绍
获取微信公开的用户信息通过 wx.getUserProfile(Object object)方法,其实在之前获取用户信息是通wx.getUserInfo(Object object)方法来实现的。
但微信方面对wx.getUserInfo接口做了调整,所以在此我们微信最新提供的wx.getUserProfile(Object object)方法来获取微信用户信息。
下面对 wx.getUserProfile(Object object) 的参数以及返回值进行简要说明。
2.1 参数 object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
lang | string | en | 否 | 显示用户信息的语言 |
desc | string | 是 | 声明获取用户个人信息后的用途,不超过30个字符 | |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
其中 desc 是必须要填,用于说明获取用户个人信息的用途。
2.2 object.lang 的合法值
值 | 说明 | 最低版本 |
---|---|---|
en | 英文 | |
zh_CN | 简体中文 | |
zh_TW | 繁体中文 |
2.3 object.success 回调函数
参数
Object res
属性 | 类型 | 说明 | 最低版本 |
---|---|---|---|
userInfo | UserInfo | 用户信息对象 | 2.10.4 |
rawData | string | 不包括敏感信息的原始数据字符串,用于计算签名 | 2.10.4 |
signature | string | 使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,详见 用户数据的签名验证和加解密 | 2.10.4 |
encryptedData | string | 包括敏感数据在内的完整用户信息的加密数据,详见 用户数据的签名验证和加解密 | 2.10.4 |
iv | string | 加密算法的初始向量,详见 用户数据的签名验证和加解密 | 2.10.4 |
cloudID | string | 敏感数据对应的云 ID,开通云开发的小程序才会返回,可通过云调用直接获取开放数据,详细见云调用直接获取开放数据 | 2.10.4 |
上面的方法介绍以及参数解释均来源于微信小程序官方开发文档。
3、具体使用
第一步、 新建一个小程序工程,建立一个测试页面,如下所示:
第二步、 写代码
首先给 getuserinfo.wxml 中添加如下布局代码:
其次在getuserinfo.js 中添加如下实现代码:
完成之后,编译运行到真机(注意一定要运行到手机真机上,不然会报getUserProfile找不到)。
4、运行结果
运行结果如下所示:
点击 ”获取用户基本信息“ 按钮:
好了到这里获取微信用户个人信息的功能基本是实现了。
如果文章对你有所帮助动动你的小手点个赞哟~
下一篇文章记录一下怎样获取微信手机号码。