网站首页 网站源码
using Dpz.Core.Infrastructure;
using Dpz.Core.Public.Entity;
namespace Dpz.Core.Public.ViewModel;
/// <summary>
/// 视频 出参
/// </summary>
public class VmVideo : IMapFrom<Video>
{
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>
public string M3u8 { get; set; }
}
上述代码定义了一个名为 VmVideo
的类,它是一个视图模型(ViewModel),用于表示视频的相关信息。这个类实现了 IMapFrom<Video>
接口,表明它可以从 Video
实体映射而来。以下是对代码中各个部分的详细解释:
Dpz.Core.Infrastructure
和 Dpz.Core.Public.Entity
:这些命名空间可能包含基础设施和实体类的定义,具体内容取决于项目的结构。public class VmVideo
:定义了一个公共类 VmVideo
,用于封装视频的相关数据。Id:
string
Title:
string
Name:
string
VideoTitle:
string
SubTitle:
string
Description:
string
Tags:
string[]
PlayCount:
int
DanmakuCount:
int
CommentCount:
int
Cover:
string
M3u8:
string
VmVideo
类的主要功能是将视频的相关信息封装成一个易于使用的对象,通常用于在前端展示或在API响应中返回。通过实现 IMapFrom<Video>
接口,VmVideo
可以方便地从 Video
实体对象中映射数据,简化了数据传输和转换的过程。