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); // 返回值
          }
        })
      }
    })
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。