网页手机号抓取程序(微信小程序如何通过用户授权获取手机号通过示例代码介绍)
优采云 发布时间: 2021-10-11 21:01网页手机号抓取程序(微信小程序如何通过用户授权获取手机号通过示例代码介绍)
本文文章主要介绍如何通过微信小程序通过用户授权获取手机号码(getPhoneNumber)。文章中介绍的示例代码非常详细,对大家的学习或工作有一定的参考学习价值。有需要的朋友可以参考以下
小程序有一个很方便的获取用户的api,就是通过getPhoneNumber获取用户已经绑定微信的手机号。需要注意的一点是,现在微信注重用户体验,有些方法需要用户主动触发,比如getPhoneNumber。
官方文件:
实现思路:
干货直送:
1、
2、JS中的getPhoneNumbe组件函数(这个事件中最重要的是登陆wx.login后发起接口请求),这里需要配置参数给接口:
这些都是必不可少的参数,都可以看作是一个合法的请求。
appid: “你的小程序APPID”,
secret: “你的小程序appsecret”,
code: res.code,
encryptedData: telObj,
iv: ivObj
//通过绑定手机号登录
getPhoneNumber: function (e) {
var ivObj = e.detail.iv
var telObj = e.detail.encryptedData
var codeObj = "";
var that = this;
//------执行Login---------
wx.login({
success: res => {
console.log('code转换', res.code);
//用code传给服务器调换session_key
wx.request({
url: 'https://你的接口文件路径', //接口地址
data: {
appid: "你的小程序APPID",
secret: "你的小程序appsecret",
code: res.code,
encryptedData: telObj,
iv: ivObj
},
success: function (res) {
phoneObj = res.data.phoneNumber;
console.log("手机号=", phoneObj)
wx.setStorage({ //存储数据并准备发送给下一页使用
key: "phoneObj",
data: res.data.phoneNumber,
})
}
})
//-----------------是否授权,授权通过进入主页面,授权拒绝则停留在登陆界面
if (e.detail.errMsg == 'getPhoneNumber:user deny') { //用户点击拒绝
wx.navigateTo({
url: '../index/index',
})
} else { //允许授权执行跳转
wx.navigateTo({
url: '../test/test',
})
}
}
});
},
最终结果显示:
点击“拒绝”,开发者可以捕获事件,getPhoneNumber函数返回e.detail.errMsg as getPhoneNumber: user deny