admin.php 4.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. use Illuminate\Routing\Router;
  3. use Illuminate\Support\Facades\Route;
  4. use App\Module\Cleanup\AdminControllers\CleanupConfigController;
  5. use App\Module\Cleanup\AdminControllers\CleanupPlanController;
  6. use App\Module\Cleanup\AdminControllers\CleanupTaskController;
  7. use App\Module\Cleanup\AdminControllers\CleanupBackupController;
  8. use App\Module\Cleanup\AdminControllers\CleanupLogController;
  9. /**
  10. * Cleanup 模块后台管理路由
  11. *
  12. * 路由前缀: /admin/cleanup
  13. */
  14. Route::group([
  15. 'prefix' => 'cleanup',
  16. 'as' => 'cleanup.',
  17. 'middleware' => ['admin.auth', 'admin.permission'],
  18. ], function (Router $router) {
  19. // 清理配置管理
  20. $router->resource('configs', CleanupConfigController::class);
  21. // 清理计划管理
  22. $router->resource('plans', CleanupPlanController::class);
  23. // 清理任务管理
  24. $router->resource('tasks', CleanupTaskController::class);
  25. // 备份管理
  26. $router->resource('backups', CleanupBackupController::class);
  27. // 清理日志
  28. $router->resource('logs', CleanupLogController::class);
  29. // 额外的API路由
  30. $router->group(['prefix' => 'api'], function (Router $router) {
  31. // 配置相关API
  32. $router->post('configs/scan-tables', 'CleanupConfigController@scanTables')->name('configs.scan-tables');
  33. $router->post('configs/batch-enable', 'CleanupConfigController@batchEnable')->name('configs.batch-enable');
  34. $router->post('configs/batch-disable', 'CleanupConfigController@batchDisable')->name('configs.batch-disable');
  35. $router->post('configs/{id}/test-cleanup', 'CleanupConfigController@testCleanup')->name('configs.test-cleanup');
  36. // 计划相关API
  37. $router->post('plans/create-from-template', 'CleanupPlanController@createFromTemplate')->name('plans.create-from-template');
  38. $router->get('plans/{id}/contents', 'CleanupPlanController@viewContents')->name('plans.view-contents');
  39. $router->post('plans/{id}/create-task', 'CleanupPlanController@createTask')->name('plans.create-task');
  40. $router->get('plans/{id}/preview', 'CleanupPlanController@preview')->name('plans.preview');
  41. $router->post('plans/batch-enable', 'CleanupPlanController@batchEnable')->name('plans.batch-enable');
  42. $router->post('plans/batch-disable', 'CleanupPlanController@batchDisable')->name('plans.batch-disable');
  43. // 任务相关API
  44. $router->post('tasks/create', 'CleanupTaskController@createTask')->name('tasks.create');
  45. $router->post('tasks/{id}/start', 'CleanupTaskController@startTask')->name('tasks.start');
  46. $router->post('tasks/{id}/pause', 'CleanupTaskController@pauseTask')->name('tasks.pause');
  47. $router->post('tasks/{id}/resume', 'CleanupTaskController@resumeTask')->name('tasks.resume');
  48. $router->post('tasks/{id}/cancel', 'CleanupTaskController@cancelTask')->name('tasks.cancel');
  49. $router->get('tasks/{id}/logs', 'CleanupTaskController@viewLogs')->name('tasks.view-logs');
  50. $router->post('tasks/batch-cancel', 'CleanupTaskController@batchCancel')->name('tasks.batch-cancel');
  51. // 备份相关API
  52. $router->get('backups/{id}/download', 'CleanupBackupController@download')->name('backups.download');
  53. $router->post('backups/{id}/restore', 'CleanupBackupController@restore')->name('backups.restore');
  54. $router->get('backups/{id}/files', 'CleanupBackupController@viewFiles')->name('backups.view-files');
  55. $router->delete('backups/{id}', 'CleanupBackupController@deleteBackup')->name('backups.delete');
  56. $router->post('backups/batch-delete', 'CleanupBackupController@batchDelete')->name('backups.batch-delete');
  57. $router->post('backups/clean-expired', 'CleanupBackupController@cleanExpired')->name('backups.clean-expired');
  58. // 日志相关API
  59. $router->get('logs/export', 'CleanupLogController@export')->name('logs.export');
  60. $router->post('logs/clean-old', 'CleanupLogController@cleanOld')->name('logs.clean-old');
  61. // 统计相关API
  62. $router->get('stats/dashboard', 'CleanupStatsController@dashboard')->name('stats.dashboard');
  63. $router->get('stats/tables', 'CleanupStatsController@tables')->name('stats.tables');
  64. $router->get('stats/tasks', 'CleanupStatsController@tasks')->name('stats.tasks');
  65. $router->get('stats/backups', 'CleanupStatsController@backups')->name('stats.backups');
  66. });
  67. });