将NotificationService抽取成接口,并将所有使用NotificationService全部替换为接口INotificationService

This commit is contained in:
2025-09-04 19:59:35 +08:00
parent bb650e2682
commit 9d446c370e
12 changed files with 95 additions and 31 deletions

View File

@@ -1,16 +1,8 @@
// 文件: DMS.WPF/Services/NavigationService.cs
using DMS.ViewModels;
using DMS.WPF.Interfaces;
using DMS.WPF.ViewModels;
using DMS.WPF.ViewModels.Items;
using DMS.WPF.Views;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Windows;
using DMS.WPF.Interfaces;
using DMS.WPF.Services;
namespace DMS.WPF.Services;
@@ -43,7 +35,7 @@ public class NavigationService : INavigationService
var viewModel = GetViewModelByKey(menu.TargetViewKey);
if (viewModel == null)
{
var notificationService = App.Current.Services.GetRequiredService<NotificationService>();
var notificationService = App.Current.Services.GetRequiredService<INotificationService>();
notificationService.ShowError($"切换界面失败,没有找到界面:{menu.TargetViewKey}");
return;
}

View File

@@ -5,6 +5,7 @@ using System.Threading;
using CommunityToolkit.Mvvm.Messaging;
using DMS.Core.Enums;
using DMS.Message;
using DMS.WPF.Interfaces;
using Microsoft.Extensions.Logging;
namespace DMS.WPF.Services;
@@ -13,7 +14,7 @@ namespace DMS.WPF.Services;
/// 通知服务类,用于显示各种类型的通知消息,并集成日志记录功能。
/// 新增了通知节流功能,以防止在短时间内向用户发送大量重复的通知。
/// </summary>
public class NotificationService
public class NotificationService : INotificationService
{
private readonly ILogger<NotificationService> _logger;