7.0 KiB
7.0 KiB
文件地图
本文档提供一个“高频核心文件地图”,帮助开发者快速定位项目里最值得先看的文件,而不是在目录树里盲找。
1. 快速定位图
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 启动与窗口
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.tssrc/main/bootstrap/runtime.tssrc/main/bootstrap/process-guards.tssrc/main/bootstrap/main-window.ts
3.2 IPC 注册层
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.tssrc/main/ipc/auth-handler.tssrc/main/ipc/cleaner-handler.tssrc/main/ipc/extractor-handler.tssrc/main/ipc/validation-handler.tssrc/main/ipc/update-handler.ts
3.3 核心服务层
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.tssrc/main/services/cleaner/cleaner-application-service.tssrc/main/services/validation/validation-application-service.tssrc/main/services/validation/shared-production-ids-store.tssrc/main/services/update/update-service.tssrc/main/services/update/update-catalog-service.tssrc/main/services/config/config-manager.ts
4. Preload 文件地图
preload 现在已经按领域组织。
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.tssrc/preload/index.d.tssrc/preload/api/index.tssrc/preload/lib/ipc.ts
5. Renderer 文件地图
5.1 应用壳层
关键文件:
src/renderer/src/App.tsxsrc/renderer/src/hooks/useAppBootstrap.tssrc/renderer/src/components/app/AuthenticatedAppShell.tsxsrc/renderer/src/components/app/UnauthenticatedApp.tsx
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.tsxsrc/renderer/src/pages/CleanerPage.tsxsrc/renderer/src/pages/SettingsPage.tsx
5.3 Cleaner 相关
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.tsxsrc/renderer/src/hooks/useCleaner.tssrc/renderer/src/hooks/cleaner/api.tssrc/renderer/src/hooks/cleaner/helpers.ts
5.4 Extractor 相关
关键文件:
src/renderer/src/pages/ExtractorPage.tsxsrc/renderer/src/hooks/useExtractor.tssrc/renderer/src/hooks/useSharedProductionIds.tssrc/renderer/src/hooks/usePersistentTextState.tssrc/renderer/src/components/OrderNumberInput.tsx
5.5 更新相关
关键文件:
src/renderer/src/components/UpdateDialog.tsxsrc/renderer/src/hooks/useUpdateDialogState.tssrc/renderer/src/hooks/useAppBootstrap.ts
6. 测试文件地图
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.tstests/unit/auth-handler.test.tstests/unit/cleaner-handler.test.tstests/unit/bootstrap-runtime.test.tstests/unit/update-catalog-service.test.tstests/unit/use-shared-production-ids.test.tstests/unit/use-update-dialog-state.test.ts
7. 阅读建议
不同任务建议优先看不同文件:
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]