using System; using CommunityToolkit.Mvvm.ComponentModel; namespace BetterGenshinImpact.Service.Notification; /// /// 通知配置管理器 /// [Serializable] public partial class NotificationConfig : ObservableObject { /// /// 是否允许 js 发送通知 /// [ObservableProperty] private bool _jsNotificationEnabled = false; /// /// 传"none"时,点击推送不会弹窗 /// [ObservableProperty] private string _barkAction = string.Empty; [ObservableProperty] private string _barkApiEndpoint = string.Empty; /// /// iOS14.5以下自动复制推送内容,1为开启 /// [ObservableProperty] private string _barkAutoCopy = string.Empty; /// /// 推送角标,可以是任意数字 /// [ObservableProperty] private int _barkBadge = 1; /// /// 通知铃声重复播放,1为开启 /// [ObservableProperty] private string _barkCall = string.Empty; [ObservableProperty] private string _barkCiphertext = string.Empty; /// /// 复制推送时指定复制的内容 /// [ObservableProperty] private string _barkCopy = string.Empty; [ObservableProperty] private string _barkDeviceKeys = string.Empty; /// /// 对消息进行分组,推送将按group分组显示在通知中心中 /// [ObservableProperty] private string _barkGroup = "default"; /// /// 为推送设置自定义图标URL /// [ObservableProperty] private string _barkIcon = string.Empty; /// /// 传1保存推送,传其他的不保存推送 /// [ObservableProperty] private string _barkIsArchive = "1"; /// /// 推送中断级别:critical(重要警告), active(默认值), timeSensitive(时效性通知), passive(仅添加到通知列表) /// [ObservableProperty] private string _barkLevel = "active"; /// /// Bark移动推送通知配置 /// [ObservableProperty] private bool _barkNotificationEnabled; /// /// 通知声音 /// [ObservableProperty] private string _barkSound = "minuet"; // Bark 通知附加参数配置 /// /// 推送副标题 /// [ObservableProperty] private string _barkSubtitle = string.Empty; /// /// 点击推送时跳转的URL /// [ObservableProperty] private string _barkUrl = string.Empty; /// /// 重要警告的通知音量,取值范围: 0-10 /// [ObservableProperty] private int _barkVolume = 5; /// /// 钉钉Webhook密钥 /// [ObservableProperty] private string _dingDingSecret = string.Empty; /// /// dindin 通知是否启用 /// [ObservableProperty] private bool _dingDingwebhookNotificationEnabled; /// /// 钉钉Webhook地址 /// [ObservableProperty] private string _dingdingWebhookUrl = string.Empty; // Email 通知配置 [ObservableProperty] private bool _emailNotificationEnabled; [ObservableProperty] private string _fromEmail = string.Empty; [ObservableProperty] private string _fromName = string.Empty; /// /// 是否包含截图 /// [ObservableProperty] private bool _includeScreenShot = true; [ObservableProperty] private string _notificationEventSubscribe = string.Empty; [ObservableProperty] private string _smtpPassword = string.Empty; [ObservableProperty] private int _smtpPort; [ObservableProperty] private string _smtpServer = string.Empty; [ObservableProperty] private string _smtpUsername = string.Empty; // 飞书通知 /// /// 飞书通知是否启用 /// [ObservableProperty] private bool _feishuNotificationEnabled; /// /// 飞书通知地址 /// [ObservableProperty] private string _feishuWebhookUrl = string.Empty; [ObservableProperty] private string _feishuAppId = string.Empty; [ObservableProperty] private string _feishuAppSecret = string.Empty; // OneBot通知 /// /// OneBot通知是否启用 /// [ObservableProperty] private bool _OneBotNotificationEnabled; /// /// OneBot通知地址 /// [ObservableProperty] private string _OneBotEndpoint = string.Empty; [ObservableProperty] private string _OneBotUserId = string.Empty; [ObservableProperty] private string _OneBotGroupId = string.Empty; [ObservableProperty] private string _OneBotToken = string.Empty; /// /// Telegram API基础URL(可选,留空使用官方API) /// [ObservableProperty] private string _telegramApiBaseUrl = string.Empty; /// /// Telegram代理地址(可选,格式:http://127.0.0.1:7890) /// [ObservableProperty] private string _telegramProxyUrl = "http://127.0.0.1:10809"; /// /// 是否启用Telegram代理 /// [ObservableProperty] private bool _telegramProxyEnabled = false; /// /// Telegram机器人Token /// [ObservableProperty] private string _telegramBotToken = string.Empty; /// /// Telegram聊天ID /// [ObservableProperty] private string _telegramChatId = string.Empty; // Telegram通知 /// /// Telegram通知是否启用 /// [ObservableProperty] private bool _telegramNotificationEnabled; [ObservableProperty] private string _toEmail = string.Empty; /// /// [ObservableProperty] private bool _webhookEnabled; /// /// [ObservableProperty] private string _webhookEndpoint = string.Empty; [ObservableProperty] private string _webhookSendTo = string.Empty; // 修改属性名 [ObservableProperty] private string _webSocketEndpoint = string.Empty; [ObservableProperty] private bool _webSocketNotificationEnabled; /// /// windows uwp 通知是否启用 /// [ObservableProperty] private bool _windowsUwpNotificationEnabled; // 企业微信通知 /// /// 企业微信通知是否启用 /// [ObservableProperty] private bool _workweixinNotificationEnabled; /// /// 企业微信通知通知地址 /// [ObservableProperty] private string _workweixinWebhookUrl = string.Empty; /// /// xx信息推送通知API密钥 /// [ObservableProperty] private string _xxtuiApiKey = string.Empty; /// /// xx信息推送通知渠道(WX_MP,WX_QY_ROBOT,DING_ROBOT,BARK) /// [ObservableProperty] private string _xxtuiChannels = "WX_MP"; /// /// xx信息推送通知来源 /// [ObservableProperty] private string _xxtuiFrom = "Better原神"; /// /// 信息推送通知是否启用 /// [ObservableProperty] private bool _xxtuiNotificationEnabled; /// /// Discord Webhook推送通知是否启用 /// [ObservableProperty] private bool _discordWebhookNotificationEnabled; /// /// Discord Webhook地址 /// [ObservableProperty] private string _discordWebhookUrl = string.Empty; /// /// Discord Webhook用户名 /// [ObservableProperty] private string _discordWebhookUsername = "BetterGI·更好的原神"; /// /// Discord Webhook头像地址 /// Default url from https://bettergi.com/ /// [ObservableProperty] private string _discordWebhookAvatarUrl = "https://img.alicdn.com/imgextra/i2/2042484851/O1CN01LQfLIG1lhoEZwz1Gt_!!2042484851.png"; /// Discord Webhook 图像编码 /// [ObservableProperty] private string _discordWebhookImageEncoder = "Jpeg"; /// /// ServerChan通知是否启用 /// [ObservableProperty] private bool _serverChanNotificationEnabled; /// /// ServerChan SendKey /// [ObservableProperty] private string _serverChanSendKey = string.Empty; }