66 lines
2.5 KiB
Go
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()
|
|
}
|