123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- <?php
- namespace app\admin\controller;
- use app\common\controller\Backend;
- use fast\Menu;
- use think\Validate;
- /**
- * 后台首页
- * @internal
- */
- class Index extends Backend
- {
- protected $noNeedLogin = ['login', 'logout'];
- protected $noNeedRight = ['index'];
- protected $layout = '';
- public function _initialize()
- {
- parent::_initialize();
- }
- /**
- * 后台首页
- */
- public function index()
- {
- //
- $menulist = Menu::instance()->sidebar([
- 'dashboard' => 'hot',
- 'auth' => ['new', 'red', 'badge'],
- 'auth/admin' => 12,
- 'auth/rule' => 4,
- 'general' => ['18', 'purple'],
- ]);
- $this->view->assign('menulist', $menulist);
- $this->view->assign('title', __('Home'));
- return $this->view->fetch();
- }
- /**
- * 管理员登录
- */
- public function login()
- {
- $url = $this->request->get('url', 'index/index');
- if ($this->auth->isLogin())
- {
- $this->error(__("You've logged in, do not login again"), $url);
- return;
- }
- if ($this->request->isPost())
- {
- $username = $this->request->post('username');
- $password = $this->request->post('password');
- $keeplogin = $this->request->post('keeplogin');
- $token = $this->request->post('__token__');
- $rule = [
- 'username' => 'require|length:3,30',
- 'password' => 'require|length:3,30',
- '__token__' => 'token',
- ];
- $data = [
- 'username' => $username,
- 'password' => $password,
- '__token__' => $token,
- ];
- $validate = new Validate($rule);
- $result = $validate->check($data);
- if (!$result)
- {
- $this->error($validate->getError());
- return;
- }
- $result = $this->auth->login($username, $password, $keeplogin ? 86400 : 0);
- if ($result === true)
- {
- $this->success(__('Login success'), $url);
- return;
- }
- else
- {
- $this->success(__('Username or password is incorrect'), $url);
- }
- return;
- }
- // 根据客户端的cookie,判断是否可以自动登录
- if ($this->auth->autologin())
- {
- $this->redirect($url);
- }
- $this->view->assign('title', __('Login'));
- return $this->view->fetch();
- }
- /**
- * 注销登录
- */
- public function logout()
- {
- $this->auth->logout();
- $this->success(__('Logout success!'), 'index/login');
- return;
- }
- }
|