| | |
| | | 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
|
| | | }
|