package servers import ( "dy-admin/internal/pcmserver/bus/service" "dy-admin/internal/pcmserver/config" "dy-admin/internal/pcmserver/router" ) type Servers struct { genericAPIServer *GenericAPIServer cfg *config.Config } type PreparedServers struct { *Servers } func CreateServers(cfg *config.Config) (*Servers, error) { genericServer, err := NewGenericApiServer(cfg) if err != nil { return nil, err } return &Servers{genericAPIServer: genericServer, cfg: cfg}, nil } func (s *Servers) PrepareRun() PreparedServers { service.InitCabinet(s.cfg.CabinetConnectOptions) //加载路由 router.LoadRouter(s.cfg, s.genericAPIServer.Engine) return PreparedServers{s} } func (ps PreparedServers) Run() error { return ps.genericAPIServer.Run() }