cmd.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package cmd
  2. import (
  3. "context"
  4. "github.com/gogf/gf/v2/frame/g"
  5. "github.com/gogf/gf/v2/net/ghttp"
  6. "github.com/gogf/gf/v2/net/goai"
  7. "github.com/gogf/gf/v2/os/gcmd"
  8. "nodeMonitor/internal/consts"
  9. "nodeMonitor/internal/router"
  10. )
  11. var (
  12. Main = gcmd.Command{
  13. Name: "main",
  14. Usage: "main",
  15. Brief: "start http server",
  16. Func: func(ctx context.Context, parser *gcmd.Parser) (err error) {
  17. s := g.Server()
  18. s.Group("/", func(group *ghttp.RouterGroup) {
  19. router.BindController(group)
  20. })
  21. // Custom enhance API document.
  22. enhanceOpenAPIDoc(s)
  23. //_, err = gcron.AddSingleton(ctx, "*/60 * * * * *", func(ctx context.Context) {
  24. // go task.Ping(ctx)
  25. //}, "ping_task")
  26. //defer gcron.Stop("ping_task")
  27. //defer gcron.Remove("ping_task")
  28. s.Run()
  29. return nil
  30. },
  31. }
  32. )
  33. func enhanceOpenAPIDoc(s *ghttp.Server) {
  34. openapi := s.GetOpenApi()
  35. openapi.Config.CommonResponse = ghttp.DefaultHandlerResponse{}
  36. openapi.Config.CommonResponseDataField = `Data`
  37. // API description.
  38. openapi.Info = goai.Info{
  39. Title: consts.OpenAPITitle,
  40. Description: consts.OpenAPIDescription,
  41. Contact: &goai.Contact{
  42. Name: "GoFrame",
  43. URL: "https://goframe.org",
  44. },
  45. }
  46. }