美文网首页
微信小程序开发-获取用户信息

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

作者: 天空的颜色_73f0 | 来源:发表于2018-12-10 18:10 被阅读0次

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

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

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

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

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

    相关文章

      网友评论

          本文标题:微信小程序开发-获取用户信息

          本文链接:https://www.haomeiwen.com/subject/qvsttqtx.html