node.js获取微信小程序openid
前端内容
onLoad() {
wx.login({ //先调用 wx.login() 获取 临时登录凭证code
success: res =>{
const code = res.code
console.log(code,233)//获取到用户临时登录凭证code
wx.request({ //发送请求
url: "http://localhost:8000/login?code="+code, //携带code
success: (res) =>{ //返回node请求到的OpenID与session_key
const openid = res.data.openid
console.log(111,openid)
wx.setStorageSync("openid", openid)
}
})
},
fail: console.log
})
},
node接口请求
const express = require('express');
const request = require('request')
const app = express()
app.listen(8000) //这里监听8000端口
const appid = "userappId" //开发者的appid
const appsecret = "userappSecret" //开发者的appsecret 登入小程序公共平台内查看
app.use('/login', (req,res)=>{
const code = req.query.code //拿到传过来的code
//调用 auth.code2Session接口,换取用户唯一标识 OpenID 和 会话密钥 session_key
const url = `https://api.weixin.qq.com/sns/jscode2session?appid=${appid}&secret=${appsecret}&js_code=${code}&grant_type=authorization_code`
request(url, (err,wxresult,wxbody)=>{
res.send(wxbody) //将请求到的 OpenID与 session_key 返回给小程序页面js文件
})
})
console.log(`Server running at http://localhost:8000`)
node启动端口项目
运行小程序项目微信浏览器可以得到openid