微信小程序获取手机号
需下载微信官方解密文件。放到vendor目录下 —— [ 用户数据的签名验证和加解密 ]
public function getphone()
{
$APPID = '';//自己配置
$AppSecret = '';//自己配置
$code =input('code');
$encryptedData = input('encryptedData');
$iv = input('iv');
$url="https://api.weixin.qq.com/sns/jscode2session?appid=".$APPID."&secret=".$AppSecret."&js_code=".$code."&grant_type=authorization_code";
$arr = $this->vget($url); // 一个使用curl实现的get方法请求
$arr = json_decode($arr,true);
$openid = $arr['openid'];
$session_key = $arr['session_key'];
$pc = new \WXBizDataCrypt($APPID, $session_key);
$errCode = $pc->decryptData($encryptedData, $iv, $data);
$data = json_decode($data);
dump($data);die;//打印数据
}
public function vget($url){
$info=curl_init();
curl_setopt($info,CURLOPT_RETURNTRANSFER,true);
curl_setopt($info,CURLOPT_HEADER,0);
curl_setopt($info,CURLOPT_NOBODY,0);
curl_setopt($info,CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($info,CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($info,CURLOPT_URL,$url);
$output= curl_exec($info);
curl_close($info);
return $output;
}