# wx.getPhoneMask

> iOS >= 0.7.13 支持，Android >= 0.7.5 支持。

获取本机手机号掩码，展示在登录页。作为[本机号码一键登录](/miniprogram/dev/platform-capabilities/miniapp/component/auth/phoneOneClickLogin)的前置步骤。（注意，本机号码一键登录将消费 wx.getPhoneMask 获得的上下文信息，使得该上下文信息失效。开发者如需再次调用本机号码一键登录，应重新调用 wx.getPhoneMask。）

## 注意事项 1

- 开发者需依据返回 operatorType 在登录页放置对应的运营商的隐私协议，需获取用户同意隐私协议之后，才可使用一键获取手机号的功能，且不能设计成默认同意，必须是用户主动同意，否则会影响此功能的使用。
- 电信，隐私协议文字名称：《天翼账号提供认证服务与隐私协议》，跳转地址：[https://e.189.cn/sdk/agreement/show.do?order=2&type=main&appKey=&hidetop=true&returnUrl=](https://e.189.cn/sdk/agreement/show.do?order=2&type=main&appKey=&hidetop=true&returnUrl=)  
- 联通，隐私协议文字名称：《联通统一认证服务条款》，跳转地址：[https://opencloud.wostore.cn/authz/resource/html/disclaimer.html?fromsdk=true](https://opencloud.wostore.cn/authz/resource/html/disclaimer.html?fromsdk=true)
- 移动，隐私协议文字名称：《中国移动认证服务条款》，跳转地址：[https://wap.cmpassport.com/resources/html/contract.html](https://wap.cmpassport.com/resources/html/contract.html)
- 授权页的文案建议为：已阅读同意《天翼账号提供认证服务与隐私协议》并授权XXX获取本机号码
- 此外，根据个保法最小收集要求为：产品隐私协议、运营商隐私协议为用户必须勾选项
- 开发者可依据 App 实际情况设计并放置相关的隐私协议，如：

![](https://testchu-7gy8occc8dcc14c3-1304825656.tcloudbaseapp.com/img%2Fmelody%2F202409231801837.png)

## 注意事项 2

- 手机需打开蜂窝网络。即，此接口需要依赖手机上打开蜂窝网络，因此不可在开发者工具或者模拟器上调试，需在手机上测试。
- 如果是双卡手机，那么获取的号码信息是当前开启了蜂窝流量的那张卡的号码信息，即该接口获取的信息取决于当前用的哪个卡的蜂窝流量。

## 注意事项 3

- 该接口适用于鸿蒙端，但是由于不支持强制走蜂窝，因此如果鸿蒙手机上是连着 WIFI 的情况下，该接口无法正常获得掩码。

## 使用步骤

1、需前往「[微信开发者平台](https://developers.weixin.qq.com/platform/) - 多端应用 - 身份管理」开通身份管理功能，并且勾选「本机号码一键登录」。

2、按照开发文档调用 wx.getPhoneMask成功。（注意，本机号码一键登录将消费 wx.getPhoneMask 获得的上下文信息，使得该上下文信息失效。开发者如需再次调用本机号码一键登录，应重新调用 wx.getPhoneMask。）

3、按照开发文档调用[本机号码一键登录](/miniprogram/dev/platform-capabilities/miniapp/component/auth/phoneOneClickLogin)组件，实现一键登录功能。

## 参数

### Object object

|属性|类型|默认值|必填|说明
|--|--|--|--|--|
|success|function||否|接口调用成功的回调函数|
|fail|function||否|接口调用失败的回调函数|
|complete|function||否|接口调用结束的回调函数|

#### object.success 回调函数

##### 参数

###### Object res

|属性|类型|说明
|--|--|--|
|phoneMask|string|手机号掩码：137`****`1234|
|operatorType|int|运营商名称；1 表示移动，2 表示联通，3 表示电信|

#### object.fail 回调函数

##### 参数

###### Object res

|属性|类型|说明
|--|--|--|
|errCode|number|错误码|
|errMsg|string|错误提示|

**res.errCode**

|errCode|说明|
|--|--|
|-700000|前端错误，errMsg 将给出详细提示|
|600006|`request:fail cellular network is unavailable`|

- 说明：出现 `request:fail cellular network is unavailable` 错误时，表示当前手机的蜂窝网络没有开通，将蜂窝网络开启即可。

## 示例代码

```js
wx.getPhoneMask({
  success (res) {
    if (res.phoneMask) {
      // 获取手机号掩码 res.phoneMask 成功，展示在登录页。
    }
  }
})
```
