微信小程序如何获取手机号

 时间:2024-10-26 16:33:45

相信有很多朋友在做微信小程序开发的时候会需要获取用户的手机号码,但是由于不太清楚具体代码怎么写,所以无从下手,下面就介绍下微信下程序获取手机号码的具体方法。

微信小程序如何获取手机号

工具/原料

电脑:组装电脑。

微信开发者工具。

微信小程序获取用户手机号码步骤:

1、首先为了方便理解,附上一张小程序获取用户手机号码的流程图。

微信小程序如何获取手机号

2、按照上图所示,需要先畛粳棠奈获取用户的登陆凭证,下面的这个代码是使用小程序登录接口以后在获取的,其中wx.request()是微信官方的API,它的作用块吧吨翘是发送网络请求到后端,然后在后端用code换区session_key和openid;相关代码如下:wx.login({success:function(res){if(res.code){//使用小程序登录的接口完成后端用户登录wx.request({url:app.d.hostUrl+'getOpenid',//你自己相关api接口的路径data:{code:res.code,appid:"小程序AppID",secret:"小程序secret",},success:function(res){//将openid保存到缓存里wx.setStorageSync("openid",res.openid);wx.setStorageSync("session_key",res.session_key);}})}else{console.log('获取用户登录态失败!'+res.errMsg)}}})。

微信小程序如何获取手机号

3、现螅岔出礤在前端已经将获取的openid和session_key所需的参数传递给后端了,在后端写入相关代码://用code换session_key和openidpublicfuncti泠贾高框ongetOpenid(){ global$_GPC;//这是微擎框架$_GPC想当于$_GET和$_POST $code=$_GPC['code']; $appid=$_GPC['appid']; $secret=$_GPC['secret']; $api="https://api.weixin.qq.com/sns/jscode2session?appid={$appid}&secret={$secret}&js_code={$code}&grant_type=authorization_code";$str=$this->httpGet($api);return$str;}privatefunctionhttpGet($url){$curl=curl_init();curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);curl_setopt($curl,CURLOPT_TIMEOUT,500);curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,true);curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,true);curl_setopt($curl,CURLOPT_URL,$url);$res=curl_exec($curl);curl_close($curl);return$res;}。

微信小程序如何获取手机号

4、这时前端success就可以取到openid和session_key了,那么就需要在后端用session_key和openid来获取解密手机号码了;相关代码:publicfunctiongetPhoneNumber(){//这是解密手机号码的接口,等会前端还要写个请求访问这个接口拿到手机号码 global$_GPC; require_oncedirname(__FILE__).'/mail/WXBizDataCrypt.php'; $appid=$_GPC['appid'];$sessionKey=$_GPC['session_key'];$encryptedData=$_GPC['encryptedData'];$iv=$_GPC['iv'];$pc=newWXBizDataCrypt($appid,$sessionKey); $errCode=$pc->decryptData($encryptedData,$iv,$data); if($errCode==0){ print($data."\n"); }else{ print($errCode."\n"); } }。

微信小程序如何获取手机号

5、在小程序的wxml文件中写一个button按钮来获取用户手机号码;相关代码:<buttonbindgetphonenumber='getPhoneNumber'>使用微信登录</button>。

微信小程序如何获取手机号

6、然后在js代码中写好获取代码就可以了;相关代码:getPhoneNumber:function(e){vardetail=e.detail;wx.request({url:app.d.hostUrl+'getPhoneNumber',//解密手机号码接口data:{"appid":app.d.appId,"session_key":wx.getStorageSync('session_key'),"encryptedData":detail.encryptedData,"iv":detail.iv},success:function(res){console.log(res.data.phoneNumber);wx.setStorageSync("phonenumber",res.data.phoneNumber);}})}。

微信小程序如何获取手机号

转转怎么设置收款方式 支付宝如何生成吱口令 vivo手机如何开启拦截垃圾彩信功能 百度贴吧怎么设置手机号登录 河南联通用户如何查询电子受理单
热门搜索
女神节图片 点光源图片 辛亥革命 电影 法国伦理电影 死神来了 电影