getKey();
$deleteFiles = $request->input('delete_files', true);
// 调用服务删除备份
$result = CleanupService::deleteBackup($backupId, $deleteFiles);
if (!$result['success']) {
return $this->response()
->error('删除失败:' . $result['message']);
}
$data = $result['data'];
return $this->response()
->success('备份删除成功!')
->detail("
备份名称:{$data['backup_name']}
删除文件数:{$data['deleted_files']}
释放空间:{$data['freed_space']}
")
->refresh();
} catch (\Exception $e) {
return $this->response()
->error('删除失败:' . $e->getMessage());
}
}
/**
* 确认对话框
*/
public function confirm()
{
return [
'确认删除备份?',
'⚠️ 删除后无法恢复,请谨慎操作!',
[
'delete_files' => [
'type' => 'checkbox',
'label' => '同时删除备份文件',
'checked' => true,
'help' => '取消勾选则只删除记录,保留文件',
]
]
];
}
/**
* 权限检查
*/
public function allowed()
{
$row = $this->row;
return $row->backup_status != 1; // 非进行中状态可以删除
}
/**
* 渲染按钮
*/
public function render()
{
return <<
{$this->title}
HTML;
}
}