微信小程序获取用户信息的两种方法wx.getUserInfo与open-data实例分析


Posted in Javascript onMay 03, 2019

本文实例讲述了微信小程序获取用户信息的两种方法wx.getUserInfo与open-data。分享给大家供大家参考,具体如下:

在此之前,小程序获取微信的头像,昵称之类的用户信息,我用的都是wx.getUserInfo,例如:

onLoad: function (options) {
  var that = this;
  //获取用户信息
  wx.getUserInfo({
    success: function (res) {
      console.log(res);
      that.data.userInfo = res.userInfo;
      that.setData({
        userInfo: that.data.userInfo
      })
    }
  })
},

wx.getUserInfo需要用户授权scope.userInfo,也就是那个授权弹窗。

微信小程序获取用户信息的两种方法wx.getUserInfo与open-data实例分析

但是!!!重点来了,自从微信接口有了新的调整之后 这个wx.getUserInfo()便不再出现授权弹窗了,需要使用button做引导~

<!--wxml-->
<!-- 需要使用 button 来授权登录 -->
<button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">授权登录</button>
<view wx:else>请升级微信版本</view>

js:

Page({
 data: {
  canIUse: wx.canIUse('button.open-type.getUserInfo')
 },
 onLoad: function() {
  // 查看是否授权
  wx.getSetting({
   success: function(res){
    if (res.authSetting['scope.userInfo']) {
     // 已经授权,可以直接调用 getUserInfo 获取头像昵称
     wx.getUserInfo({
      success: function(res) {
       console.log(res.userInfo)
      }
     })
    }
   }
  })
 },
 bindGetUserInfo: function(e) {
  console.log(e.detail.userInfo)
 }
})

这就是等于一步变两步了~现在用button的话 可以在产品上多加引导,不会显得那么突兀的出来一个弹窗了

然鹅,如果你仅仅只是想展示用户信息的话,那便使用open-data 吧,如下:

<!-- 如果只是展示用户头像昵称,可以使用 <open-data /> 组件 -->
<open-data type="userAvatarUrl"></open-data>
<open-data type="userNickName"></open-data>

只需要这两行wxml的代码,便可展示微信昵称和头像,是不是很惊喜!

微信小程序获取用户信息的两种方法wx.getUserInfo与open-data实例分析

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
List the UTC Time on a Computer
Jun 11 Javascript
仿淘宝TAB切换搜索框搜索切换的相关内容
Sep 21 Javascript
在JavaScript中对HTML进行反转义详解
May 18 Javascript
利用vue-router实现二级菜单内容转换
Nov 30 Javascript
AngularJs表单校验功能实例代码
Feb 09 Javascript
ionic2打包android时gradle无法下载的解决方法
Apr 05 Javascript
Angularjs单选框相关的示例代码
Aug 17 Javascript
深入理解Vue 的钩子函数
Sep 05 Javascript
vue 解决循环引用组件报错的问题
Sep 06 Javascript
使用vue2.0创建的项目的步骤方法
Sep 25 Javascript
js实现带积分弹球小游戏
Jul 21 Javascript
详细聊聊vue中组件的props属性
Nov 02 Vue.js
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
May 02 #Javascript
JavaScript中的垃圾回收与内存泄漏示例详解
May 02 #Javascript
详解微信小程序缓存--缓存时效性
May 02 #Javascript
详解如何使用router-link对象方式传递参数?
May 02 #Javascript
详解Vue底部导航栏组件
May 02 #Javascript
微信小程序搭建自己的Https服务器
May 02 #Javascript
Node.js中Koa2在控制台输出请求日志的方法示例
May 02 #Javascript
You might like
php cookie的操作实现代码(登录)
2010/12/29 PHP
三种php连接access数据库方法
2013/11/11 PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
2014/06/12 PHP
PHP 7.1新特性的汇总介绍
2016/12/16 PHP
实例讲解PHP表单验证功能
2019/02/15 PHP
JavaScript中的类继承
2010/11/25 Javascript
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
2010/12/02 Javascript
JavaScript中__proto__与prototype的关系深入理解
2012/12/04 Javascript
禁用页面部分JavaScript不是全部而是部分
2014/09/03 Javascript
node.js中的fs.mkdirSync方法使用说明
2014/12/17 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
JavaScript中的函数模式详解
2015/02/11 Javascript
深入学习JavaScript中的原型prototype
2015/08/13 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
全面解析JS字符串和正则表达式中的match、replace、exec等函数
2016/07/01 Javascript
window.close(); 关闭浏览器窗口js代码的总结介绍
2016/07/14 Javascript
angular ngClick阻止冒泡使用默认行为的方法
2016/11/03 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
Vue自定义指令使用方法详解
2017/08/21 Javascript
Node.js上传文件功能之服务端如何获取文件上传进度
2018/02/05 Javascript
vue 组件中slot插口的具体用法
2018/04/03 Javascript
Angular.JS读取数据库数据调用完整实例
2019/07/02 Javascript
JavaScript碰撞检测原理及其实现代码
2020/03/12 Javascript
JavaScript实现随机点名程序
2020/03/25 Javascript
使用Vant完成通知栏Notify的提示操作
2020/11/11 Javascript
Python实现全角半角字符互转的方法
2016/11/28 Python
python使用opencv读取图片的实例
2017/08/17 Python
python write无法写入文件的解决方法
2019/01/23 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
司机岗位职责
2013/11/15 职场文书
教师个人的自我评价分享
2014/01/02 职场文书
函授毕业自我鉴定
2014/02/04 职场文书
农村党员一句话承诺
2014/05/30 职场文书
六年级情感作文之500字
2019/10/23 职场文书
导游词之山西关帝庙
2019/11/01 职场文书
el-table-column 内容不自动换行的解决方法
2022/08/14 Vue.js