#!/bin/bash # 前端API批量测试脚本 # 用法: bash test_apis.sh BASE_URL="http://localhost:3000/api" echo "========== 测试开始 ==========" test_api() { local name="$1" local method="$2" local endpoint="$3" local data="$4" echo -e "\n$name" if [ -n "$data" ]; then curl -s -w "\nHTTP_CODE:%{http_code}\n" -X $method "${BASE_URL}${endpoint}" -H "Content-Type: application/json" -d "$data" else curl -s -w "\nHTTP_CODE:%{http_code}\n" -X $method "${BASE_URL}${endpoint}" fi } # 认证模块 test_api "1. 发送验证码" POST "/auth/send-code" '{"phone":"13800138000"}' test_api "2. 登录" POST "/auth/login" '{"phone":"13800138000","code":"123456"}' test_api "3. 获取用户信息" GET "/auth/user-info" # 会员模块 test_api "4. 获取会员状态" GET "/member/status" test_api "5. 获取订阅余额" GET "/subscription/balance" # TTS模块 test_api "6. 获取音色列表" GET "/tts/voices" test_api "7. 生成音频" POST "/tts/generate" '{"text":"测试","voiceId":"cherry","voiceParams":{}}' # 播放模块 - 测试有效章节ID test_api "8. 修改音频公开状态" PUT "/player/audio/712/public" '{"isPublic":true}' # 专辑模块 test_api "9. 获取专辑列表" GET "/book-generator/albums" test_api "10. 获取专辑章节" GET "/book-generator/albums/1/chapters" test_api "11. 重命名专辑" PUT "/book-generator/album/1/rename" '{"title":"新名称"}' test_api "12. 重命名章节(需有效ID)" PUT "/book-generator/album/1/chapters/712/rename" '{"title":"新章节名"}' test_api "13. 移动章节(需有效ID)" PUT "/book-generator/album/1/chapters/712/move" '{"newNumber":2}' # 书籍生成模块 test_api "14. 获取书籍列表" GET "/book-generator/langgraph/books" test_api "15. 创建书籍" POST "/book-generator/langgraph/books" '{"title":"测试书籍","description":"测试描述"}' test_api "16. 获取书籍详情" GET "/book-generator/langgraph/books/1" test_api "17. 生成大纲" POST "/book-generator/langgraph/books/1/outline" test_api "18. 生成单章" POST "/book-generator/langgraph/books/1/chapters" '{"chapterNumber":1}' test_api "19. 生成前言" POST "/book-generator/langgraph/books/1/foreword" test_api "20. 生成后记" POST "/book-generator/langgraph/books/1/afterword" test_api "21. 获取完整内容" GET "/book-generator/langgraph/books/1/full-content" test_api "22. 获取进度" GET "/book-generator/langgraph/books/1/progress" test_api "23. 一键生成整本" POST "/book-generator/langgraph/books/1/generate" test_api "24. 生成音频" POST "/book-generator/langgraph/books/1/audio" '{"voiceId":"cherry"}' test_api "25. 合并音频" POST "/book-generator/langgraph/books/1/merge-audio" test_api "26. 切换发布状态" PUT "/book-generator/langgraph/books/1/publish" test_api "27. 获取工作流状态" GET "/book-generator/langgraph/workflow/1" # 视频模块 test_api "28. 获取视频项目列表" GET "/video/projects" test_api "29. 创建视频项目" POST "/video/projects" '{"title":"测试视频"}' test_api "30. 获取视频项目详情" GET "/video/projects/1" test_api "31. 更新视频项目" PUT "/video/projects/1" '{"title":"更新标题"}' test_api "32. 删除视频项目" DELETE "/video/projects/1" test_api "33. 开始生成视频" POST "/video/projects/1/generate" test_api "34. 获取生成进度" GET "/video/projects/1/status" test_api "35. 获取素材列表" GET "/video/materials" test_api "36. 上传素材" POST "/video/materials/upload" '{"type":"image","name":"test","url":"http://example.com/image.jpg"}' test_api "37. 从书籍生成视频" POST "/video/books/1/generate" # 发布模块 test_api "38. 获取平台账号" GET "/publish/accounts" test_api "39. 绑定平台账号" POST "/publish/accounts" '{"platform":"douyin","cookies":"test"}' test_api "40. 验证账号" POST "/publish/accounts/douyin/validate" test_api "41. 获取发布任务列表" GET "/publish/tasks" test_api "42. 创建发布任务(需有效视频)" POST "/publish/tasks" '{"videoProjectId":999,"platform":"douyin","title":"测试"}' test_api "43. 获取发布预览" GET "/publish/video/999/preview" # 其他模块 test_api "44. 获取草稿列表" GET "/drafts" test_api "45. 获取通知列表" GET "/notifications" test_api "46. 获取播放列表" GET "/playlists" test_api "47. 创建播放列表" POST "/playlists" '{"name":"测试列表"}' test_api "48. 获取播放列表详情" GET "/playlists/1" test_api "49. 搜索历史" GET "/search/history?userId=1&keyword=test" test_api "50. 添加搜索历史" POST "/search/history" '{"userId":1,"keyword":"测试"}' echo -e "\n\n========== 测试完成 =========="