package api import ( "baize_scaffold/gateway/gw/api/root" v1 "baize_scaffold/gateway/gw/api/v1" "baize_scaffold/gateway/gw/config" "git.sxidc.com/go-framework/baize" "git.sxidc.com/go-framework/baize/framework/core/application" "git.sxidc.com/go-framework/baize/framework/gateway" ) var appInstance *application.App var gatewayInstance *gateway.Gateway func NewGateway() { if appInstance != nil { return } appInstance = baize.NewApplication(config.GetGatewayConfig().ApplicationConfig) // 注册Router appInstance.Api().PrefixRouter().RegisterVersionedRouter("v1") // 创建gateway gatewayInstance = gateway.NewGateway(appInstance.Api()) root.Init(gatewayInstance) v1.Init(gatewayInstance) } func DestroyGateway() { if appInstance == nil { return } gateway.DestroyGateway(gatewayInstance) gatewayInstance = nil baize.DestroyApplication(appInstance) appInstance = nil } func Start() error { err := appInstance.Start() if err != nil { return err } return nil } func Finish() error { err := appInstance.Finish() if err != nil { return err } return nil }