# 架构说明(基线版) ## 系统定调 - **主系统**:Ai-DOP 在 **Admin.NET** 上全新建设与演进——运行入口为 **`Admin.NET.Web.Entry`**,领域与 API 在 **`Admin.NET.Plugin.*`(当前为 AiDOP)** 中扩展,**目标管理端与业务 UI** 以官方 **`references/Admin.NET/Web`** 为载体在该前端内扩展(与后端双进程联调,见 `docs/GETTING_STARTED.md`)。 - **legacy-demo**:**仅作对照**,用于旧 **HTTP 契约、页面交互与数据** 的参照与迁移期联调;**不作为**产品长期主栈。新能力与正式发布界面应在 **插件 + 官方 Web** 中实现,直至 legacy 可退役。 ## 总览 ```mermaid flowchart LR subgraph client [浏览器] Legacy[legacy-demo 对照用] AdminWeb[Admin.NET 官方 Web 目标 UI] end subgraph server [Admin.NET] Web[Web.Entry] Core[Web.Core / Furion] Plugin[Plugin.AiDOP] Sugar[SqlSugar + MySQL] end Legacy -->|5174 /api 代理| Web AdminWeb -->|VITE_API_URL| Web Web --> Core Core --> Plugin Plugin --> Sugar ``` - **呈现层**:**主路径**为 **`references/Admin.NET/Web`**(权限、菜单、租户、审批及后续 Ai-DOP 业务页)。**`legacy-demo/frontend`**(5174)按上节所述**仅对照**,代理到同一后端 `/api`。 - **应用层**:Admin.NET 提供认证、多租户、系统管理;**AiDOP 领域** 在 `Admin.NET.Plugin.AiDOP` 中扩展。 - **数据层**:业务表使用 **SqlSugar** 映射,表名与旧 EF Demo 一致(`ado_*`),便于数据迁移与对照。 ## 插件职责 | 组件 | 职责 | |------|------| | `Entity/` | `AdoOrder`、`AdoPlan`、`AdoWorkOrder` 与表一一对应。 | | `Controllers/` | 兼容旧 Demo 的 MVC 路由 + `[NonUnify]` 响应。 | | `Dto/` | 请求/响应模型,与旧 Demo DTO 对齐。 | | `Startup.cs` | 开发环境 CodeFirst;可按需注册更多服务。 | ## 与旧系统的关系 - **legacy-demo(frontend + backend)**:整体视为**参照实现**;**新开发以 Admin.NET 插件与官方 Web 为准**,与「系统定调」一致。 - **legacy-demo/backend**:EF Core 等旧栈保留为对照;行为与契约迁移到插件与服务层。 - **旧 SQL Server / 存储过程**:新平台默认 **MySQL**、逻辑在应用层;分阶段把原存储过程行为迁到服务与配置(不在本基线文档展开)。 ## 安全基线(后续硬化) - 当前 Demo 接口使用 **`[AllowAnonymous]`** 以降低联调成本。 - 上线前应改为与 Admin.NET 一致的 JWT + 权限标识,或仅对内网开放,并由 API 网关做认证。 ## 上游 Admin.NET `D:\Projects\Ai-DOP\SourceCode\references\Admin.NET` 为克隆的上游仓库(与 `ai-dop-platform` 同级)。升级上游时: 1. 在独立分支合并或 rebase 官方稳定分支。 2. 再编译并跑冒烟测试(登录、菜单、插件 API)。 3. 记录与本项目相关的破坏性变更(Furion / SqlSugar / 启动配置)。