diff --git a/docs/developer/modules/README.md b/docs/developer/modules/README.md new file mode 100644 index 0000000..dca3129 --- /dev/null +++ b/docs/developer/modules/README.md @@ -0,0 +1,159 @@ +# 模块文档索引 + +本目录收录项目核心业务模块的开发文档。 + +这些文档的目标不是替代源码,而是帮助开发者快速理解: + +- 每个模块负责什么 +- 模块的入口文件在哪里 +- 模块之间如何协作 +- 主要数据和调用链怎么流动 +- 改某个功能时应该先看哪些文件 + +## 推荐阅读方式 + +如果你是第一次进入模块层,建议按下面顺序阅读: + +1. `auth` +2. `extractor` +3. `validation` +4. `cleaner` +5. `update` +6. `settings` + +这个顺序基本对应项目的主要业务路径和依赖关系。 + +## 模块关系图 + +```mermaid +graph TD + Auth[auth] + Extractor[extractor] + Validation[validation] + Cleaner[cleaner] + Update[update] + Settings[settings] + + Auth --> Extractor + Auth --> Cleaner + Auth --> Settings + Auth --> Update + Extractor --> Validation + Validation --> Cleaner +``` + +可以把它理解成: + +- `auth` + 提供用户上下文,是多个模块的前置条件 +- `extractor` + 负责输入和提取,是共享订单号的来源之一 +- `validation` + 把共享数据和数据库数据转成 Cleaner 可消费结果 +- `cleaner` + 消费校验结果并执行 ERP 清理 +- `update` + 根据当前用户上下文给出更新能力和状态 +- `settings` + 提供 ERP 凭据等配置能力 + +## 模块目录一览 + +| 模块 | 文档 | 核心职责 | +| --- | --- | --- | +| Auth | `auth.md` | 登录、silent login、管理员代切用户、用户上下文同步 | +| Extractor | `extractor.md` | 订单号输入、提取执行、日志与共享订单号同步 | +| Validation | `validation.md` | 共享 Production IDs、校验查询、结果富化、Cleaner 数据准备 | +| Cleaner | `cleaner.md` | 物料校验展示、删除计划保存、ERP 清理执行、报告展示 | +| Update | `update.md` | 更新目录、状态广播、下载、安装、用户/管理员更新视图 | +| Settings | `settings.md` | ERP 凭据加载与保存、当前用户配置管理 | + +## 模块入口地图 + +```mermaid +graph LR + Renderer[Renderer Pages / Hooks] + Preload[Preload APIs] + IPC[IPC Handlers] + Services[Main Services] + Modules[业务模块文档] + + Renderer --> Preload + Preload --> IPC + IPC --> Services + Modules --> Renderer + Modules --> IPC + Modules --> Services +``` + +阅读模块文档时,建议同时关注三层入口: + +- renderer 入口 + 页面、组件、hooks +- IPC 入口 + handler +- main service 入口 + application service / domain service + +## 按任务选择阅读路径 + +如果你是按任务来看文档,可以参考下面这张图: + +```mermaid +flowchart TD + Task[当前任务] + Login[登录 / 用户切换] + Extract[订单提取] + Validate[物料校验] + Clean[ERP 清理] + UpdateTask[应用更新] + Config[配置修改] + + Task --> Login + Task --> Extract + Task --> Validate + Task --> Clean + Task --> UpdateTask + Task --> Config + + Login --> AuthDoc[auth.md] + Extract --> ExtractorDoc[extractor.md] + Validate --> ValidationDoc[validation.md] + Clean --> CleanerDoc[cleaner.md] + UpdateTask --> UpdateDoc[update.md] + Config --> SettingsDoc[settings.md] +``` + +## 和 architecture 文档的关系 + +`modules/` 和 `architecture/` 的关系如下: + +```mermaid +graph LR + Architecture[architecture/] + Modules[modules/] + Guides[guides/] + + Architecture --> Modules + Modules --> Guides +``` + +理解方式可以是: + +- 先看 `architecture/` + 建立系统整体认知 +- 再看 `modules/` + 深入理解业务模块 +- 最后看 `guides/` + 落到具体开发动作 + +## 后续扩展建议 + +如果后续业务边界继续演进,可以在这里继续增加模块文档,例如: + +- `report.md` +- `materials.md` +- `config.md` +- `logger.md` + +新增模块文档时,建议同步更新这份索引页,让 `modules/README.md` 持续保持为模块层总入口。