验证码
This commit is contained in:
parent
b5e5702b17
commit
881c48398d
@ -4,35 +4,66 @@ namespace App\Domains\Captcha\Http\Controllers;
|
|||||||
|
|
||||||
use App\Core\Controller;
|
use App\Core\Controller;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use App\Exceptions\NotAllowedException;
|
||||||
use App\Domains\Captcha\Services\CaptchaService;
|
use App\Domains\Captcha\Services\CaptchaService;
|
||||||
|
|
||||||
class CaptchaController extends Controller
|
class CaptchaController extends Controller
|
||||||
{
|
{
|
||||||
|
protected $request;
|
||||||
|
protected $captchaService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构造函数,自动注入.
|
||||||
|
*/
|
||||||
|
public function __construct(Request $request, CaptchaService $captchaService)
|
||||||
|
{
|
||||||
|
$this->request = $request;
|
||||||
|
$this->captchaService = $captchaService;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get CAPTCHA
|
* get CAPTCHA
|
||||||
*
|
*
|
||||||
* @param Captcha $captcha
|
|
||||||
* @param string $config
|
* @param string $config
|
||||||
* @return \Intervention\Image\ImageManager->response
|
* @return \Intervention\Image\ImageManager->response
|
||||||
*/
|
*/
|
||||||
public function getCaptcha(CaptchaService $captcha, $config = 'default')
|
public function getCaptcha($config = 'default')
|
||||||
{
|
{
|
||||||
|
if ($this->request->isMethod('post')) {
|
||||||
|
$captchaKey = $this->request->get('captcha_key', '');
|
||||||
|
$captcha = $this->request->get('captcha', '');
|
||||||
|
if (!$this->captchaService->check($captcha, $captchaKey)) {
|
||||||
|
throw new NotAllowedException('验证码不正确');
|
||||||
|
}
|
||||||
|
|
||||||
|
return res(true, '验证码正确');
|
||||||
|
}
|
||||||
|
|
||||||
if (ob_get_contents()) {
|
if (ob_get_contents()) {
|
||||||
ob_clean();
|
ob_clean();
|
||||||
}
|
}
|
||||||
|
|
||||||
return $captcha->create($config);
|
return $this->captchaService->create($config);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get CAPTCHA api
|
* get CAPTCHA api
|
||||||
*
|
*
|
||||||
* @param Captcha $captcha
|
|
||||||
* @param string $config
|
* @param string $config
|
||||||
* @return \Intervention\Image\ImageManager->response
|
* @return \Intervention\Image\ImageManager->response
|
||||||
*/
|
*/
|
||||||
public function getCaptchaApi(CaptchaService $captcha, $config = 'default')
|
public function getCaptchaApi($config = 'default')
|
||||||
{
|
{
|
||||||
return res($captcha->create($config, true), '获取验证码');
|
if ($this->request->isMethod('post')) {
|
||||||
|
$captchaKey = $this->request->get('captcha_key', '');
|
||||||
|
$captcha = $this->request->get('captcha', '');
|
||||||
|
if (!$this->captchaService->check($captcha, $captchaKey)) {
|
||||||
|
throw new NotAllowedException('验证码不正确');
|
||||||
|
}
|
||||||
|
|
||||||
|
return res(true, '验证码正确', 201);
|
||||||
|
}
|
||||||
|
|
||||||
|
return res($this->captchaService->create($config, true), '获取验证码');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
// Prefix: /api/captcha
|
// Prefix: /api/captcha
|
||||||
$router->group(['prefix' => 'captcha', 'as' => 'captcha'], function($router) {
|
$router->group(['prefix' => 'captcha', 'as' => 'captcha'], function ($router) {
|
||||||
|
|
||||||
// The controllers live in Domains/Captcha/Http/Controllers
|
// The controllers live in Domains/Captcha/Http/Controllers
|
||||||
$router->get('/{config}', ['as' => 'index', 'uses' => 'CaptchaController@getCaptchaApi']);
|
$router->addRoute(['GET', 'POST'], '/{config}', ['as' => 'index', 'uses' => 'CaptchaController@getCaptchaApi']);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 需要认证的接口
|
* 需要认证的接口
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
$router->group(['prefix' => 'captcha', 'as' => 'captcha'], function ($router) {
|
$router->group(['prefix' => 'captcha', 'as' => 'captcha'], function ($router) {
|
||||||
|
|
||||||
// The controllers live in Domains/Captcha/Http/Controllers
|
// The controllers live in Domains/Captcha/Http/Controllers
|
||||||
$router->get('/{config}', ['as' => 'index', 'uses' => 'CaptchaController@getCaptcha']);
|
$router->addRoute(['GET', 'POST'], '/{config}', ['as' => 'index', 'uses' => 'CaptchaController@getCaptcha']);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 需要认证的接口
|
* 需要认证的接口
|
||||||
|
Loading…
x
Reference in New Issue
Block a user