|
@@ -0,0 +1,65 @@
|
|
|
|
|
+package application
|
|
|
|
|
+
|
|
|
|
|
+import (
|
|
|
|
|
+ "baize_scaffold/mock/application/service"
|
|
|
|
|
+ "baize_scaffold/mock/config"
|
|
|
|
|
+
|
|
|
|
|
+ "git.sxidc.com/go-framework/baize"
|
|
|
|
|
+ "git.sxidc.com/go-framework/baize/framework/core/application"
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+var appInstance *application.App
|
|
|
|
|
+
|
|
|
|
|
+func NewApp() {
|
|
|
|
|
+ if appInstance != nil {
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ appInstance = baize.NewApplication(config.GetConfig().ApplicationConfig)
|
|
|
|
|
+
|
|
|
|
|
+ // 注册Router
|
|
|
|
|
+ appInstance.Api().PrefixRouter().RegisterVersionedRouter("v1")
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+func DestroyApp() {
|
|
|
|
|
+ if appInstance == nil {
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ baize.DestroyApplication(appInstance)
|
|
|
|
|
+ appInstance = nil
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+func Start() error {
|
|
|
|
|
+ // 初始化服务
|
|
|
|
|
+ for _, svc := range service.RegisteredServices {
|
|
|
|
|
+ err := svc.Init(appInstance)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return err
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ err := appInstance.Start()
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return err
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return nil
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+func Finish() error {
|
|
|
|
|
+ err := appInstance.Finish()
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return err
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 销毁服务
|
|
|
|
|
+ for _, svc := range service.RegisteredServices {
|
|
|
|
|
+ err := svc.Destroy()
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return err
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return nil
|
|
|
|
|
+}
|