using System.ComponentModel.DataAnnotations;

namespace TakeoutSaaS.Application.App.Members.MessageReach.Options;

/// <summary>
/// 微信小程序消息发送配置。
/// </summary>
public sealed class MemberMessagingWeChatMiniOptions
{
    /// <summary>
    /// 小程序 AppId。
    /// </summary>
    [Required]
    public string AppId { get; set; } = string.Empty;

    /// <summary>
    /// 小程序 AppSecret。
    /// </summary>
    [Required]
    public string AppSecret { get; set; } = string.Empty;

    /// <summary>
    /// 订阅消息模板 ID。
    /// </summary>
    [Required]
    public string SubscribeTemplateId { get; set; } = string.Empty;

    /// <summary>
    /// 小程序跳转页面路径。
    /// </summary>
    [Required]
    public string PagePath { get; set; } = "pages/index/index";

    /// <summary>
    /// 标题字段键名。
    /// </summary>
    [Required]
    public string TitleDataKey { get; set; } = "thing1";

    /// <summary>
    /// 内容字段键名。
    /// </summary>
    [Required]
    public string ContentDataKey { get; set; } = "thing2";
}

