This commit is contained in:
Your Name
2026-04-19 20:50:02 +08:00
parent d469c4b93d
commit 53a1d7e4fd
12 changed files with 801 additions and 91 deletions

View File

@@ -35,17 +35,17 @@ class SeoCollector extends BaseController
protected function summaryRoot(): string
{
return $this->publicRoot() . '/_admin_templates/domain-seo-external/latest';
return $this->storageRoot() . '/external-seo/latest';
}
protected function snapshotRunRoot(): string
{
return $this->publicRoot() . '/_admin_templates/domain-seo-external/snapshot-runs';
return $this->storageRoot() . '/external-seo/snapshot-runs';
}
protected function snapshotValidateRunRoot(): string
{
return $this->publicRoot() . '/_admin_templates/domain-seo-external/snapshot-validate-runs';
return $this->storageRoot() . '/external-seo/snapshot-validate-runs';
}
protected function spiderCrawlLatestRoot(): string
@@ -138,15 +138,15 @@ class SeoCollector extends BaseController
$result = DomainExternalSeoSnapshotSchemaHelper::validateSnapshots((array)$snapshots);
$runRoot = DomainExternalSeoSnapshotValidateRunHelper::createRunRoot($this->snapshotValidateRunRoot(), 'snapshot_validate');
$result = DomainExternalSeoSnapshotValidateRunHelper::writeRunArtifacts(
$this->publicRoot(),
$this->storageRoot(),
$runRoot,
$result,
(array)$snapshots
);
$result['run_root'] = $this->publicRelativePath($runRoot);
$result['summary_json_path'] = $this->publicRelativePath((string)($result['summary_json_path'] ?? ''));
$result['summary_html_path'] = $this->publicRelativePath((string)($result['summary_html_path'] ?? ''));
$result['payload_json_path'] = $this->publicRelativePath((string)($result['payload_json_path'] ?? ''));
$result['run_root'] = $this->storageRelativePath($runRoot);
$result['summary_json_path'] = $this->storageRelativePath((string)($result['summary_json_path'] ?? ''));
$result['summary_html_path'] = $this->storageRelativePath((string)($result['summary_html_path'] ?? ''));
$result['payload_json_path'] = $this->storageRelativePath((string)($result['payload_json_path'] ?? ''));
return $this->success($result);
} catch (\Throwable $throwable) {
@@ -166,37 +166,37 @@ class SeoCollector extends BaseController
$result = DomainExternalSeoSnapshotHelper::ingestSnapshots((array)$snapshots, $source);
$runRoot = DomainExternalSeoSnapshotRunHelper::createRunRoot($this->snapshotRunRoot(), 'snapshot_push');
$result = DomainExternalSeoSnapshotRunHelper::writeRunArtifacts(
$this->publicRoot(),
$this->storageRoot(),
$runRoot,
$result,
(array)$snapshots
);
$result['run_root'] = $this->publicRelativePath($runRoot);
$result['summary_json_path'] = $this->publicRelativePath((string)($result['summary_json_path'] ?? ''));
$result['summary_html_path'] = $this->publicRelativePath((string)($result['summary_html_path'] ?? ''));
$result['payload_json_path'] = $this->publicRelativePath((string)($result['payload_json_path'] ?? ''));
$result['run_root'] = $this->storageRelativePath($runRoot);
$result['summary_json_path'] = $this->storageRelativePath((string)($result['summary_json_path'] ?? ''));
$result['summary_html_path'] = $this->storageRelativePath((string)($result['summary_html_path'] ?? ''));
$result['payload_json_path'] = $this->storageRelativePath((string)($result['payload_json_path'] ?? ''));
$overview = DomainExternalSeoCnOverviewHelper::buildOverview(14, 10);
$overview = DomainExternalSeoCnOverviewHelper::writeArtifacts($this->summaryRoot(), $overview);
$overview['summary_json_path'] = $this->publicRelativePath((string)($overview['summary_json_path'] ?? ''));
$overview['summary_html_path'] = $this->publicRelativePath((string)($overview['summary_html_path'] ?? ''));
$overview['summary_json_path'] = $this->storageRelativePath((string)($overview['summary_json_path'] ?? ''));
$overview['summary_html_path'] = $this->storageRelativePath((string)($overview['summary_html_path'] ?? ''));
$snapshotTrend = DomainExternalSeoSnapshotTrendHelper::buildSummary($this->snapshotRunRoot(), 10);
$snapshotTrend = DomainExternalSeoSnapshotTrendHelper::writeArtifacts($this->summaryRoot(), $snapshotTrend);
$snapshotTrend['summary_json_path'] = $this->publicRelativePath((string)($snapshotTrend['summary_json_path'] ?? ''));
$snapshotTrend['summary_html_path'] = $this->publicRelativePath((string)($snapshotTrend['summary_html_path'] ?? ''));
$snapshotTrend['summary_json_path'] = $this->storageRelativePath((string)($snapshotTrend['summary_json_path'] ?? ''));
$snapshotTrend['summary_html_path'] = $this->storageRelativePath((string)($snapshotTrend['summary_html_path'] ?? ''));
$result['post_ingest_overview'] = $overview;
$result['post_ingest_snapshot_trend'] = $snapshotTrend;
$result = DomainExternalSeoSnapshotRunHelper::writeRunArtifacts(
$this->publicRoot(),
$this->storageRoot(),
$runRoot,
$result,
(array)$snapshots
);
$result['summary_json_path'] = $this->publicRelativePath((string)($result['summary_json_path'] ?? ''));
$result['summary_html_path'] = $this->publicRelativePath((string)($result['summary_html_path'] ?? ''));
$result['payload_json_path'] = $this->publicRelativePath((string)($result['payload_json_path'] ?? ''));
$result['summary_json_path'] = $this->storageRelativePath((string)($result['summary_json_path'] ?? ''));
$result['summary_html_path'] = $this->storageRelativePath((string)($result['summary_html_path'] ?? ''));
$result['payload_json_path'] = $this->storageRelativePath((string)($result['payload_json_path'] ?? ''));
return $this->success($result);
} catch (\Throwable $throwable) {