mh_goadmin_server/app/admin/router/initrouter.go
2023-09-16 10:56:39 +08:00

48 lines
1.0 KiB
Go

package router
import (
"github.com/gin-gonic/gin"
"go-admin/app/admin/middleware"
"go-admin/app/admin/middleware/handler"
"go-admin/common/global"
"go-admin/common/log"
_ "go-admin/pkg/jwtauth"
"go-admin/tools"
"go-admin/tools/config"
"os"
)
func InitRouter() {
var r *gin.Engine
h := global.Cfg.GetEngine()
if h == nil {
h = gin.New()
global.Cfg.SetEngine(h)
}
switch h.(type) {
case *gin.Engine:
r = h.(*gin.Engine)
default:
log.Fatal("not support other engine")
os.Exit(-1)
}
if config.SslConfig.Enable {
r.Use(handler.TlsHandler())
}
r.Use(middleware.WithContextDb(middleware.GetGormFromConfig(global.Cfg)))
middleware.InitMiddleware(r)
// the jwt middleware
var err error
authMiddleware, err := middleware.AuthInit()
tools.HasError(err, "JWT Init Error", 500)
// 注册系统路由
InitSysRouter(r, authMiddleware)
// 注册业务路由
// TODO: 这里可存放业务路由,里边并无实际路由只有演示代码
InitExamplesRouter(r, authMiddleware)
//return r
}