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

发布于 2022-09-12 22:29:47 字数 1861 浏览 11 评论 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

心舞飞扬 2022-09-19 22:29:47

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文