feat: 新增文件压缩功能和通用确认弹窗

后端新增 POST api/files/compress 接口,使用 DotNetZip 将单个文件压缩为 ZIP,
密码固定为文件名去掉后缀,压缩前自动删除同名旧 ZIP。
前端新增 ConfirmModal 通用确认弹窗,替代所有 window.confirm/alert,
在文件列表中增加压缩按钮,压缩前显示确认弹窗。
This commit is contained in:
2026-07-10 10:35:32 +08:00
parent 60878f9b6e
commit 87f5c1ffb8
13 changed files with 686 additions and 8 deletions
@@ -121,6 +121,14 @@ namespace FileShare_Services.Services.FileLibrary
return ResponseHelper.Succeed("文件已永久删除。");
}
/// <inheritdoc />
public async Task<IApiResponse> CompressFileAsync(CompressFileRequest request)
{
ValidateFileId(request.Id);
await fileLibrary.CompressFileAsync(request.Id);
return ResponseHelper.Succeed("文件已压缩。");
}
/// <summary>
/// 验证文件 ID 是否有效,无效时抛出 <see cref="ArgumentException"/>。
/// </summary>