删除服务端材质渲染功能及system_config表,转为环境变量配置,初步配置管理员功能

This commit is contained in:
2025-12-08 19:12:30 +08:00
parent 399e6f096f
commit 9b0a60033e
37 changed files with 1135 additions and 3913 deletions

View File

@@ -22,6 +22,7 @@ type Container struct {
Redis *redis.Client
Logger *zap.Logger
JWT *auth.JWTService
Casbin *auth.CasbinService
Storage *storage.StorageClient
CacheManager *database.CacheManager
@@ -31,20 +32,18 @@ type Container struct {
TextureRepo repository.TextureRepository
TokenRepo repository.TokenRepository
ClientRepo repository.ClientRepository
ConfigRepo repository.SystemConfigRepository
YggdrasilRepo repository.YggdrasilRepository
// Service层
UserService service.UserService
ProfileService service.ProfileService
TextureService service.TextureService
TokenService service.TokenService
YggdrasilService service.YggdrasilService
VerificationService service.VerificationService
SecurityService service.SecurityService
CaptchaService service.CaptchaService
SignatureService *service.SignatureService
TextureRenderService service.TextureRenderService
UserService service.UserService
ProfileService service.ProfileService
TextureService service.TextureService
TokenService service.TokenService
YggdrasilService service.YggdrasilService
VerificationService service.VerificationService
SecurityService service.SecurityService
CaptchaService service.CaptchaService
SignatureService *service.SignatureService
}
// NewContainer 创建依赖容器
@@ -53,6 +52,7 @@ func NewContainer(
redisClient *redis.Client,
logger *zap.Logger,
jwtService *auth.JWTService,
casbinService *auth.CasbinService,
storageClient *storage.StorageClient,
emailService interface{}, // 接受 email.Service 但使用 interface{} 避免循环依赖
) *Container {
@@ -68,6 +68,7 @@ func NewContainer(
Redis: redisClient,
Logger: logger,
JWT: jwtService,
Casbin: casbinService,
Storage: storageClient,
CacheManager: cacheManager,
}
@@ -78,7 +79,6 @@ func NewContainer(
c.TextureRepo = repository.NewTextureRepository(db)
c.TokenRepo = repository.NewTokenRepository(db)
c.ClientRepo = repository.NewClientRepository(db)
c.ConfigRepo = repository.NewSystemConfigRepository(db)
c.YggdrasilRepo = repository.NewYggdrasilRepository(db)
// 初始化SignatureService作为依赖注入避免在容器中创建并立即调用
@@ -86,10 +86,9 @@ func NewContainer(
c.SignatureService = service.NewSignatureService(c.ProfileRepo, redisClient, logger)
// 初始化Service注入缓存管理器
c.UserService = service.NewUserService(c.UserRepo, c.ConfigRepo, jwtService, redisClient, cacheManager, storageClient, logger)
c.UserService = service.NewUserService(c.UserRepo, jwtService, redisClient, cacheManager, storageClient, logger)
c.ProfileService = service.NewProfileService(c.ProfileRepo, c.UserRepo, cacheManager, logger)
c.TextureService = service.NewTextureService(c.TextureRepo, c.UserRepo, storageClient, cacheManager, logger)
c.TextureRenderService = service.NewTextureRenderService(c.TextureRepo, storageClient, cacheManager, logger)
// 获取Yggdrasil私钥并创建JWT服务TokenService需要
// 注意这里仍然需要预先初始化因为TokenService在创建时需要YggdrasilJWT
@@ -193,13 +192,6 @@ func WithTokenRepo(repo repository.TokenRepository) Option {
}
}
// WithConfigRepo 设置系统配置仓储
func WithConfigRepo(repo repository.SystemConfigRepository) Option {
return func(c *Container) {
c.ConfigRepo = repo
}
}
// WithUserService 设置用户服务
func WithUserService(svc service.UserService) Option {
return func(c *Container) {