TraceStudio-dev/docs/web/web_structure.md
Boshuang Zhao 5790ec164f add web v2
2026-01-10 19:08:49 +08:00

89 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Web 前端结构说明
本文件记录 `web/` 目录下的主要文件与子目录,并对每个文件/目录给出简短职责说明,便于快速理解前端代码组织与接口契约。
说明:请在对前端结构进行修改或新增文件时同步更新本文件。
---
## 顶层文件
- `index.html` — Vite 应用入口 HTML 模板,挂载 React 根节点和必要 meta/脚本。
- `package.json` — 前端依赖与 npm 脚本配置(`dev`、`build`、`preview` 等)。
- `vite.config.ts` — Vite 构建与开发服务器配置(别名、环境变量、插件)。
- `tsconfig.json` / `tsconfig.app.json` / `tsconfig.node.json` — TypeScript 编译配置与项目范围划分。
- `postcss.config.cjs` / `tailwind.config.cjs` — CSS/ Tailwind 配置。
- `README.md` / `SETUP.md` — 前端开发与启动说明。
## 目录public
- `public/` — 静态资源文件夹,直接由 Vite 拷贝到输出目录favicon、静态图片等
## 目录src
- `src/main.tsx` — 应用入口文件,初始化 i18n、state provider并挂载 `App`
- `src/App.tsx` — 顶层 React 组件,通常负责路由或全局布局占位。
- `src/i18n.ts` — 国际化初始化与语言资源配置。
- `src/index.css` / `src/App.css` — 全局样式与组件级样式入口Tailwind/CSS 组合)。
### 子目录assets
- `src/assets/` — 图片、图标及其他静态前端资源。
### 子目录components
- `src/components/AppShell.tsx` — 应用主壳,组合 `HeaderBar`、侧边栏、画布和 `Inspector`
- `src/components/HeaderBar.tsx` — 顶部控制栏,包含 Run/Save、用户/环境切换等操作入口。
- `src/components/BreadcrumbNav.tsx` — 面包屑导航组件,用于目录/文件路径导航。
- `src/components/NodePalette.tsx` — 节点库面板,显示可用节点并实现拖拽到画布。
- `src/components/FileExplorer.tsx` — 文件资源管理器,支持文件操作与拖拽到画布。
- `src/components/FileViewer.tsx` — 文件内容预览与编辑模态。
- `src/components/Inspector.tsx` — 右侧参数面板,展示所选节点的参数与预览。
- `src/components/CustomNodeEditor.tsx` — 自定义节点编辑器,编辑 Python 自定义节点元数据并与后端交互。
- `src/components/Workspace.tsx` — 中央画布容器React Flow 封装),处理节点渲染、连线、交互与缩放。
- `src/components/SettingsModal.tsx` — 系统设置弹窗,管理 API 地址与运行时选项。
#### 子目录components/nodes
- `src/components/nodes/UniversalNode.tsx` — 通用节点渲染组件负责节点头部、handles、参数摘要与状态灯。
#### 子目录components/graph
- `src/components/graph/GraphCanvas.tsx` — 画布渲染组件(迁移目标),仅负责 React Flow 渲染与低层事件转发。
- `src/components/graph/GraphControls.tsx` — 画布控制按钮(缩放/视图重置等)。
#### 子目录components/_layouts
- `src/components/_layouts/PanelContainer.tsx` — 侧边栏/面板容器通用布局组件。
### 子目录hooks
- `src/hooks/useCanvasDrop.ts` — 处理拖拽到画布的 DataTransfer解析并调用 store 的 `addNodeFromSchema`
### 子目录stores
- `src/stores/` — 状态管理目录(可能包含 Zustand/Redux store管理节点集合、选择状态与界面首级数据。
### 子目录utils
- `src/utils/api.ts` — 所有后端 API 调用的封装函数(例如构造 `graph/execute` payload 的辅助函数)。
- `src/utils/` — 其他工具函数集合(格式化、解析等)。
### 子目录components/request
- `src/components/request/graphRequest.ts` — 将前端的 nodes/edges/globalSettings 转换为后端 `/api/graph/execute` 所需的 payload 的适配器函数。
## 目录tests
- `web/tests/TEST_INTEGRATION.js` — 前端集成测试(占位/示例),用于验证关键 UI 交互或端到端路径。
---
## 维护建议
- 在每次对 `src/components` 做结构性变动时,同时更新本文件与 `docs/web/components_structure.md`
-`stores`、`core/model` 提供清晰的类型定义文件,便于组件与服务之间的契约校验。
文档生成时间: 2026-01-10
生成者: Copilot自动化脚本