AgentPageConfiguration.php 1.0 KB

12345678910111213141516171819202122232425
  1. <?php
  2. namespace App\Http\Controllers\admin;
  3. use App\Constants\HttpStatus;
  4. use App\Http\Controllers\Controller;
  5. use App\Services\Agent\AgentPageConfigurationService;
  6. use Illuminate\Support\Facades\Log;
  7. use Illuminate\Validation\ValidationException;
  8. class AgentPageConfiguration extends Controller
  9. {
  10. public function show(AgentPageConfigurationService $service) { return $this->run(fn () => $service->get()); }
  11. public function save(AgentPageConfigurationService $service) { return $this->run(fn () => $service->save(request()->all())); }
  12. private function run(callable $callback)
  13. {
  14. try { return $this->success($callback())->header('Cache-Control', 'no-store'); }
  15. catch (ValidationException $e) { return $this->error(HttpStatus::CUSTOM_ERROR, $e->validator->errors()->first()); }
  16. catch (\Throwable $e) {
  17. Log::error('agent_page_configuration_failed', ['exception' => $e]);
  18. return $this->error(HttpStatus::CUSTOM_ERROR, '代理页面配置暂不可用,请稍后重试');
  19. }
  20. }
  21. }