收藏
回答

小程序开发完成把APPID从测试号换成正式的APPID,程序出现不能访问变量属性的错误?

开发者工具版本:Stable 1.03.2009140

之前开发时用的测试APPID,都没有问题,一切正常。但是开发完成准备上线把APPID换成正式的就会出现找不到属性的错误,猜测应该是开发者工具配置的问题?

错误截屏:

开发工具中项目本地设置截屏:

相关代码:

报错的对应代码是如下函数里的:

app.globalData.userId=requst_success_res.data.data.userID

提示requst_success_res.data.data.userID属性未定义 ,完整函数如下,这个函数定义在第一页的index.js里面:

 /**
  * 用户登录请求封装(解决onlaunch和onload执行顺序问题)
  */
  userLoginfunction (userInfo{
    var that = this;
    //定义promise方法
    return new Promise(function (resolve, reject{
      // 调用登录接口
      wx.login({
        /* ==================wx.login success start ================================================================== */
        successfunction (login_res{
          if (login_res.code) {
            console.log("用户登录授权code为:" + login_res.code);
            //调用wx.request请求传递code凭证换取用户openid,并将用户信息发给后台,同步检查用户是否已经在后台有记录
            wx.request({
              // 后台请求用户openid并检查此用户是否已经注册
              url: app.globalData.serverUrl+ "/login/wxlogin?code=" + login_res.code,
              method"POST",
              data: {
                nickName: userInfo.nickName,
                gender: userInfo.gender,
                language: userInfo.language,
                city: userInfo.city,
                province: userInfo.province,
                country: userInfo.country,
                avatarUrl: userInfo.avatarUrl,                
              },
              header: {
                'content-type''application/json' // 默认值
              },
              successfunction (request_success_res{
                console.log(request_success_res)
                console.log("wx.request返回成功")
                if (request_success_res.statusCode == 200) {
                  //存入session缓存中
                  //wx.setStorageSync("userId", that.globalData.userId)
                  //promise机制放回成功数据
                  //var obj = JSON.parse(request_success_res.data);
                  app.globalData.userId = request_success_res.data.data.userId //报错在这行
                  console.log(app.globalData.userId)
                  console.log("wx.request返回成功,后端返回成功 ")
                  resolve(request_success_res);
                } else {
                  console.log("wx.request返回成功,后端返回失败")
                  reject('error');
                }
              },
              failfunction (request_fail_res{
                reject(request_fail_res);
                wx.showToast({
                  title'系统错误',
                  duration2000
                })
              },
              complete() => {
                console.log("promise complete")


              } //complete接口执行后的回调函数,无论成功失败都会调用
            })
          } else {
            reject("error");
          }
        }
        /* ==================wx.login success end ================================================================== */
      })
    })
  },


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

1 个回答

  • 工号9527
    工号9527
    2020-10-22

    你自己的业务逻辑,请自查

    2020-10-22
    有用
    回复 1
    • 哈里船长
      哈里船长
      2020-10-22
      应该是后台的appid和app secret还在用测试号的....
      2020-10-22
      回复
登录 后发表内容
问题标签