微信小程序获取微信手机号前端和后端php代码

微信小程序获取微信手机号前端和后端php代码

微信小程序获取微信手机号前端和后端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%

{{collectdata}}

网友评论0