refactor: align framework cleanup with new bootstrap flow

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
This commit is contained in:
2025-11-19 12:47:25 +08:00
parent 39d14ec093
commit d66323487b
67 changed files with 3020 additions and 3992 deletions

View File

@@ -417,6 +417,36 @@ Handler (HTTP) → Service (业务逻辑) → Store (数据访问) → Model (
- **Store 层**:统一管理所有数据访问,支持事务
- **Task 层**Asynq 任务处理器,支持定时任务和事件触发
## 框架优化历史
### 005-framework-cleanup-refactor2025-11
**背景**:清理技术债务,统一框架设计
**主要变更**
1. **清理示例代码**:删除所有 user/order 示例业务代码,保持代码库整洁
2. **统一认证中间件**:合并两套 Auth 实现到 `pkg/middleware/auth.go`,统一错误处理格式
3. **简化错误结构**:删除 AppError 的 HTTPStatus 字段,避免字段冗余
4. **组件注册解耦**:创建 `internal/bootstrap/` 包实现自动化组件初始化
- 按模块拆分:`stores.go``services.go``handlers.go`
- main.go 简化为一行:`handlers, err := bootstrap.Bootstrap(deps)`
5. **数据权限自动化**:实现 GORM Callback 自动注入数据权限过滤
- 基于 creator 字段自动过滤(普通用户只能看到自己和下级的数据)
- root 用户自动跳过过滤
- 支持通过 `gorm.SkipDataPermission(ctx)` 手动绕过
- 删除未使用的 `scopes.go` 手动 Scope 函数
**设计原则**
- 保持 Go 惯用模式,避免 Java 风格过度抽象
- 使用显式依赖注入,不引入复杂的 DI 框架
- 每个文件保持 < 100 行,职责单一
- 在关键扩展点添加 TODO 标记
**详细文档**
- [变更提案](openspec/changes/refactor-framework-cleanup/proposal.md)
- [设计文档](openspec/changes/refactor-framework-cleanup/design.md)
- [任务清单](openspec/changes/refactor-framework-cleanup/tasks.md)
## 开发规范
### 依赖注入