使用wx.getUserProfile
时间: 2025-04-28 15:25:03 浏览: 25
### 微信小程序 `getUserProfile` 接口使用详解
#### 调用条件
为了安全性和用户体验考虑,此接口仅能在页面产生点击事件之后被调用[^1]。
#### 函数签名
```javascript
wx.getUserProfile(Object object)
```
#### 参数说明
- `object.success`: 接口调用成功的回调函数,返回参数包含用户信息对象 `userInfo` 和原始数据字符串 `rawData` 等。
- `object.fail`: 接口调用失败的回调函数。
- `object.complete`: 接口调用结束后的回调函数(无论成功与否)。
#### 用户授权提示
每次请求都会显示一个授权对话框给用户,只有当用户同意授权后才会返回用户的个人信息[^2]。
#### 示例代码
下面是一个简单的例子来展示如何利用这个API获取并处理用户资料:
```javascript
Page({
handleGetUserProfile() {
wx.getUserProfile({
desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
success(res) {
console.log('User Info:', res.userInfo);
const { nickName, avatarUrl } = res.userInfo;
// 存储到本地缓存或其他操作...
try {
wx.setStorageSync('nickName', nickName);
wx.setStorageSync('avatarUrl', avatarUrl);
} catch (e) {
console.error(e.message);
}
},
fail(err) {
console.warn('Failed to get user profile.', err);
}
});
}
});
```
上述代码片段展示了如何定义一个名为 `handleGetUserProfile` 的方法,在其中调用了 `wx.getUserProfile()` 来向用户请求其个人资料权限。如果用户授予了访问权,则可以进一步保存这些信息或者执行其他逻辑;反之则记录错误日志以便调试。
#### 判断登录状态的方法变更
不同于旧版通过 `wx.getSetting` 方法检查登录状态的做法,现在推荐使用 `wx.setStorageSync` 或者类似的存储机制来进行管理。
阅读全文
相关推荐


















