网页手机号抓取程序(获取微信用户绑定的手机号1.getPhoneNumber组件通过button来实现)

优采云 发布时间: 2021-10-04 20:24

  网页手机号抓取程序(获取微信用户绑定的手机号1.getPhoneNumber组件通过button来实现)

  获取微信用户绑定的手机号

  1. getPhoneNumber 组件是通过按钮实现的(其他标签无效)。在按钮中设置open-type="getPhoneNumber",绑定bindgetphonenumber事件获取回调。

  2.在使用该组件之前,必须调用登录接口。如果没有调用login,点击按钮时,会提示先调用login。

  注:目前该接口对完成小程序认证的非个人开发者开放(不包括海外科目)。请谨慎使用。如用户举报较多或被发现在不必要的场景中使用,微信有权永久撤销小程序的界面权限。

  App({

onLaunch: function () {

wx.login({

success: function (res) {

if (res.code) {

//发起网络请求

console.log(res.code)

} else {

console.log('获取用户登录态失败!' + res.errMsg)

}

}

});

}

})

  3.通过bindgetphonenumber绑定的事件获取回调。有三个回调参数,

  errMsg:用户点击取消或授权信息回调。

  iv:加密算法的初始向量(如果用户不同意授权则未定义)。

  encryptedData:用户信息的加密数据(如果用户不同意授权,也会返回undefined)

  

  getPhoneNumber: function(e) {

console.log(e.detail.errMsg)

console.log(e.detail.iv)

console.log(e.detail.encryptedData)

if (e.detail.errMsg == 'getPhoneNumber:fail user deny'){

wx.showModal({

title: '提示',

showCancel: false,

content: '未授权',

success: function (res) { }

})

} else {

wx.showModal({

title: '提示',

showCancel: false,

content: '同意授权',

success: function (res) { }

})

}

}

  4.最后,我们需要按照自己的业务逻辑进行处理。如果用户不同意授权,我们可能会有一个界面让他手动输入。如果不是强制获取手机号,我们可以直接跳转到页面进行下一步。. (用户不同意授权errMsg返回'getPhoneNumber: fail user deny')

  5. 用户同意授权,我们可以根据登录时得到的code通过后台和微信处理得到session_key,最后通过appid、sessionkey、iv、encryptedData(用户同意授权errMsg到返回'getPhoneNumber:好的')

  Page({

getPhoneNumber: function(e) {

console.log(e.detail.errMsg)

console.log(e.detail.iv)

console.log(e.detail.encryptedData)

}

})

  6. 解密方法可以查看官方微信开发文档,有详细说明。

  加密数据解密算法(官方文档)

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线