'cleanup', 'as' => 'cleanup.', 'middleware' => ['admin.auth', 'admin.permission'], ], function (Router $router) { // 清理配置管理 $router->resource('configs', CleanupConfigController::class); // 清理计划管理 $router->resource('plans', CleanupPlanController::class); // 清理任务管理 $router->resource('tasks', CleanupTaskController::class); // 备份管理 $router->resource('backups', CleanupBackupController::class); // 清理日志 $router->resource('logs', CleanupLogController::class); // 额外的API路由 $router->group(['prefix' => 'api'], function (Router $router) { // 配置相关API $router->post('configs/scan-tables', 'CleanupConfigController@scanTables')->name('configs.scan-tables'); $router->post('configs/batch-enable', 'CleanupConfigController@batchEnable')->name('configs.batch-enable'); $router->post('configs/batch-disable', 'CleanupConfigController@batchDisable')->name('configs.batch-disable'); $router->post('configs/{id}/test-cleanup', 'CleanupConfigController@testCleanup')->name('configs.test-cleanup'); // 计划相关API $router->post('plans/create-from-template', 'CleanupPlanController@createFromTemplate')->name('plans.create-from-template'); $router->get('plans/{id}/contents', 'CleanupPlanController@viewContents')->name('plans.view-contents'); $router->post('plans/{id}/create-task', 'CleanupPlanController@createTask')->name('plans.create-task'); $router->get('plans/{id}/preview', 'CleanupPlanController@preview')->name('plans.preview'); $router->post('plans/batch-enable', 'CleanupPlanController@batchEnable')->name('plans.batch-enable'); $router->post('plans/batch-disable', 'CleanupPlanController@batchDisable')->name('plans.batch-disable'); // 任务相关API $router->post('tasks/create', 'CleanupTaskController@createTask')->name('tasks.create'); $router->post('tasks/{id}/start', 'CleanupTaskController@startTask')->name('tasks.start'); $router->post('tasks/{id}/pause', 'CleanupTaskController@pauseTask')->name('tasks.pause'); $router->post('tasks/{id}/resume', 'CleanupTaskController@resumeTask')->name('tasks.resume'); $router->post('tasks/{id}/cancel', 'CleanupTaskController@cancelTask')->name('tasks.cancel'); $router->get('tasks/{id}/logs', 'CleanupTaskController@viewLogs')->name('tasks.view-logs'); $router->post('tasks/batch-cancel', 'CleanupTaskController@batchCancel')->name('tasks.batch-cancel'); // 备份相关API $router->get('backups/{id}/download', 'CleanupBackupController@download')->name('backups.download'); $router->post('backups/{id}/restore', 'CleanupBackupController@restore')->name('backups.restore'); $router->get('backups/{id}/files', 'CleanupBackupController@viewFiles')->name('backups.view-files'); $router->delete('backups/{id}', 'CleanupBackupController@deleteBackup')->name('backups.delete'); $router->post('backups/batch-delete', 'CleanupBackupController@batchDelete')->name('backups.batch-delete'); $router->post('backups/clean-expired', 'CleanupBackupController@cleanExpired')->name('backups.clean-expired'); // 日志相关API $router->get('logs/export', 'CleanupLogController@export')->name('logs.export'); $router->post('logs/clean-old', 'CleanupLogController@cleanOld')->name('logs.clean-old'); // 统计相关API $router->get('stats/dashboard', 'CleanupStatsController@dashboard')->name('stats.dashboard'); $router->get('stats/tables', 'CleanupStatsController@tables')->name('stats.tables'); $router->get('stats/tasks', 'CleanupStatsController@tasks')->name('stats.tasks'); $router->get('stats/backups', 'CleanupStatsController@backups')->name('stats.backups'); }); });