servers.go 775 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package servers
  2. import (
  3. "dy-admin/internal/pcmserver/bus/service"
  4. "dy-admin/internal/pcmserver/config"
  5. "dy-admin/internal/pcmserver/router"
  6. )
  7. type Servers struct {
  8. genericAPIServer *GenericAPIServer
  9. cfg *config.Config
  10. }
  11. type PreparedServers struct {
  12. *Servers
  13. }
  14. func CreateServers(cfg *config.Config) (*Servers, error) {
  15. genericServer, err := NewGenericApiServer(cfg)
  16. if err != nil {
  17. return nil, err
  18. }
  19. return &Servers{genericAPIServer: genericServer, cfg: cfg}, nil
  20. }
  21. func (s *Servers) PrepareRun() PreparedServers {
  22. service.InitCabinet(s.cfg.CabinetConnectOptions)
  23. //加载路由
  24. router.LoadRouter(s.cfg, s.genericAPIServer.Engine)
  25. return PreparedServers{s}
  26. }
  27. func (ps PreparedServers) Run() error {
  28. return ps.genericAPIServer.Run()
  29. }