/** * 注册 * @param $request * @return mixed */ public function captcha(Request $request) { $cookieStr = $this->session->getSessionCookie(); if (!$cookieStr) { PazxException::occur('SESSION_ERROR'); } $adapterData = [CURLOPT_REFERER => $this->regInit]; list($t1, $t2) = explode(' ', microtime()); $time = (double) sprintf('%.0f', (floatval($t1) + floatval($t2)) * 1000); $requestUrl = $this->captchaUrl . '?a=' . $time; $response = $this->doRequest($requestUrl, $adapterData); $content = $response->getContent(); //$cookieStr = $this->session->getSessionCookie(); return $content; }
/** * 验证码 */ public function captcha2(Request $request) { if (!($clientToken = $request->get('ctoken'))) { PazxException::occur('SESSION_INVALID'); } $bllPbccrc = new Pbccrc($clientToken); $response = $bllPbccrc->captcha($request); return response($response, 200)->header('Content-Type', 'image/jpeg'); }
/** * 注册第二步表单 * @param Request $request * * @return string */ public function regStep2Form(Request $request) { if (!($clientToken = $request->get('ctoken'))) { PazxException::occur('SESSION_INVALID'); } $formToken = $request->get('ftoken'); $regUrl = Url::getCrmUrl('/system/pazx/pbccrc/reg2'); $getVerifyCodeUrl = Url::getCrmUrl('/system/pazx/pbccrc/regVerifyCode', ['ctoken' => $clientToken]); return <<<FORMNHTML <html> <head> <script> function ajaxFunction( url ) { var xmlHttp; try { // Firefox, Opera 8.0+, Safari xmlHttp = new XMLHttpRequest(); // 实例化对象 } catch( e ) { // Internet Explorer try { xmlHttp = new ActiveXObject( "Msxml2.XMLHTTP" ); } catch ( e ) { try { xmlHttp = new ActiveXObject( "Microsoft.XMLHTTP" ); } catch( e ) { alert("您的浏览器不支持AJAX!"); return false; } } } xmlHttp.onreadystatechange = function() { if( xmlHttp.readyState == 4 && xmlHttp.status == 200 ) { text=xmlHttp.responseText if('' != text) { document.getElementById('tcId').value = xmlHttp.responseText; alert('发送成功' + xmlHttp.responseText); } else { alert('发送失败') } } } xmlHttp.open( "GET", url, true ); xmlHttp.send( null ); } function getVerifyCode() { var value = document.getElementById('mobileTel').value; if( '' != value ) { url ='{$getVerifyCodeUrl}&mobileTel='+value; ajaxFunction( url ); // 注意在后缀.php之后加传值是先用?分隔再添加数据 } } </script> </head> <body> <form action="{$regUrl}" method="post" target="_blank"> <input type="hidden" name="tcId" id="tcId" value=""> <input type="hidden" name="ftoken" value="{$formToken}"> <input type="hidden" name="ctoken" value="{$clientToken}"> 登录名 <input type="text" maxlength="16" name="userInfoVO.loginName" id="loginName" autocomplete="on" /> <br /><br /> 密码 <input type="text" maxlength="20" name="userInfoVO.password" id="password" autocomplete="on" /> <br /><br /> 手机号码 <input type="text" maxlength="20" name="userInfoVO.mobileTel" id="mobileTel" autocomplete="on" /> <br /><br /> 动态码 <input maxlength="6" type="text" id="_@IMGRC@_" name="userInfoVO.verifyCode" autocomplete="off"> <input type="button" value="获取动态码" onclick="getVerifyCode();"> <br /><br /> <br /><br /> <input type="submit" /> </form> </body> </html> FORMNHTML; }