近期微信小程序wx.getUserInfo()接口做了调整了,相信很多做小程序开发的小伙伴都知道了,在微信小程序开发工具控制台,如果你没有调整过来的话会出现如下的警告啦~
有关小程序登录、用户信息相关接口调整说明,微信官方已出通告:https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801?idescene=6
通告中介绍的也很清楚,4月13日后发布的新版本小程序,开发者调用wx.getUserInfo或<button open-type="getUserInfo"/>将不再弹出弹窗,直接返回匿名的用户个人信息;
如果你想保持你原来的一套逻辑的话,微信新增wx.getUserProfile()接口,这个和wx.getUserInfo()用法上区别不大,有一个必填字段desc,使用看文档即可;
示例代码:
微信官方给的有示例代码段,基本照改没什么问题;
getUserProfile(e) {
// 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认
// 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
wx.getUserProfile({
desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
success: (res) => {
this.setData({
userInfo: res.userInfo,
hasUserInfo: true
})
}
})
},
getUserInfo(e) {
// 不推荐使用getUserInfo获取用户信息,预计自2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息
this.setData({
userInfo: e.detail.userInfo,
hasUserInfo: true
})
},
业务调整:
我们这边是做共享业务的,发现小程序最近审核也有点严格,进入4月以来,每次审核都会打回来,恼人呀,退回原因的也不清楚,全靠自己悟,不是说社区一堆人讽刺挖苦TX,主要是哎,
程序员何苦为难程序员,但是没办法,人家卡着咱喉咙呢,为此,我对小程序逻辑做了调整;
1、小程序首页不能是登录页面,也不能在首页渲染完成做什么token校验之类跳转登录,这些微信小程序审核都不给过,此处已改过好几遍,微信给出的理由是用户还不了解小程序业务,不能强迫用户登录;
针对这个问题,我直接在首页实现wx.login(),不需要用户授权,无感知登录取到token存本地;避免用户跳转登录;
2、原来获取用户信息,我们是登录一并获取用户信息,一起存储,现在不能跳转登录,wx.getUserInfo 获取到用户匿名信息也没啥子卵用,只能登录逻辑做调整,弃用这个接口;
针对这个问题,我获取用户信息放到个人中心,由原来的 wx.getUserInfo(Object object) 换成 wx.getUserProfile(Object object) ,让用户主动去授权用户信息,成功用真实信息,不授权使用open-data;
微信小程序应该也不会无缘无故随意更改接口,做了改动官方给出相应的解决办法还是很不错的,项目都不会写好一直不调整,肯定还是要不断的更新迭代,项目才能更符合市场,
随着调整就可以啦,拆东墙补西墙,拆墙快乐^_^~