using Dpz.Core.Entity.Base.Image;
namespace Dpz.Core.Public.ViewModel.Response;
/// <summary>
/// Represents the ArticleResponse type.
/// </summary>
public class ArticleResponse
{
/// <summary>
/// Gets or sets Id.
/// </summary>
public required string Id { get; set; }
/// <summary>
/// 文章标题
/// </summary>
public required string Title { get; set; }
/// <summary>
/// 简介
/// </summary>
public string? Introduction { get; set; }
/// <summary>
/// Markdown 内容
/// </summary>
public required string Markdown { get; set; }
/// <summary>
/// 主图片
/// </summary>
public string? MainImage { get; set; }
/// <summary>
/// 回复量
/// </summary>
public int CommentCount { get; set; }
/// <summary>
/// 查看量
/// </summary>
public int ViewCount { get; set; }
/// <summary>
/// 文章相关图片地址
/// </summary>
public List<string> ImagesAddress { get; set; } = [];
/// <summary>
/// 标签
/// </summary>
public List<string> Tags { get; set; } = [];
/// <summary>
/// 作者
/// </summary>
public VmUserInfo? Author { get; set; }
/// <summary>
/// 来源
/// </summary>
public string? From { get; set; }
/// <summary>
/// 发表时间
/// </summary>
public DateTime CreateTime
{
get => field.ToLocalTime();
set;
}
/// <summary>
/// 最后修改时间
/// </summary>
public DateTime LastUpdateTime
{
get => field.ToLocalTime();
set;
}
/// <summary>
/// 广告概率权重
/// </summary>
public double AdWeight { get; set; }
/// <summary>
/// 主图片元信息
/// </summary>
public ImageMetadata? MainImageMetadata { get; set; }
/// <summary>
/// 文章相关图片的元信息
/// </summary>
public List<ImageMetadata> Images { get; set; } = [];
}
⚠⚠ 以下内容为AI分析的结果,请根据实际情况进行判断。
代码解释
这是一个 C# 的数据传输对象(DTO)类,用于表示文章响应数据的视图模型。以下是详细解释:
命名空间和引用
- 使用了
Dpz.Core.Entity.Base.Image命名空间(用于图片元数据) - 属于
Dpz.Core.Public.ViewModel.Response命名空间
类定义:ArticleResponse
这是一个公开的响应类,包含文章的完整信息,用于向客户端返回数据。
主要属性分组:
基础信息
Id: 文章唯一标识符(必填)Title: 文章标题(必填)Introduction: 文章简介(可空)Markdown: Markdown 格式的文章内容(必填)
统计信息
CommentCount: 评论/回复数量ViewCount: 浏览次数AdWeight: 广告概率权重(用于广告投放算法)
图片相关
MainImage: 主图片地址(可空)MainImageMetadata: 主图片的元数据信息(如尺寸、格式等)ImagesAddress: 文章中所有图片的地址列表Images: 文章图片的元数据列表
分类和作者
Tags: 文章标签列表(用于分类和搜索)Author: 作者信息(VmUserInfo 类型)From: 文章来源(可空)
时间信息(特殊处理)
public DateTime CreateTime
{
get => field.ToLocalTime(); // 读取时自动转换为本地时区
set;
}
CreateTime: 创建时间LastUpdateTime: 最后更新时间- 使用 C# 的字段支持属性(field keyword),在 getter 中自动将 UTC 时间转换为本地时间
技术特点:
- required 修饰符:确保在对象初始化时必须提供这些属性值
- 集合初始化:
= []使用了集合表达式语法(C# 12+) - 可空引用类型:使用
?标记可为空的属性 - 自动时区转换:时间属性在读取时自动转为本地时区
这个类通常用于 API 响应,将数据库实体转换为客户端友好的格式。
AI 正在分析代码…
评论加载中...