check($param); } catch (ValidateException $e) { // 验证失败 输出错误信息 return to_assign(1, $e->getError()); } $admin = Db::name('Admin')->where(['username' => $param['username']])->find(); if (empty($admin)) { $admin = Db::name('Admin')->where(['mobile' => $param['username']])->find(); if (empty($admin)) { return to_assign(1, '用户名或密码错误'); } } $param['pwd'] = set_password($param['password'], $admin['salt']); if ($admin['pwd'] !== $param['pwd']) { return to_assign(1, '用户名或密码错误'); } if ($admin['status'] != 1) { return to_assign(1, '该用户禁止登录,请与管理者联系'); } $data = [ 'last_login_time' => time(), 'last_login_ip' => request()->ip(), 'login_num' => $admin['login_num'] + 1, ]; Db::name('admin')->where(['id' => $admin['id']])->update($data); $session_admin = get_config('app.session_admin'); Session::set($session_admin, $admin); $token = make_token(); set_cache($token, $admin, 7200); $admin['token'] = $token; add_log('login', $admin['id'], $data); return to_assign(0, '登录成功', ['uid' => $admin['id']]); } //退出登录 public function login_out() { $session_admin = get_config('app.session_admin'); Session::delete($session_admin); return to_assign(0, "退出成功"); } }