namespace HtmlToPdfService.Core.Models;
///
/// 回调负载数据
///
public class CallbackPayload
{
///
/// 请求唯一标识
///
public string RequestId { get; set; } = string.Empty;
///
/// 状态:success / failed
///
public string Status { get; set; } = string.Empty;
///
/// 时间戳
///
public DateTime Timestamp { get; set; } = DateTime.UtcNow;
///
/// 转换耗时(毫秒)
///
public long Duration { get; set; }
///
/// 转换结果
///
public CallbackResult? Result { get; set; }
///
/// 原始请求信息
///
public CallbackSource? Source { get; set; }
///
/// 错误信息(如果失败)
///
public CallbackError? Error { get; set; }
}
///
/// 回调结果
///
public class CallbackResult
{
///
/// 文件大小(字节)
///
public long FileSize { get; set; }
///
/// 下载 URL(如果有)
///
public string? DownloadUrl { get; set; }
///
/// PDF Base64 数据(如果配置了包含)
///
public string? PdfBase64 { get; set; }
///
/// 下载链接过期时间(如果有)
///
public DateTime? ExpiresAt { get; set; }
}
///
/// 回调来源信息
///
public class CallbackSource
{
///
/// 类型:html / url
///
public string Type { get; set; } = string.Empty;
///
/// 内容(HTML 内容或 URL)
///
public string Content { get; set; } = string.Empty;
///
/// 转换选项
///
public object? Options { get; set; }
}
///
/// 回调错误信息
///
public class CallbackError
{
///
/// 错误代码
///
public string Code { get; set; } = string.Empty;
///
/// 错误消息
///
public string Message { get; set; } = string.Empty;
///
/// 详细信息
///
public string? Details { get; set; }
}