Some checks failed
部署后端服务 / 🚀 构建并部署 (push) Failing after 7m20s
- 重构根目录CLAUDE.md为项目总览(60行精简版) - 细化backend模块CLAUDE.md为开发指南 - 新增各子模块CLAUDE.md文件: - api/desc/ - API定义模块 - internal/handler/ - 请求处理器 - internal/logic/ - 业务逻辑层 - internal/model/ - 数据模型层 - internal/middleware/ - 中间件层 - internal/svc/ - 服务上下文 - configs/ - 配置目录 - deploy/ - 部署配置 - pkg/ - 公共库 - scripts/ - 工具脚本 - configs/sql/ - SQL脚本 - 修复PostgreSQL SSL配置参数 - 清理旧的backend-old目录 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
39 lines
1.2 KiB
Markdown
39 lines
1.2 KiB
Markdown
# Service Context - 服务上下文
|
|
|
|
## 📁 文件结构
|
|
```
|
|
internal/svc/
|
|
└── servicecontext.go # 服务上下文定义
|
|
```
|
|
|
|
## 🎯 核心职责
|
|
- **服务初始化**: 集中管理所有服务依赖
|
|
- **依赖注入**: 为handler提供所需组件
|
|
- **生命周期**: 管理服务生命周期
|
|
|
|
## 🔧 组件管理
|
|
```go
|
|
type ServiceContext struct {
|
|
Config config.Config // 配置
|
|
DB *gorm.DB // 数据库连接
|
|
UserModel model.UserModel // 用户模型
|
|
PhotoModel model.PhotoModel // 照片模型
|
|
CategoryModel model.CategoryModel // 分类模型
|
|
Middleware *middleware.MiddlewareManager // 中间件管理
|
|
}
|
|
```
|
|
|
|
## 🚀 初始化流程
|
|
```
|
|
启动服务 → 加载配置 → 初始化数据库 → 创建模型 → 注册中间件 → 启动HTTP服务
|
|
```
|
|
|
|
## 📋 扩展方式
|
|
1. **新增模型**: 在ServiceContext中添加新字段
|
|
2. **初始化**: 在NewServiceContext中初始化
|
|
3. **使用**: 在handler中通过svc访问
|
|
|
|
## 🎯 设计模式
|
|
- **单例模式**: 整个服务生命周期只创建一次
|
|
- **依赖注入**: 通过构造函数传递依赖
|
|
- **门面模式**: 为上层提供统一的访问接口 |