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>
1.2 KiB
1.2 KiB
Service Context - 服务上下文
📁 文件结构
internal/svc/
└── servicecontext.go # 服务上下文定义
🎯 核心职责
- 服务初始化: 集中管理所有服务依赖
- 依赖注入: 为handler提供所需组件
- 生命周期: 管理服务生命周期
🔧 组件管理
type ServiceContext struct {
Config config.Config // 配置
DB *gorm.DB // 数据库连接
UserModel model.UserModel // 用户模型
PhotoModel model.PhotoModel // 照片模型
CategoryModel model.CategoryModel // 分类模型
Middleware *middleware.MiddlewareManager // 中间件管理
}
🚀 初始化流程
启动服务 → 加载配置 → 初始化数据库 → 创建模型 → 注册中间件 → 启动HTTP服务
📋 扩展方式
- 新增模型: 在ServiceContext中添加新字段
- 初始化: 在NewServiceContext中初始化
- 使用: 在handler中通过svc访问
🎯 设计模式
- 单例模式: 整个服务生命周期只创建一次
- 依赖注入: 通过构造函数传递依赖
- 门面模式: 为上层提供统一的访问接口