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:
30
README.md
30
README.md
@@ -417,6 +417,36 @@ Handler (HTTP) → Service (业务逻辑) → Store (数据访问) → Model (
|
||||
- **Store 层**:统一管理所有数据访问,支持事务
|
||||
- **Task 层**:Asynq 任务处理器,支持定时任务和事件触发
|
||||
|
||||
## 框架优化历史
|
||||
|
||||
### 005-framework-cleanup-refactor(2025-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)
|
||||
|
||||
## 开发规范
|
||||
|
||||
### 依赖注入
|
||||
|
||||
Reference in New Issue
Block a user