using WorkCameraExport.Models; namespace WorkCameraExport.Services.Interfaces { /// /// 导出服务接口 - 负责在客户端本地生成 Excel 和 ZIP 文件 /// public interface IExportService { #region 工作记录导出 /// /// 导出工作记录到 Excel(按查询条件导出全部) /// /// 查询条件 /// 输出文件路径 /// 进度回调 /// 取消令牌 Task ExportWorkRecordsAsync( WorkRecordQueryDto query, string outputPath, IProgress? progress = null, CancellationToken cancellationToken = default); /// /// 导出指定的工作记录数据到 Excel(直接使用内存数据,无需再次请求服务器) /// /// 工作记录数据列表 /// 输出文件路径 /// 进度回调 /// 取消令牌 Task ExportWorkRecordsByDataAsync( List records, string outputPath, IProgress? progress = null, CancellationToken cancellationToken = default); #endregion #region 月报表导出 /// /// 导出月报表到 Excel /// /// 月报表数据 /// 输出文件路径 Task ExportMonthlyReportAsync( List data, string outputPath); #endregion #region 照片 ZIP 下载 /// /// 下载指定月份的照片并打包成 ZIP /// /// 月份(YYYY-MM 格式) /// 输出文件路径 /// 进度回调 /// 取消令牌 Task DownloadPhotosZipAsync( string yearMonth, string outputPath, IProgress? progress = null, CancellationToken cancellationToken = default); #endregion } }