微信小程序之获取用户信息(流程+2种方法)
微信小程序之获取用户信息(流程+2种方法)
获取流程图
首先,我们需要了解微信小程序中获取用户信息的基本流程。如下图所示:
![获取流程图]( `wx.getUserProfile()` 函数来提示用户授权登录。授权成功后,会把用户头像数据和名称数据保存到缓存区里,并且改变全局变量的值。
步骤如下:
1. 在界面添加一个登录按钮。
2. 用户点击登录按钮后,调用 `wx.getUserProfile()` 函数来提示用户授权登录。
3. 用户授权成功后,会返回一个包含用户头像数据和名称数据的对象。
4. 把用户头像数据和名称数据保存到缓存区里,并且改变全局变量的值。
示例代码:
```javascriptPage({
data: {
userInfo: {}
},
login() {
wx.getUserProfile({
desc: '获取用户信息',
success: (res) => {
this.setData({
userInfo: res.userInfo });
// 把用户头像数据和名称数据保存到缓存区里 wx.setStorageSync('userInfo', res.userInfo);
// 改变全局变量的值 globalData.userInfo = res.userInfo;
}
});
}
});
```
第二种方法:使用wx.login()函数
这种方法比较复杂,需要先调用 `wx.login()` 函数来获取用户的登录信息,然后再调用 `wx.getUserInfo()` 函数来获取用户的头像数据和名称数据。
步骤如下:
1. 调用 `wx.login()` 函数来获取用户的登录信息。
2. 获取到登录信息后,会返回一个包含登录令牌的对象。
3. 使用登录令牌调用 `wx.getUserInfo()` 函数来获取用户的头像数据和名称数据。
4. 把用户头像数据和名称数据保存到缓存区里,并且改变全局变量的值。
示例代码:
```javascriptPage({
data: {
userInfo: {}
},
login() {
wx.login({
success: (res) => {
if (res.code) {
// 使用登录令牌调用wx.getUserInfo()函数 wx.getUserInfo({
lang: 'zh_CN',
success: (userInfoRes) => {
this.setData({
userInfo: userInfoRes.userInfo });
// 把用户头像数据和名称数据保存到缓存区里 wx.setStorageSync('userInfo', userInfoRes.userInfo);
// 改变全局变量的值 globalData.userInfo = userInfoRes.userInfo;
}
});
} else {
console.log('获取登录信息失败!');
}
},
fail: (err) => {
console.log('获取登录信息失败!');
}
});
}
});
```
总结
微信小程序中获取用户信息的流程比较复杂,需要先调用 `wx.login()` 函数来获取用户的登录信息,然后再调用 `wx.getUserInfo()` 函数来获取用户的头像数据和名称数据。两种方法都可以实现,但是第二种方法更复杂一些。