123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- <?php
- // +----------------------------------------------------------------------
- // | [ WE CAN DO IT MORE SIMPLE ]
- // +----------------------------------------------------------------------
- // | Copyright (c) 2018-2020 rights reserved.
- // +----------------------------------------------------------------------
- // |
- // +----------------------------------------------------------------------
- // | Date: 2020-08-25 17:23
- // +----------------------------------------------------------------------
- declare (strict_types=1);
- namespace app\system\controller;
- use app\BaseViewController;
- use app\model\system\Admin as AdminModel;
- use app\model\system\AdminMenu;
- use app\Request;
- use library\exceptions\GeneralException;
- use library\lib\hupun;
- use library\lib\weixina;
- use library\services\UtilService;
- use library\utils\Captcha;
- use library\utils\Qiniu;
- use think\facade\Db;
- class Login extends BaseViewController
- {
- /**
- * 后台登录
- * @param Request $request
- * @return mixed
- * @throws \Psr\SimpleCache\InvalidArgumentException
- * @throws \think\db\exception\DataNotFoundException
- * @throws \think\db\exception\DbException
- * @throws \think\db\exception\ModelNotFoundException
- */
- public function index(Request $request)
- {
- [$account, $pwd, $imgcode] = UtilService::getMore([
- ['account', '', 'empty', '请输入登录账户'],
- ['pwd', '', 'empty', '请输入登录密码'],
- ['imgcode', '', 'empty', '验证码不能为空'],
- ], $request, true);
- //验证码
- if (!(new Captcha)->check($imgcode)) {
- return app('json')->fail('验证码错误,请重新输入');
- }
- //获取登录
- $adminInfo = AdminModel::login($account, $pwd);
- if (empty($adminInfo)) {
- return app('json')->fail(AdminModel::getErrorInfo('用户名错误,请重新输入'));
- }
- //生成令牌
- $token = AdminModel::createToken($adminInfo, 'admin');
- if (empty($token)) {
- return app('json')->fail(AdminModel::getErrorInfo());
- }
- //获取管理菜单
- $menuMenu = new AdminMenu();
- [$menus, $paths] = $menuMenu->getRoute($adminInfo->role_id);
- return app('json')->success([
- 'token' => md5($token['token']),
- 'expires_time' => $token['params']['exp'],
- 'menus' => $menus,
- 'paths' => $paths,
- 'user_info' => [
- 'id' => $adminInfo->getData('id'),
- 'username' => $adminInfo->getData('username'),
- 'name' => $adminInfo->getData('name'),
- 'avatar' => $adminInfo->getData('avatar'),
- ],
- ]);
- }
- /**
- * 用户发生退出
- * @param Request $request
- */
- public function logut(Request $request)
- {
- echo 'a';
- var_dump($request->post());
- exit;
- }
- /**
- * 验证码
- * @return \app\adminapi\controller\Login|\think\Response
- */
- public function captcha()
- {
- return (new Captcha(["length"=>4]))->create();
- }
- }
|