wx.getUserInfo({
        success: res => {
            wx.login({
                success: data => {
                    wx.request({
                        url: 'https://example.com',
                        data: {
                            code: res.code,
                            encryptedData: data.encryptedData,
                            iv: data.iv
                        }
                    })
                }
            })
        }
})

wx.getUserInfo 调用之后才调用 wx.login,这种调用顺序,会出现概率性校验解密失败的问题。

最好的顺序是先调用 wx.login 再调用 wx.getUserInfo。

参考

  1. 关于 wx.login 和 wx.getUserInfo 的先后顺序