因头像为灰色才知道wx.getUserProfile代替wx.getUserInfo

真的是猝不及防,官方宣布用 wx.getUserProfile 代替  wx.getUserInfo  获取用户信息了,幸亏自己改了东西后用体验版测了下,头像出不来感觉不对查了下才知道,OMG,它更新了

(主要是做的这个小程序好久才改一下,就没多关注官方信息)

 所以,在开发的时候要注意,各个部分能独立就独立,这样后期改动比较方便,不然会牵一发而动全身

1、登录与授权部分分开,登录是无感知的,先登录,后需要phoneNum再去授权phone

2、如果需要用户信息,放在登录,获取手机号后,(因为现在 wx.getUserProfile 每次都需要授权,有phone再去存储基本信息比较好)

感叹一下:原来的一次授权,后面直接获取信息可真好,授权与否还能当做新用户标识来用,现在就全靠存储数据判断是不是新用户了

(1)如果用户信息只是展示,那就用

<!-- 如果只是展示用户头像昵称,可以使用 <open-data /> 组件 -->
<open-data type="userAvatarUrl"></open-data>
<open-data type="userNickName"></open-data>

不过这里也会有个小bug,就是偶尔用它展示时会报错: 渲染层网络层错误***status 562 ,所以最好是加个判断,如果数据库里有用户头像就展示库里的,没有的话再用这个 <open-data />展示比较好。

(2)如果还要存储信息, 则判断 wx.getUserProfile 来决定页面button的情况,这样也可以兼容低版本

if (wx.getUserProfile) {
   this.setData({
      canIUseGetUserProfile: true
   })
}

<button wx:if="{{canIUseGetUserProfile}}" bindtap="getUserProfile"> 获取头像昵称 </button>
<button wx:else open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button>

官方介绍:https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserProfile.html

 

posted @ 2021-04-29 16:57  阳光下的向日葵  阅读(452)  评论(0)    收藏  举报