收藏
回答

小程序更换appid后,为什么授权登录就不好使了?

小程序还在开发阶段,我更换了一个小程序账号,更改了AppId和AppSecret,然后授权登录就莫名其妙的不好使了,看了其他类似问题的解决方案,删除项目——新建项目——填写新的AppId,还是没有解决问题。换回原来的AppId的时候又可以了。请问这是什么原因?如何解决

回答关注问题邀请回答
收藏

3 个回答

  • 俞哄哄📸
    俞哄哄📸
    2020-04-16

    你这个一般问题会出现再后端的实现处理上 你可以检查下后端代码中的Appid和AppSecret是否正确替换。

    若有帮助请帮忙点个有用谢谢↓↓

    2020-04-16
    有用
    回复 1
    • Sapphire
      Sapphire
      2020-04-16
      后端有替换了appid和secret 检查了n遍了。。
      2020-04-16
      回复
  • Sapphire
    Sapphire
    2020-04-16
    /**
     * 调用微信登录
     */
    function loginByWeixin() {
        let code = null;
        return new Promise(function(resolve, reject{
            return util.login().then((res) => {
                code = res.code;
                return util.getUserInfo();
            }).then((userInfo) => {
                //登录远程服务器
                util.request(api.AuthLoginByWeixin, {
                    code: code,
                    userInfo: userInfo
                }, 'POST').then(res => {
                    if (res.errno === 0) {
                        //存储用户信息
                        wx.setStorageSync('userInfo', res.data.userInfo);
                        wx.setStorageSync('token', res.data.token);
                        resolve(res);
                    } else {
                        reject(res);
                    }
                }).catch((err) => {
                    reject(err);
                });
            }).catch((err) => {
                reject(err);
            })
        });
    }
    
    function request(url, data = {}, method = "GET"{
        return new Promise(function(resolve, reject{
            wx.request({
                url: url,
                data: data,
                method: method,
                header: {
                    'Content-Type''application/json',
                    'X-Nideshop-Token': wx.getStorageSync('token')
                },
                successfunction(res{
                    if (res.statusCode == 200) {
    
                        if (res.data.errno == 401) {
                            //需要登录后才可以操作
    
                            let code = null;
                            return login().then((res) => {
                                code = res.code;
                                return getUserInfo();
                            }).then((userInfo) => {
                                //登录远程服务器
                                request(api.AuthLoginByWeixin, {
                                    code: code,
                                    userInfo: userInfo
                                }, 'POST').then(res => {
                                    if (res.errno === 0) {
                                        //存储用户信息
                                        wx.setStorageSync('userInfo', res.data.userInfo);
                                        wx.setStorageSync('token', res.data.token);
                                        resolve(res);
                                    } else {
                                        reject(res);
                                    }
                                }).catch((err) => {
                                    reject(err);
                                });
                            }).catch((err) => {
                                reject(err);
                            })
                        } else {
                            resolve(res.data);
                        }
                    } else {
                        reject(res.errMsg);
                    }
    
                },
                failfunction(err{
                    reject(err)
                }
            })
        });
    }
    
    function login() {
        return new Promise(function(resolve, reject{
            wx.login({
                successfunction(res{
                    if (res.code) {
                        //登录远程服务器
                        resolve(res);
                    } else {
                        reject(res);
                    }
                },
                failfunction(err{
                    reject(err);
                }
            });
        });
    }
    
    function getUserInfo() {
        return new Promise(function(resolve, reject{
            wx.getUserInfo({
                withCredentialstrue,
                successfunction(res{
                    resolve(res);
                },
                failfunction(err{
                    reject(err);
                }
            })
        });
    }
    
    2020-04-16
    有用
    回复 6
    • 唏嘘
      唏嘘
      2020-04-16
      为啥没用     wx.getUserInfo  获取用户信息?
      2020-04-16
      1
      回复
    • Sapphire
      Sapphire
      2020-04-16回复唏嘘
      有用哦,这个之前的appid都是正常的,换了一个appid就不行了-0-
      2020-04-16
      回复
    • 唏嘘
      唏嘘
      2020-04-16回复Sapphire
      你等我明天上班看看 我下班了哦~
      2020-04-16
      1
      回复
    • Sapphire
      Sapphire
      2020-04-16回复唏嘘
      额 已经好啦。。吃完晚饭后再回头一看,自己莫名其妙就好了。。 我怀疑服务器的问题
      2020-04-16
      回复
    • Sapphire
      Sapphire
      2020-04-16回复唏嘘
      谢谢了
      2020-04-16
      回复
    查看更多(1)
  • 陈
    2020-04-16

    自己去看文档

    2020-04-16
    有用
    回复 10
    • 唏嘘
      唏嘘
      2020-04-16
      ??????
      2020-04-16
      回复
    • 陈
      2020-04-16回复唏嘘
      小程序的 AppID 相当于小程序平台的一个身份证,一个项目就是一个人,身份证能和人不一样吗?
      2020-04-16
      回复
    • 唏嘘
      唏嘘
      2020-04-16回复
      那你这样说就行  干啥让人去看文档
      2020-04-16
      回复
    • Sapphire
      Sapphire
      2020-04-16回复唏嘘
      大哥人狠话不多,我默默去看文档了,没找着答案emmmm
      2020-04-16
      回复
    • Sapphire
      Sapphire
      2020-04-16回复
      可是我删除项目 清除缓存了,重新建了新项目导入,用新的appId还是这样。。
      2020-04-16
      回复
    查看更多(5)
登录 后发表内容
问题标签