package cmd import ( "cls-server/config" "cls-server/internal/interfaces" "cls-server/internal/modules" "cls-server/pkg/captchafx" "cls-server/pkg/fxevent" _ "embed" "github.com/urfave/cli/v2" "go.uber.org/fx" ) func runServer(*cli.Context) error { fx.New( fx.WithLogger(fxevent.NewLogrusLogger), fx.Provide( config.NewAppConfig, config.NewLoggerFactory, config.NewGinEngine, config.NewXormEngine, config.NewRedisClient, config.NewPasswordEncoder, config.NewSmsService, config.NewInternalClient, config.NewJWTAuthMiddleware, ), // 基础服务 fx.Options(captchafx.Module), fx.Invoke( interfaces.RegisterHandlers, ), // 注册http handler fx.Options( modules.Module, // 总模块入口 ), ).Run() return nil }