在这之前 是先调用wx.login获取code后调用wx.getuserinfo获取用户信息并且入库,但是现在更新成了点击按钮才可获取用户信息,想请问官方具体的解决方案是?(我的小程序操作方式是首页一加载必须获取到openid以及用户信息),求解,谢谢
@再见,电脑崽
你这个会出现一个问题, 就是在用户点击授权的时候, 一种比较特殊的情况是你后端保存的session_key(类似session, 如果有expire的话)或wx.checkSession临近过期, 用户一直开着授权页面就是不点, 直到你的过期了才点, 这时候你提交到后端的enctyptedData是无法通过你之前保存的session_key进行解密的
之所有很多人对这个wx.getUserInfo的API用的多, 一般就是把button的getUserInfo当成授权来用(因为不会像其它授权一样拒绝过就不弹框了, 这个可以一直弹框), 一旦授权成功, 那么执行wx.login获取code, 执行wx.getUserInfo重新拿一次encryptedData和iv, 这时候的code + encryptedData + iv传到后台, code换取session_key加上iv是一定可以解密enctyptedData的, 但是一旦取消这个api, 那么就会出现我上边说的情况, session_key过期导致的session_key和button获取的encryptedData不匹配的问题.