微信小程序封装request请求,为什么会"缺少oauth code"?

request.js里封装的代码,如下
const { baseUrl } = require('./config').prod

const showError = function(error){
wx.showTabBar({

title: '数据加载失败',
// title: error.errMsg,
// image: ''

})
}
const request = function(url, method={GET}, data={}) {

let fullUrl = `${baseUrl}/${url}`;
console.log('接口地址',fullUrl)
// wx.showLoading({ title: '数据加载中...' })
return new Promise((resolve, reject) => {
  wx.request({
    url: fullUrl,
    method,
    data,
    success: resolve,
    fail: reject
  })
}).then(res => {
  console.log("res获取接口数据", res)
  if (res.statusCode === 200 && res.data.code === 0) {
    return res.data;
  }else {
    Promise.reject({
      message: res.errMsg
    })
  }
})

}

module.exports = {
request,
showError
}

config.js里的代码,如下
module.exports={
//开发环境
dev:{

baseUrl: 'http://193.169.1.157:1231'

},
//生产环境
prod:{

baseUrl: 'https://yuanda.cn11.utoolss.club1'

},
//测试环境
test:{

// baseUrl:'https://api.1909A.com'

}
}

api.js里的代码,如下
const { request } = require('./request');

module.exports={
//微信登录接口
loginApi:(data) => {

return request('wxa/api/login1', 'GET', {data: data})

},
}

组件里引用,如下:
getUserInfo(e) {

console.log("e用户信息",e)
wx.login({
  success (res) {
    let data = {
      code: res.code,
      encryptedData: e.detail.encryptedData,
      iv: e.detail.iv,
    };
    loginApi(data).then(result => {
      console.log("封装api回调",result)
    }).catch((error) => {
      showError
      console.log("loginApi请求失败", error)
    })
  }
})

},

报错如图:
image

阅读 2.1k
1 个回答

是你后台的问题,后台使用oauth2认证,检查http请求的header参数,发现缺少参数;
后台应该忽略登录接口的token校验

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题