Files
nl-video-api/api/v1/movie.go
2025-08-03 00:11:15 +08:00

66 lines
2.5 KiB
Go

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()
}