using System; using System.Runtime.CompilerServices; using DMS.Core.Enums; namespace DMS.WPF.Interfaces; public interface INotificationService { /// /// 显示一个通用通知消息,并根据通知类型记录日志。支持节流。 /// /// 通知消息内容。 /// 通知类型(如信息、错误、成功等)。 /// 是否启用通知节流。 /// 自动捕获:调用此方法的源文件完整路径。 /// 自动捕获:调用此方法的行号。 void ShowMessage(string msg, NotificationType notificationType = NotificationType.Info, bool throttle = true, [CallerFilePath] string callerFilePath = "", [CallerLineNumber] int callerLineNumber = 0); /// /// 显示一个错误通知消息,并记录错误日志。支持节流。 /// /// 错误消息内容。 /// 可选:要记录的异常对象。 /// 是否启用通知和日志节流。 /// 自动捕获:调用此方法的源文件完整路径。 /// 自动捕获:调用此方法的成员或属性名称。 /// 自动捕获:调用此方法的行号。 void ShowError(string msg, Exception exception = null, bool throttle = true, [CallerFilePath] string callerFilePath = "", [CallerMemberName] string callerMember = "", [CallerLineNumber] int callerLineNumber = 0); /// /// 显示一个成功通知消息,并记录信息日志。支持节流。 /// /// 成功消息内容。 /// 是否启用通知和日志节流。 /// 自动捕获:调用此方法的源文件完整路径。 /// 自动捕获:调用此方法的成员或属性名称。 /// 自动捕获:调用此方法的行号。 void ShowSuccess(string msg, bool throttle = true, [CallerFilePath] string callerFilePath = "", [CallerMemberName] string callerMember = "", [CallerLineNumber] int callerLineNumber = 0); /// /// 显示一个信息通知消息,并记录信息日志。支持节流。 /// /// 信息消息内容。 /// 是否启用通知和日志节流。 /// 自动捕获:调用此方法的源文件完整路径。 /// 自动捕获:调用此方法的成员或属性名称。 /// 自动捕获:调用此方法的行号。 void ShowInfo(string msg, bool throttle = true, [CallerFilePath] string callerFilePath = "", [CallerMemberName] string callerMember = "", [CallerLineNumber] int callerLineNumber = 0); /// /// 显示一个警告通知消息,并记录警告日志。支持节流。 /// /// 警告消息内容。 /// 是否启用通知和日志节流。 /// 自动捕获:调用此方法的源文件完整路径。 /// 自动捕获:调用此方法的成员或属性名称。 /// 自动捕获:调用此方法的行号。 void ShowWarn(string msg, bool throttle = true, [CallerFilePath] string callerFilePath = "", [CallerMemberName] string callerMember = "", [CallerLineNumber] int callerLineNumber = 0); }