微信小程序node后台axios请求无法得到response
发布于 7 年前 作者 Enzo1994 3764 次浏览 来自 问答

官方文档说sission-key不能散布出去,所以在后台请求, koa+axios 地址是这个:https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code 求助大佬 另外ctx.state.data 应该写在哪里合适呢 万分感谢

const axios = require('axios')

module.exports = async ctx => {
  const comingData = ctx.request.body;

  let res;
  const instance = axios.create({
    baseURL: 'https://api.weixin.qq.com/sns/'
  })
  const params= {
    appid: 'wxdad****80bdc',
    secret: 'af5ecae8*****6e26df36d2',
    js_code: comingData.js_code,
    grant_type: 'authorization_code'
  }
  function req() {
    return new Promise((resolve, reject) => {
      instance.get('/jscode2session', params, (err, res) => {
        if (err) {
          reject(err)
        }
        else {
          resolve(res)
        }
      })
    })
  }

req().then(res=>{ctx.state.data=res})
1 回复

我这样做是没有问题的。

const rp = require('request-promise');
const options = {
  method: 'GET',
  url: 'https://api.weixin.qq.com/sns/jscode2session',
  qs: {
	grant_type: 'authorization_code',
	js_code: code,
	secret: Config.wechat.secret,
	appid: Config.wechat.appid
	}
};

let sessionData = await rp(options);
回到顶部