# 手机号快速验证

该接口方法需要安装 小程序用户信息,如未安装需要前往安装才可以使用

# 调用方式

# 1. 小程序端云能力初始化

修改app.js,在 ApponLaunch 生命周期方法中添加云能力初始化代码,参数传入用户的云开发环境ID。

App({
  onLaunch: function () {
    wx.cloud.init({
      // env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源
      env: '{%TCB_ENV_ID%}',
      // 是否在将用户访问记录到用户管理中,在控制台中可见,默认为false
      traceUser: false,
    });
  },
});

# 2. 在小程序页面中使用button组件并将open-type属性值设置为getPhoneNumber

当用户点击并同意之后,通过 bindgetphonenumber事件获取回调信息:

<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">获取手机号</button>

请注意 目前该接口针对非个人开发者,且完成了认证的小程序开放。使用个人小程序时获取不到动态令牌code; 请确认当前基础库版本是否为 2.21.2 及以上,低于该版本可能获取不到code; 更多注意事项请参考微信文档手机号快速验证组件

# 3. 将bindgetphonenumber事件回调中的动态令牌code作为模板参数来调用模板方法,获取用户手机号

注:每个code有效期为 5 分钟,且只能消费一次。

Page({
  getPhoneNumber(e) {
    console.log(e.detail.code); // 动态令牌

    wx.cloud.callFunction({
      name: 'cloudbase_module',
      data: {
        name: 'wx_user_get_phone_number',
        data: {
          code: e.detail.code,
        },
      },
      success: (res) => {
        const phoneInfo = res.result?.phoneInfo;
        console.log('获取到的手机号信息: ', phoneInfo);
      },
    });
  },
});

# 入参:

参数 类型 必填 描述
code string 小程序端获取的动态令牌 code

# 出参:

参数 类型 描述
requestID string 请求唯一ID
result object
result.phone_info *unknown*