微信小程序获取openid
时间: 2023-11-06 11:07:50 浏览: 234
要获取微信小程序中用户的openid,可以使用微信提供的登录接口wx.login(),该接口会返回一个code值,将该code值发送给后端服务器,后端服务器再通过调用微信提供的接口换取openid。
前端代码示例:
```javascript
wx.login({
success: function (res) {
if (res.code) {
// 发起网络请求,将code发送给服务器
wx.request({
url: 'https://example.com/login',
data: {
code: res.code
},
success: function (res) {
console.log(res.data)
}
})
} else {
console.log('登录失败!' + res.errMsg)
}
}
})
```
后端代码示例(Node.js):
```javascript
const request = require('request')
// 将code发送给微信服务器换取openid
function getOpenid(code) {
return new Promise((resolve, reject) => {
const url = `https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=${code}&grant_type=authorization_code`
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
resolve(JSON.parse(body))
} else {
reject(error)
}
})
})
}
// 处理登录请求
app.post('/login', async function (req, res) {
const code = req.body.code
try {
const data = await getOpenid(code)
// 返回openid给前端
res.send(data.openid)
} catch (error) {
console.log(error)
res.sendStatus(500)
}
})
```
阅读全文