微信小程序获取用户信息的两种方法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实现上传图片前的预览(TX的面试题)
Aug 14 Javascript
js中数组Array的一些常用方法总结
Aug 12 Javascript
jquery阻止冒泡事件使用模拟事件
Sep 06 Javascript
jquery 实现滚动条下拉时无限加载的简单实例
Jun 01 Javascript
全面接触神奇的Bootstrap导航条实战篇
Aug 01 Javascript
D3.js实现雷达图的方法详解
Sep 22 Javascript
AngularJS实现进度条功能示例
Jul 05 Javascript
详解Angular中实现自定义组件的双向绑定的两种方法
Nov 23 Javascript
JS获取动态添加元素的方法详解
Jul 31 Javascript
javascript实现切割轮播效果
Nov 28 Javascript
ES6的循环与可迭代对象示例详解
Jan 31 Javascript
uniapp开发打包多端应用完整方法指南
Dec 24 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
输入值/表单提交参数过滤有效防止sql注入的方法
2013/12/25 PHP
PHP多态代码实例
2015/06/26 PHP
php遍历、读取文件夹中图片并分页显示图片的方法
2016/11/15 PHP
PHP与Web页面的交互示例详解二
2020/08/04 PHP
jquery $(document).ready()和window.onload的区别浅析
2015/02/04 Javascript
JS实现DIV容器赋值的方法
2015/12/14 Javascript
Bootstrap入门书籍之(三)栅格系统
2016/02/17 Javascript
JS实现探测网站链接的方法【测试可用】
2016/11/08 Javascript
详解如何构建Angular项目目录结构
2017/07/13 Javascript
详解微信小程序之scroll-view的flex布局问题
2019/01/16 Javascript
微信小程序实现渐入渐出动画效果
2019/06/13 Javascript
vue中created和mounted的区别浅析
2019/08/13 Javascript
微信小程序仿淘宝热搜词在搜索框中轮播功能
2020/01/21 Javascript
[01:45]典藏宝瓶2+祈求者身心——这就是DOTA2TI9总奖金突破3000万美元的秘密
2019/07/21 DOTA
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
Python实现的密码强度检测器示例
2017/08/23 Python
基于pandas数据样本行列选取的方法
2018/04/20 Python
对python 匹配字符串开头和结尾的方法详解
2018/10/27 Python
Python-接口开发入门解析
2019/08/01 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
python实现引用其他路径包里面的模块
2020/03/09 Python
Jupyter Notebook 文件默认目录的查看以及更改步骤
2020/04/14 Python
3分钟看懂Python后端必须知道的Django的信号机制
2020/07/26 Python
简单的命令查看安装的python版本号
2020/08/28 Python
Python自动化xpath实现自动抢票抢货
2020/09/19 Python
matplotlib实现数据实时刷新的示例代码
2021/01/05 Python
利用CSS3的线性渐变linear-gradient制作边框的示例
2016/06/02 HTML / CSS
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
初始化了一个没有run()方法的线程类,是否会出错?
2014/03/27 面试题
2014端午节活动策划方案
2014/01/27 职场文书
教师节促销活动方案
2014/02/14 职场文书
酒店管理求职信范文
2014/04/06 职场文书
课堂打架检讨书200字
2014/11/21 职场文书
新郎父母婚礼致辞
2015/07/27 职场文书
聘任书格式及范文
2015/09/21 职场文书
Java 数组的使用
2022/05/11 Java/Android