From fbb068ec702338d609c1ca6eddbdb9f182d8f211 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Mon, 24 Aug 2026 11:37:16 +0800
Subject: [PATCH] feat: extend local GeoAI capability workflows

---
 apps/workbench-console/src/stores/artifacts.ts |   24 ++++++++++++++++++++++--
 1 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/apps/workbench-console/src/stores/artifacts.ts b/apps/workbench-console/src/stores/artifacts.ts
index 7f7082d..e640f00 100644
--- a/apps/workbench-console/src/stores/artifacts.ts
+++ b/apps/workbench-console/src/stores/artifacts.ts
@@ -5,14 +5,18 @@
   loadChangeArtifacts,
   loadSemanticArtifacts,
   loadMeasurementArtifacts,
+  loadPointCloudArtifacts,
   loadTrajectoryArtifacts,
   loadAnomalyArtifacts,
+  loadRiskRuleArtifacts,
   type DetectionCase,
   type ChangeCase,
   type SemanticCase,
   type MeasurementCase,
+  type PointCloudCase,
   type TrajectoryCase,
-  type AnomalyCase
+  type AnomalyCase,
+  type RiskRuleCase
 } from "@/api/artifacts";
 
 interface ArtifactState {
@@ -20,8 +24,10 @@
   trajectoryCases: Record<string, TrajectoryCase>;
   semanticCases: Record<string, SemanticCase>;
   measurementCases: Record<string, MeasurementCase>;
+  pointCloudCases: Record<string, PointCloudCase>;
   changeCases: Record<string, ChangeCase>;
   anomalyCases: Record<string, AnomalyCase>;
+  riskRuleCases: Record<string, RiskRuleCase>;
   loading: boolean;
   error: string | null;
 }
@@ -31,7 +37,7 @@
     detectionRun: (state) => Object.values(state.detectionCases)[0]?.run ?? null,
     detectionImages: (state) => Object.values(state.detectionCases)[0]?.images ?? []
   },
-  state: (): ArtifactState => ({ detectionCases: {}, trajectoryCases: {}, semanticCases: {}, measurementCases: {}, changeCases: {}, anomalyCases: {}, loading: false, error: null }),
+  state: (): ArtifactState => ({ detectionCases: {}, trajectoryCases: {}, semanticCases: {}, measurementCases: {}, pointCloudCases: {}, changeCases: {}, anomalyCases: {}, riskRuleCases: {}, loading: false, error: null }),
   actions: {
     async loadChange(force = false) {
       if (!force && Object.keys(this.changeCases).length) return;
@@ -74,6 +80,20 @@
       try { this.anomalyCases = await loadAnomalyArtifacts(); }
       catch (error) { this.error = error instanceof Error ? error.message : "异常检测结果读取失败"; }
       finally { this.loading = false; }
+    },
+    async loadPointCloud(force = false) {
+      if (!force && Object.keys(this.pointCloudCases).length) return;
+      this.loading = true; this.error = null;
+      try { this.pointCloudCases = await loadPointCloudArtifacts(); }
+      catch (error) { this.error = error instanceof Error ? error.message : "Three-dimensional point-cloud results could not be loaded."; }
+      finally { this.loading = false; }
+    },
+    async loadRiskRule(force = false) {
+      if (!force && Object.keys(this.riskRuleCases).length) return;
+      this.loading = true; this.error = null;
+      try { this.riskRuleCases = await loadRiskRuleArtifacts(); }
+      catch (error) { this.error = error instanceof Error ? error.message : "空间规则与风险评分结果读取失败"; }
+      finally { this.loading = false; }
     }
   }
 });

--
Gitblit v1.9.3