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.
90 lines
2.2 KiB
90 lines
2.2 KiB
<?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,
|
|
]);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|