Files
hldrCenter/server/router/router.go

66 lines
2.3 KiB
Go
Raw Normal View History

2025-10-04 20:48:50 +08:00
package router
import (
"github.com/JACKYMYPERSON/hldrCenter/config"
2025-10-06 01:32:16 +08:00
"github.com/JACKYMYPERSON/hldrCenter/internal/article/handler/article"
2025-10-26 21:34:32 +08:00
"github.com/JACKYMYPERSON/hldrCenter/internal/baseoverview/handler/baseOverview"
2025-10-27 11:01:49 +08:00
"github.com/JACKYMYPERSON/hldrCenter/internal/devproject/handler/devproject"
2025-10-05 18:28:59 +08:00
ping "github.com/JACKYMYPERSON/hldrCenter/internal/ping/handler/ping"
uploadimg "github.com/JACKYMYPERSON/hldrCenter/internal/upload/handler/upload"
2025-10-04 21:18:35 +08:00
"github.com/JACKYMYPERSON/hldrCenter/middleware"
2025-10-04 20:48:50 +08:00
"github.com/gin-gonic/gin"
)
// SetupRouter 初始化路由
func SetupRouter(cfg *config.Config) *gin.Engine {
r := gin.Default()
2025-10-04 21:18:35 +08:00
// 关键:跨域中间件必须在所有路由定义之前应用
r.Use(middleware.CorsMiddleware(&cfg.Server))
// 定义路由组(必须在中间件之后)
2025-10-04 20:48:50 +08:00
api := r.Group("/api")
{
2025-10-05 01:46:48 +08:00
api.POST("/upload/image", uploadimg.UploadImageHandler(cfg))
api.POST("/upload/cover", uploadimg.UploadImageHandler(cfg))
2025-10-05 18:28:59 +08:00
api.GET("/ping", gin.WrapF(ping.PingHandler()))
2025-10-06 01:32:16 +08:00
articles := api.Group("/articles")
{
// 1. 创建文章POST /api/articles
articles.POST("", gin.WrapH(article.CreateArticleHandler(cfg)))
// 2. 文章列表GET /api/articles
articles.POST("/getarticle", gin.WrapH(article.ListArticleHandler(cfg)))
// 3. 文章详情GET /api/articles/:id
articles.GET("/:id", gin.WrapH(article.DetailArticleHandler(cfg)))
// 4. 更新文章PUT /api/articles/:id
articles.PUT("/:id", gin.WrapH(article.UpdateArticleHandler(cfg)))
// 5. 删除文章DELETE /api/articles/:id
articles.DELETE("/:id", gin.WrapH(article.DeleteArticleHandler(cfg)))
}
2025-10-26 21:34:32 +08:00
baseOverviewapi := api.Group("/base-overview") // 用资源路径区分,避免与根路径冲突
{
// 获取基地概况(对应 service 中的 GET /
baseOverviewapi.GET("", gin.WrapH(baseOverview.GetBaseOverviewHandler(cfg)))
// 部分更新基地概况(对应 service 中的 PATCH /
baseOverviewapi.PATCH("", gin.WrapH(baseOverview.UpdateBaseOverviewPartialHandler(cfg)))
}
2025-10-27 11:01:49 +08:00
devprojects := api.Group("/devproject")
{
// 新增或修改项目POST /api/devproject/save
devprojects.POST("/save", gin.WrapH(devproject.SaveDevProjectHandler(cfg)))
// 查询项目详情GET /api/devproject/get
devprojects.GET("/get", gin.WrapH(devproject.GetDevProjectHandler(cfg)))
}
2025-10-04 20:48:50 +08:00
}
return r
}