????????$url ? ? ? ? ? ? ? ? ? ? ? ?= 'https://aip.baidubce.com/oauth/2.0/token';//地址 ? ? ? ? $post_data['grant_type'] ? ?= 'client_credentials'; ? ? ? ? $post_data['client_id'] ? ? = 'xxxx'; ? ? ? ? $post_data['client_secret'] = 'xxxx'; ? ? ? ? $o ? ? ? ? ? ? ? ? ? ? ? ? ?= ""; ? ? ? ? foreach ($post_data as $k => $v) { ? ? ? ? ? ? $o .= "$k=" . urlencode($v) . "&"; ? ? ? ? } ? ? ? ? $post_data ? = substr($o, 0, -1); ? ? ? ? $res ? ? ? ? = $this->request_post($url, $post_data); ? ? ? ? $token ? ? ? = json_decode($res, true)['access_token']; ? ? ? ? $verify_info = $this->http_post("https://aip.baidubce.com/rpc/2.0/brain/solution/faceprint/verifyToken/generate?access_token=" . $token, ['plan_id' => 13472]); ? ? ? ? if ($verify_info['success'] == '') { ? ? ? ? ? ? returnApi($verify_info['message']); ? ? ? ? } else { ? ? ? ? ? ? $verify_token = $verify_info['result']['verify_token']; ? ? ? ? } ? ? ? ? $userinfo = $this->http_post("https://brain.baidu.com/solution/faceprint/idcard/submit", ['verify_token' => $verify_token, 'id_name' => app('user')->real_name, 'id_no' => app('user')->idcard]); ? ? ? ? if ($userinfo['success'] == '') { ? ? ? ? ? ? returnApi($userinfo['message']); ? ? ? ? } ? ? ? ? require_once '../extend/phpqrcode/phpqrcode.php'; ? ? ? ? $object ? ? ? ? ? ? ? = new \QRcode(); ? ? ? ? $errorCorrectionLevel = 'L'; //容错级别 ? ? ? ? $matrixPointSize ? ? ?= 5; //生成图片大小 ? ? ? ? //打开缓冲区 ? ? ? ? ob_start(); ? ? ? ? $data = "https://brain.baidu.com/face/print/?token=" . $verify_token . "&successUrl=http://xxx.cn/home/disend/seccess/&failedUrl=http://xxxx"; ? ? ? ? //生成二维码图片 ? ? ? ? $returnData = $object->png($data, false, $errorCorrectionLevel, $matrixPointSize, 2); ? ? ? ? //这里就是把生成的图片流从缓冲区保存到内存对象上,使用base64_encode变成编码字符串,通过json返回给页面。 ? ? ? ? $imageString = base64_encode(ob_get_contents()); ? ? ? ? //关闭缓冲区 ? ? ? ? ob_end_clean(); ? ? ? ? $base64 = "data:image/png;base64," . $imageString; ? ?
? ? public function request_post($url = '', $param = '') ? ? { ? ? ? ? if (empty($url) || empty($param)) { ? ? ? ? ? ? return false; ? ? ? ? } ? ? ? ? $con = file_get_contents($url . '?' . $param); ? ? ? ? return $con; ? ? }
? ? public function http_post($url, $data_string) ? ? { ? ? ? ? $ch = curl_init(); ? ? ? ? curl_setopt($ch, CURLOPT_URL, $url); ? ? ? ? curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
? ? ? ? curl_setopt($ch, CURLOPT_HTTPHEADER, array( ? ? ? ? ? ? 'X-AjaxPro-Method:ShowList', ? ? ? ? ? ? 'Content-Type: application/json; charset=utf-8', ? ? ? ? ? ? 'Content-Length: ' . strlen(json_encode($data_string))) ? ? ? ? ); ? ? ? ? curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); ? ? ? ? curl_setopt($ch, CURLOPT_POST, 1); ? ? ? ? curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data_string)); ? ? ? ? $data = curl_exec($ch); ? ? ? ? curl_close($ch); ? ? ? ? return json_decode($data, true); ? ? }
|