zhangzengfei
2023-09-05 63645d248c765244488cd34dbc1bb6528ca6b7c7
version-control/api/api-def.go
@@ -1,95 +1,95 @@
package api
import (
   "basic.com/valib/bhomeclient.git"
   "basic.com/valib/logger.git"
   "github.com/gin-gonic/gin"
   uuid "github.com/satori/go.uuid"
   "net/http"
   "sync"
   "vamicro/version-control/controller"
   "vamicro/version-control/models"
   "vamicro/version-control/routers"
   "vamicro/version-control/service"
)
var (
   routines []routers.IRouter = []routers.IRouter{}
)
func init() {
   routines = append(routines,
      controller.CheckVersion,
      controller.UploadDist,
      controller.Upgrade,
      controller.SettingFetch,
      controller.SettingPush,
      controller.UpdateNotice,
      controller.DelayNotice,
      controller.PreUpLoad,
      controller.UpgradePreUpLoad,
      controller.RollBack,
      controller.Authorization,
      controller.GetSn,
      controller.Qrcode,
      controller.AuthorizationUpload,
      controller.CancelAuthorization,
      controller.CancelAuthorizationUpload,
      controller.ShopMakeSmsCod,
      controller.ShopCenterLogin,
      controller.ShopCenterGetOrderList,
      controller.AuthActiveByOrder,
      controller.AutoBakShow,
      controller.AutoBakConfSet,
      controller.AutoBakRightNow,
      controller.BackupListShow,
      controller.BackupRecov,
   )
}
func InitRouter(wg *sync.WaitGroup, ms *bhomeclient.MicroNode) *http.Server {
   models.Init()
   service.Init()
   r := gin.Default()
   controller.Ms = ms
   var midw gin.HandlerFunc = func(ctx *gin.Context) {
      uid, err := ctx.Cookie("uuid")
      if err != nil {
         uid := uuid.NewV4().String()
         ctx.SetCookie("uuid", uid, 3600, "/", "", false, true)
      }
      ctx.Set("uid", uid)
   }
   r.Use(midw)
   for _, v := range routines {
      methods := v.GetMethods()
      if len(methods) > 0 && len(methods) > 0 {
         for _, m := range methods {
            r.Handle(m, v.GetPath(), v.GetHandles()...)
         }
      }
   }
   server := &http.Server{
      Addr:              ":8080",
      Handler:           r,
   }
   wg.Add(1)
   go func() {
      if err := server.ListenAndServe(); nil != err {
         if err != http.ErrServerClosed {
            logger.Fatal("InitRouter failed with error:", err)
         } else {
            logger.Info("InitRouter exited by user")
         }
      }
      wg.Done()
   }()
   return server
}
package api
import (
   "basic.com/valib/bhomeclient.git"
   "basic.com/valib/logger.git"
   "github.com/gin-gonic/gin"
   uuid "github.com/satori/go.uuid"
   "net/http"
   "sync"
   "vamicro/version-control/controller"
   "vamicro/version-control/models"
   "vamicro/version-control/routers"
   "vamicro/version-control/service"
)
var (
   routines []routers.IRouter = []routers.IRouter{}
)
func init() {
   routines = append(routines,
      controller.CheckVersion,
      controller.UploadDist,
      controller.Upgrade,
      controller.SettingFetch,
      controller.SettingPush,
      controller.UpdateNotice,
      controller.DelayNotice,
      controller.PreUpLoad,
      controller.UpgradePreUpLoad,
      controller.RollBack,
      controller.Authorization,
      controller.GetSn,
      controller.Qrcode,
      controller.AuthorizationUpload,
      controller.CancelAuthorization,
      controller.CancelAuthorizationUpload,
      controller.ShopMakeSmsCod,
      controller.ShopCenterLogin,
      controller.ShopCenterGetOrderList,
      controller.AuthActiveByOrder,
      controller.AutoBakShow,
      controller.AutoBakConfSet,
      controller.AutoBakRightNow,
      controller.BackupListShow,
      controller.BackupRecov,
   )
}
func InitRouter(wg *sync.WaitGroup, ms *bhomeclient.MicroNode) *http.Server {
   models.Init()
   service.Init()
   r := gin.Default()
   controller.Ms = ms
   var midw gin.HandlerFunc = func(ctx *gin.Context) {
      uid, err := ctx.Cookie("uuid")
      if err != nil {
         uid := uuid.NewV4().String()
         ctx.SetCookie("uuid", uid, 3600, "/", "", false, true)
      }
      ctx.Set("uid", uid)
   }
   r.Use(midw)
   for _, v := range routines {
      methods := v.GetMethods()
      if len(methods) > 0 && len(methods) > 0 {
         for _, m := range methods {
            r.Handle(m, v.GetPath(), v.GetHandles()...)
         }
      }
   }
   server := &http.Server{
      Addr:              ":8080",
      Handler:           r,
   }
   wg.Add(1)
   go func() {
      if err := server.ListenAndServe(); nil != err {
         if err != http.ErrServerClosed {
            logger.Fatal("InitRouter failed with error:", err)
         } else {
            logger.Info("InitRouter exited by user")
         }
      }
      wg.Done()
   }()
   return server
}