微信小程序获取用户信息的两种方法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 相关文章推荐
jquery怎样实现ajax联动框(二)
Mar 08 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
May 30 Javascript
javascript相等运算符与等同运算符详细介绍
Nov 09 Javascript
JavaScript中的单引号和双引号报错的解决方法
Sep 01 Javascript
JS实现获取剪贴板内容的方法
Jun 21 Javascript
JQuery 封装 Ajax 常用方法(推荐)
May 21 jQuery
Vue+Flask实现简单的登录验证跳转的示例代码
Jan 13 Javascript
Vue 实现前进刷新后退不刷新的效果
Jun 14 Javascript
vue element 生成无线级左侧菜单的实现代码
Aug 21 Javascript
JS中准确判断变量类型的方法
Jun 01 Javascript
javascript实现点击产生随机图形
Jan 25 Javascript
教你部署vue项目到docker
Apr 05 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连接SQLServer2005方法及代码
2013/12/26 PHP
MongoDB在PHP中的常用操作小结
2014/02/20 PHP
浅谈PHP中关于foreach使用引用变量的坑
2016/11/14 PHP
PHP使用PDO抽象层获取查询结果的方法示例
2018/05/10 PHP
带左右箭头图片轮播的JS代码
2013/12/18 Javascript
jQuery实现tab选项卡效果的方法
2015/07/08 Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
2015/08/14 Javascript
详解javascript遍历方式
2015/11/11 Javascript
JavaScript学习笔记整理之引用类型
2016/01/22 Javascript
使用jQuery5分钟快速搞定双色表格的简单实例
2016/08/08 Javascript
Vue-Router实现页面正在加载特效方法示例
2017/02/12 Javascript
JS查找英文文章中出现频率最高的单词
2017/03/20 Javascript
Angular排序实例详解
2017/06/28 Javascript
Angular2环境搭建具体操作步骤(推荐)
2017/08/04 Javascript
微信小程序swiper实现滑动放大缩小效果
2018/11/15 Javascript
nuxt.js中间件实现拦截权限判断的方法
2018/11/21 Javascript
JS数组去重的6种方法完整实例
2018/12/08 Javascript
NodeJS开发人员常见五个错误理解
2020/10/14 NodeJs
[08:40]Navi Vs Newbee
2018/06/07 DOTA
在Python上基于Markov链生成伪随机文本的教程
2015/04/17 Python
Python程序中使用SQLAlchemy时出现乱码的解决方案
2015/04/24 Python
Python连接DB2数据库
2016/08/27 Python
Django 导出 Excel 代码的实例详解
2017/08/11 Python
Python函数返回不定数量的值方法
2019/01/22 Python
基于Python的自媒体小助手---登录页面的实现代码
2020/06/29 Python
详解Python 中的容器 collections
2020/08/17 Python
浅谈css3中的前缀
2016/07/20 HTML / CSS
HTML5新增的标签和属性归纳总结
2018/05/02 HTML / CSS
美国隐形眼镜销售网站:ContactsDirect
2017/10/28 全球购物
美国在线购物频道:Shop LC
2019/04/21 全球购物
哪些情况下不应该使用索引
2015/07/20 面试题
社区春季防火方案
2014/06/02 职场文书
2014领导班子正风肃纪思想汇报
2014/09/18 职场文书
2015年秋季运动会加油稿
2015/07/22 职场文书
使用numpy nonzero 找出非0元素
2021/05/14 Python
Vue+TypeScript中处理computed方式
2022/04/02 Vue.js