增加mqtt和串口逻辑
This commit is contained in:
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user