| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- <?php
- // +----------------------------------------------------------------------
- // | [ WE CAN DO IT MORE SIMPLE ]
- // +----------------------------------------------------------------------
- // | Copyright (c) 2018-2020 rights reserved.
- // +----------------------------------------------------------------------
- // | Author: TABLE ME
- // +----------------------------------------------------------------------
- // | Date: 2020-08-25 17:23
- // +----------------------------------------------------------------------
- declare (strict_types = 1);
- namespace app\admin\controller;
- //use app\model\admin\Product;
- use app\model\admin\Admin;
- use app\model\admin\AdminMenu;
- use app\Request;
- use library\exceptions\GeneralException;
- use library\lib\weixina;
- use library\services\UtilService;
- use library\utils\Captcha;
- use library\utils\Qiniu;
- use think\facade\Db;
- class Login
- {
- /**
- * 用户登录端
- * @param Request $request
- */
- public function index(Request $request)
- {
- [$account, $pwd, $imgcode] = UtilService::getMore([
- ['account','','empty','请输入登录账户'],
- ['pwd','','empty','请输入登录密码'],
- ['imgcode','','empty','验证码不能为空'],
- ],$request,true);
- //当前站点信息(中间件获取)
- $site = $request->site;
- if (!(new Captcha)->check($imgcode)) {
- return app('json')->fail('验证码错误,请重新输入');
- }
- //获取登录
- $adminInfo = Admin::login($account,$pwd,$site['sassid']);
- if(empty($adminInfo)) {
- return app('json')->fail(Admin::getErrorInfo('用户名错误,请重新输入'));
- }
- //生成令牌
- $token = Admin::createToken($adminInfo, 'admin');
- if(empty($token)) {
- return app('json')->fail(Admin::getErrorInfo());
- }
- //获取管理菜单
- $menuMenu = new AdminMenu();
- $menuMenu->setSassId($site['sassid']);
- $menus = $menuMenu->getRoute($adminInfo->role_id);
- return app('json')->success([
- 'token' => $token['token'],
- 'expires_time' => $token['params']['exp'],
- 'menus' => $menus,
- 'user_info' => [
- 'id' => $adminInfo->getData('id'),
- 'sassid' => $adminInfo->getData('sassid'),
- 'username' => $adminInfo->getData('username'),
- 'name' => $adminInfo->getData('name'),
- 'avatar' => $adminInfo->getData('avatar')
- ],
- ]);
- }
- /**
- * 用户发生退出
- */
- public function logut(){
- }
- /**
- * 验证码
- * @return \app\adminapi\controller\Login|\think\Response
- */
- public function captcha()
- {
- return (new Captcha())->create();
- }
- }
|