3. 在事件处理函数中调用微信小程序提供的`wx.login`接口获取用户的登录凭证,并将登录凭证发送到服务器端。示例代码如下:
```javascript
onGetUserInfo: function (e) {
console.log(e.detail);
if (e.detail.userInfo) {
wx.login({
success: function (res) {
if (res.code) {
// 发送 res.code 到后台换取微信号
wx.request({
url: 'https://example.com/login',
data: {
code: res.code
},
success: function (res) {
console.log(res.data);
// 获取到微信号,可以进行其他操作
},
fail: function (res) {
console.log(res);
}
})
} else {
console.log('登录失败!' + res.errMsg)
}
},
fail: function (res) {
console.log(res);
}
})
} else {
console.log('用户拒绝授权!')
}
}
```
4. 在服务器端通过微信提供的登录凭证获取用户的微信号。示例代码如下(使用Node.js和express框架):
```javascript
app.post('/login', function (req, res) {
let code = req.body.code;
let appId = 'your_app_id';
let appSecret = 'your_app_secret';
let url = `https://api.weixin.qq.com/sns/jscode2session?appid=${appId}&secret=${appSecret}&js_code=${code}&grant_type=authorization_code`;