Files
better-genshin-impact/BetterGenshinImpact/Service/Notification/NotificationConfig.cs
DR-lin-eng a172ba6941 修正bark推送参数和前端 (#1289)
* feat: add email and websocket notification

* fix typos.

* refactor(notifiers): 重构邮件和 WebSocket 通知器

- 提升 EmailNotifier 中的 SmtpClient 为类的成员变量,并在构造函数中初始化,优化资源使用
- 改进 WebSocketNotifier 的连接和重连逻辑,提高稳定性
- 优化通知器的错误处理和日志记录,增强可维护性

* Create BarkNotifier.cs

* Update NotificationConfig.cs

* Update NotificationService.cs

* Update CommonSettingsPageViewModel.cs

* Add files via upload

* Add files via upload

* Add files via upload

* Update CommonSettingsPage.xaml

* Delete BetterGenshinImpact/Service/Notifier/BarkNotifier.cs

* Add files via upload

* Update BarkNotifier.cs

* Update NotificationService.cs

* Update CommonSettingsPageViewModel.cs

* Update CommonSettingsPage.xaml

* Delete BetterGenshinImpact/Service/BarkNotifier.cs

* Add files via upload

* Add files via upload

* Add files via upload

* Update CommonSettingsPage.xaml

* fix: 回退部分代码,修复了程序崩溃的错误

* fix: remove api.day.app

* Update CommonSettingsPageViewModel.cs

* Update CommonSettingsPage.xaml

* Update CommonSettingsPage.xaml

* Update CommonSettingsPageViewModel.cs

* Update EmailNotifier.cs

* Update EmailNotifier.cs

* Update BarkNotifier.cs

* 修正并更新前端介绍

* Revert "1"

* 修正公益服务器请求兼容性

* Revert "Revert "1""

This reverts commit 8c6effb1

---------

Co-authored-by: 秋云 <physligl@gmail.com>
Co-authored-by: 禹仔二号 <87601913+wy3057@users.noreply.github.com>
Co-authored-by: yuzai <3020834774@qq.com>
Co-authored-by: DR-lin-eng <@DR-lin-eng>
Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
2025-03-14 00:04:58 +08:00

196 lines
4.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using CommunityToolkit.Mvvm.ComponentModel;
using System;
using System.DirectoryServices.ActiveDirectory;
namespace BetterGenshinImpact.Service.Notification;
/// <summary>
/// 通知配置管理器
/// </summary>
[Serializable]
public partial class NotificationConfig : ObservableObject
{
[ObservableProperty]
private string _notificationEventSubscribe = string.Empty;
/// <summary>
///
/// </summary>
[ObservableProperty]
private bool _webhookEnabled;
/// <summary>
///
/// </summary>
[ObservableProperty]
private string _webhookEndpoint = string.Empty;
/// <summary>
/// 是否包含截图
/// </summary>
[ObservableProperty]
private bool _includeScreenShot = true;
/// <summary>
/// windows uwp 通知是否启用
/// </summary>
[ObservableProperty]
private bool _windowsUwpNotificationEnabled = false;
// 飞书通知
/// <summary>
/// 飞书通知是否启用
/// </summary>
[ObservableProperty]
private bool _feishuNotificationEnabled = false;
/// <summary>
/// 飞书通知地址
/// </summary>
[ObservableProperty]
private string _feishuWebhookUrl = string.Empty;
// 企业微信通知
/// <summary>
/// 企业微信通知是否启用
/// </summary>
[ObservableProperty]
private bool _workweixinNotificationEnabled = false;
/// <summary>
/// 企业微信通知通知地址
/// </summary>
[ObservableProperty]
private string _workweixinWebhookUrl = string.Empty;
[ObservableProperty]
bool _webSocketNotificationEnabled = false;
[ObservableProperty]
private string _webSocketEndpoint = string.Empty;
// Email 通知配置
[ObservableProperty]
private bool _emailNotificationEnabled = false;
[ObservableProperty]
private string _smtpServer = string.Empty;
[ObservableProperty]
private int _smtpPort;
[ObservableProperty]
private string _smtpUsername = string.Empty;
[ObservableProperty]
private string _smtpPassword = string.Empty;
[ObservableProperty]
private string _fromEmail = string.Empty;
[ObservableProperty]
private string _fromName = string.Empty;
[ObservableProperty]
private string _toEmail = string.Empty;
/// <summary>
/// Bark移动推送通知配置
/// </summary>
[ObservableProperty]
private bool _barkNotificationEnabled = false;
[ObservableProperty]
private string _barkApiEndpoint = string.Empty;
[ObservableProperty]
private string _barkDeviceKeys = string.Empty;
// Bark 通知附加参数配置
/// <summary>
/// 推送副标题
/// </summary>
[ObservableProperty]
private string _barkSubtitle = string.Empty;
/// <summary>
/// 推送中断级别critical(重要警告), active(默认值), timeSensitive(时效性通知), passive(仅添加到通知列表)
/// </summary>
[ObservableProperty]
private string _barkLevel = "active";
/// <summary>
/// 通知声音
/// </summary>
[ObservableProperty]
private string _barkSound = "minuet";
/// <summary>
/// 重要警告的通知音量,取值范围: 0-10
/// </summary>
[ObservableProperty]
private int _barkVolume = 5;
/// <summary>
/// 推送角标,可以是任意数字
/// </summary>
[ObservableProperty]
private int _barkBadge = 1;
/// <summary>
/// 通知铃声重复播放1为开启
/// </summary>
[ObservableProperty]
private string _barkCall = string.Empty;
/// <summary>
/// iOS14.5以下自动复制推送内容1为开启
/// </summary>
[ObservableProperty]
private string _barkAutoCopy = string.Empty;
/// <summary>
/// 复制推送时指定复制的内容
/// </summary>
[ObservableProperty]
private string _barkCopy = string.Empty;
/// <summary>
/// 为推送设置自定义图标URL
/// </summary>
[ObservableProperty]
private string _barkIcon = string.Empty;
/// <summary>
/// 对消息进行分组推送将按group分组显示在通知中心中
/// </summary>
[ObservableProperty]
private string _barkGroup = "default";
/// <summary>
/// 传1保存推送传其他的不保存推送
/// </summary>
[ObservableProperty]
private string _barkIsArchive = "1";
/// <summary>
/// 点击推送时跳转的URL
/// </summary>
[ObservableProperty]
private string _barkUrl = string.Empty;
/// <summary>
/// 传"none"时,点击推送不会弹窗
/// </summary>
[ObservableProperty]
private string _barkAction = string.Empty;
}