官方发通知说,wx.getUserInfo在4月30日后,在体验版和测试版中,将不能弹出授权提示框,且该功能会被移除.
我想知道 我用button type为getUserInfo验证组件,之后再用wx.getUserInfo获取用户信息可以吗?
为什么非要用wx.getUserInfo,因为我要在button按钮点击后,wx.login一下,获取code,之后获取sessionKey,之后去解密加密的用户信息获取Unionid,请官方回答一下1。
框架类型 | 问题类型 | API/组件名称 | 终端类型 | 操作系统 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|---|
小程序 | Bug | button | 客户端 | 6.6.6 | 1.9.90 |
其实我试了通过 <button> 去获取userInfo, 并在时间内调用 wx.login 拿 code 和userinfo的信息去解密是可以的。
会不会是解密方式不对呢?
哪里看到的这个方法:wx.getUserInfoWithoutConfirm
@陈龙 你这种方式不太好吧, button授权和wx.getUserInfo一致, 都会弹窗, 我觉得那个button只是微信这边自己把wx.getUserInfo给封装了, 我这边目前还没有想到什么好的方法解决.
不过我看到2.0.0的小程序版本有新增很多方法, 比如说wx.getUserInfoWithoutConfirm的方法, 可以成功调用, 和wx.getUserInfo表现一致, 但是不知道使用场景的限制, 官方目前还没有相关文档说明.
这样解决不好,有好的解决到时候分享下;我跟你问题一模一样
目前是使用button 获取授权. 授权成功通过 wx.login 之后再 wx.getuserinfo进行操作.
但是wx.getuserinfo 不是要作废了嘛,所以想找一个好的方案.
楼主code失效哪个时机重新获取,难道让其用户重新进入小程序?
@昨日の星屑 有解决方案吗?
我们这边也遇到获取unionId的问题
如果是新用户, 不满足code获取unionId的条件, 只能通过getUserInfo获取, 但是wx.login必须要在getUserInfo之前调用, 如果由官方提供的按钮来触发回调, 开发者不方便把控wx.login的调用时机
使用button的bindgetuserinfo, 和之前的wx.getUserInfo一样, 是会有弹窗确认的, 我们自己处理, button也可能是通过自定义模态框来显示, 重复弹窗, 这种交互方式不太优雅.
所以感觉目前方案还是:
提前获取code,但是code有效期是5分钟。点击button按钮有可能失效.需要重新获取code.或者控制sessionKey.
使用button getuserinfo授权,继续使用wx.getuserinfo获取私密信息.
其实一开始的时候就掉过这个坑,先调用getUserInfo 再调用 login 是解密是失败的