### 影片管理API测试 ### 1. 创建影片(电影类型 - 自动提取封面) POST http://localhost:8000/api/v1/movies Content-Type: application/json Authorization: Bearer {{token}} { "title": "复仇者联盟4:终局之战", "original_title": "Avengers: Endgame", "category_id": 1, "type": 1, "area": "美国", "language": "英语", "year": 2019, "duration": 181, "director": "安东尼·罗素, 乔·罗素", "actor": "小罗伯特·唐尼, 克里斯·埃文斯, 马克·鲁法洛, 克里斯·海姆斯沃斯, 斯嘉丽·约翰逊", "description": "超级英雄们与灭霸的最终决战,拯救宇宙的史诗级大片。", "tags": "动作,科幻,冒险", "video_url": "/uploads/videos/avengers_endgame.mp4", "is_vip": 1, "is_recommend": 1, "is_hot": 1, "is_new": 0, "sort": 1 } ### 2. 创建影片(电视剧类型 - 手动上传封面) POST http://localhost:8000/api/v1/movies Content-Type: application/json Authorization: Bearer {{token}} { "title": "权力的游戏", "original_title": "Game of Thrones", "category_id": 2, "type": 2, "area": "美国", "language": "英语", "year": 2011, "duration": 60, "director": "大卫·贝尼奥夫, D·B·威斯", "actor": "彼特·丁拉基, 琳娜·海蒂, 艾米莉亚·克拉克, 基特·哈灵顿", "description": "基于乔治·R·R·马丁的奇幻小说《冰与火之歌》改编的史诗级电视剧。", "tags": "奇幻,剧情,战争", "poster": "/uploads/posters/game_of_thrones_poster.jpg", "banner": "/uploads/banners/game_of_thrones_banner.jpg", "is_vip": 1, "is_recommend": 1, "is_hot": 1, "is_new": 0, "sort": 2 } ### 3. 获取影片列表 GET http://localhost:8000/api/v1/movies?page=1&page_size=10 Authorization: Bearer {{token}} ### 4. 搜索影片 GET http://localhost:8000/api/v1/movies/search?keyword=复仇者&page=1&page_size=10 Authorization: Bearer {{token}} ### 5. 获取热门影片 GET http://localhost:8000/api/v1/movies/hot?limit=5 Authorization: Bearer {{token}} ### 6. 获取推荐影片 GET http://localhost:8000/api/v1/movies/recommend?limit=5 Authorization: Bearer {{token}} ### 7. 获取最新影片 GET http://localhost:8000/api/v1/movies/new?limit=5 Authorization: Bearer {{token}} ### 8. 根据分类获取影片 GET http://localhost:8000/api/v1/movies/category/1?page=1&page_size=10 Authorization: Bearer {{token}} ### 9. 获取影片详情 GET http://localhost:8000/api/v1/movies/1 Authorization: Bearer {{token}} ### 10. 更新影片信息 PUT http://localhost:8000/api/v1/movies/1 Content-Type: application/json Authorization: Bearer {{token}} { "title": "复仇者联盟4:终局之战(更新版)", "description": "超级英雄们与灭霸的最终决战,拯救宇宙的史诗级大片。更新后的描述。", "is_hot": 1, "is_recommend": 1 } ### 11. 批量更新影片状态 PUT http://localhost:8000/api/v1/movies/batch Content-Type: application/json Authorization: Bearer {{token}} { "ids": [1, 2], "field": "is_recommend", "value": 1 } ### 12. 上传视频文件 POST http://localhost:8000/api/v1/movies/upload/video Content-Type: multipart/form-data Authorization: Bearer {{token}} ### 13. 上传封面图片 POST http://localhost:8000/api/v1/movies/upload/poster Content-Type: multipart/form-data Authorization: Bearer {{token}} ### 14. 删除影片 DELETE http://localhost:8000/api/v1/movies/1 Authorization: Bearer {{token}} ### ===== 集数管理API测试 ===== ### 15. 为电视剧创建集数 POST http://localhost:8000/api/v1/episodes Content-Type: application/json Authorization: Bearer {{token}} { "movie_id": 2, "episode_num": 1, "title": "第一集:凛冬将至", "description": "权力的游戏第一季第一集,故事的开始。", "video_url": "/uploads/episodes/got_s01e01.mp4", "video_size": 1073741824, "video_format": "mp4", "resolution": "1920x1080", "is_vip": 1, "sort": 1 } ### 16. 批量创建集数 POST http://localhost:8000/api/v1/episodes/batch Content-Type: application/json Authorization: Bearer {{token}} { "movie_id": 2, "episodes": [ { "episode_num": 2, "title": "第二集:王者大道", "description": "权力的游戏第一季第二集。", "video_url": "/uploads/episodes/got_s01e02.mp4", "video_size": 1073741824, "video_format": "mp4", "resolution": "1920x1080", "is_vip": 1, "sort": 2 }, { "episode_num": 3, "title": "第三集:雪诺大人", "description": "权力的游戏第一季第三集。", "video_url": "/uploads/episodes/got_s01e03.mp4", "video_size": 1073741824, "video_format": "mp4", "resolution": "1920x1080", "is_vip": 1, "sort": 3 } ] } ### 17. 获取影片的所有集数 GET http://localhost:8000/api/v1/episodes/movie/2 Authorization: Bearer {{token}} ### 18. 获取集数详情 GET http://localhost:8000/api/v1/episodes/1 Authorization: Bearer {{token}} ### 19. 更新集数信息 PUT http://localhost:8000/api/v1/episodes/1 Content-Type: application/json Authorization: Bearer {{token}} { "title": "第一集:凛冬将至(更新版)", "description": "权力的游戏第一季第一集,故事的开始。更新后的描述。", "is_vip": 0 } ### 20. 上传集数视频 POST http://localhost:8000/api/v1/episodes/upload/video Content-Type: multipart/form-data Authorization: Bearer {{token}} ### 21. 生成视频缩略图 POST http://localhost:8000/api/v1/episodes/thumbnail Content-Type: application/json Authorization: Bearer {{token}} { "video_url": "/uploads/episodes/got_s01e01.mp4" } ### 22. 获取视频信息 GET http://localhost:8000/api/v1/episodes/video/info?video_url=/uploads/episodes/got_s01e01.mp4 Authorization: Bearer {{token}} ### 23. 批量更新集数状态 PUT http://localhost:8000/api/v1/episodes/batch/status Content-Type: application/json Authorization: Bearer {{token}} { "ids": [1, 2, 3], "status": 1 } ### 24. 删除集数 DELETE http://localhost:8000/api/v1/episodes/1 Authorization: Bearer {{token}} ### ===== 数据库初始化测试 ===== ### 25. 初始化数据库(命令行执行) # 在项目根目录执行: # go run main.go init-db ### ===== 注意事项 ===== # 1. 所有需要认证的接口都需要在请求头中添加 Authorization: Bearer {{token}} # 2. {{token}} 需要先通过登录接口获取 # 3. 文件上传接口需要使用 multipart/form-data 格式 # 4. 电影类型(type=1)会自动从视频中提取封面,需要提供video_url # 5. 电视剧类型(type=2)需要手动上传封面,需要提供poster字段 # 6. 视频处理功能需要系统安装ffmpeg # 7. 批量操作建议分批进行,避免一次性操作过多数据