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