assertStaff($request); return $this->adminController->resolveUrl($request, app(\App\Services\Crawl\CrawlSourceResolver::class)); } public function store(Request $request): JsonResponse { $this->assertStaff($request); return $this->adminController->store( $request, app(\App\Services\Crawl\CrawlSourceResolver::class), app(\App\Services\Crawl\CrawlJobRunnerService::class), app(\App\Services\Crawl\CrawlImportService::class), ); } public function show(Request $request, int $crawlJob): JsonResponse { $this->assertStaff($request); return $this->adminController->show($crawlJob); } protected function assertStaff(Request $request): MiniappUser { $user = $request->user(); if (! $user instanceof MiniappUser) { abort(401, '请先登录'); } $payload = MiniappPresenter::userPayload($user); if (! ($payload['is_admin'] || $payload['is_grid_member'])) { abort(403, '无权使用数据爬虫'); } return $user; } }