楼主有解决吗?也遇到了这个问题
发布后的小程序登录请求发送不出去,真机调试下却可以?小程序名:优化环境 问题复现: 线上正式运行中的代码,在一键登录,进行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; if( res.code === 1 ){ //调用去后台解析用户数据的接口 wx.getUserInfo({ success: function(e){ if( e.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; if( res.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){} }) } })
2021-06-03