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; } }