微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现


Posted in Javascript onAugust 19, 2020

这个接口只能获得一些非敏感信息,例如用户昵称,用户头像,经过用户授权允许获取的情况下即可获得用户信息,至于openid这些,需要调取wx.login来获取。

index.wxml

<!-- 当已经授权的时候 -->
<view wx:if="{{result == 'ok'}}" class="result">
 <view class="headimg">
  <image src="{{avatarUrl}}"></image>
 </view>
 <view class="nickname">{{nickName}}</view>
</view>
<!-- 当未授权的时候 -->
<view wx:else class="result">
<view>未授权</view>
<button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">授权登录</button>
</view>

index.js

Page({
 data: {
  canIUse: wx.canIUse('button.open-type.getUserInfo')
 },
 onLoad: function() {
  var that = this;
  // 查看是否授权
  wx.getSetting({
   success (res){
    if (res.authSetting['scope.userInfo']) {
     // 已经授权,可以直接调用 getUserInfo 获取头像昵称
     wx.getUserInfo({
      success: function(res) {
       console.log(res.userInfo)
       that.setData({
        result:'ok',// 结果
        nickName:res.userInfo.nickName,// 微信昵称
        avatarUrl:res.userInfo.avatarUrl,// 微信头像
       })
      }
     })
    }else{
     // 未授权,结果返回null
     that.setData({
      result:'null',// 结果
     })
    }
   }
  })
 },
 // 请求API授权,获得用户头像和昵称
 bindGetUserInfo (e) {
  console.log(e.detail.userInfo.nickName)
  var that = this;
  that.setData({
   result:'ok',// 结果
   nickName:e.detail.userInfo.nickName,// 微信昵称
   avatarUrl:e.detail.userInfo.avatarUrl,// 微信头像
  })
 }
})

index.wxss

button{
 margin:30px auto 0;
}
.result{
 width:200px;
 margin:20px auto;
 text-align: center;
}
.result .headimg{
 width:200px;
 height: 200px;
 border-radius: 100px;
 margin-bottom: 20px;
}
.result .headimg image{
 width:200px;
 height: 200px;
 border-radius: 100px;
}

微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现

到此这篇关于微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现的文章就介绍到这了,更多相关小程序wx.getUserInfo授权内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
javascript 函数参数限制说明
Nov 19 Javascript
jquery下jstree简单应用 - v1.0
Apr 14 Javascript
判断对象是否Window的实现代码
Jan 10 Javascript
Js从头学起(基本数据类型和引用类型的参数传递详细分析)
Feb 16 Javascript
Angularjs中如何使用filterFilter函数过滤
Feb 06 Javascript
Javascript中click与blur事件的顺序详析
Apr 25 Javascript
解决vue打包项目后刷新404的问题
Mar 06 Javascript
jquery 通过ajax请求获取后台数据显示在表格上的方法
Aug 08 jQuery
如何使用less实现随机下雪动画详解
Jan 02 Javascript
javascript中call()、apply()的区别
Mar 21 Javascript
js计算两个时间差 天 时 分 秒 毫秒的代码
May 21 Javascript
vue离开当前页面触发的函数代码
Sep 01 Javascript
微信小程序通过websocket实时语音识别的实现代码
Aug 19 #Javascript
JS实现炫酷雪花飘落效果
Aug 19 #Javascript
javascript实现雪花飘落效果
Aug 19 #Javascript
js实现直播点击飘心效果
Aug 19 #Javascript
js实现鼠标点击飘爱心效果
Aug 19 #Javascript
Vue环境搭建+VSCode+Win10的详细教程
Aug 19 #Javascript
Vue实现导航栏菜单
Aug 19 #Javascript
You might like
删除无限级目录与文件代码共享
2006/07/12 PHP
解析PHP计算页面执行时间的实现代码
2013/06/18 PHP
php 伪静态之IIS篇
2014/06/02 PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
2016/05/04 PHP
js静态方法与实例方法分析
2011/07/04 Javascript
JS实现随机化快速排序的实例代码
2013/08/01 Javascript
AngularJS入门教程引导程序
2016/08/18 Javascript
你不知道的 javascript【推荐】
2017/01/08 Javascript
xmlplus组件设计系列之下拉刷新(PullRefresh)(6)
2017/05/03 Javascript
Three.js开发实现3D地图的实践过程总结
2017/11/20 Javascript
vue cli升级webapck4总结
2018/04/04 Javascript
浅谈开发eslint规则
2018/10/01 Javascript
IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法
2019/06/04 Javascript
原生JS与CSS实现软件卸载对话框功能
2019/12/05 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
2020/01/05 Javascript
vue内置组件component--通过is属性动态渲染组件操作
2020/07/28 Javascript
js删除对象中的某一个字段的方法实现
2021/01/11 Javascript
[10:42]Team Liquid Vs Newbee
2018/06/07 DOTA
python使用PyGame绘制图像并保存为图片文件的方法
2015/04/24 Python
Python利用Nagios增加微信报警通知的功能
2016/02/18 Python
对python遍历文件夹中的所有jpg文件的实例详解
2018/12/08 Python
对python For 循环的三种遍历方式解析
2019/02/01 Python
Python嵌套式数据结构实例浅析
2019/03/05 Python
python flask安装和命令详解
2019/04/02 Python
pytorch 改变tensor尺寸的实现
2020/01/03 Python
Python3 元组tuple入门基础
2020/02/09 Python
Pycharm 2020.1 版配置优化的详细教程
2020/08/07 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
百度软件工程师职位
2013/02/14 面试题
学校经典推荐信
2013/10/30 职场文书
安全生产实施方案
2014/02/23 职场文书
浪漫婚礼主题活动策划方案
2014/09/15 职场文书
2014年卫生工作总结
2014/11/27 职场文书
原告离婚代理词
2015/05/23 职场文书
sql server 累计求和实现代码
2022/02/28 SQL Server