php服务端解码手机号

审核中 微信小程序 未结 已结 置顶 精帖
删除 置顶 取消置顶 加精 取消加精
66 0
yswl
yswl VIP3 2023-05-18 23:30:11
悬赏:60金币 编辑此贴

php服务端:

/*获取access_token,不能用于获取用户信息的token*/
public  function getAccessToken()
{
    $appid = '';
    $secret = '';

    $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$secret."";

    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_HEADER,0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
    $res = curl_exec($ch);
    curl_close($ch);
    return $res;
    exit();
}
//图片合法性验证
public function http_request($url, $data = null)
{
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);

    if (!empty($data)) {
        curl_setopt($curl, CURLOPT_POST, TRUE);
        curl_setopt($curl, CURLOPT_POSTFIELDS,$data);
        curl_setopt($curl, CURLOPT_HTTPHEADER, array(
            'Content-Type: application/json'
        ));
    }
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
    $output = curl_exec($curl);
    curl_close($curl);

    return $output;
    exit();

}
//  获取手机号
public function getPhoneNumber(){
    $tmp = $this->getAccessToken();
    $tmptoken = json_decode($tmp);
    $token = $tmptoken->access_token;
    $data['code'] = XR_L('Input')->get('code');//前端获取code

    $url = "https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=$token";
    $info = $this->http_request($url,json_encode($data),'json');
    // 一定要注意转json,否则汇报47001错误
    $tmpinfo = json_decode($info);

    $code = $tmpinfo->errcode;
    $phone_info = $tmpinfo->phone_info;
    //手机号
    $phoneNumber = $phone_info->phoneNumber;
    if($code == '0'){
        $this->_json(1,'请求成功',['phoneNumber'=>$phoneNumber]);
        die();
    }else{
        $this->_json(2,'请求失败');
        die();
    }

}


小程序
微信小程序 8