官方发通知说,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 |
在
bindgetphonenumber
等返回加密信息的回调中调用wx.login
登录,可能会刷新登录态。此时服务器使用 code 换取的 sessionKey 不是加密时使用的 sessionKey,导致解密失败。建议开发者提前进行login
;或者在回调中先使用checkSession
进行登录态检查,避免login
刷新登录态。lz说的跟这个是一个道理吗?
https://developers.weixin.qq.com/miniprogram/dev/component/button.html
新用户进来,页面要马上显示用户信息,就得让用户点击两次,交互很不友好,不知道官方怎么想的
我觉得现在改成BUTTON的形式,不就要让用户点两次,交互很不友好
官方说getUserInfo和wx.login不需要耦合到底负不负责任?
getUserInfo的encryptedData需要sessionKey去解密
sessionKey不是通过code来的?
每次登录页打开的时候都先执行一个wx.login(). 然后把code发给后端去换取sessionKey存起来, sessionKey也有过期时间的?
而且button的getUserInfo怎么使用withCredentials参数了来保证获取的信息一定有encryptedData和iv?
建议button的getUserInfo增加一个参数withCredentials直接连wx.login的code一起给回来, 并附上encryptedData和iv数据, 如果没这个参数就只给非隐私数据
确实存在这样的问题
建议button的getUserInfo直接自动执行一下wx.login, 并且连code一起给返回来.
多应用下绑定用户关系是一定需要unionid的
没有code就没有sessionKey, 没有sessionKey就拿不到unionid.
我也是 button 中调用 wx.login 去获取的 sessionKey 解密失败,在点button一次又能解密成功。。。
第一次 button 中的IV好像是用以前的sessionKey 加密的,在button里面调用了 wx.login就获取到新的sessionKey 所以解密失败。。
第二次在点button 能成功,可能是button更新新的sessionKey,在调用wx.login 获取的还是这个sessionKey,可能在一段时间内调用wx.login获取的sessionKey不会有变化,所以能成功。。。
这问题不知道怎么解决。。。
请问createUserInfoButton这个接口怎么把按钮显示出来啊,按照文档的例子,调用了button.show(),也看不到button
@陈龙 vConsole打印一下wx
既然 拿取 图像 昵称 必须 弹 授权信息。 给出的理由是 怕用户觉得奇怪 怎么图像自动获取了。
那么
<open-data type=
"userAvatarUrl"
></open-data>
不用授权就能直接显示 而数据不给平台。 难道用户就不觉得奇怪了么。
其实我也是没管理sessionkey的,我们这里成功登陆了一次以后,就由我们的用户系统维护了,通过openid就能拿回User