You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
crmeb_php/vendor/fastknife/ajcaptcha/test/ClickWordController.php

91 lines
2.2 KiB

1 year ago
<?php
declare(strict_types=1);
use Fastknife\Utils\RandomUtils;
use Fastknife\Service\ClickWordCaptchaService;
class ClickWordController
{
public function get()
{
$config = require '../src/config.php';
$service = new ClickWordCaptchaService($config);
$data = $service->get();
echo json_encode([
'error' => false,
'repCode' => '0000',
'repData' => $data,
'repMsg' => null,
'success' => true,
]);
}
/**
* 一次验证
*/
public function check()
{
$config = require '../src/config.php';
$service = new ClickWordCaptchaService($config);
$data = $_REQUEST;
$msg = null;
$error = false;
$repCode = '0000';
try {
$service->check($data['token'], $data['pointJson']);
} catch (\Exception $e) {
$msg = $e->getMessage();
$error = true;
$repCode = '6111';
}
echo json_encode([
'error' => $error,
'repCode' => $repCode,
'repData' => null,
'repMsg' => $msg,
'success' => ! $error,
]);
}
/**
* 二次验证
*/
public function verification()
{
$config = require '../src/config.php';
$service = new ClickWordCaptchaService($config);
$data = $_REQUEST;
$msg = null;
$error = false;
$repCode = '0000';
try {
if(isset($data['captchaVerification'])){
$service->verificationByEncryptCode($data['captchaVerification']);
}else if (isset($data['token']) && isset($data['pointJson'])){
$service->verification($data['token'], $data['pointJson']);
} else {
throw new \Exception('参数错误!');
}
} catch (\Exception $e) {
$msg = $e->getMessage();
$error = true;
$repCode = '6111';
}
echo json_encode([
'error' => $error,
'repCode' => $repCode,
'repData' => null,
'repMsg' => $msg,
'success' => ! $error,
]);
}
}