api.go 1021 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package api
  2. import (
  3. "baize_scaffold/gateway/gw/api/root"
  4. v1 "baize_scaffold/gateway/gw/api/v1"
  5. "baize_scaffold/gateway/gw/config"
  6. "git.sxidc.com/go-framework/baize"
  7. "git.sxidc.com/go-framework/baize/framework/core/application"
  8. "git.sxidc.com/go-framework/baize/framework/gateway"
  9. )
  10. var appInstance *application.App
  11. var gatewayInstance *gateway.Gateway
  12. func NewGateway() {
  13. if appInstance != nil {
  14. return
  15. }
  16. appInstance = baize.NewApplication(config.GetGatewayConfig().ApplicationConfig)
  17. // 创建gateway
  18. gatewayInstance = gateway.NewGateway(appInstance.Api())
  19. root.Init(gatewayInstance)
  20. v1.Init(gatewayInstance)
  21. }
  22. func DestroyGateway() {
  23. if appInstance == nil {
  24. return
  25. }
  26. gateway.DestroyGateway(gatewayInstance)
  27. gatewayInstance = nil
  28. baize.DestroyApplication(appInstance)
  29. appInstance = nil
  30. }
  31. func Start() error {
  32. err := appInstance.Start()
  33. if err != nil {
  34. return err
  35. }
  36. return nil
  37. }
  38. func Finish() error {
  39. err := appInstance.Finish()
  40. if err != nil {
  41. return err
  42. }
  43. return nil
  44. }