用open_type = “getPhoneNumber ”方法获取到以下信息
这边需要将code值传入后端
wx.request({
url: 'http://www.***.com/phone',
data:{
code:code
},
method:"POST",
success:res=>{
console.log(res);
}
})
后端 进行curl的封装
function geturl($url){
$headerArray =array("Content-type:application/json;","Accept:application/json");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_HTTPHEADER,$headerArray);
$output = curl_exec($ch);
curl_close($ch);
$output = json_decode($output,true);
return $output;
}
function posturl($url,$data){
$data = json_encode($data);
$headerArray =array("Content-type:application/json;charset='utf-8'","Accept:application/json");
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArray);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
return json_decode($output,true);
}
然后调用小程序文档中提供的接口获取到 access_token 值
auth.getAccessToken | 微信开放文档 (qq.com)
$access_token = geturl('https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=自己的AppID&secret=小程序密钥');
得到 access_token 值再次调用接口 需注意获取手机号是post请求
phonenumber.getPhoneNumber | 微信开放文档 (qq.com)
posturl('https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token='.$access_token['access_token'],['code'=>$code]);
然后将获取到的值传递给前端