# apes-Authon-history — 剥离历史与源码分析归档 > 本仓库归档了 apes-Authon 账权独立服务平台从单体应用中剥离的完整过程、分析报告和方案文档。 > 供源码更新时参考,持续优化前后端代码和文档。 ## 仓库定位 | 仓库 | 说明 | 地址 | |------|------|------| | apes-Authon-Server | 后端账权服务 | https://gitea.apescale.com/apes-Arise/apes-Authon-Server | | apes-Authon-Web | 前端账权管理 | https://gitea.apescale.com/apes-Arise/apes-Authon-Web | | **apes-Authon-history** | **本仓库 — 剥离历史与分析归档** | https://gitea.apescale.com/apes-Arise/apes-Authon-history | | apes-Authdata | 源码归档(完整单体应用,供抽取参考) | https://gitea.apescale.com/apes-Arise/apes-Authdata | ## 目录结构 ``` apes-Authon-history/ ├── README.md # 本文件 ├── docs/ # 源码分析与方案文档 │ ├── saas-service深度分析报告.md # 后端单体应用深度分析(33000 字) │ ├── 代码深度解析与分析过程.md # 代码解析过程记录(27000 字) │ ├── 账权平台-项目说明书.html # 原项目完整说明书(HTML) │ └── 账权模块独立服务化方案.html # 独立服务化可行性分析与方案(HTML) ├── backend/ # 后端剥离文档 │ └── 账权模块提取说明.md # 提取原则、文件清单、耦合度验证、路线图 └── frontend/ # 前端剥离文档 ├── apes-Authon-Web-剥离方案.md # 剥离方案(计划文档) ├── apes-Authon-Web-剥离方案.html # 剥离方案(HTML 版) └── 剥离历史与说明.md # 剥离执行记录、变更明细、框架修改说明 ``` ## 文档索引 ### 源码分析 | 文档 | 内容概述 | |------|---------| | [saas-service深度分析报告](docs/saas-service深度分析报告.md) | 后端单体应用的完整深度分析:项目结构、技术栈、核心模块(认证/授权/多租户/SSO/数据同步/LLM)、数据库设计、API 清单、配置体系 | | [代码深度解析与分析过程](docs/代码深度解析与分析过程.md) | 代码解析过程记录:AuthContext 工作机制、@Login AOP 切面、多租户数据源切换、伙伴云 SSO 集成、LLM Agent 架构 | | [账权平台-项目说明书](docs/账权平台-项目说明书.html) | 原项目说明书(HTML 格式):功能模块、技术架构、部署方式、数据库 ER 图 | | [账权模块独立服务化方案](docs/账权模块独立服务化方案.html) | 独立服务化可行性分析:耦合度评估、剥离策略、技术路线、风险评估 | ### 后端剥离 | 文档 | 内容概述 | |------|---------| | [账权模块提取说明](backend/账权模块提取说明.md) | 提取原则(纯账权/零业务/保留包名/保留依赖)、124 个文件清单(11 Controller + 23 Entity + 7 Service + 23 Mapper)、外部依赖分析、耦合度验证结论、后续路线图 | ### 前端剥离 | 文档 | 内容概述 | |------|---------| | [apes-Authon-Web-剥离方案](frontend/apes-Authon-Web-剥离方案.md) | 剥离前的计划文档:保留/删除/修改清单、页面耦合度分析、框架文件修改方案 | | [apes-Authon-Web-剥离方案](frontend/apes-Authon-Web-剥离方案.html) | 同上(HTML 格式) | | [剥离历史与说明](frontend/剥离历史与说明.md) | 剥离执行记录:176 文件变更(+222/-60093)、11 个框架文件修改详情、业务引用清理表、构建验证结果 | ## 剥离概述 ### 后端 (apes-Authon-Server) 从 `saas-service` 单体应用中提取纯净账权模块,经过 4 个阶段完成: | 阶段 | 目标 | 关键工作 | |------|------|---------| | Phase 1 | apes-commons 内联 | 反推 8 个核心类(AuthContext / @Login / LoginAspect / Res / DbEntity 等),移除外部 JAR 依赖 | | Phase 2 | 包名重构 | `cn.apes.cloud` → `cn.apes.authon` 全局包名重构,零残留 | | Phase 3 | 编译验证 | 124 个源文件编译通过,Lombok 1.18.40 + compiler-plugin 3.13.0 兼容 Java 24 | | Phase 4 | 提交推送 | 最终版本推送到 Gitea | **提取结果**:11 Controller + 23 Entity + 12 DTO + 3 VO + 7 Service + 18 ServiceImpl + 23 Mapper + 5 Config + 1 Filter + 2 Util + 8 commons 内联 = 124 个 Java 文件 **耦合度验证**: - 业务 Service → 账权 Service 直接调用:**0 个** - 业务 Controller → 账权 Controller 直接调用:**0 个** - 账权 Service → 业务 Mapper 直接调用:**0 个** - 唯一交叉引用:`CustomerInfoServiceImpl` → huoban DTO 包(11 个纯 DTO,无业务逻辑) ### 前端 (apes-Authon-Web) 从 `saas-web` 单体前端中剥离纯净账权页面: | 指标 | 数值 | |------|------| | 保留页面 | 40 个(24 账权 + 9 系统配置 + 7 AI 工具) | | 删除页面 | ~82 个业务页面 | | 代码变更 | +222 / -60093(净减约 6 万行) | | 修改框架文件 | 11 个 | | 构建状态 | 通过(`npm run build:prod`) | ## 如何使用本仓库 ### 场景 1:源码更新后同步优化 当源码(单体应用)有更新时,按以下流程操作: 1. **分析变更**:对比源码最新版本与本仓库归档的分析文档,识别新增/修改的账权相关代码 2. **评估影响**:参照 [账权模块提取说明](backend/账权模块提取说明.md) 中的提取原则和文件清单,判断变更是否属于账权范畴 3. **同步代码**:将确认的变更同步到 [apes-Authon-Server](https://gitea.apescale.com/apes-Arise/apes-Authon-Server) 或 [apes-Authon-Web](https://gitea.apescale.com/apes-Arise/apes-Authon-Web) 4. **更新文档**:如有结构性变更,更新本仓库的分析文档 ### 场景 2:理解架构设计 新开发者可通过以下顺序阅读文档快速理解系统: 1. [账权平台-项目说明书](docs/账权平台-项目说明书.html) — 了解原项目全貌 2. [saas-service深度分析报告](docs/saas-service深度分析报告.md) — 理解后端架构 3. [账权模块独立服务化方案](docs/账权模块独立服务化方案.html) — 理解为什么要剥离 4. [账权模块提取说明](backend/账权模块提取说明.md) — 理解后端怎么剥离的 5. [前端剥离方案](frontend/apes-Authon-Web-剥离方案.md) — 理解前端怎么剥离的 6. [剥离历史与说明](frontend/剥离历史与说明.md) — 理解前端具体改了什么 ### 场景 3:扩展新模块 参照 [代码深度解析与分析过程](docs/代码深度解析与分析过程.md) 中的架构说明,理解以下核心机制后再进行扩展: - **AuthContext + @Login AOP**:认证上下文的传递机制 - **@TenantSource 动态数据源**:多租户数据源切换 - **SSO 集成**:伙伴云单点登录的 Token 交换流程 - **动态路由**:前端菜单 → 路由 → 组件的映射机制 ## 后续路线图 | 阶段 | 目标 | 状态 | |------|------|------| | Phase 5A | AI 助手/LLM 模块后端提取(~54 Java 文件) | 待办 | | Phase 5B | 系统配置页面补充 | 基本完成 | | Phase 5C | 伙伴云表单配置模块提取 | 待办 | | Phase 6 | SDK 化 — AuthContext 转为远程可调用 SDK | 待设计 | | Phase 7 | 网关集成 — API 网关注入请求头替代 ThreadLocal | 待设计 | ## License MIT