微信小程序开发-获取用户信息

2018-12-10  本文已影响0人  天空的颜色_73f0

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

属性类型说明最低版本

userInfoUserInfo用户信息对象2.10.4

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、运行结果

运行结果如下所示:                              点击 ”获取用户基本信息“按钮:                点击  ”允许“ 按钮:                   点击 ”拒绝“ 按钮

好了到这里获取微信用户个人信息的功能基本是实现了。

如果文章对你有所帮助动动你的小手点个赞哟~

下一篇文章记录一下怎样获取微信手机号码。

上一篇下一篇

猜你喜欢

热点阅读