isLogin()) { return $this->redirect(url('index/index'), 302); } } public function index() { return View::fetch(); } public function md5() { halt(session(config('admin.session_admin'))); echo md5('admin_singwa_abc'); } public function check() { if (!$this->request->isPost()) { return show(config('status.error'), '请求方式错误'); } // 参数校验 1、原生方式 2、TP6 验证机制 $username = $this->request->param('username', '', 'trim'); $password = $this->request->param('password', '', 'trim'); $captcha = $this->request->param('captcha', '', 'trim'); $data = [ 'username' => $username, 'password' => $password, 'captcha' => $captcha, ]; $validate = new AdminUserValidate(); if ($validate->check($data)) { return show(config('status.error'), $validate->getError()); } // if (empty($username) || empty($password) || empty($captcha)) { // return show(config('status.error'), '参数不能为空'); // } // 验证码校验 // if (!captcha_check($captcha)) { // // 验证码校验失败 // return show(config('status.error'), '验证码不正确'); // } try { $adminUserObj = new AdminUser(); $adminUser = $adminUserObj->getAdminUserByUsername($username); if (empty($adminUser) || $adminUser->status != config('status.mysql.table_normal')) { return show(config('status.error'), '不存在该用户'); } $adminUser = $adminUser->toArray(); if ($adminUser['password'] !== md5($password . '_singwa_abc')) { return show(config('status.error'), '密码错误'); } // 记录session session(config('admin.session_admin'), $adminUser); // 记录信息到mysql中 $updateData = [ 'last_login_time' => time(), 'last_login_ip' => request()->ip(), 'update_time' => time(), ]; $res = $adminUserObj->updateById($adminUser['id'], $updateData); if (empty($res)) { return show(config('status.error'), '登陆失败'); } } catch (\Exception $e) { // todo 记录日志 $e->getMessage() return show(config('status.error'), '内部异常,登陆失败'); } return show(config('status.success'), '登陆成功'); } }