关于wx.login 和 wx.getUserInfo的先后顺序
发布于 6 年前 作者 jqian 9699 次浏览 来自 问答

介绍一下情况:   我是前端,我是先getUserInfo然后再去调用wx.login,几乎每次只要调用到app.js的时候都会调用以上两个接口,然后现在的问题是: 后台拿着我给的 code iv encryptData ,解密不了session_key,解密的时候都是空的,后台说要拿到其中的union_id还是什么,总之是必须要以上这几个参数.

现在的问题是,解密不出来,跟我这边login和getUserInfo的顺序以及频率有关系么,频率差不多是两三分钟一次,同事是把code缓存了起来并没有发生这种事情

wx.getUserInfo({

            success: function (e) {

                console.log(e);

                jrWxLogin().then((res) => {

                    console.log(“wxLogin” + res.code);

                    jrFetchPost(api.userLogin, {

                        code: res.code,

                        iv: e.iv,

                        encryptedData: e.encryptedData,

                    }, true).then((res) => {

剩下来的就是业务代码,不贴了

2 回复

顺序应该就是  1、wx.login    2、wx.getUserInfo 。

如果顺序反过来 ,会出现校验解密失败的问题,比较坑的是 不是每次都出错。

必须先有这个wx.login 在前面吧!先通过code 得到openid 就标识用户了

至于wx.getUserInfo现在已经不支持了。

请使用 <button open-type=“getUserInfo”></button> 引导用户主动进行授权操作


详细说明:https://developers.weixin.qq.com/miniprogram/dev/api/api-login.html

回到顶部