小程序自上线以来,官方一直在调整API,因此也出现了一批被废弃的接口,作为程序员的我们,此时此刻千万不能为这不断的变化而感到头疼,应当与时俱进,不断的更新自己的知识储备和应用技能。
以下是原公告:
为优化用户体验,使用 wx.getUserInfo 接口直接弹出授权框的开发方式将逐步不再支持。从2018年4月30日开始,小程序与小游戏的体验版、开发版调用 wx.getUserInfo 接口,将无法弹出授权询问框,默认调用失败。正式版暂不受影响。
开发者可使用以下方式获取或展示用户信息:
一、小程序
1、使用 button 组件,并将 open-type 指定为 getUserInfo 类型,获取用户基本信息。
2、使用 open-data 展示用户基本信息。
新的方法的使用
wxml:
<button open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo" >授权登录</button>
js:
Page({ data: {}, bindGetUserInfo: function(e) { var that = this; //此处授权得到userInfo console.log(e.detail.userInfo); //接下来写业务代码 //最后,记得返回刚才的页面 wx.navigateBack({ delta: 1 }) } })
效果如图所示:控制台之中打印出昵称,微信头像等个人信息。
再来一波demo示范一下
wxml:
<button open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="onGotUserInfo">获取用户信息</button>
js:
var pageObject = { data: { }, onGotUserInfo: function (e) { console.log(e.detail.errMsg) console.log(e.detail.userInfo) console.log(e.detail.rawData) }, } Page(pageObject)
效果如下:控制台之中打印出昵称,微信头像等个人信息。