微信小程序获取微信手机号前端和后端php代码
微信小程序支持一键点击获取当前微信用户的注册手机号功能,不用再频繁输入手机号及验证码进行注册了,提高了用户体验,非常好用,但是使用此功能的前提是小程序必须通过微信认证。
今天我们来讲讲如何编写前后端代码实现这个功能。
一、小程序端代码
我们先获取sessionkey这个值,这个值是参与手机号解密的,所以要提前获取,那么怎么获取呢
wx.login({ success(res) { console.log(res); var code = res.code wx.request({ url: '后端url', method: "post", data: { code }, success: function (res) { console.log(res.data.openid); that.setData(res.data); } }) } })后端的php返回sessionkey
<?php $appid = "wx1231312321"; $appsecret = "12312334343534534535"; $code = $_GET['code']; if ($code == '') { echo json_encode([ 'code' => '201', 'data' => 'code不能为空' ]); exit(); } $url = 'https://api.weixin.qq.com/sns/jscode2session?appid='.$appid.'&secret='.$appsecret.'&js_code='.$code.'&grant_type=authorization_code'; $result = http_curl($url); $token = json_decode($result, 1); if (isset($token['session_key'])) { $sessionkey = $token['session_key']; //拿到openid echo json_encode([ 'code' => '200', 'data' => $sessionkey ]); exit(); } echo json_encode([ 'code' => '201', 'data' => "登陆失败" ]); function http_curl($url) { $curlobj = curl_init(); curl_setopt($curlobj, CURLOPT_URL, $url); curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curlobj, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curlobj, CURLOPT_SSL_VERIFYHOST, FALSE); $output = curl_exec($curlobj); curl_close...
点击查看剩余70%
网友评论0