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-28 15:57:22 +08:00
|
|
|
|
"github.com/JACKYMYPERSON/hldrCenter/internal/meeting/handler/meeting"
|
2025-10-28 22:57:37 +08:00
|
|
|
|
"github.com/JACKYMYPERSON/hldrCenter/internal/meetingspeaker/handler/meeting_speaker"
|
2025-10-27 12:48:37 +08:00
|
|
|
|
"github.com/JACKYMYPERSON/hldrCenter/internal/pageimgs/handler/pageImage"
|
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-27 12:48:37 +08:00
|
|
|
|
pageImages := api.Group("/page-image")
|
|
|
|
|
|
{
|
|
|
|
|
|
// 查询指定页面图片(GET /api/page-image/get?page=home)
|
|
|
|
|
|
pageImages.POST("/get", gin.WrapH(pageImage.GetPageImagesHandler(cfg)))
|
|
|
|
|
|
|
|
|
|
|
|
// 新增/更新页面图片(POST /api/page-image/save)
|
|
|
|
|
|
pageImages.POST("/save", gin.WrapH(pageImage.SavePageImageHandler(cfg)))
|
|
|
|
|
|
}
|
2025-10-28 15:57:22 +08:00
|
|
|
|
meetings := api.Group("/meetings")
|
|
|
|
|
|
{
|
|
|
|
|
|
// 1. 创建会议(POST /api/meetings)
|
|
|
|
|
|
meetings.POST("", gin.WrapH(meeting.CreateMeetingHandler(cfg)))
|
|
|
|
|
|
|
|
|
|
|
|
// 2. 查询单条会议(GET /api/meetings/:id)
|
|
|
|
|
|
meetings.GET("/:id", gin.WrapH(meeting.GetMeetingHandler(cfg)))
|
|
|
|
|
|
|
|
|
|
|
|
// 3. 查询会议列表(GET /api/meetings,带分页参数)
|
|
|
|
|
|
meetings.POST("/list", gin.WrapH(meeting.ListMeetingHandler(cfg)))
|
|
|
|
|
|
|
|
|
|
|
|
// 4. 更新会议(PUT /api/meetings,部分/全量更新)
|
|
|
|
|
|
meetings.PUT("", gin.WrapH(meeting.UpdateMeetingHandler(cfg)))
|
|
|
|
|
|
|
|
|
|
|
|
// 5. 删除会议(DELETE /api/meetings/:id)
|
|
|
|
|
|
meetings.DELETE("/:id", gin.WrapH(meeting.DeleteMeetingHandler(cfg)))
|
2025-10-28 22:57:37 +08:00
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
speakers := api.Group("/speakers")
|
|
|
|
|
|
{
|
2025-10-29 11:07:26 +08:00
|
|
|
|
speakers.POST("/meetingspeakers", gin.WrapH(meeting_speaker.ListSpeakersByMeetingHandler(cfg)))
|
2025-10-28 22:57:37 +08:00
|
|
|
|
// 1. 创建嘉宾(POST /api/speakers)
|
|
|
|
|
|
speakers.POST("", gin.WrapH(meeting_speaker.CreateSpeakerHandler(cfg)))
|
|
|
|
|
|
|
|
|
|
|
|
// 2. 查询单个嘉宾(GET /api/speakers/:id)
|
|
|
|
|
|
speakers.GET("/:id", gin.WrapH(meeting_speaker.GetSpeakerHandler(cfg)))
|
|
|
|
|
|
|
|
|
|
|
|
// 3. 更新嘉宾信息(PUT /api/speakers)
|
|
|
|
|
|
speakers.PUT("", gin.WrapH(meeting_speaker.UpdateSpeakerHandler(cfg)))
|
|
|
|
|
|
|
|
|
|
|
|
// 4. 软删除嘉宾(DELETE /api/speakers/:id)
|
|
|
|
|
|
speakers.DELETE("/:id", gin.WrapH(meeting_speaker.DeleteSpeakerHandler(cfg)))
|
2025-10-28 15:57:22 +08:00
|
|
|
|
}
|
2025-10-04 20:48:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return r
|
|
|
|
|
|
}
|