收藏
评论

获取用户信息接口优化调整官方


由于收到开发者的反馈,为了方便开发者更好地使用获取用户信息的接口,开发者仍然可以使用 wx.getUserInfo 接口获取用户信息。


具体优化调整如下:

1.获取用户头像昵称,第一次需要使用 button 组件授权,如果已经用组件授权了,wx.getUserInfo 可直接返回用户数据,无需重复授权弹窗。
2. 如果没有用 button 组件授权,wx.getUserInfo 调用接口返回失败,提醒开发者需要先使用 button 组件授权。
3. 用户可在设置中,取消授权。取消授权后需重新用 button 组件拉起授权。

此次调整仅会影响开发者工具、体验版和开发版,正式版本小程序暂不受影响。


详细可见如下接口文档:

  • 小程序:

1.使用 button 组件,并将 open-type 指定为 getUserInfo 类型,用户允许授权后,可获取用户基本信息。

详情参考文档:

https://developers.weixin.qq.com/miniprogram/dev/component/button.html


2.使用 open-data 展示用户基本信息。

详情参考文档:

https://developers.weixin.qq.com/miniprogram/dev/component/open-data.html


  • 小游戏:

1.使用用户信息按钮 UserInfoButton。

详情参考文档:

https://developers.weixin.qq.com/minigame/dev/document/open-api/user-info/wx.createUserInfoButton.html


2.开放数据域下的展示用户信息。

详细参考文档:

https://developers.weixin.qq.com/minigame/dev/document/open-api/data/wx.getUserInfo.html


请各位开发者注意及时调整接口,正式版未来也会逐步切换为这个逻辑。


130376浏览
最后一次编辑于  2018-05-11
收藏

274 个评论

  • 吞食天地🌀
    吞食天地🌀
    2018-05-15

    按照现在的逻辑 那不如直接开发登录注册页面,获取手机号,完全绕开微信好了


    2018-05-15
    赞同
    回复
  • 吞食天地🌀
    吞食天地🌀
    2018-05-15

    坑人啊 ~~~~

    2018-05-15
    赞同
    回复
  • 张洪建
    张洪建
    2018-05-15

    改了一天了,也没改好,授权完成后不定期报如下错误:


    Expected updated data but get first rendering data;Expected updated data but get first rendering data

    Error: Expected updated data but get first rendering data



    2018-05-15
    赞同
    回复
  • 安。
    安。
    2018-05-15

    改了也就算了  。。关键是按官方的写法 还获取不到是什么鬼!



    2018-05-15
    赞同
    回复 9
    • 张洪建
      张洪建
      2018-05-15
      <button type="primary" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">授权访问</button> //授权访问 bindGetUserInfo: function (e) { if (e.detail.userInfo != undefined) { wx.setStorageSync('user', e.detail.userInfo); this.loginF(e); } }, loginF: function (e) { wx.login({ success: res => { var code = res.code; wx.getSetting({ success: res => { api.login_render(this, 'code=' + code + '&user_name=' + encodeURIComponent(e.detail.userInfo.nickName.trim()) + '&user_avatar=' + e.detail.userInfo.avatarUrl); if (this.userInfoReadyCallback) { this.userInfoReadyCallback(res); } } }) } }) }, 这样搞,兄弟。
      2018-05-15
      2
      回复
    • 安。
      安。
      2018-05-15回复张洪建
      我试试
      2018-05-15
      回复
    • 安。
      安。
      2018-05-15回复张洪建
      可以!但是这体验太不好了吧!!!难道要自定义个弹窗?
      2018-05-15
      回复
    • 张洪建
      张洪建
      2018-05-15回复安。
      不用自定义弹窗
      2018-05-15
      回复
    • 安。
      安。
      2018-05-15回复张洪建
      不用按钮不行么!
      2018-05-15
      回复
    查看更多(4)
  • 409
    409
    2018-05-15

    还有兼容性问题,某些设备直接报错 找不到

    wx.createUserInfoButton


    2018-05-15
    赞同
    回复
  • 2018-05-15

    确实,我表示很不解。我对小程序是爱的,但是为什么不能添加新的迭代的同时做向下兼容呢?你可以添加新的api这个没问题,同时也应该保留对已有的api的支持。我今天因为要修改小程序,才发现这个问题。

    2018-05-15
    赞同
    回复
  • 润飞
    润飞
    2018-05-15

    你改了可以给个完整好用的方案示例让我们来参考参考?估计你们自己也写不出,留个烂摊子给开发者,真是无良心呀

    2018-05-15
    赞同
    回复
  • ZYuan
    ZYuan
    2018-05-15



    我使用button获取到用户信息,然后将这些信息缓存起来,然后使用wx.login将code和这些信息跟微信服务进行校验,为什么有时候会出现签名不匹配,以前使用wx.login 和wx.getUserinfo 绑在一起使用不会出现这种情况,现在wx.getUserinfo不让用了 官方能不能给一个完整的登录demo

    2018-05-15
    赞同
    回复 2
    • 心做し
      心做し
      2018-05-15
      bindgetuserinfo里不要wx.login,你这样相当于先getUserInfo再login,老的信息都过期了。。。
      2018-05-15
      回复
    • ZYuan
      ZYuan
      2018-05-15
      原先是wx.login 和wx.getUserinfo 绑在一起使用是不会出现过期,关键是现在改成按钮形式,应该怎么处理
      2018-05-15
      回复
  • 嘿~
    嘿~
    2018-05-15

    丧心病狂啊!!!

    2018-05-15
    赞同
    回复
  • 偷贼的井盖
    偷贼的井盖
    2018-05-15

    要不是公司有需要,真nm不想沾小程序,现在准备离职了

    2018-05-15
    赞同
    回复

正在加载...

登录 后发表内容