微信小程序wx.getUserProfile接口获取用户昵称、头像

wx.getUserProfile接口用于微信小程序获取用户信息,当页面产生点击事件(例如 button 上 bindtap 的回调中)后才可调用,每次请求都会弹出授权窗口,用户同意后返回 userInfo。下面一起来看看具体的实现方法吧:

getUserInfo.js

Page({
data: {
userInfo: {},
hasUserInfo: false,
canIUseGetUserProfile: false,
},
onLoad() {
if (wx.getUserProfile) {
this.setData({
canIUseGetUserProfile: true
})
}
},
getUserProfile(e) {
// 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认
// 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗

wx.getUserProfile({
desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
success: (res) => {
this.setData({
userInfo: res.userInfo,
hasUserInfo: true
})
console.log(res.userInfo)
}
})

},
getUserInfo(e) {

// 不推荐使用getUserInfo获取用户信息,预计自2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息
console.log(e.detail.userInfo)
this.setData({
userInfo: e.detail.userInfo,
hasUserInfo: true,
})
},
})

getUserInfo.wxml

<view class=”container”>
<view class=”userinfo”>
<block wx:if=”{{!hasUserInfo}}”>
<button wx:if=”{{canIUseGetUserProfile}}” bindtap=”getUserProfile”> 获取头像昵称 </button>
<button wx:else open-type=”getUserInfo” bindgetuserinfo=”getUserInfo”> 获取头像昵称 </button>
</block>
<block wx:else>
<image bindtap=”bindViewTap” class=”userinfo-avatar” src=”{{userInfo.avatarUrl}}” mode=”cover”></image>
<text class=”userinfo-nickname”>{{userInfo.nickName}}</text>
</block>
</view>
</view>

微信小程序wx.getUserProfile接口获取用户昵称、头像具体信息,小程序开发者可以参考官方文档:https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserProfile.html


声明:本站部分文章来源于互联网,如有侵犯作者著作权,请及时与我们联系。

木鱼小铺小程序

为您推荐