mirror of
https://github.com/LHY0125/PathEditor.git
synced 2026-06-29 01:45:54 +08:00
docs: README 用 Mermaid 流程图替换截图占位符 — 架构图、组件树、操作流程
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -20,11 +20,94 @@
|
||||
|
||||
PathEditor 是 Windows PATH 环境变量的可视化管理工具。支持系统变量和用户变量的增删改查、拖拽排序、一键清理无效路径、导入导出以及完整的撤销/重做。
|
||||
|
||||
v4.2 使用 **Tauri 2.x + React 19 + TypeScript + Rust** 完全重写,替代了原有的 C + IUP GUI。
|
||||
v4.3 使用 **Tauri 2.x + React 19 + TypeScript + Rust** 完全重写,替代了原有的 C + IUP GUI。
|
||||
|
||||
## 截图
|
||||
## 架构
|
||||
|
||||
_[待补充]_
|
||||
```mermaid
|
||||
graph TB
|
||||
subgraph 前端["React 前端"]
|
||||
UI[UI 组件层<br/>AppShell / PathTable / Dialogs]
|
||||
Store[状态管理<br/>Zustand Store]
|
||||
Core[纯逻辑层<br/>undo-redo / path-manager / validation]
|
||||
UI --> Store
|
||||
UI --> Core
|
||||
Store --> Core
|
||||
end
|
||||
|
||||
subgraph IPC["Tauri IPC 桥接"]
|
||||
invoke[invoke / plugin-dialog]
|
||||
end
|
||||
|
||||
subgraph 后端["Rust 后端"]
|
||||
Registry[注册表读写<br/>HKLM / HKCU]
|
||||
System[系统操作<br/>权限检测 / 路径验证 / 环境变量展开]
|
||||
Files[文件操作<br/>备份 / 配置 / 导入读取]
|
||||
Scanner[分析引擎<br/>冲突检测 / 工具清单]
|
||||
end
|
||||
|
||||
subgraph Windows["Windows 系统"]
|
||||
Reg[(注册表<br/>SYSTEM / USER PATH)]
|
||||
FS[(文件系统<br/>目录验证 / exe 扫描)]
|
||||
end
|
||||
|
||||
UI --> invoke
|
||||
invoke --> Registry
|
||||
invoke --> System
|
||||
invoke --> Files
|
||||
invoke --> Scanner
|
||||
Registry --> Reg
|
||||
System --> FS
|
||||
Scanner --> FS
|
||||
Files --> FS
|
||||
```
|
||||
|
||||
### 组件树
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
App["App.tsx<br/>ErrorBoundary"]
|
||||
Shell["AppShell<br/>布局编排 + 弹窗管理"]
|
||||
TitleBar["TitleBar<br/>拖拽区域"]
|
||||
ToolBar["ToolBar<br/>搜索 / 操作 / 分析 / 配置"]
|
||||
PathTable["PathTable<br/>路径列表 + 验证 + 复选框"]
|
||||
MergePreview["MergePreview<br/>系统+用户合并视图"]
|
||||
StatusBar["StatusBar<br/>状态 / 权限 / 重试"]
|
||||
Dialogs["弹窗层<br/>PathEdit / Import / Help / Analyze / Profile"]
|
||||
|
||||
App --> Shell
|
||||
Shell --> TitleBar
|
||||
Shell --> ToolBar
|
||||
Shell --> PathTable
|
||||
Shell --> MergePreview
|
||||
Shell --> StatusBar
|
||||
Shell --> Dialogs
|
||||
```
|
||||
|
||||
### 操作流程
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
actor U as 用户
|
||||
participant UI as React UI
|
||||
participant Z as Zustand Store
|
||||
participant IPC as Tauri IPC
|
||||
participant R as Rust 后端
|
||||
participant Win as Windows
|
||||
|
||||
U->>UI: 点击「保存」
|
||||
UI->>Z: savePaths()
|
||||
Z->>IPC: invoke('backup_registry')
|
||||
IPC->>R: backup_registry()
|
||||
R->>Win: 读取注册表 → 写入备份文件
|
||||
Z->>IPC: Promise.allSettled([save_system, save_user])
|
||||
IPC->>R: save_system_paths() / save_user_paths()
|
||||
R->>Win: RegSetValueEx()
|
||||
Z->>IPC: invoke('broadcast_env_change')
|
||||
IPC->>R: SendMessageTimeout(WM_SETTINGCHANGE)
|
||||
R->>Win: 通知所有进程
|
||||
Z->>UI: isModified → false, statusMessage → '保存成功'
|
||||
```
|
||||
|
||||
## 功能
|
||||
|
||||
|
||||
Reference in New Issue
Block a user