import { request } from '@/utils/request' /** 备份记录 */ export interface Backup { id: number name: string size: number status: 'pending' | 'completed' | 'failed' created_at: string downloadToken?: string } /** 备份列表响应 */ export interface BackupList { list: Backup[] total: number } /** 获取备份列表 */ export function getBackups(params?: { page?: number; pageSize?: number }) { return request({ url: '/backup', data: params }) } /** 创建备份 */ export function createBackup() { return request<{ id: number }>({ url: '/backup', method: 'POST' }) } /** 删除备份 */ export function deleteBackup(id: number) { return request({ url: `/backup/${id}`, method: 'DELETE' }) } /** 获取备份下载地址 */ export function getBackupDownloadUrl(id: number, token: string): string { const apiBase = typeof window !== 'undefined' ? '/api' : '' return `${apiBase}/backup/${id}/download?token=${encodeURIComponent(token)}` }