微信小程序获取头像的基本方法是调用小程序自带的API  wx.getUserProfile(),这也是小程序官方目前最推荐的做法。

但是为了避免用户感到自己的隐私被自动调取,小程序要求调用 getUserProfile() 必须是用户主动点击请求才可以,因此可以在前端设置一个弹窗(或者其他的按钮),用户主动点击之后才可以调用getUserProfile()。

成功获取用户名头像之后,小程序允许保存调用的结果,以便下一次打开页面的时候自动显示头像和名字。保存用户名和头像并不是保存在用户自己的手机上,也不能保存在小程序的云、或者服务器上,而是调用小程序的另一个官方API  wx.setStorage(),由小程序官方统一保管。而自动调用这个保存好的用户名和头像 ,则需要wx.getStorage()

完整的代码如下:

1.在onload()中先尝试获取用户名和头像,如果获取失败,则弹窗提示用户允许小程序获取其用户名和头像。

 onLoad(options) {let that=thiswx.getStorage({//异步获取缓存key:"name",//本地缓存中指定的 keysuccess:(res)=>{ console.log('获取缓存成功',res.data)      this.setData({name:res.data.nickName, //将得到的缓存给key avatarUrl:res.data.avatarUrl         })        },fail(res){console.log(res)wx.showModal({title: '感谢您使用!',content: '请允许小程序可以使用您的头像和名字!',success (res) {if (res.confirm) {console.log('用户点击确定')that.getUserProfile()} else if (res.cancel) {console.log('用户点击取消')}}})}   })},

2.获取用户名和头像的函数

 getUserProfile(e) {// 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认// 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗    wx.getUserProfile({desc: '用于保存用户的昵称', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写success: (res) => {console.log(res)this.setData({userInfo: res.userInfo,})wx.setStorage({key:'name',//本地缓存中指定的 key(类型:string)data:res.userInfo,//需要存储的内容。只支持原生类型、Date、及能够通过JSON.stringify序列化的对象(类型:any)success:(s)=>{  this.setData({avatarUrl:res.userInfo.avatarUrl,         name:res.userInfo.nickName})},fail:(f)=>{//  console.log('存储缓存失败====',f);    }})}})},

3.在data{}中记录的用户名和头像

  data: {avatarUrl:'',userInfo:""},

小程序如何获取用户名和头像?相关推荐

  1. 微信小程序登录获取不到头像和昵称解决办法!

    微信小程序登录获取不到头像和昵称主要原因是:小程序wx.getUserProfile接口被收回! 大家可以按照文档操作↓ PS: 针对小程序wx.getUserProfile接口将被收回后做出的授权调 ...

  2. 微信小程序【获取用户昵称头像和昵称(附源码)】

    获取用户昵称头像和昵称 wx.getUserProfile bindgetuserinfo 登录过程 前端源码:https://pan.baidu.com/s/1uz2Gm2FMB-8RFVkhlHY ...

  3. uniapp微信小程序新版本获取用户的头像和昵称,手机号

    新版本微信小程序通过getUserInfo获取到用户的头像是灰色,昵称显示为微信用户,这是微信版本更新了,现在需要用getUserProfile来获取用户的头像和昵称,并且只能页面产生点击事件(例如 ...

  4. uniapp微信小程序最新获取昵称和头像

    1.微信获取头像和昵称最新需要用户上传头像和手动输入昵称ps(会提示使用微信头像和微信昵称) <template><view><view class="cx_c ...

  5. 微信小程序 - 最新获取用户昵称 / 头像(wx.getUserProfile 接口被废弃后的代替方案)详细教程,2022 年之后的所有微信小程序,获取用户信息最新详细教程,附带示例源代码

    前言 由于官方修改了 "用户头像昵称获取规则" ,导致网上几乎所有教程全部失效,本文来做最新详细教程. 2022 年往后(官方废弃了 wx.getUserProfile 接口),本 ...

  6. 服务器客服获取小程序头像,微信小程序自动获取微信用户头像

    Xml页面: css页面: .userinfo { margin-left: 48rpx; margin-top: 48rpx; width: 120rpx; height: 120rpx; back ...

  7. 微信小程序通过数据绑定获取用户名和头像

    微信小程序通过数据绑定获取用户名和密码 1.获取用户名和头像 <view>数据绑定</view> <view>数据:{{message}}</view> ...

  8. php取微信名字和头像,微信小程序如何获取用户头像和昵称

    本文介绍了微信小程序如何获取用户头像和昵称,分享给大家,具体如下: 代码user.wxml: {{userInfo.nickName}} user.js //sort.js //獲取應用實例 var ...

  9. 微信小程序最新获取头像以及昵称方法

    微信小程序最新获取头像信息 之前是使用open-dada获取微信头像和昵称,但是后面由于官网更新,此方法被收回了,所以不能使用此方法了. 之前方法代码: <open-data type=&quo ...

最新文章

  1. 综合应用WPF/WCF/WF/LINQ之三:采用用代码创建的方式实现CheckListBox的CustomControl
  2. mysql编程的作用_数据库系统概论对学习编程的作用?
  3. linux7.5进单用户模式,linux进入单用户模式
  4. linux-压缩和解压类
  5. 用CSS伪类制作一个不断旋转的八卦图?
  6. 热门wordpress主题Essentials汉化绿色版[更至v2.0.0]
  7. 苹果全面封杀Facebook:原因不能忍
  8. VC中char,TCHAR,WCHAR总结
  9. 英特尔生产17个量子位超导芯片,现已交付合作伙伴
  10. freemarker 解析对象的某元素_Freemarker常用技巧(三)
  11. 二分算法——二分法求方程的根
  12. C - Quick Sort (one of the simplest)
  13. SSE学习-一个小栗子
  14. 3DMAX换贴图插件
  15. (7)无参构造方法 有参构造方法
  16. 无线网服务器端口断开,路由器无线网突然断开的原因和解决方法
  17. 图像技术应用之好色之徒
  18. 2.23 使用python解析.bag数据集(无需虚拟机和ROS)
  19. 【无人机】基于粒子群的无人机车载网络优化UAV-VANET附matlab代码
  20. Scratch模拟超级玛丽之飞翔的小鸟

热门文章

  1. (4)pokeman_用图片对模型进行测试
  2. cocos2dx 特效 3D特效
  3. windows环境系安装flask框架,pyth3.x版本
  4. 【无标题】打印水仙花(pyth)
  5. hololens2 通信 之 Windows.Networking.Sockets
  6. 如何让U盘拷贝4G以上的大文件
  7. Python 爬虫从入门到入坑全系列教程(详细教程 + 各种实战)
  8. java程序笑脸怎么打_Java程序运行后出现一张笑脸,鼠标点击一次则变成哭脸,再点击一次又变成笑脸,依次轮换。...
  9. Windows下HdWiki安装步骤
  10. CSS圆角边框、盒子阴影、文字阴影(01-07课)