koa2获取微信小程序openid

1.在小程序开发环境必须配置自己真实的appid,如:在project.config.josn中appid,才可以获取到openid;
2.后端代码中也需要配置 自己真实的appid,AppSecret小程序密钥,这些都在小程序-开发设置页面可以获取到;

  1. js_code是通过wx.login()获取;
koa后端
const router = require('koa-router')()
const koa2Req = require('koa2-request')

const appId = '你自己的appid'
const AppSecret ='你自己的小程序密钥'

router.prefix('/api/login')

router.post('/openid', async(ctx, next) =>{
    const {code }= ctx.request.body
    console.log('接收到jscode:',code)
    const urls =  `https://api.weixin.qq.com/sns/jscode2session?appid=${appId}&secret=${AppSecret}&js_code=${code}&grant_type=authorization_code`
    console.log(urls)
    const res = await koa2Req({
        url: `https://api.weixin.qq.com/sns/jscode2session?appid=${appId}&secret=${AppSecret}&js_code=${code}&grant_type=authorization_code`
      })
    const bodys = JSON.parse(res.body);
    const session_key = bodys.session_key
    const openid = bodys
    console.log('返回的session_key', bodys.openid)
    console.log('返回openid:', openid)
    ctx.body = {
        session_key
    }
})

module.exports = router
小程序端
 // 登录
    wx.login({
      success: res => {
        console.log(res.code)
        wx.request({
          url: 'http://127.0.0.1:8000/api/login/openid',
          method: 'POST',
          data: {
            code: res.code
          },
          success(res) {
            console.log(res); // 返回值
          }
        })
      }
    })

你可能感兴趣的:(koa2获取微信小程序openid)