api.php 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <?php
  2. use App\Http\Controllers\Account\AccountController;
  3. use App\Http\Controllers\DeepSeek\DeepSeekController;
  4. use App\Http\Controllers\Book\BookController;
  5. use App\Http\Controllers\Timbre\TimbreController;
  6. use App\Http\Controllers\AIGeneration\ImageGenerationController;
  7. use App\Http\Controllers\AIGeneration\VideoGenerationController;
  8. use Illuminate\Support\Facades\Route;
  9. /*
  10. |--------------------------------------------------------------------------
  11. | API Routes
  12. |--------------------------------------------------------------------------
  13. |
  14. | Here is where you can register API routes for your application. These
  15. | routes are loaded by the RouteServiceProvider within a group which
  16. | is assigned the "api" middleware group. Enjoy building your API!
  17. |
  18. */
  19. Route::group(['middleware' => ['bindToken', 'bindExportToken', 'checkLogin']], function () {
  20. Route::group(['prefix' => 'book'], function () {
  21. // 书籍管理
  22. Route::get('list', [BookController::class, 'bookList']);
  23. Route::get('all', [BookController::class, 'allBooks']);
  24. Route::get('chapterList', [BookController::class, 'chapterList']);
  25. Route::get('chapterContent', [BookController::class, 'chapterContent']);
  26. // 版本管理
  27. Route::get('addVersion', [BookController::class, 'addBookVersion']);
  28. Route::get('editVersion', [BookController::class, 'editBookVersion']);
  29. Route::get('bookVersion', [BookController::class, 'bookVersion']);
  30. Route::get('versionList', [BookController::class, 'versionList']);
  31. Route::get('taskList', [BookController::class, 'taskList']);
  32. Route::get('taskDetail', [BookController::class, 'taskDetail']);
  33. // 音效
  34. Route::get('audioEffects', [BookController::class, 'audioEffects']);
  35. Route::get('audioEffectList', [BookController::class, 'audioEffectList']);
  36. Route::post('editAudioEffect', [BookController::class, 'editAudioEffect']);
  37. // bgm
  38. Route::get('bgms', [BookController::class, 'bgms']);
  39. Route::get('bgmList', [BookController::class, 'bgmList']);
  40. Route::post('editBgm', [BookController::class, 'editBgm']);
  41. });
  42. Route::group(['middleware' => ['bindToken', 'bindExportToken', 'checkLogin', 'checkSign'], 'prefix' => 'book'], function () {
  43. Route::post('uploadAudioEffect', [BookController::class, 'uploadAudioEffect']);
  44. Route::post('uploadBgm', [BookController::class, 'uploadBgm']);
  45. });
  46. Route::group(['prefix' => 'timbre'], function () {
  47. Route::get('addCategory', [TimbreController::class, 'addCategory']);
  48. Route::get('editCategory', [TimbreController::class, 'editCategory']);
  49. Route::get('categoryList', [TimbreController::class, 'categoryList']);
  50. Route::get('list', [TimbreController::class, 'timbreList']);
  51. Route::get('timbreCategories', [TimbreController::class, 'timbreCategories']);
  52. Route::get('edit', [TimbreController::class, 'editTimbre']);
  53. Route::get('groupList', [TimbreController::class, 'timbreGroupList']);
  54. Route::post('addGroup', [TimbreController::class, 'addTimbreGroup']);
  55. Route::post('editGroup', [TimbreController::class, 'editTimbreGroup']);
  56. // 情绪组
  57. Route::get('emotionGroupList', [TimbreController::class, 'emotionGroupList']);
  58. Route::post('addEmotionGroup', [TimbreController::class, 'addEmotionGroup']);
  59. Route::post('editEmotionGroup', [TimbreController::class, 'editEmotionGroup']);
  60. Route::get('delEmotionGroup', [TimbreController::class, 'delEmotionGroup']);
  61. });
  62. Route::group(['prefix' => 'deepseek'], function () {
  63. Route::post('chatWithReasoner', [DeepSeekController::class, 'chatWithReasoner']);
  64. Route::get('timbreList', [DeepSeekController::class, 'timbreList']);
  65. Route::get('paragraphAudios', [DeepSeekController::class, 'paragraphAudios']);
  66. Route::post('addGenerateTask', [DeepSeekController::class, 'addGenerateTask']);
  67. Route::get('setStsToken', [DeepSeekController::class, 'setStsToken']);
  68. Route::get('resetParagraphAudio', [DeepSeekController::class, 'resetParagraphAudio']);
  69. Route::post('saveParagraphAudio', [DeepSeekController::class, 'saveParagraphAudio']);
  70. Route::get('emotionGroups', [DeepSeekController::class, 'emotionGroups']);
  71. Route::post('insertAudioEffect', [DeepSeekController::class, 'insertAudioEffect']);
  72. Route::post('insertBgm', [DeepSeekController::class, 'insertBgm']);
  73. // 剧本管理
  74. Route::get('scriptList', [DeepSeekController::class, 'scriptList']);
  75. Route::get('createScript', [DeepSeekController::class, 'createScript']);
  76. Route::post('chatWithFile', [DeepSeekController::class, 'chatWithFile']);
  77. Route::post('saveScript', [DeepSeekController::class, 'saveScript']);
  78. });
  79. // AI生成
  80. Route::group(['prefix' => 'AIGeneration'], function () {
  81. // 图片生成相关路由
  82. Route::post('image/createTask', [ImageGenerationController::class, 'createTask']);
  83. Route::get('image/taskStatus', [ImageGenerationController::class, 'taskStatus']);
  84. Route::get('image/taskList', [ImageGenerationController::class, 'taskList']);
  85. // 视频生成相关路由
  86. Route::post('video/createTask', [VideoGenerationController::class, 'createTask']);
  87. Route::get('video/taskStatus', [VideoGenerationController::class, 'taskStatus']);
  88. Route::get('video/taskList', [VideoGenerationController::class, 'taskList']);
  89. });
  90. });
  91. Route::post('chatWithFileStream', [DeepSeekController::class, 'chatWithFileStream']);
  92. Route::get('login', [AccountController::class, 'login']); // 登录
  93. Route::get('logout', [AccountController::class, 'logout']); // 退出
  94. Route::get('sseLink', [DeepSeekController::class, 'sseLink']); // sseLink
  95. Route::get('testLink', function () {
  96. return 'Hello, World!';
  97. });
  98. Route::any('{slug}',[AccountController::class, 'index'])->where('slug', '(.*)?');