LogController.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Filters\LogFilters;
  4. use App\Log;
  5. use App\Services\LogService;
  6. use Exception;
  7. use Illuminate\Contracts\Foundation\Application;
  8. use Illuminate\Contracts\Pagination\LengthAwarePaginator;
  9. use Illuminate\Contracts\View\Factory;
  10. use Illuminate\Database\Eloquent\Builder;
  11. use Illuminate\Http\RedirectResponse;
  12. use Illuminate\Http\Request;
  13. use Illuminate\Http\Response;
  14. use Illuminate\Routing\Redirector;
  15. use Illuminate\Support\Facades\Auth;
  16. use Illuminate\Support\Facades\Gate;
  17. use Illuminate\Support\Facades\Validator;
  18. use Illuminate\View\View;
  19. use function GuzzleHttp\Psr7\str;
  20. class LogController extends Controller
  21. {
  22. /**
  23. * @param Request $request
  24. * @param LogFilters $filters
  25. * @return Application|LengthAwarePaginator|Factory|View
  26. */
  27. public function index(Request $request, LogFilters $filters)
  28. {
  29. if (!Gate::allows('日志-查询')) {
  30. return redirect(url('/'));
  31. }
  32. $logs = Log::query()->filter($filters)->orderByDesc('id')->with('user:id,name')->paginate($request->input('paginate')??50);
  33. return view('maintenance.log.index', compact('logs'));
  34. }
  35. /**
  36. * Display the specified resource.
  37. *
  38. * @param Log $log
  39. * @return Application|Factory|Response|View
  40. */
  41. public function show(Log $log)
  42. {
  43. $log->loadMissing('user:id,name');
  44. return view('maintenance.log.show', ['log' => $log]);
  45. }
  46. public function syncRedisLogs()
  47. {
  48. LogService::syncRedisLogs();
  49. return redirect('maintenance/log');
  50. }
  51. }