From 7cc239cee1a9af4e2e8a0f3d5b7a00a074b17214 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Wed, 19 Aug 2026 15:43:13 +0800
Subject: [PATCH] feat: 复用检测
---
apps/workbench-console/src/stores/artifacts.ts | 34 ++++++++++++++++++++++++++++++++--
1 files changed, 32 insertions(+), 2 deletions(-)
diff --git a/apps/workbench-console/src/stores/artifacts.ts b/apps/workbench-console/src/stores/artifacts.ts
index a0cf239..7f7082d 100644
--- a/apps/workbench-console/src/stores/artifacts.ts
+++ b/apps/workbench-console/src/stores/artifacts.ts
@@ -2,17 +2,26 @@
import {
loadDetectionArtifacts,
+ loadChangeArtifacts,
loadSemanticArtifacts,
+ loadMeasurementArtifacts,
loadTrajectoryArtifacts,
+ loadAnomalyArtifacts,
type DetectionCase,
+ type ChangeCase,
type SemanticCase,
- type TrajectoryCase
+ type MeasurementCase,
+ type TrajectoryCase,
+ type AnomalyCase
} from "@/api/artifacts";
interface ArtifactState {
detectionCases: Record<string, DetectionCase>;
trajectoryCases: Record<string, TrajectoryCase>;
semanticCases: Record<string, SemanticCase>;
+ measurementCases: Record<string, MeasurementCase>;
+ changeCases: Record<string, ChangeCase>;
+ anomalyCases: Record<string, AnomalyCase>;
loading: boolean;
error: string | null;
}
@@ -22,8 +31,15 @@
detectionRun: (state) => Object.values(state.detectionCases)[0]?.run ?? null,
detectionImages: (state) => Object.values(state.detectionCases)[0]?.images ?? []
},
- state: (): ArtifactState => ({ detectionCases: {}, trajectoryCases: {}, semanticCases: {}, loading: false, error: null }),
+ state: (): ArtifactState => ({ detectionCases: {}, trajectoryCases: {}, semanticCases: {}, measurementCases: {}, changeCases: {}, anomalyCases: {}, loading: false, error: null }),
actions: {
+ async loadChange(force = false) {
+ if (!force && Object.keys(this.changeCases).length) return;
+ this.loading = true; this.error = null;
+ try { this.changeCases = await loadChangeArtifacts(); }
+ catch (error) { this.error = error instanceof Error ? error.message : "变化检测结果读取失败"; }
+ finally { this.loading = false; }
+ },
async loadDetection(force = false) {
if (!force && Object.keys(this.detectionCases).length) return;
this.loading = true; this.error = null;
@@ -44,6 +60,20 @@
try { this.semanticCases = await loadSemanticArtifacts(); }
catch (error) { this.error = error instanceof Error ? error.message : "语义分割结果读取失败"; }
finally { this.loading = false; }
+ },
+ async loadMeasurement(force = false) {
+ if (!force && Object.keys(this.measurementCases).length) return;
+ this.loading = true; this.error = null;
+ try { this.measurementCases = await loadMeasurementArtifacts(); }
+ catch (error) { this.error = error instanceof Error ? error.message : "空间测量结果读取失败"; }
+ finally { this.loading = false; }
+ },
+ async loadAnomaly(force = false) {
+ if (!force && Object.keys(this.anomalyCases).length) return;
+ this.loading = true; this.error = null;
+ try { this.anomalyCases = await loadAnomalyArtifacts(); }
+ catch (error) { this.error = error instanceof Error ? error.message : "异常检测结果读取失败"; }
+ finally { this.loading = false; }
}
}
});
--
Gitblit v1.9.3