Files
2026-04-28 10:29:02 +08:00

72 lines
1.9 KiB
Go

package initialize
import (
"fmt"
"sundynix-go/docs"
"sundynix-go/global"
"sundynix-go/middleware"
"sundynix-go/router"
"github.com/gin-gonic/gin"
swaggerFiles "github.com/swaggo/files"
ginSwagger "github.com/swaggo/gin-swagger"
"go.uber.org/zap"
)
// Routers 初始化总路由
func Routers() {
Router := gin.New()
Router.Use(gin.Recovery())
if gin.Mode() == gin.DebugMode {
Router.Use(gin.Logger())
}
docs.SwaggerInfo.BasePath = global.Config.System.RouterPrefix
Router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
// 系统组路由
systemRouter := router.GroupApp.System
codegenRouter := router.GroupApp.Codegen
orderRouter := router.GroupApp.Order
NeedAuthGroup := Router.Group(global.Config.System.RouterPrefix)
PublicGroup := Router.Group(global.Config.System.RouterPrefix)
//鉴权中间件
NeedAuthGroup.Use(middleware.AuthMiddleware())
{
//无须鉴权的路由
systemRouter.InitAuthRouter(PublicGroup) //登录和验证码不需要鉴权
//systemRouter.InitMenuRouter(PublicGroup)
}
{
//需要鉴权的路由
systemRouter.InitUserRouter(NeedAuthGroup) //用户相关
systemRouter.InitClientRouter(NeedAuthGroup) //客户端相关
systemRouter.InitRoleRouter(NeedAuthGroup) //角色相关
systemRouter.InitMenuRouter(NeedAuthGroup) //菜单相关
codegenRouter.InitCodegenRouter(NeedAuthGroup) //代码生成
orderRouter.InitOrderRouter(NeedAuthGroup)
orderRouter.InitRefundRouter(NeedAuthGroup)
orderRouter.InitStockRouter(NeedAuthGroup)
}
address := fmt.Sprintf(":%d", global.Config.System.Addr)
fmt.Printf(`
欢迎使用 sundynix-go
项目地址:
默认自动化文档地址:http://127.0.0.1%s/swagger/index.html
默认前端文件运行地址:http://127.0.0.1:8080
`, address)
err := Router.Run(address)
if err != nil {
global.Logger.Error("Gin run failed", zap.Error(err))
}
global.Logger.Info("Gin run success", zap.String("address", address))
}