package initialize import ( "net/http" "github.com/gin-gonic/gin" "github.com/swaggo/gin-swagger" "github.com/swaggo/gin-swagger/swaggerFiles" _ "log-server/docs" "log-server/global" "log-server/middleware" "log-server/router" ) // 初始化总路由 func Routers() *gin.Engine { Router := gin.Default() systemRouter := router.RouterGroupApp.System exampleRouter := router.RouterGroupApp.Example logingRouter := router.RouterGroupApp.Loging computerRouter := router.RouterGroupApp.Computer taskRouter := router.RouterGroupApp.Task uploadFileRouter := router.RouterGroupApp.UploadFile typeManageRouter := router.RouterGroupApp.TypeManage rentComputerRouter := router.RouterGroupApp.RentComputer dataStatisticsRouter := router.RouterGroupApp.DataStatistics fileManagerRouter := router.RouterGroupApp.FileManager // 如果想要不使用nginx代理前端网页,可以修改 web/.env.production 下的 // VUE_APP_BASE_API = / // VUE_APP_BASE_PATH = http://localhost // 然后执行打包命令 npm run build。在打开下面4行注释 // Router.LoadHTMLGlob("./dist/*.html") // npm打包成dist的路径 // Router.Static("/favicon.ico", "./dist/favicon.ico") // Router.Static("/static", "./dist/assets") // dist里面的静态资源 // Router.StaticFile("/", "./dist/index.html") // 前端网页入口页面 Router.StaticFS(global.GVA_CONFIG.Local.Path, http.Dir(global.GVA_CONFIG.Local.StorePath)) // 为用户头像和文件提供静态地址 // Router.Use(middleware.LoadTls()) // 如果需要使用https 请打开此中间件 然后前往 core/server.go 将启动模式 更变为 Router.RunTLS("端口","你的cre/pem文件","你的key文件") global.GVA_LOG.Info("use middleware logger") // 跨域,如需跨域可以打开下面的注释 // Router.Use(middleware.Cors()) // 直接放行全部跨域请求 //Router.Use(middleware.CorsByRules()) // 按照配置的规则放行跨域请求 global.GVA_LOG.Info("use middleware cors") Router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) global.GVA_LOG.Info("register swagger handler") // 方便统一添加路由组前缀 多服务器上线使用 PublicGroup := Router.Group("") { // 健康监测 PublicGroup.GET("/health", func(c *gin.Context) { c.JSON(200, "ok") }) } { systemRouter.InitBaseRouter(PublicGroup) // 注册基础功能路由 不做鉴权 systemRouter.InitInitRouter(PublicGroup) // 自动初始化相关 logingRouter.InitLogingRouter(PublicGroup) logingRouter.InitCodingLogRouter(PublicGroup) computerRouter.InitComputerRouter(PublicGroup) typeManageRouter.InitGameChannelRouter(PublicGroup) //游戏渠道路由 typeManageRouter.InitGameListRouter(PublicGroup) //游戏列表路由 typeManageRouter.InitLoginTypeRouter(PublicGroup) //登录类型路由 typeManageRouter.InitResponsiblePersonRouter(PublicGroup) //负责人路由 typeManageRouter.InitAccountTypeRouter(PublicGroup) //账号类型路由 taskRouter.InitGameTaskRouter(PublicGroup) uploadFileRouter.InitUploadFileRouter(PublicGroup) rentComputerRouter.InitRentComputerRouter(PublicGroup) //租机管理 rentComputerRouter.InitRentComputerShopRouter(PublicGroup) // 租机供应商管理 rentComputerRouter.InitRentSetMealRouter(PublicGroup) rentComputerRouter.InitRentComputerLedgerRouter(PublicGroup) dataStatisticsRouter.InitDataAbnormalRateRouter(PublicGroup) //数据统计 dataStatisticsRouter.InitWeChatScannerApiRouter(PublicGroup) //数据统计 dataStatisticsRouter.InitWeChatScannerDetailedRouter(PublicGroup) //数据统计 dataStatisticsRouter.InitWeChatScannerLedgerRouter(PublicGroup) //数据统计 dataStatisticsRouter.InitOldDataShowRouter(PublicGroup) fileManagerRouter.InitFileFolderRouter(PublicGroup) fileManagerRouter.InitFileTypeRouter(PublicGroup) fileManagerRouter.InitFileQiniuRouter(PublicGroup) } PrivateGroup := Router.Group("") PrivateGroup.Use(middleware.JWTAuth()).Use(middleware.CasbinHandler()) { systemRouter.InitApiRouter(PrivateGroup) // 注册功能api路由 systemRouter.InitJwtRouter(PrivateGroup) // jwt相关路由 systemRouter.InitUserRouter(PrivateGroup) // 注册用户路由 systemRouter.InitMenuRouter(PrivateGroup) // 注册menu路由 systemRouter.InitSystemRouter(PrivateGroup) // system相关路由 systemRouter.InitCasbinRouter(PrivateGroup) // 权限相关路由 systemRouter.InitAutoCodeRouter(PrivateGroup) // 创建自动化代码 systemRouter.InitAuthorityRouter(PrivateGroup) // 注册角色路由 systemRouter.InitSysDictionaryRouter(PrivateGroup) // 字典管理 systemRouter.InitAutoCodeHistoryRouter(PrivateGroup) // 自动化代码历史 systemRouter.InitSysOperationRecordRouter(PrivateGroup) // 操作记录 systemRouter.InitSysDictionaryDetailRouter(PrivateGroup) // 字典详情管理 systemRouter.InitAuthorityBtnRouterRouter(PrivateGroup) // 字典详情管理 exampleRouter.InitExcelRouter(PrivateGroup) // 表格导入导出 exampleRouter.InitCustomerRouter(PrivateGroup) // 客户路由 exampleRouter.InitFileUploadAndDownloadRouter(PrivateGroup) // 文件上传下载功能路由 // Code generated by log-server Begin; DO NOT EDIT. // Code generated by log-server End; DO NOT EDIT. } InstallPlugin(PublicGroup, PrivateGroup) // 安装插件 global.GVA_LOG.Info("router register success") return Router }