namespace Dpz.Core.Public.ViewModel;
/// <summary>
/// 视频 出参
/// </summary>
public class VmVideo
{
/// <summary>
/// Gets or sets Id.
/// </summary>
public string? Id { get; set; }
/// <summary>
/// 文件夹、目录 名称
/// 视频位于云储存中所在的文件夹名称
/// </summary>
public string? Title { get; set; }
/// <summary>
/// 名称 方便弹幕管理友好名称
/// </summary>
public string? Name { get; set; }
/// <summary>
/// 视频标题
/// </summary>
public string? VideoTitle { get; set; }
/// <summary>
/// 视频副标题
/// </summary>
public string? SubTitle { get; set; }
/// <summary>
/// 视频描述
/// </summary>
public string? Description { get; set; }
/// <summary>
/// 视频标签
/// </summary>
public string[] Tags { get; set; } = [];
/// <summary>
/// 播放次数
/// </summary>
public int PlayCount { get; set; }
/// <summary>
/// 弹幕总数
/// </summary>
public int DanmakuCount { get; set; }
/// <summary>
/// 评论总数
/// </summary>
public int CommentCount { get; set; }
/// <summary>
/// 封面
/// </summary>
public string? Cover { get; set; }
/// <summary>
/// m3u8 地址
/// </summary>
// ReSharper disable once InconsistentNaming
public string? M3u8 { get; set; }
}
⚠⚠ 以下内容为AI分析的结果,请根据实际情况进行判断。
这是一个C#代码文件,定义了一个名为VmVideo的视频数据模型类,用于表示视频相关信息的输出参数(ViewModel)。
代码解析
命名空间
namespace Dpz.Core.Public.ViewModel;
该类位于Dpz.Core.Public.ViewModel命名空间下,说明这是一个公共的视图模型层组件。
类定义
VmVideo类是一个视频信息的数据传输对象(DTO),包含了视频播放和管理所需的各种属性:
主要属性说明
基础标识信息
Id: 视频的唯一标识符Title: 视频所在的文件夹/目录名称Name: 便于弹幕管理的友好名称
视频内容信息
VideoTitle: 视频主标题SubTitle: 视频副标题Description: 视频详细描述Tags: 视频标签数组,用于分类和搜索
统计数据
PlayCount: 播放次数统计DanmakuCount: 弹幕总数统计CommentCount: 评论总数统计
媒体资源
Cover: 视频封面图片地址M3u8: HLS流媒体播放地址
设计特点
- 可空类型: 大部分字符串属性都使用了
string?可空类型,提供了更好的空值处理 - 数组初始化:
Tags属性使用了= []的简化数组初始化语法(C# 12+) - 统计字段: 包含了完整的视频互动数据统计
- 流媒体支持: 通过M3u8属性支持HLS视频流播放
这个类主要用于视频播放应用的API响应,为前端提供完整的视频元数据和播放信息。
评论加载中...