微信小程序登陆获取头像和用户名代码修复
时间: 2024-09-16 14:01:19 浏览: 39
微信小程序如何获取用户头像和昵称
微信小程序获取用户头像和昵称通常通过`wx.login()`和`getUserInfo()`这两个API来实现。以下是修复示例代码:
```javascript
// 1. 获取用户登录状态
Page({
onLaunch: function() {
wx.login({
success(res) {
// res.code 是登录凭证
wx.request({
url: 'https://api.weixin.qq.com/sns/jscode2session?appid=your_appid&secret=your_secret&js_code=' + res.code + '&grant_type=authorization_code',
method: 'POST', // 这里假设后端接口需要POST请求
data: {},
header: {
'content-type': 'application/json'
},
success(res) {
const userInfo = res.data.userInfo;
if (userInfo) {
// 2. 使用getUserInfo获取用户信息(需用户授权)
wx.getUserInfo({
success: function(res) {
let avatarUrl = res.userInfo.avatarUrl; // 用户头像URL
let nickname = res.userInfo.nickName; // 用户名
// 更新或存储用户的头像和昵称
this.globalData.user = { avatar: avatarUrl, name: nickname };
console.log('User info fetched:', { avatar: avatarUrl, name: nickname });
}
});
} else {
console.error('Failed to fetch user info');
}
},
fail: function(err) {
console.error('Login failed: ', err);
}
});
},
fail: function(err) {
console.error('Login failed: ', err);
}
});
}
})
```
在这个例子中,你需要替换 `your_appid` 和 `your_secret` 为你的微信公众号的 AppID 和 AppSecret。请注意,由于涉及到用户隐私,一定要遵守微信开发者协议,并确保用户已经同意授权。
阅读全文