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),包含了视频播放和管理所需的各种属性:

主要属性说明

  1. 基础标识信息

    • Id: 视频的唯一标识符
    • Title: 视频所在的文件夹/目录名称
    • Name: 便于弹幕管理的友好名称
  2. 视频内容信息

    • VideoTitle: 视频主标题
    • SubTitle: 视频副标题
    • Description: 视频详细描述
    • Tags: 视频标签数组,用于分类和搜索
  3. 统计数据

    • PlayCount: 播放次数统计
    • DanmakuCount: 弹幕总数统计
    • CommentCount: 评论总数统计
  4. 媒体资源

    • Cover: 视频封面图片地址
    • M3u8: HLS流媒体播放地址

设计特点

  1. 可空类型: 大部分字符串属性都使用了string?可空类型,提供了更好的空值处理
  2. 数组初始化: Tags属性使用了= []的简化数组初始化语法(C# 12+)
  3. 统计字段: 包含了完整的视频互动数据统计
  4. 流媒体支持: 通过M3u8属性支持HLS视频流播放

这个类主要用于视频播放应用的API响应,为前端提供完整的视频元数据和播放信息。

评论加载中...