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
属性类型默认值必填说明
langstringen否显示用户信息的语言
descstring是声明获取用户个人信息后的用途,不超过30个字符
successfunction否接口调用成功的回调函数
failfunction否接口调用失败的回调函数
completefunction否接口调用结束的回调函数(调用成功、失败都会执行)
2.2 object.lang 的合法值
值说明最低版本
en英文
zh_CN简体中文
zh_TW繁体中文
2.3 object.success 回调函数
参数
Object res
属性类型说明最低版本
rawDatastring不包括敏感信息的原始数据字符串,用于计算签名2.10.4
signaturestring使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息,详见用户数据的签名验证和加解密2.10.4
encryptedDatastring包括敏感数据在内的完整用户信息的加密数据,详见用户数据的签名验证和加解密2.10.4
ivstring加密算法的初始向量,详见用户数据的签名验证和加解密2.10.4
cloudIDstring敏感数据对应的云 ID,开通云开发的小程序才会返回,可通过云调用直接获取开放数据,详细见云调用直接获取开放数据2.10.4
上面的方法介绍以及参数解释均来源于微信小程序官方开发文档。
3、具体使用
第一步、 新建一个小程序工程,建立一个测试页面,如下所示:
第二步 写代码
首先给 getuserinfo.wxml 中添加如下布局代码:
<!--pages/getuserinfo/getuserinfo.wxml-->申请获得你的公开信息(用户昵称、头像、城市等)获取用户基本信息获取到的用户信息:{{userInfoStr}}
其次在getuserinfo.js 中添加如下实现代码:
// pages/getuserinfo/getuserinfo.jsPage({/**
* 页面的初始数据
*/data: {userInfo:{},userInfoStr:''},/**
* 生命周期函数--监听页面加载
*/onLoad:function(options){//查看是否授权wx.getSetting({success:function(res){if(res.authSetting['scope.userInfo']) {console.log("用户授权了"); }else{//用户没有授权console.log("用户没有授权"); } } }); },getUserProfile:function(res){ wx.getUserProfile({desc:'用于微信账号与平台账号绑定',// 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写success:(res)=>{console.log("获取到的用户信息成功: ",JSON.stringify(res));this.setData({userInfo: res,userInfoStr:JSON.stringify(res) }) },fail:(res)=>{console.log("获取用户个人信息失败: ",res);//用户按了拒绝按钮wx.showModal({title:'警告',content:'您点击了拒绝授权,将无法进入小程序,请授权之后再进入!!!',showCancel:false,confirmText:'返回授权',success:function(res){// 用户没有授权成功,不需要改变 isHide 的值if(res.confirm) {console.log('用户点击了“返回授权”'); } } }); } })},})
完成之后,编译运行到真机(注意一定要运行到手机真机上,不然会报getUserProfile找不到)。
4、运行结果
运行结果如下所示: 点击 ”获取用户基本信息“按钮: 点击 ”允许“ 按钮: 点击 ”拒绝“ 按钮
好了到这里获取微信用户个人信息的功能基本是实现了。
如果文章对你有所帮助动动你的小手点个赞哟~
下一篇文章记录一下怎样获取微信手机号码。
网友评论