微信小程序获取用户信息的两种方法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 相关文章推荐
js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome
Nov 26 Javascript
javascript 面向对象全新理练之数据的封装
Dec 03 Javascript
JSQL 基于客户端的成绩统计实现方法
May 05 Javascript
基于jquery的15款幻灯片插件
Apr 10 Javascript
js文件Cookie存取值示例代码
Feb 20 Javascript
jquery实现的动态回到顶部特效代码
Oct 28 Javascript
利用原生JS自动生成文章标题树的实例
Aug 22 Javascript
详解JS中的this、apply、call、bind(经典面试题)
Sep 19 Javascript
详解webpack编译多页面vue项目的配置问题
Dec 11 Javascript
如何使用VuePress搭建一个类型element ui文档
Feb 14 Javascript
javascript事件监听与事件委托实例详解
Aug 16 Javascript
Vue使用轮询定时发送请求代码
Aug 10 Javascript
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利用header跳转失效的解决方法
2014/10/24 PHP
PHP动态柱状图实现方法
2015/03/30 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
2015/10/08 PHP
PHP生成word文档的三种实现方式
2016/11/14 PHP
微信 getAccessToken方法详解及实例
2016/11/23 PHP
深入理解PHP+Mysql分布式事务与解决方案
2020/12/03 PHP
优化JavaScript脚本的性能的几个注意事项
2006/12/22 Javascript
javaScript 简单验证代码(用户名,密码,邮箱)
2009/09/28 Javascript
Javascript学习笔记9 prototype封装继承
2010/01/11 Javascript
myFocus slide3D v1.1.0 使用方法与下载
2011/01/12 Javascript
简单的js表单验证函数
2013/10/28 Javascript
node.js使用require()函数加载模块
2014/11/26 Javascript
jquery+CSS3实现淘宝移动网页菜单效果
2015/08/31 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
2017/03/23 Javascript
彻底搞懂JavaScript中的apply和call方法(必看)
2017/09/18 Javascript
微信小程序中吸底按钮适配iPhone X方案
2017/11/29 Javascript
Vue cli+mui 区域滚动的实例代码
2018/01/25 Javascript
浅谈Vue初学之props的驼峰命名
2018/07/19 Javascript
python实现中文转换url编码的方法
2016/06/14 Python
Django model序列化为json的方法示例
2018/10/16 Python
在Python中os.fork()产生子进程的例子
2019/08/08 Python
Python正则表达式急速入门(小结)
2019/12/16 Python
Python lxml模块的基本使用方法分析
2019/12/21 Python
Python中的 ansible 动态Inventory 脚本
2020/01/19 Python
Windows下Anaconda安装、换源与更新的方法
2020/04/17 Python
Python selenium模块实现定位过程解析
2020/07/09 Python
python判断字符串以什么结尾的实例方法
2020/09/18 Python
css3闪亮进度条效果实现思路及代码
2013/04/17 HTML / CSS
精选干货:Java精选笔试题附答案
2014/01/18 面试题
应届生骨科医生求职信
2013/10/31 职场文书
公司运动会策划方案
2014/05/25 职场文书
技术入股合作协议书
2014/10/07 职场文书
少先队工作总结2015
2015/05/13 职场文书
监守自盗观后感
2015/06/10 职场文书
简单实现一个手持弹幕功能+文字抖动特效
2021/03/31 HTML / CSS
九大龙王魂骨,山龙王留下躯干骨,榜首死的最憋屈(被捏碎)
2022/03/18 国漫