diff --git a/app/Http/Controllers/Admin/AuthController.php b/app/Http/Controllers/Admin/AuthController.php index 73b6527..a407093 100644 --- a/app/Http/Controllers/Admin/AuthController.php +++ b/app/Http/Controllers/Admin/AuthController.php @@ -4,12 +4,15 @@ namespace App\Http\Controllers\Admin; use App\Helpers\ApiResponse; +use App\Helpers\ResponseCode; use App\Helpers\StarterResponseCode; use App\Http\Controllers\Controller; use App\Models\Admin; use App\Models\OperateLog; use App\Models\Permission; use App\Models\RoleHasPermission; +use Illuminate\Support\Facades\Hash; +use Illuminate\Support\Facades\Validator; class AuthController extends Controller { @@ -54,16 +57,25 @@ class AuthController extends Controller */ public function login() { - $credentials = request(['username', 'password']); - - if (!$token = $this->guard()->attempt($credentials)) { - return $this->fail(StarterResponseCode::LOGIN_FAIL); + $all = \request()->all(); + $messages = [ + 'username.required' => '用户名必填', + 'password.required' => '密码必填', + ]; + $validator = Validator::make($all, [ + 'username' => 'required', + 'password' => 'required', + ], $messages); + if ($validator->fails()) { + return $this->fail([StarterResponseCode::START_ERROR_PARAMETER, implode(',', $validator->errors()->all())]); } - - $user = $this->guard()->user(); - $token = $user->createToken("token")->plainTextToken; + $admin = Admin::where('username', $all['username'])->first(); + if (!$admin || !Hash::check($all['password'], $admin->password)) { + return $this->fail([ResponseCode::ERROR_PARAMETER, '账号密码不正确']); + } + $token = $admin->createToken("token")->plainTextToken; // 加日志 - OperateLog::addLogs($user, "用户[{$user->name}]登陆成功"); + OperateLog::addLogs($admin, "用户[{$admin->name}]登陆成功"); return $this->respondWithToken($token); } diff --git a/app/Models/OperateLog.php b/app/Models/OperateLog.php index cf12a7a..845c0a8 100755 --- a/app/Models/OperateLog.php +++ b/app/Models/OperateLog.php @@ -23,8 +23,8 @@ class OperateLog extends SoftDeletesModel */ public static function addLogs($admin,$name,$remark = ''){ return self::create([ - 'admin_id'=>$admin->id, - 'department_id'=>$admin->department_id, + 'admin_id'=>$admin->id??0, + 'department_id'=>$admin->department_id??0, 'name'=>$name, 'ip'=>$_SERVER["REMOTE_ADDR"], 'url'=>request()->url(),