小程序如何获取用户名和头像?

news/2024/11/28 6:45:47/

微信小程序获取头像的基本方法是调用小程序自带的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:""},


http://www.ppmy.cn/news/629171.html

相关文章

微信小程序用户头像昵称获取规则

学习了一下写小程序,随手记录一下,就当提醒自己不要半途而废。 2022年10月底起,基础库2.27.1以上版本的小程序已无法直接通过授权获取用户的头像和昵称。b站的很多教程使用的仍是wx.getUserInfo或wx.getUserProfile接口授权获取用户信息&…

微信小程序获取昵称,头像

微信小程序wx.getUserProfile方法被收回 使用 头像昵称填写能力 开发 获取头像 <button class"avatar-wrapper" open-type"chooseAvatar" bind:chooseavatar"onChooseAvatar"><image class"avatar" src"{{avatarUrl}}…

微信小程序获取获取头像昵称

小程序获取头像昵称之前可以通过以下代码可以实现2022年2月21日24时起小程序回收&#xff0c;目前已经停用。 小程序用户信息相关接口调整公告链接如下 https://developers.weixin.qq.com/community/develop/doc/000e881c7046a8fa1f4d464105b001 <!-- 拉取用户名称 -->…

微信小程序获取用户头像和昵称

代码user.wxml&#xff1a; <view > <view><image class"avatar" src{{userInfo.avatarUrl}}></image><view class"nickname">{{userInfo.nickName}}</view> </view> </view> user.js //sort.js //獲取應…

微信小程序获取头像昵称 保存头像到服务器

微信官方推荐的替代做法&#xff1a;头像昵称填写 | 微信开放文档 (qq.com) wxml <button class"avatar" open-type"chooseAvatar" bind:chooseavatar"onChooseAvatar"><image src"{{avatarUrl}}"></image> </b…

通过QQ号获取QQ头像、昵称以及空间头像

前言 有时候设置了QQ头像之后&#xff0c;想获取自己的QQ头像却不知道怎么办&#xff0c;于是就有了下面的方法&#xff0c;从网上找了一堆方法&#xff0c;发现有几个是可用的&#xff0c;特此记录一下。 QQ头像 http://q1.qlogo.cn/g?bqq&nk945794520&s100http://q1…

微信小程序最新获取头像和昵称的方法 直接用!

调整背景 微信小程序获取用户头像和昵称一个开放接口是wx.getUserInfo&#xff0c;2021年4月5日被废弃&#xff0c;原因是很多开发者在打开小程序时就通过组件方式唤起getUserInfo弹窗&#xff0c;如果用户点击拒绝&#xff0c;无法使用小程序&#xff0c;这种做法打断了用户正…

微信小程序获取用户头像和昵称(填写头像昵称能力)

开放能力调整公告 总体来说就是通过按钮来授权获取用户基础信息的能力都没啦&#xff08;wx.getUserProfile&#xff0c;wx.getUserInfo都不行了&#xff09;&#xff0c;都要使用新版本的 【头像昵称填写能力】啦。小程序用户头像昵称获取规则调整公告 获取头像 获取头像代码…