网站首页 网站源码
website
站点相关全部源代码,隐藏了一些关于服务器的信息
namespace Dpz.Core.WebApi.Models;

/// <summary>
/// 视频弹幕
/// </summary>
public class VideoDanmakuDto
{

    private string _author;
    /// <summary>
    /// 发送人
    /// </summary>
    public string Author
    {
        get => _author;
        set => _author = value.Length > 20 ? value.Substring(0, 20) : value;
    }

    /// <summary>
    /// 颜色
    /// </summary>
    public int Color { get; set; }

    private string _id;
    /// <summary>
    /// ID
    /// </summary>
    [MaxLength(255)]
    [Required]
    public string Id
    {
        get => _id;
        set => _id = value.Length > 255 ? value.Substring(0, 255) : value;
    }

    private string _text;

    /// <summary>
    /// 弹幕文本
    /// </summary>
    [MaxLength(255)]
    [Required]
    public string Text
    {
        get => _text;
        set => _text = value.Length > 255 ? value.Substring(0, 255) : value;
    }

    /// <summary>
    /// 弹幕出现时间
    /// </summary>
    public decimal Time { get; set; }

    /// <summary>
    /// 弹幕位置
    /// </summary>
    public DanmakuType Type { get; set; }
}

/// <summary>
/// 弹幕类型
/// </summary>
public enum DanmakuType
{
    /// <summary>
    /// 滚动
    /// </summary>
    Rolling = 0,

    /// <summary>
    /// 顶部
    /// </summary>
    Top = 1,

    /// <summary>
    /// 底部
    /// </summary>
    Bottom = 2
}
⚠⚠    以下内容为AI分析的结果,请根据实际情况进行判断。

上述代码定义了一个用于表示视频弹幕的模型类 VideoDanmakuDto,以及一个枚举 DanmakuType,用于描述弹幕的类型。以下是对代码的详细解释:

VideoDanmakuDto

  1. 属性:

    • Author: 表示发送弹幕的用户。其长度限制为20个字符,超过部分会被截断。
    • Color: 表示弹幕的颜色,使用整数值来表示颜色(通常是ARGB或RGB格式)。
    • Id: 弹幕的唯一标识符,最大长度为255个字符,超过部分会被截断。此属性被标记为必填([Required])和最大长度限制([MaxLength(255)])。
    • Text: 弹幕的文本内容,最大长度为255个字符,超过部分会被截断。此属性同样被标记为必填和最大长度限制。
    • Time: 表示弹幕出现的时间,使用 decimal 类型,通常表示为视频播放的时间(例如,秒数)。
    • Type: 表示弹幕的类型,使用 DanmakuType 枚举来定义。
  2. 数据验证:

    • 使用了数据注解(如 [MaxLength][Required])来进行模型验证,确保在数据传输时符合特定的规则。

DanmakuType 枚举

  • 该枚举定义了三种弹幕类型:
    • Rolling: 表示滚动弹幕,通常是从右到左移动的弹幕。
    • Top: 表示在视频顶部显示的弹幕。
    • Bottom: 表示在视频底部显示的弹幕。

总结

整体上,这段代码的功能是为视频弹幕提供一个结构化的表示,包含了弹幕的发送者、颜色、唯一标识符、文本内容、出现时间和类型等信息。通过使用数据注解,确保了数据的有效性和完整性,适合在Web API中使用,以便于前端和后端之间的数据交互。

loading