init: apes-Authon-history — 剥离历史与源码分析归档

- docs/: 源码分析报告、代码深度解析、项目说明书、独立服务化方案
- backend/: 账权模块提取说明(提取原则、文件清单、耦合度验证)
- frontend/: 前端剥离方案、剥离历史与说明、框架修改详情
This commit is contained in:
figmar
2026-08-09 13:04:04 +08:00
commit 9cbb1f7695
9 changed files with 4639 additions and 0 deletions
+133
View File
@@ -0,0 +1,133 @@
# apes-Authon-history — 剥离历史与源码分析归档
> 本仓库归档了 apes-Authon 账权独立服务平台从单体应用中剥离的完整过程、分析报告和方案文档。
> 供源码更新时参考,持续优化前后端代码和文档。
## 仓库定位
| 仓库 | 说明 | 地址 |
|------|------|------|
| apes-Authon-Server | 后端账权服务 | https://gitea.apescale.com/apes-Authon/apes-Authon-Server |
| apes-Authon-Web | 前端账权管理 | https://gitea.apescale.com/apes-Authon/apes-Authon-Web |
| **apes-Authon-history** | **本仓库 — 剥离历史与分析归档** | https://gitea.apescale.com/apes-Authon/apes-Authon-history |
## 目录结构
```
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-Authon/apes-Authon-Server) 或 [apes-Authon-Web](https://gitea.apescale.com/apes-Authon/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