登录模块

This commit is contained in:
wuyanwen 2019-12-12 09:13:44 +08:00
parent 7a6628a95f
commit 66e72c6537
4 changed files with 29 additions and 15 deletions

View File

@ -1,8 +1,8 @@
<?php <?php
namespace catchAdmin\login; namespace catchAdmin\login;
use app\exceptions\LoginFailedException; use catchAdmin\user\model\Users;
use think\Db; use cather\exceptions\LoginFailedException;
use think\facade\Session; use think\facade\Session;
class Auth class Auth
@ -27,15 +27,20 @@ class Auth
*/ */
public function login($params) public function login($params)
{ {
$user = Db::table('admin_users') $user = Users::where('username', $params['name'])->find();
->where('name', $params['name']) if (!password_verify($params['password'], $user->password)) {
// ->where('password', $params['password'])
->first();
if (!password_verify($params('password'), $user->password)) {
throw new LoginFailedException('登陆失败, 请检查用户名和密码'); throw new LoginFailedException('登陆失败, 请检查用户名和密码');
} }
if ($user->status == Users::DISABLE) {
throw new LoginFailedException('该用户已被禁用');
}
// 记录用户登录
$user->last_login_ip = ip2long(request()->ip());
$user->last_login_time = time();
$user->save();
Session::set($this->loginUser, $user); Session::set($this->loginUser, $user);
return true; return true;

View File

@ -3,9 +3,10 @@ namespace catchAdmin\login\controller;
use catchAdmin\login\Auth; use catchAdmin\login\Auth;
use catchAdmin\login\request\LoginRequest; use catchAdmin\login\request\LoginRequest;
use catcher\base\BaseController; use catcher\base\CatchController;
use catcher\CatchResponse;
class Index extends BaseController class Index extends CatchController
{ {
/** /**
* 登录 * 登录
@ -25,11 +26,13 @@ class Index extends BaseController
* @time 2019年11月28日 * @time 2019年11月28日
* @param LoginRequest $request * @param LoginRequest $request
* @return bool|string * @return bool|string
* @throws \cather\exceptions\LoginFailedException
* @throws \app\exceptions\LoginFailedException * @throws \app\exceptions\LoginFailedException
*/ */
public function login(LoginRequest $request) public function login(LoginRequest $request)
{ {
(new Auth())->login($request->post()); return (new Auth())->login($request->param()) ?
CatchResponse::success('', '登录成功') : CatchResponse::success('', '登录失败');
} }
/** /**

View File

@ -1,9 +1,9 @@
<?php <?php
namespace catchAdmin\login\request; namespace catchAdmin\login\request;
use catcher\base\BaseRequest; use catcher\base\CatchRequest;
class LoginRequest extends BaseRequest class LoginRequest extends CatchRequest
{ {
protected function rules(): array protected function rules(): array
{ {
@ -11,7 +11,7 @@ class LoginRequest extends BaseRequest
return [ return [
'name|用户名' => 'require|max:25', 'name|用户名' => 'require|max:25',
'password|密码' => 'require', 'password|密码' => 'require',
'captcha|验证码' => 'require|captcha' // 'captcha|验证码' => 'require|captcha'
]; ];
} }

View File

@ -106,7 +106,13 @@
type: 'post', type: 'post',
data: obj.field, data: obj.field,
success: function(response) { success: function(response) {
layer.msg(response.msg) layer.msg(response.msg, {
icon: 1,
time: 2000 //2秒关闭如果不配置默认是3秒
}, function(){
//do something
window.location.href = '/';
})
} }
}); });
return false; return false;