收藏
回答

发布后的小程序登录请求发送不出去,真机调试下却可以。

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug request请求 微信iOS客户端 7.0.22 2.12.2

小程序名:优化环境

问题复现:

线上正式运行中的代码,在一键登录,进行wx.login并只储存openId的情况下,发送请求到后台去进行数据存储,但是一直显示发送不出去,后台也接收不到对应的信息。

但是,相同的代码在真机调试中是可以正常进行的,我这边可以提供完整的代码

// pages/bangding/index.js

const app = getApp();

Page({


  /**

   * 页面的初始数据

   */

  data: {


  },


  getUserProfile : function(e){

    var sf = this;

    wx.showLoading({

      title: '请求中....',

    })

    //调用wx.login 接口

    wx.login({

      success: function(e){

        //去后台换取sessionkey 

        sf.getSessionKeyByCode(e.code);

      }

    })

  },

  //用code去后台换取sessionKey

  getSessionKeyByCode: function(code){

    var sf = this;

    var vo = {

      appid : app.data.APP_ID,

      code : code

    }

    wx.request({

      url: app.data.baseUrl+"/loginCtr/wechatMiniAppLogin.action",

      header: app.data.HEADER,

      method: "get",

      timeout: 15000,

      data:vo,

      success: function(e){

        var res = e.data;

        ifres.code === 1 ){

          //调用去后台解析用户数据的接口

          wx.getUserInfo({

            success: function(e){

              ife.errMsg === "getUserInfo:ok" ){

                //去后台换取用户信息

                sf.do_login(e,res.data);

              }

            },

            fail : function(e){}

          })

        }else{

          wx.hideLoading();

          wx.showToast({

            title: '登录失败',

            duration : 1*1000

          })

        }

      },

      fail : function(e){}

    })

  },

  //微信登录

  do_login : function(e,sessionKey){

    var sf = this;

    var vo = {

      appid : app.data.APP_ID,

      sessionKey : sessionKey,

      signature : e.signature,

      rawData : e.rawData,

      encryptedData :  e.encryptedData,

      iv :  e.iv

    }

    wx.request({

      url: app.data.baseUrl+"/loginCtr/wechatMiniAppUserInfo.action",

      header: app.data.HEADER,

      method: "get",

      timeout: 15000,

      data:vo,

      success: function(e){

        var res = e.data;

        ifres.code === 1 ){

          //缓存登录凭证

          wx.setStorageSync('authorization', res.data.Authorization.token);

          //缓存用户openId

          wx.setStorageSync('openId', res.data.openId);

          //全局赋值

          app.data.authorization = res.data.Authorization.token;

          app.data.openId = res.data.openId;

          //页面跳转到首页

          wx.switchTab({

            url: './../login/index',

          })

        }

      },

      fail : function(e){}

    })

  }

})


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

2 个回答

  • 默
    2021-04-23

    把你这个域名 在MP后台-开发管理-开发设置-request域名内添加 然后重启小程序就可以了

    2021-04-23
    有用
    回复 1
  • 谋谋谋
    谋谋谋
    2021-04-23

    报错可有

    2021-04-23
    有用
    回复 1
    • web,小程序开发定制
      web,小程序开发定制
      2021-04-24
      没有任何报错,我在本地用真机调试,本地调试,都没问题,就是上线不行
      2021-04-24
      回复
登录 后发表内容