【更新】更新restful

This commit is contained in:
PandaGoAdmin
2022-08-03 16:00:32 +08:00
parent 2cb23c0ecf
commit 6945277fdb
48 changed files with 1234 additions and 836 deletions

View File

@@ -1,83 +1,47 @@
package initialize
import (
"fmt"
"pandax/pkg/global"
"pandax/pkg/transport"
ginSwagger "github.com/swaggo/gin-swagger"
"github.com/swaggo/gin-swagger/swaggerFiles"
devRouter "pandax/apps/develop/router"
jobRouter "pandax/apps/job/router"
logRouter "pandax/apps/log/router"
resRouter "pandax/apps/resource/router"
sysRouter "pandax/apps/system/router"
"pandax/pkg/middleware"
_ "pandax/docs"
"net/http"
"github.com/gin-gonic/gin"
)
func InitRouter() *gin.Engine {
func InitRouter() *transport.HttpServer {
// server配置
serverConfig := global.Conf.Server
gin.SetMode(serverConfig.Model)
server := transport.NewHttpServer(serverConfig.GetPort())
var router = gin.New()
router.MaxMultipartMemory = 8 << 20
// 没有路由即 404返回
router.NoRoute(func(g *gin.Context) {
g.JSON(http.StatusNotFound, gin.H{"code": 404, "msg": fmt.Sprintf("not found '%s:%s'", g.Request.Method, g.Request.URL.Path)})
})
// 设置静态资源
if staticConfs := serverConfig.Static; staticConfs != nil {
for _, scs := range *staticConfs {
router.Static(scs.RelativePath, scs.Root)
}
}
// 设置静态文件
if staticFileConfs := serverConfig.StaticFile; staticFileConfs != nil {
for _, sfs := range *staticFileConfs {
router.StaticFile(sfs.RelativePath, sfs.Filepath)
}
}
container := server.Container
// 是否允许跨域
if serverConfig.Cors {
router.Use(middleware.Cors())
container.Filter(middleware.Cors(container).Filter)
}
// 流量限制
if serverConfig.Rate.Enable {
router.Use(middleware.Rate())
container.Filter(middleware.Rate)
}
// api接口
router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
// 设置路由组
sys := router.Group("system")
{
sysRouter.InitSysTenantRouter(sys)
sysRouter.InitSystemRouter(sys)
sysRouter.InitDeptRouter(sys)
sysRouter.InitConfigRouter(sys)
sysRouter.InitApiRouter(sys)
sysRouter.InitDictRouter(sys)
sysRouter.InitMenuRouter(sys)
sysRouter.InitRoleRouter(sys)
sysRouter.InitPostRouter(sys)
sysRouter.InitUserRouter(sys)
sysRouter.InitNoticeRouter(sys)
sysRouter.InitSysTenantRouter(container)
sysRouter.InitSystemRouter(container)
sysRouter.InitDeptRouter(container)
sysRouter.InitConfigRouter(container)
sysRouter.InitApiRouter(container)
sysRouter.InitDictRouter(container)
sysRouter.InitMenuRouter(container)
sysRouter.InitRoleRouter(container)
sysRouter.InitPostRouter(container)
sysRouter.InitUserRouter(container)
sysRouter.InitNoticeRouter(container)
}
// 任务
job := router.Group("job")
/*// 任务
{
jobRouter.InitJobRouter(job)
jobRouter.InitJobRouter()
}
//日志系统
log := router.Group("log")
@@ -95,6 +59,9 @@ func InitRouter() *gin.Engine {
{
resRouter.InitResOssRouter(res)
resRouter.InitResEmailsRouter(res)
}
return router
}*/
// api接口
middleware.SwaggerConfig(container)
//http.Handle("/apidocs/", http.StripPrefix("/apidocs/", http.FileServer(http.Dir("/Users/emicklei/Projects/swagger-ui/dist"))))
return server
}