HtmlToPdf/mvp/HtmlToPdfService.Core/Models/CallbackPayload.cs
2025-12-11 23:35:52 +08:00

112 lines
2.3 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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