网站首页 网站源码
using Dpz.Core.Infrastructure;
using Dpz.Core.Infrastructure.MapperConfig;
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:
stringTitle:
stringName:
stringVideoTitle:
stringSubTitle:
stringDescription:
stringTags:
string[]PlayCount:
intDanmakuCount:
intCommentCount:
intCover:
stringM3u8:
stringVmVideo 类的主要功能是将视频的相关信息封装成一个易于使用的对象,通常用于在前端展示或在API响应中返回。通过实现 IMapFrom<Video> 接口,VmVideo 可以方便地从 Video 实体对象中映射数据,简化了数据传输和转换的过程。
