first
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
|
||||
namespace app\controller;
|
||||
use Webman\Captcha\CaptchaBuilder;
|
||||
use Respect\Validation\Validator as v;
|
||||
use support\Request;
|
||||
use yzh52521\EasyHttp\Response;
|
||||
use yzh52521\EasyHttp\RequestException;
|
||||
use yzh52521\EasyHttp\Http;
|
||||
|
||||
class IndexController
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
return response('hello webman');
|
||||
}
|
||||
|
||||
public function login(Request $request)
|
||||
{
|
||||
return view('login');
|
||||
}
|
||||
public function check(Request $request)
|
||||
{
|
||||
$username=$request->post('username','blank');
|
||||
$password=$request->post('password','blank');
|
||||
$code=$request->post('code','blank');
|
||||
if($username=='blank' || $password=='blank' || $code=='blank'){
|
||||
return json(['code'=>500, 'msg'=>'缺少参数']);
|
||||
}
|
||||
|
||||
try {
|
||||
$V=v::Email()->setName('用户名')->check($username);
|
||||
} catch (ValidationException $exception) {
|
||||
return json(['code'=>500, 'msg'=>$exception->getMessage()]);
|
||||
}
|
||||
|
||||
try {
|
||||
$V=v::stringType()->setName('密码')->noWhitespace()->check($password);
|
||||
} catch (ValidationException $exception) {
|
||||
return json(['code'=>500, 'msg'=>$exception->getMessage()]);
|
||||
}
|
||||
|
||||
try {
|
||||
$V=v::stringType()->length(5, 5)->setName('验证码')->noWhitespace()->check($code);
|
||||
} catch (ValidationException $exception) {
|
||||
return json(['code'=>500, 'msg'=>$exception->getMessage()]);
|
||||
}
|
||||
|
||||
if (strtolower($code) !== $request->session()->get('captcha')) {
|
||||
return json(['code' => 400, 'msg' => '输入的验证码不正确']);
|
||||
}
|
||||
|
||||
return view('login');
|
||||
}
|
||||
public function code(Request $request)
|
||||
{
|
||||
// 初始化验证码类
|
||||
$builder = new CaptchaBuilder;
|
||||
// 生成验证码
|
||||
$builder->build();
|
||||
// 将验证码的值存储到session中
|
||||
$request->session()->set('captcha', strtolower($builder->getPhrase()));
|
||||
// 获得验证码图片二进制数据
|
||||
$img_content = $builder->get();
|
||||
// 输出验证码二进制数据
|
||||
return response($img_content, 200, ['Content-Type' => 'image/jpeg']);
|
||||
}
|
||||
public function json(Request $request)
|
||||
{
|
||||
return json(['code' => 0, 'msg' => 'ok']);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user