package application import ( "git.sxidc.com/go-framework/baize/framework/core/api" "git.sxidc.com/go-framework/baize/framework/core/infrastructure" "git.sxidc.com/go-framework/baize/framework/core/infrastructure/logger" ) type App struct { // api实例 apiInstance *api.Api // 基础设施实例 infrastructureInstance *infrastructure.Infrastructure // 日志 loggerInstance *logger.Logger } // New 创建Application func New(api *api.Api, i *infrastructure.Infrastructure) *App { return &App{ apiInstance: api, infrastructureInstance: i, } } // Start 运行应用 func (app *App) Start() error { err := app.apiInstance.Start() if err != nil { return err } return nil } // Finish 终止应用 func (app *App) Finish() error { err := app.apiInstance.Finish() if err != nil { return err } return nil } // Api 获取api实例 func (app *App) Api() *api.Api { return app.apiInstance } // Infrastructure 获取Infrastructure实例 func (app *App) Infrastructure() *infrastructure.Infrastructure { return app.infrastructureInstance } // Logger 获取logger实例 func (app *App) Logger() *logger.Logger { return app.loggerInstance } // ChooseRouter 选择Router func (app *App) ChooseRouter(routerType string, version string) api.Router { return app.Api().ChooseRouter(routerType, version) }