validate([ 'username' => 'required', 'password' => 'required', ]); $user = AdminUser::where(['username' => $request->input('username')])->first(); if (! $user) { return $this->error('用户名或密码错误'); } if (! Hash::check($request->input('password'), $user->password)) { return $this->error('用户名或密码错误'); } if ($user->is_enable !== 1) { return $this->error('用户状态异常请联系管理员'); } return $this->attemptUser($user); } protected function attemptUser(AdminUser $user, $name = 'api') { $token = $user->createToken($name)->plainTextToken; $permissionsQuery = AdminPermission::query(); if($user->id != 1){ $permissions = $permissionsQuery->whereIn('id', $user->permissionIds()); } $permissions = $permissionsQuery->pluck('slug')->toArray(); return $this->json(['token' => $token, 'info' => $user, 'permissions' => $user->permissionIds(), 'permissions_slug'=>$permissions]); } }