package router import ( "github.com/JACKYMYPERSON/hldrCenter/config" "github.com/JACKYMYPERSON/hldrCenter/middleware/cors" "github.com/JACKYMYPERSON/hldrCenter/router/admin" "github.com/JACKYMYPERSON/hldrCenter/router/article" "github.com/JACKYMYPERSON/hldrCenter/router/baseoverview" "github.com/JACKYMYPERSON/hldrCenter/router/course/course_activity" "github.com/JACKYMYPERSON/hldrCenter/router/course/course_content" "github.com/JACKYMYPERSON/hldrCenter/router/course/course_file" "github.com/JACKYMYPERSON/hldrCenter/router/course/course_resource" "github.com/JACKYMYPERSON/hldrCenter/router/course/course_teacher" "github.com/JACKYMYPERSON/hldrCenter/router/course/maincourse" "github.com/JACKYMYPERSON/hldrCenter/router/course/teaching_case" "github.com/JACKYMYPERSON/hldrCenter/router/course/video_case" "github.com/JACKYMYPERSON/hldrCenter/router/devproject" "github.com/JACKYMYPERSON/hldrCenter/router/meeting/main_meeting" "github.com/JACKYMYPERSON/hldrCenter/router/meeting/meeting_speaker" "github.com/JACKYMYPERSON/hldrCenter/router/page_imgs" "github.com/JACKYMYPERSON/hldrCenter/router/ping" "github.com/JACKYMYPERSON/hldrCenter/router/social/social_service" "github.com/JACKYMYPERSON/hldrCenter/router/social/social_service_governmentprogram" "github.com/JACKYMYPERSON/hldrCenter/router/social/social_service_internship" "github.com/JACKYMYPERSON/hldrCenter/router/upload/cover" "github.com/JACKYMYPERSON/hldrCenter/router/upload/file" "github.com/JACKYMYPERSON/hldrCenter/router/upload/images" "github.com/gin-gonic/gin" ) // SetupRouter 初始化路由 func SetupRouter(cfg *config.Config) *gin.Engine { r := gin.Default() // 关键:跨域中间件必须在所有路由定义之前应用 r.Use(cors.CorsMiddleware(&cfg.Server)) //r.Use(auth.AuthMiddleware()) api := r.Group("/api") { authRequired := api.Group("/") //authRequired.Use(auth.AuthMiddleware()) // 仅对该子分组下的路由生效 { // 所有需要验证的路由都注册到 authRequired 下 images.FileImagesRouter(authRequired, cfg) cover.FileCoverRouter(authRequired, cfg) file.FileCoverRouter(authRequired, cfg) ping.PingRouter(authRequired, cfg) article.ArticleRouter(authRequired, cfg) baseoverview.BaseOverViewRouter(authRequired, cfg) devproject.DevProjectRouter(authRequired, cfg) page_imgs.Pages_imgs_Router(authRequired, cfg) main_meeting.MainMeetingRouter(authRequired, cfg) meeting_speaker.Meeting_Speaker_Router(authRequired, cfg) social_service.Social_Service_Router(authRequired, cfg) social_service_internship.Social_Service_Internship_Router(authRequired, cfg) social_service_governmentprogram.Social_Service_Government_Router(authRequired, cfg) maincourse.MainCourseRouter(authRequired, cfg) teaching_case.Teaching_Case_Router(authRequired, cfg) video_case.Video_Case_Router(authRequired, cfg) course_content.Course_Content_Router(authRequired, cfg) course_file.Course_Content_Router(authRequired, cfg) course_activity.Course_Activity_Router(authRequired, cfg) course_resource.Course_Resource_Router(authRequired, cfg) course_teacher.Course_Teacher_Router(authRequired, cfg) } // 2. 不需要身份验证的路由:直接注册到 api 分组下,不应用 auth 中间件 admin.AdminRouter(api, cfg) // admin 路由无需验证 } return r }