289 lines
7.0 KiB
Markdown
289 lines
7.0 KiB
Markdown
# 文件地图
|
|
|
|
本文档提供一个“高频核心文件地图”,帮助开发者快速定位项目里最值得先看的文件,而不是在目录树里盲找。
|
|
|
|
## 1. 快速定位图
|
|
|
|
```mermaid
|
|
graph TD
|
|
Root[项目入口]
|
|
Main[src/main/index.ts]
|
|
Preload[src/preload/index.ts]
|
|
Renderer[src/renderer/src/App.tsx]
|
|
Pages[src/renderer/src/pages]
|
|
IPC[src/main/ipc]
|
|
Services[src/main/services]
|
|
|
|
Root --> Main
|
|
Root --> Preload
|
|
Root --> Renderer
|
|
Renderer --> Pages
|
|
Main --> IPC
|
|
Main --> Services
|
|
```
|
|
|
|
## 2. 最先阅读的文件
|
|
|
|
如果你刚进入仓库,建议优先看这些文件:
|
|
|
|
| 文件 | 作用 |
|
|
| ----------------------------------------------------------- | -------------------------- |
|
|
| `src/main/index.ts` | 主进程启动入口 |
|
|
| `src/main/bootstrap/runtime.ts` | 运行时初始化与 IPC 注册 |
|
|
| `src/main/ipc/index.ts` | 所有 IPC handler 注册中心 |
|
|
| `src/preload/index.ts` | preload 入口 |
|
|
| `src/preload/api/index.ts` | renderer 可用 API 聚合入口 |
|
|
| `src/renderer/src/App.tsx` | React 应用入口 |
|
|
| `src/renderer/src/components/app/AuthenticatedAppShell.tsx` | 已认证态主壳层 |
|
|
|
|
## 3. Main 进程文件地图
|
|
|
|
### 3.1 启动与窗口
|
|
|
|
```mermaid
|
|
graph TD
|
|
Index[index.ts]
|
|
Runtime[bootstrap/runtime.ts]
|
|
Guards[bootstrap/process-guards.ts]
|
|
Window[bootstrap/main-window.ts]
|
|
|
|
Index --> Runtime
|
|
Index --> Guards
|
|
Index --> Window
|
|
```
|
|
|
|
关键文件:
|
|
|
|
- `src/main/index.ts`
|
|
- `src/main/bootstrap/runtime.ts`
|
|
- `src/main/bootstrap/process-guards.ts`
|
|
- `src/main/bootstrap/main-window.ts`
|
|
|
|
### 3.2 IPC 注册层
|
|
|
|
```mermaid
|
|
graph TD
|
|
IPCIndex[ipc/index.ts]
|
|
Auth[auth-handler.ts]
|
|
Cleaner[cleaner-handler.ts]
|
|
Extractor[extractor-handler.ts]
|
|
Validation[validation-handler.ts]
|
|
Update[update-handler.ts]
|
|
Settings[settings-handler.ts]
|
|
Report[report-handler.ts]
|
|
|
|
IPCIndex --> Auth
|
|
IPCIndex --> Cleaner
|
|
IPCIndex --> Extractor
|
|
IPCIndex --> Validation
|
|
IPCIndex --> Update
|
|
IPCIndex --> Settings
|
|
IPCIndex --> Report
|
|
```
|
|
|
|
建议优先关注:
|
|
|
|
- `src/main/ipc/index.ts`
|
|
- `src/main/ipc/auth-handler.ts`
|
|
- `src/main/ipc/cleaner-handler.ts`
|
|
- `src/main/ipc/extractor-handler.ts`
|
|
- `src/main/ipc/validation-handler.ts`
|
|
- `src/main/ipc/update-handler.ts`
|
|
|
|
### 3.3 核心服务层
|
|
|
|
```mermaid
|
|
graph TD
|
|
Services[services/]
|
|
Auth[auth/]
|
|
Cleaner[cleaner/]
|
|
Validation[validation/]
|
|
Update[update/]
|
|
Config[config/]
|
|
ERP[erp/]
|
|
Report[report/]
|
|
|
|
Services --> Auth
|
|
Services --> Cleaner
|
|
Services --> Validation
|
|
Services --> Update
|
|
Services --> Config
|
|
Services --> ERP
|
|
Services --> Report
|
|
```
|
|
|
|
高频核心文件:
|
|
|
|
- `src/main/services/auth/auth-application-service.ts`
|
|
- `src/main/services/cleaner/cleaner-application-service.ts`
|
|
- `src/main/services/validation/validation-application-service.ts`
|
|
- `src/main/services/validation/shared-production-ids-store.ts`
|
|
- `src/main/services/update/update-service.ts`
|
|
- `src/main/services/update/update-catalog-service.ts`
|
|
- `src/main/services/config/config-manager.ts`
|
|
|
|
## 4. Preload 文件地图
|
|
|
|
preload 现在已经按领域组织。
|
|
|
|
```mermaid
|
|
graph TD
|
|
Preload[index.ts]
|
|
API[api/index.ts]
|
|
IPC[lib/ipc.ts]
|
|
Auth[api/auth.ts]
|
|
Cleaner[api/cleaner.ts]
|
|
Extractor[api/extractor.ts]
|
|
Validation[api/validation.ts]
|
|
Materials[api/materials.ts]
|
|
Process[api/process.ts]
|
|
Resolver[api/resolver.ts]
|
|
|
|
Preload --> API
|
|
API --> Auth
|
|
API --> Cleaner
|
|
API --> Extractor
|
|
API --> Validation
|
|
API --> Materials
|
|
API --> Process
|
|
API --> Resolver
|
|
API --> IPC
|
|
```
|
|
|
|
关键文件:
|
|
|
|
- `src/preload/index.ts`
|
|
- `src/preload/index.d.ts`
|
|
- `src/preload/api/index.ts`
|
|
- `src/preload/lib/ipc.ts`
|
|
|
|
## 5. Renderer 文件地图
|
|
|
|
### 5.1 应用壳层
|
|
|
|
关键文件:
|
|
|
|
- `src/renderer/src/App.tsx`
|
|
- `src/renderer/src/hooks/useAppBootstrap.ts`
|
|
- `src/renderer/src/components/app/AuthenticatedAppShell.tsx`
|
|
- `src/renderer/src/components/app/UnauthenticatedApp.tsx`
|
|
|
|
```mermaid
|
|
graph TD
|
|
App[App.tsx]
|
|
Bootstrap[useAppBootstrap.ts]
|
|
Authenticated[AuthenticatedAppShell.tsx]
|
|
Unauthenticated[UnauthenticatedApp.tsx]
|
|
|
|
App --> Bootstrap
|
|
App --> Authenticated
|
|
App --> Unauthenticated
|
|
```
|
|
|
|
### 5.2 页面入口
|
|
|
|
关键页面:
|
|
|
|
- `src/renderer/src/pages/ExtractorPage.tsx`
|
|
- `src/renderer/src/pages/CleanerPage.tsx`
|
|
- `src/renderer/src/pages/SettingsPage.tsx`
|
|
|
|
### 5.3 Cleaner 相关
|
|
|
|
```mermaid
|
|
graph TD
|
|
Page[CleanerPage.tsx]
|
|
Hook[useCleaner.ts]
|
|
Sidebar[CleanerSidebar.tsx]
|
|
Toolbar[CleanerToolbar.tsx]
|
|
Table[CleanerResultsTable.tsx]
|
|
Bar[CleanerExecutionBar.tsx]
|
|
Helpers[hooks/cleaner/helpers.ts]
|
|
API[hooks/cleaner/api.ts]
|
|
|
|
Page --> Hook
|
|
Page --> Sidebar
|
|
Page --> Toolbar
|
|
Page --> Table
|
|
Page --> Bar
|
|
Hook --> Helpers
|
|
Hook --> API
|
|
```
|
|
|
|
关键文件:
|
|
|
|
- `src/renderer/src/pages/CleanerPage.tsx`
|
|
- `src/renderer/src/hooks/useCleaner.ts`
|
|
- `src/renderer/src/hooks/cleaner/api.ts`
|
|
- `src/renderer/src/hooks/cleaner/helpers.ts`
|
|
|
|
### 5.4 Extractor 相关
|
|
|
|
关键文件:
|
|
|
|
- `src/renderer/src/pages/ExtractorPage.tsx`
|
|
- `src/renderer/src/hooks/useExtractor.ts`
|
|
- `src/renderer/src/hooks/useSharedProductionIds.ts`
|
|
- `src/renderer/src/hooks/usePersistentTextState.ts`
|
|
- `src/renderer/src/components/OrderNumberInput.tsx`
|
|
|
|
### 5.5 更新相关
|
|
|
|
关键文件:
|
|
|
|
- `src/renderer/src/components/UpdateDialog.tsx`
|
|
- `src/renderer/src/hooks/useUpdateDialogState.ts`
|
|
- `src/renderer/src/hooks/useAppBootstrap.ts`
|
|
|
|
## 6. 测试文件地图
|
|
|
|
```mermaid
|
|
graph TD
|
|
Tests[tests/]
|
|
Unit[unit/]
|
|
Integration[integration/]
|
|
E2E[e2e/]
|
|
Manual[manual/]
|
|
|
|
Tests --> Unit
|
|
Tests --> Integration
|
|
Tests --> E2E
|
|
Tests --> Manual
|
|
```
|
|
|
|
和当前重构关系较强的测试包括:
|
|
|
|
- `tests/unit/preload-surface.test.ts`
|
|
- `tests/unit/auth-handler.test.ts`
|
|
- `tests/unit/cleaner-handler.test.ts`
|
|
- `tests/unit/bootstrap-runtime.test.ts`
|
|
- `tests/unit/update-catalog-service.test.ts`
|
|
- `tests/unit/use-shared-production-ids.test.ts`
|
|
- `tests/unit/use-update-dialog-state.test.ts`
|
|
|
|
## 7. 阅读建议
|
|
|
|
不同任务建议优先看不同文件:
|
|
|
|
```mermaid
|
|
flowchart TD
|
|
Task[开发任务]
|
|
Startup[启动问题]
|
|
Cleaner[Cleaner 功能]
|
|
Extractor[Extractor 功能]
|
|
Update[更新功能]
|
|
Auth[认证功能]
|
|
|
|
Task --> Startup
|
|
Task --> Cleaner
|
|
Task --> Extractor
|
|
Task --> Update
|
|
Task --> Auth
|
|
|
|
Startup --> A[src/main/index.ts / bootstrap]
|
|
Cleaner --> B[CleanerPage / useCleaner / cleaner-handler / cleaner service]
|
|
Extractor --> C[ExtractorPage / useExtractor / extractor-handler]
|
|
Update --> D[UpdateDialog / useAppBootstrap / update service]
|
|
Auth --> E[useAppBootstrap / auth-handler / auth service]
|
|
```
|