微信小程序获取手机号新版
时间: 2024-12-28 08:10:36 浏览: 3
微信小程序获取用户手机号的功能是在微信官方提供的用户授权管理API基础上进行的。从微信5.4版本开始,小程序可以在用户授权的情况下获取用户的手机号码,但需要注意的是,这个过程需要遵守微信的相关隐私政策,并且需要在用户明确同意的情况下进行。
以下是获取手机号的基本步骤:
1. **引入权限**:在`app.json`文件中配置`permission`,添加`scope.userInfo`权限,表示请求获取用户基本信息(包括头像、昵称和手机号)。
```json
{
"permissions": {
"scope.userInfo": {
"desc": "用于获取用户的基础信息"
}
}
}
```
2. **提交申请**:在需要获取手机号码的页面上,通过`wx.authorize()`函数向用户请求权限。提供一个回调函数来处理用户的授权结果。
```javascript
Page({
async getUserInfo() {
try {
let result = await wx.getSetting({
permissions: ['scope.userInfo']
});
if (result.authSetting['scope.userInfo']) {
// 已经授权
await this.getUserPhone();
} else {
// 弹窗提示用户授权
await wx.showModal({
title: '获取手机号',
content: '为了提供更好的服务,我们需要获取您的手机号',
showCancel: false,
confirmText: '授权'
}).then(res => {
if (res.confirm) {
wx.authorize({
scope: 'scope.userInfo',
success: () => {
this.getUserPhone();
},
fail: () => {
console.log('用户拒绝授权');
}
});
}
});
}
} catch (err) {
console.error(err);
}
},
async getUserPhone() {
try {
let phoneNumberRes = await wx.getPhoneNumber({
success: res => {
console.log('手机号:', res.phoneNumber);
},
fail: err => {
console.error('获取手机号失败', err);
}
});
} catch (e) {
console.error('获取手机号错误', e);
}
}
})
```
3. **处理响应**:如果用户授权并成功获取到手机号,通常会存储在小程序的全局变量`.globalData`或其他合适的地方,供后续使用。
阅读全文