关于主题教育学习的在线答题小程序的获取用户信息方式修改,这次的调整花费了我不少时间,因为上线的众多答题小程序均要按照官方要求调整了。拿其中一个,党史主题教育学习的小程序举个栗子,看看小程序登录、用户信息相关接口如何进行调整。详细效果截图,以及代码见下文。
如果继续使用wx.getUserInfo(Object object),就会是这样的
如果修改成wx.getUserProfile(Object object),获取用户信息。每次请求都会弹出授权窗口,用户同意后返回userInfo
本次代码更新了小程序获取用户信息方式,详见小程序官方通知:
基础库 2.10.4 开始支持,但经测试发现2.10.4后的很多版本目前暂时还不支持新的API,所以建议大家把基础库的版本调整成最新版
该帖子中使用的调试基础库与开发工具均为写这篇帖子时的最新版:调试基础库版本为:2.16.0,开发工具版本1.05.2104012
- 原有bindgetuserinfo修改为bindtap
<button class="login" bindtap="onGotUserInfo">获取微信授权信息</button>
- 原有方式直接通过event获取用户信息,现在需要调用wx.getUserProfile()接口获取用户信息
onGotUserInfo() { wx.getUserProfile({ desc: '用于发布信息时获取头像与昵称', success: (res) => { console.log(res) this.setData({ modalShow: false }) this.triggerEvent('loginsuccess', res.userInfo) }, fail: (err) => { console.log(err) this.triggerEvent('loginfail') } }) }