# 手机号快速验证
该接口方法需要安装 小程序用户信息,如未安装需要前往安装才可以使用
# 调用方式
# 1. 小程序端云能力初始化
修改app.js
,在 App
的 onLaunch
生命周期方法中添加云能力初始化代码,参数传入用户的云开发环境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* |