Files
apes-Authon-history/README.md
T
figmar 9cbb1f7695 init: apes-Authon-history — 剥离历史与源码分析归档
- docs/: 源码分析报告、代码深度解析、项目说明书、独立服务化方案
- backend/: 账权模块提取说明(提取原则、文件清单、耦合度验证)
- frontend/: 前端剥离方案、剥离历史与说明、框架修改详情
2026-08-09 13:04:04 +08:00

134 lines
7.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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