5.3 KiB
Frontend Navigation Architecture
1. Purpose
This document is the source of truth for the left-side navigation structure in the frontend.
It explains:
- the first-level menu groups
- the second-level working domains
- the leaf tabs bound to actual pages
- the reserved entries for future modules
- the files that must be updated when navigation changes
The goal is to keep module boundaries stable as the system expands beyond D-InSAR into PS-InSAR and broader AI analysis workflows.
2. Current First-Level Groups
The current first-level menu groups are:
data: 数据管理production: 生产规划insar_analysis: InSAR形变分析ai_analysis: AI分析water: 水体监测ops: 运行维护
Definition file:
frontend/src/config/appConstants.js
3. Three-Level Structure
Only some first-level groups use second-level working domains.
3.1 生产规划
生产规划
├─ 规划编组
│ ├─ 配对规划
│ ├─ 任务规划
│ ├─ PS时序栈
│ └─ 任务批次
├─ 数据分发
│ └─ 数据分发
├─ D-InSAR
│ ├─ D-InSAR生产
│ └─ D-InSAR产物
└─ PS-InSAR
├─ PS-InSAR生产
└─ PS-InSAR产物
Notes:
PS时序栈belongs to production planning, not analysis.D-InSAR产物is distinct fromD-InSAR结果.PS-InSAR生产andPS-InSAR产物are reserved entries for future implementation.
3.2 InSAR形变分析
InSAR形变分析
├─ D-InSAR
│ ├─ D-InSAR结果
│ └─ D-InSAR分析
└─ PS-InSAR
├─ PS-InSAR结果
└─ PS-InSAR分析
Notes:
- This group is for business-facing result browsing and deformation analysis.
- AI diagnosis no longer belongs here.
D-InSAR分析,PS-InSAR结果, andPS-InSAR分析are currently reserved placeholders.
3.3 AI分析
AI分析
├─ 形变智能分析
│ ├─ AI质量评估
│ └─ D-InSAR诊断
└─ 遥感视觉分析
├─ 滑坡语义分割
└─ 无人机影像分析
Notes:
- This group owns model-centric and intelligent-analysis capabilities.
D-InSAR诊断is the renamed placement of the old AI diagnosis page.滑坡语义分割and无人机影像分析are reserved placeholders for future AI modules.
4. Navigation Design Rules
The navigation follows these rules:
- First-level groups represent stable business domains.
- Second-level domains represent workflow clusters inside a domain.
- Leaf tabs represent actual pages bound to
leftPanelTab. - The state source of truth remains
leftPanelTab; group and section are derived from the tab key. - New features should be added as leaf tabs under an existing domain whenever possible.
- A new first-level group should be introduced only when the feature becomes a long-term standalone capability cluster.
5. Naming Rules
To avoid future ambiguity, follow these naming constraints:
- Use
结果for result browsing, querying, and visualization pages. - Use
产物for extraction, packaging, publishing, and catalog management pages. - Use
分析for interpretation, statistics,专题分析, and human-facing analytical workflows. - Use
诊断for model-assisted fault analysis or AI-driven case reasoning. - Do not reuse
PS结果as a generic label. UsePS时序栈in production planning. UsePS-InSAR结果in analysis.
6. Files to Update When Navigation Changes
When adding or moving a tab, update these files together:
frontend/src/config/appConstants.jsDefines first-level groups, second-level sections, tab ownership, and visibility.frontend/src/utils/appUiHelpers.jsDefines display labels for leaf tabs.frontend/src/App.jsxRenders the group tabs, section tabs, and page content.frontend/src/App.cssStyles the first-level, second-level, and leaf-tab navigation.
If the new tab is a real page instead of a placeholder, also add or update the corresponding panel component.
7. Reserved Leaf Tabs
The following leaf tabs are intentionally reserved for future work:
ps_productionps_productsdinsar_analysispsinsar_resultspsinsar_analysislandslide_segmentationuav_image_analysis
Reserved tabs should remain visible in the information architecture if they help stabilize the long-term module layout.
8. Implementation Notes
- Admin-only visibility is controlled by
ADMIN_ONLY_TABSinappConstants.js. - Section ownership is derived by
LEFT_TAB_SECTION. - Group ownership is derived by
LEFT_TAB_GROUP. - Groups without second-level sections still render as a two-level navigation.
- Groups with configured sections render as three-level navigation.
9. Future Extension Guidance
Recommended future additions:
- Put PS-InSAR processing forms, task submission, and runtime monitoring under
ps_production. - Put PS-InSAR extraction, packaging, registration, and catalog maintenance under
ps_products. - Put thematic deformation analysis and reporting under
dinsar_analysisandpsinsar_analysis. - Put optical, UAV, or segmentation-based AI modules under
ai_analysis, not underinsar_analysis.
If a new feature belongs to intelligent interpretation or computer vision, prefer adding it under AI分析.
If a new feature belongs to result browsing or deformation business analysis, prefer adding it under InSAR形变分析.