微信小程序获取用户信息的两种方法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实现IE下按backspace相当于返回操作
Mar 18 Javascript
JavaScript中判断整字类型最简洁的实现方法
Nov 08 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
May 18 Javascript
jQuery+HTML5实现手机摇一摇换衣特效
Jun 05 Javascript
javascript自动恢复文本框点击清除后的默认文本
Jan 12 Javascript
prototype与__proto__区别详细介绍
Jan 09 Javascript
javascript常用经典算法详解
Jan 11 Javascript
JS常用正则表达式总结【经典】
May 12 Javascript
JS中使用gulp实现压缩文件及浏览器热加载功能
Jul 12 Javascript
基于jQuery的表单填充实例
Aug 22 jQuery
详解js几个绕不开的事件兼容写法
Aug 30 Javascript
AngularJS实现表单元素值绑定操作示例
Oct 11 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 jquery 多文件上传简单实例
2013/12/23 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
2014/01/15 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
2015/04/17 PHP
php中使用base HTTP验证的方法
2015/04/20 PHP
PHP实现过滤掉非汉字字符只保留中文字符
2015/06/04 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
PHP fopen函数用法实例讲解
2019/02/15 PHP
自己的js工具 Event封装
2009/08/21 Javascript
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
2015/11/02 Javascript
jQuery ajax提交Form表单实例(附demo源码)
2016/04/06 Javascript
BootStrap中Table分页插件使用详解
2016/10/09 Javascript
jquery购物车结算功能实现方法
2020/10/29 Javascript
addEventListener()与removeEventListener()解析
2017/04/20 Javascript
vue 利用路由守卫判断是否登录的方法
2018/09/29 Javascript
微信小程序云开发之新手环境配置
2019/05/16 Javascript
在vue中实现禁止屏幕滚动,禁止屏幕滑动
2020/07/22 Javascript
JS实现拖动模糊框特效
2020/08/25 Javascript
python操作MySQL数据库的方法分享
2012/05/29 Python
完美解决python遍历删除字典里值为空的元素报错问题
2016/09/11 Python
Python切片工具pillow用法示例
2018/03/30 Python
Python实现的维尼吉亚密码算法示例
2018/04/12 Python
Python正则表达式和元字符详解
2018/11/29 Python
Python3基础教程之递归函数简单示例
2019/06/07 Python
django搭建项目配置环境和创建表过程详解
2019/07/22 Python
StubHub德国:购买和出售门票
2017/09/06 全球购物
30年同学聚会感言
2014/01/30 职场文书
计算机学生求职信范文
2014/01/30 职场文书
心理咨询承诺书
2014/05/20 职场文书
学习教师法的心得体会
2014/09/03 职场文书
冰峪沟导游词
2015/02/09 职场文书
个人总结与自我评价
2015/02/14 职场文书
离婚起诉状范本
2015/05/19 职场文书
高中体育课教学反思
2016/02/16 职场文书
基于tensorflow权重文件的解读
2021/05/26 Python
javascript函数式编程基础
2021/09/15 Javascript