收藏
回答

getUserInfo能力改变

问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 Bug button 客户端 6.6.6 1.9.90

官方发通知说,wx.getUserInfo在4月30日后,在体验版和测试版中,将不能弹出授权提示框,且该功能会被移除.

  1. 我想知道 我用button type为getUserInfo验证组件,之后再用wx.getUserInfo获取用户信息可以吗?

  2. 为什么非要用wx.getUserInfo,因为我要在button按钮点击后,wx.login一下,获取code,之后获取sessionKey,之后去解密加密的用户信息获取Unionid,请官方回答一下1。

回答关注问题邀请回答
收藏

68 个回答

  • marvin
    marvin
    2018-04-26

    我们这边也遇到获取unionId的问题


    如果是新用户, 不满足code获取unionId的条件, 只能通过getUserInfo获取, 但是wx.login必须要在getUserInfo之前调用, 如果由官方提供的按钮来触发回调, 开发者不方便把控wx.login的调用时机


    使用button的bindgetuserinfo, 和之前的wx.getUserInfo一样, 是会有弹窗确认的, 我们自己处理, button也可能是通过自定义模态框来显示, 重复弹窗, 这种交互方式不太优雅.

    2018-04-26
    赞同
    回复
  • 陈龙
    陈龙
    2018-04-26

    所以感觉目前方案还是:

    1. 提前获取code,但是code有效期是5分钟。点击button按钮有可能失效.需要重新获取code.或者控制sessionKey.

    2. 使用button getuserinfo授权,继续使用wx.getuserinfo获取私密信息.

    2018-04-26
    赞同
    回复
  • 新新新丶
    新新新丶
    2018-04-26

    其实一开始的时候就掉过这个坑,先调用getUserInfo 再调用 login 是解密是失败的

    2018-04-26
    赞同
    回复
  • 陈龙
    陈龙
    2018-04-26

    @尘雨雾录 现在就是这么做的,但是 点击之后再login,导致了有时候 sessionKey不一致.我怀疑是 点击按钮时的sessionKey和login之后的有时候可能不一致,所以解密数据失败.解密私密信息需要sessionKey嘛.

    2018-04-26
    赞同
    回复
  • 尘雨雾录
    尘雨雾录
    2018-04-26

    你想复杂了,你console.log下按钮所触发的getuserinfo所获得的e里面所包含的detail里面的值,里面所包含的值就是我们平时用wx.getuserinfo所获得的值,你说没有login的code去解密,那就在点按钮的时候去调用wx.login,然后获得code,在用request,填加密信息和iv的时候,就用按钮这边的e.detail.iv这种方式传过去

    2018-04-26
    赞同
    回复
  • 陈龙
    陈龙
    2018-04-26

    wx.login也能拿到openid,但是有条件限制.

    https://developers.weixin.qq.com/miniprogram/dev/api/uinionID.html,所以要搞个 成熟的方式,还得思考下啊.

    2018-04-26
    赞同
    回复
  • changxue_xu
    changxue_xu
    2018-04-26

    遇到了你一样情况,你现在怎么搞的,现在必须用一个button的话,操作更不好了,好坑

    2018-04-26
    赞同
    回复
  • zhouyi
    zhouyi
    2018-04-25

    现在想拿到unionid真的太蛋疼了,我觉得是不是应该有避免授权的方式拿到unionid呢

    2018-04-25
    赞同
    回复
  • 陈龙
    陈龙
    2018-04-25

    对啊, 但是code有时候解不开.

    2018-04-25
    赞同
    回复
  • 新新新丶
    新新新丶
    2018-04-25

    楼主是需要用户的私密信息,vi,signature这些吧?点击button获取后调用 wx.login 获取code 提交到后台解密吧?

    2018-04-25
    赞同
    回复

正在加载...

登录 后发表内容