开发者工具版本: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执行顺序问题)
*/
userLogin: function (userInfo) {
var that = this;
//定义promise方法
return new Promise(function (resolve, reject) {
// 调用登录接口
wx.login({
/* ==================wx.login success start ================================================================== */
success: function (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' // 默认值
},
success: function (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');
}
},
fail: function (request_fail_res) {
reject(request_fail_res);
wx.showToast({
title: '系统错误',
duration: 2000
})
},
complete: () => {
console.log("promise complete")
} //complete接口执行后的回调函数,无论成功失败都会调用
})
} else {
reject("error");
}
}
/* ==================wx.login success end ================================================================== */
})
})
},
你自己的业务逻辑,请自查