增加mqtt和串口逻辑

This commit is contained in:
小魔仙
2025-05-04 10:21:23 +08:00
parent d9983b0a99
commit f45799f949
54 changed files with 1244 additions and 1131 deletions

View File

@@ -4,26 +4,53 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using linesider_screen_bankend.Core.Mvvm;
using linesider_screen_bankend.Modules.ModuleName.Event;
using linesider_screen_bankend.Services.Interfaces;
using Prism.Events;
using Prism.Regions;
namespace linesider_screen_bankend.Modules.ModuleName.ViewModels
{
public class CommonLogViewModel : RegionViewModelBase
{
ILogService _logService;
private readonly IEventAggregator _eventAggregator;
private SubscriptionToken _token;
private ILogService _logService;
private string _logMessage;
public string LogMessage
{
get { return _logMessage; }
set { SetProperty(ref _logMessage, value); }
}
public CommonLogViewModel(IRegionManager regionManager, ILogService logService) : base(regionManager)
public CommonLogViewModel(IRegionManager regionManager,
ILogService logService,
IEventAggregator eventAggregator) : base(regionManager)
{
_eventAggregator = eventAggregator;
// 订阅事件使用UI线程处理保持强引用
_token = _eventAggregator.GetEvent<CommonLogEvent>()
.Subscribe(OnLogReceived, ThreadOption.UIThread, true);
LogMessage = logService.GetInitMessage();
_logService = logService;
}
private void OnLogReceived(string message)
{
LogMessage += $"{DateTime.Now}: {message}\n";
_logService.AddMessage(message); // 使用日志服务记录
}
public void Destroy()
{
_token?.Dispose();
}
public void AddLogMessage()
{
_logService.AddMessage("123");