package v1 import ( "github.com/gogf/gf/v2/net/ghttp" "nl-video-api/internal/controller/movie" ) // MovieGroup 影片管理路由组 func MovieGroup(group *ghttp.RouterGroup) { group.Middleware(AuthMiddleware) // 需要认证 // 影片管理路由 group.Group("/movies", func(group *ghttp.RouterGroup) { // 基础CRUD操作 group.GET("/", movie.Movie.GetList) // 获取影片列表 group.POST("/", movie.Movie.Create) // 创建影片 group.GET("/{id}", movie.Movie.GetById) // 获取影片详情 group.POST("/update", movie.Movie.Update) // 更新影片 group.POST("/delete/{id}", movie.Movie.Delete) // 删除影片 // 搜索和筛选 group.GET("/search", movie.Movie.Search) // 搜索影片 group.GET("/category/{category_id}", movie.Movie.GetByCategory) // 按分类获取 // 特殊列表 group.GET("/hot", movie.Movie.GetHot) // 获取热门影片 group.GET("/recommend", movie.Movie.GetRecommend) // 获取推荐影片 group.GET("/new", movie.Movie.GetNew) // 获取最新影片 // 批量操作 group.POST("/batch-update", movie.Movie.BatchUpdate) // 批量更新状态 // 文件上传 group.POST("/upload/video", movie.Movie.UploadVideo) // 上传视频 group.POST("/upload/poster", movie.Movie.UploadPoster) // 上传封面 }) // 集数管理路由 group.Group("/episodes", func(group *ghttp.RouterGroup) { // 基础CRUD操作 group.POST("/", movie.Episode.Create) // 创建集数 group.GET("/{id}", movie.Episode.GetById) // 获取集数详情 group.POST("/update", movie.Episode.Update) // 更新集数 group.POST("/delete/{id}", movie.Episode.Delete) // 删除集数 // 按影片获取集数 group.GET("/movie/{movie_id}", movie.Episode.GetByMovieId) // 获取影片的所有集数 // 批量操作 group.POST("/batch", movie.Episode.BatchCreate) // 批量创建集数 group.POST("/batch-status", movie.Episode.BatchUpdateStatus) // 批量更新状态 // 文件上传和处理 group.POST("/upload/video", movie.Episode.UploadVideo) // 上传集数视频 group.POST("/thumbnail", movie.Episode.GenerateThumbnail) // 生成缩略图 group.GET("/video/info", movie.Episode.GetVideoInfo) // 获取视频信息 }) } // AuthMiddleware 认证中间件(这里引用已存在的中间件) var AuthMiddleware = func(r *ghttp.Request) { // 这里应该引用已存在的认证中间件 // 暂时跳过认证检查,实际项目中需要实现 r.Middleware.Next() }