1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 微信小程序获取用户信息(getUserProfile)

微信小程序获取用户信息(getUserProfile)

时间:2023-01-01 14:07:48

相关推荐

微信小程序获取用户信息(getUserProfile)

最近微信更新了获取用户信息api,原先的getuserInfo基本不能用了,取而代之的是getUserProfile,那我们来看看最新的api该怎么用吧

区别:

getUserProfile

wx.getUserInfo 不在返回用户授权的头像昵称,只返回匿名信息,但 wx.getUserProfile 会返回用户授权的头像和昵称。wx.getUserInfo 授权成功后,当下次调用时,不会再次弹窗,可以直接获取授权成功返回数据,但 wx.getUserProfile 每次都会弹窗,用户确认允许后才可以拿到用户信息wx.getUserProfile 可以获取用户信息和昵称后,可以存在自己服务器,不然弹窗太多影响用户体验wx.getUserProfile 接口返回的 iv、encryptedData 解密获取不到 unionid,请使用 wx.login 获取 unionid;

2.使用

之前getUserInfo是使用open-type,但是getUserProfile是不能用open-type的,所以就直接用事件调用吧

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。