['bindToken', 'bindExportToken', 'checkLogin']], function () { Route::group(['prefix' => 'book'], function () { // 书籍管理 Route::get('list', [BookController::class, 'bookList']); Route::get('all', [BookController::class, 'allBooks']); Route::get('chapterList', [BookController::class, 'chapterList']); Route::get('chapterContent', [BookController::class, 'chapterContent']); // 版本管理 Route::get('addVersion', [BookController::class, 'addBookVersion']); Route::get('editVersion', [BookController::class, 'editBookVersion']); Route::get('bookVersion', [BookController::class, 'bookVersion']); Route::get('versionList', [BookController::class, 'versionList']); Route::get('taskList', [BookController::class, 'taskList']); Route::get('taskDetail', [BookController::class, 'taskDetail']); // 音效 Route::get('audioEffects', [BookController::class, 'audioEffects']); Route::get('audioEffectList', [BookController::class, 'audioEffectList']); Route::post('editAudioEffect', [BookController::class, 'editAudioEffect']); // bgm Route::get('bgms', [BookController::class, 'bgms']); Route::get('bgmList', [BookController::class, 'bgmList']); Route::post('editBgm', [BookController::class, 'editBgm']); }); Route::group(['middleware' => ['bindToken', 'bindExportToken', 'checkLogin', 'checkSign'], 'prefix' => 'book'], function () { Route::post('uploadAudioEffect', [BookController::class, 'uploadAudioEffect']); Route::post('uploadBgm', [BookController::class, 'uploadBgm']); }); Route::group(['prefix' => 'timbre'], function () { Route::get('addCategory', [TimbreController::class, 'addCategory']); Route::get('editCategory', [TimbreController::class, 'editCategory']); Route::get('categoryList', [TimbreController::class, 'categoryList']); Route::get('list', [TimbreController::class, 'timbreList']); Route::get('timbreCategories', [TimbreController::class, 'timbreCategories']); Route::get('edit', [TimbreController::class, 'editTimbre']); Route::get('groupList', [TimbreController::class, 'timbreGroupList']); Route::post('addGroup', [TimbreController::class, 'addTimbreGroup']); Route::post('editGroup', [TimbreController::class, 'editTimbreGroup']); // 情绪组 Route::get('emotionGroupList', [TimbreController::class, 'emotionGroupList']); Route::post('addEmotionGroup', [TimbreController::class, 'addEmotionGroup']); Route::post('editEmotionGroup', [TimbreController::class, 'editEmotionGroup']); Route::get('delEmotionGroup', [TimbreController::class, 'delEmotionGroup']); }); Route::group(['prefix' => 'deepseek'], function () { Route::post('chatWithReasoner', [DeepSeekController::class, 'chatWithReasoner']); Route::get('timbreList', [DeepSeekController::class, 'timbreList']); Route::get('paragraphAudios', [DeepSeekController::class, 'paragraphAudios']); Route::post('addGenerateTask', [DeepSeekController::class, 'addGenerateTask']); Route::get('setStsToken', [DeepSeekController::class, 'setStsToken']); Route::get('resetParagraphAudio', [DeepSeekController::class, 'resetParagraphAudio']); Route::post('saveParagraphAudio', [DeepSeekController::class, 'saveParagraphAudio']); Route::get('emotionGroups', [DeepSeekController::class, 'emotionGroups']); Route::post('insertAudioEffect', [DeepSeekController::class, 'insertAudioEffect']); Route::post('insertBgm', [DeepSeekController::class, 'insertBgm']); // 剧本管理 Route::get('scriptList', [DeepSeekController::class, 'scriptList']); Route::get('scriptInfo', [DeepSeekController::class, 'scriptInfo']); Route::get('createScript', [DeepSeekController::class, 'createScript']); Route::post('chatWithFile', [DeepSeekController::class, 'chatWithFile']); Route::post('chatWithFileStream', [DeepSeekController::class, 'chatWithFileStream']); Route::post('saveScript', [DeepSeekController::class, 'saveScript']); }); // AI生成 Route::group(['prefix' => 'AIGeneration'], function () { // 图片生成相关路由 Route::post('image/createTask', [ImageGenerationController::class, 'createTask']); Route::get('image/taskStatus', [ImageGenerationController::class, 'taskStatus']); Route::get('image/taskList', [ImageGenerationController::class, 'taskList']); // 视频生成相关路由 Route::get('video/taskList', [VideoGenerationController::class, 'taskList']); // 即梦AI3.0视频生成路由 Route::post('video/createJimengTask', [VideoGenerationController::class, 'createJimengTask']); Route::get('video/taskStatus', [VideoGenerationController::class, 'taskStatus']); // Seedance 1.5 Pro 视频生成路由 Route::post('video/createSeedanceTask', [VideoGenerationController::class, 'createSeedanceTask']); // Route::get('video/seedance/taskStatus/{taskId}', [VideoGenerationController::class, 'getSeedanceTaskStatus']); // 可灵Omni视频生成路由 Route::post('video/createKelingTask', [VideoGenerationController::class, 'createKelingTask']); Route::get('video/keling/taskStatus/{taskId}', [VideoGenerationController::class, 'getKelingTaskStatus']); // 主体管理相关路由 Route::post('element/create', [VideoGenerationController::class, 'createElement']); Route::get('element/status/{taskId}', [VideoGenerationController::class, 'getElementStatus']); Route::get('element/list', [VideoGenerationController::class, 'getElementsList']); Route::post('element/delete', [VideoGenerationController::class, 'deleteElement']); Route::get('element/local/list', [VideoGenerationController::class, 'getLocalElementsList']); }); // 动漫管理 Route::group(['prefix' => 'anime'], function () { Route::post('confirmOutline', [DeepSeekController::class, 'confirmOutline']); }); }); Route::get('exportScript', [DeepSeekController::class, 'exportScript']); Route::get('login', [AccountController::class, 'login']); // 登录 Route::get('logout', [AccountController::class, 'logout']); // 退出 Route::get('sseLink', [DeepSeekController::class, 'sseLink']); // sseLink Route::get('testLink', function () { return 'Hello, World!'; }); Route::any('{slug}',[AccountController::class, 'index'])->where('slug', '(.*)?');