// 客户端导出工具 — CSV / JSON 下载 // Logan.Li export function exportAsCSV(filename: string, data: Record[]): void { if (data.length === 0) return; const headers = Object.keys(data[0]); const csv = [ headers.join(','), ...data.map((row) => headers.map((h) => JSON.stringify(row[h] ?? '')).join(',')), ].join('\n'); const blob = new Blob(['\ufeff' + csv], { type: 'text/csv;charset=utf-8;' }); const a = document.createElement('a'); a.href = URL.createObjectURL(blob); a.download = filename; a.click(); URL.revokeObjectURL(a.href); } export function exportAsJSON(filename: string, data: unknown[]): void { const blob = new Blob([JSON.stringify(data, null, 2)], { type: 'application/json' }); const a = document.createElement('a'); a.href = URL.createObjectURL(blob); a.download = filename; a.click(); URL.revokeObjectURL(a.href); }