# CODEMAP.md — 改代码找哪里

给 AI 的「文件 → 职责」索引。路径相对仓库根 / `source/`。

## 宿主 UI

| 文件 | 职责 |
|------|------|
| `src/PrintComponent/App.xaml.cs` | HostVersion、模块注册、启动 |
| `src/PrintComponent/MainWindow.xaml.cs` | 主窗、菜单、托盘、打开 API/自检 |
| `src/PrintComponent/ApiConfigWindow.cs` | 服务/ERP/网站/模版 Tab；通道行；挂载确认；在线设计；另存专用 |
| `src/PrintComponent/TemplateDesignerWindow.cs` | WPF 可视化设计器窗口 |
| `src/PrintComponent/TemplateDesignerCanvas.cs` | 画布拖拽/选中/图层 |
| `src/PrintComponent/DiagnosticsWindow.cs` | 一键自检 UI、同步纸张 |
| `src/PrintComponent/www/designer.html` | 内置网页设计器（发布进宿主） |

## 本机 API / 诊断

| 文件 | 职责 |
|------|------|
| `src/PrintComponent/Services/LocalPrintApiServer.cs` | HttpListener 全路由；`/designer`；preview/print/channels |
| `src/PrintComponent/Services/BindingDiagnostics.cs` | 自检报告、BindingMatrix、纸张校验与同步 |
| `src/PrintComponent/Services/ApiConfigStore.cs` | api-config.json 读写 |
| `src/PrintComponent/Services/AppPrinterStore.cs` | Profile 读写 |
| `src/PrintComponent/Services/ErpPullService.cs` | ERP 轮询与去重 |
| `src/PrintComponent/Services/PrintFieldAliases.cs` | 古法/ERP 字段别名 |

## 打印引擎

| 文件 | 职责 |
|------|------|
| `src/Modules/...Printing/GdiTemplateRenderer.cs` | JSON 模版 GDI 出图；`{{占位符}}` |
| `src/Modules/...Printing/PrintingModule.cs` | 模块入口、服务注册、Version |
| `src/Modules/...Printing/TemplateRenderer.cs` | 抽象渲染/校验 |

## LABEL MATRIX

| 文件 | 职责 |
|------|------|
| `src/Modules/...LabelMatrix/QdfFieldProbe.cs` | QDF 字段探测 |
| `src/Modules/...LabelMatrix/LabelMatrixModule.cs` | 导入路径；**不**执行 QDF 打印 |

## 更新

| 文件 | 职责 |
|------|------|
| `src/PrintComponent.Update/ModularUpdateClient.cs` | 拉 manifest、下载校验、覆盖重启 |
| `src/PrintComponent.UpdateServer/Program.cs` | 更新中心 HTTP |

## 发版 / 知识库

| 文件 | 职责 |
|------|------|
| `tools/pack-release.ps1` | 打 Setup + 模块包 + manifest |
| `tools/deploy-release.ps1` | 上传安装包与更新中心 |
| `tools/deploy-dev-docs.ps1` | 上传本目录文档 + source.zip |
| `web/print-component/dev/*` | **AI 文档权威源** |
| `web/print-component/latest.json` | 下载页版本文案 |
| `packaging/PrintComponent.iss` | Inno 安装脚本版本 |

## 常见改动对照

| 需求 | 优先改 |
|------|--------|
| 新 API 路由 | `LocalPrintApiServer.cs` + `API.md` |
| 通道 UI / 挂模版策略 | `ApiConfigWindow.cs` |
| 预览/试打效果 | `GdiTemplateRenderer` + Designer |
| 自检项 | `BindingDiagnostics` + `DiagnosticsWindow` |
| 占位符/别名 | `PrintFieldAliases` + 渲染器正则 |
| 升版 | HostVersion + csproj + PrintingModule + iss + latest.json |
| 让下一任 AI 懂 | 改 `web/print-component/dev/` 后 `deploy-dev-docs.ps1` |
