查状态时间间隔设置100ms

homeWindowViewModel构造函数添加
 _socketHelper.dateTime=DateTime.Now;
This commit is contained in:
maqiao 2024-12-27 18:43:29 +08:00
parent b1974bd1a5
commit 24b5d6257b
3 changed files with 62 additions and 52 deletions

View File

@ -877,10 +877,10 @@ namespace DM_Weight.ViewModels
return; return;
} }
_socketHelper.OpenStatus = true; _socketHelper.OpenStatus = true;
Thread.Sleep(200); Thread.Sleep(100);
int i = 40; int i = 80;
int iException = 0; int iException = 0;
new PromiseUtil<int>().taskAsyncLoop(200, 0, async (options, next, stop) => new PromiseUtil<int>().taskAsyncLoop(100, 0, async (options, next, stop) =>
{ {
_socketHelper.IsMultiThread = true; _socketHelper.IsMultiThread = true;
@ -900,7 +900,7 @@ namespace DM_Weight.ViewModels
if (i == 0) if (i == 0)
{ {
ModbusHelper.SpeakAsync("请及时关闭药箱"); ModbusHelper.SpeakAsync("请及时关闭药箱");
i = 40; i = 80;
} }
next(); next();
} }

View File

@ -376,6 +376,7 @@ namespace DM_Weight.ViewModels
_container = container; _container = container;
this._eventAggregator = eventAggregator; this._eventAggregator = eventAggregator;
_socketHelper = socketHelper; _socketHelper = socketHelper;
_socketHelper.dateTime=DateTime.Now;
//timerNew = new DispatcherTimer(); //timerNew = new DispatcherTimer();
//int autoExit = Convert.ToInt32(ConfigurationManager.AppSettings["autoExit"] ?? "0"); //int autoExit = Convert.ToInt32(ConfigurationManager.AppSettings["autoExit"] ?? "0");
//if (autoExit > 0) //if (autoExit > 0)
@ -411,49 +412,7 @@ namespace DM_Weight.ViewModels
// }; // };
// timerNew.Start(); // timerNew.Start();
//} //}
int autoExit = Convert.ToInt32(ConfigurationManager.AppSettings["autoExit"] ?? "0");
if (autoExit > 0)
{
int interval= autoExit * 1000;
new PromiseUtil<int>().taskAsyncLoop(interval, 0, async (options, next, stop) =>
{
try
{
if (!_socketHelper.OpenStatus)
{
// 无人操作鼠标键盘
if ((DateTime.Now - _socketHelper.dateTime).TotalSeconds > autoExit && CheckComputerFreeState.GetLastInputTime() > autoExit)
{
logger.Info($"设备内无人操作,用户【{Operator?.Nickname}】自动退出登录");
Operator = null;
Reviewer = null;
//Application.Current.Dispatcher.Invoke(() =>
//{
System.Windows.Application.Current.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Send, new Action(() =>
{
_regionManager.RequestNavigate("MainRegion", "LoginWindow");
}));
//});
stop();
//timer.Dispose();
}
else
{
next();
}
}
else
{
_socketHelper.dateTime = DateTime.Now;
next();
}
}
catch (Exception ex)
{
logger.Info($"自动退出异常:{ex.Message}");
}
});
}
} }
public DelegateCommand<string> OpenFingerDialog public DelegateCommand<string> OpenFingerDialog
@ -678,7 +637,7 @@ namespace DM_Weight.ViewModels
// //WDTimer.AutoReset = true; // //WDTimer.AutoReset = true;
// //WDTimer.Enabled = true; // //WDTimer.Enabled = true;
//} //}
#endregion #endregion
//if (stopRecord > 0) //if (stopRecord > 0)
//{ //{
@ -699,6 +658,57 @@ namespace DM_Weight.ViewModels
////获取录像机的时间 ////获取录像机的时间
//_chkFunction.HIK_DVR_TIME(); //_chkFunction.HIK_DVR_TIME();
//_chkFunction.HIKStartDVRRecord(); //_chkFunction.HIKStartDVRRecord();
int autoExit = Convert.ToInt32(ConfigurationManager.AppSettings["autoExit"] ?? "0");
if (autoExit > 0)
{
//int interval = autoExit * 1000;
new PromiseUtil<int>().taskAsyncLoop(1000, 0, async (options, next, stop) =>
{
try
{
if (!_socketHelper.OpenStatus)
{
// 无人操作鼠标键盘
if ((DateTime.Now - _socketHelper.dateTime).TotalSeconds > autoExit && CheckComputerFreeState.GetLastInputTime() > autoExit)
{
logger.Info($"设备内无人操作,用户【{Operator?.Nickname}】自动退出登录.autoExit{autoExit};socketTime:{_socketHelper.dateTime};totalSeconds:{(DateTime.Now - _socketHelper.dateTime).TotalSeconds}{_socketHelper.dateTime};LastInputTime:{CheckComputerFreeState.GetLastInputTime()}");
Operator = null;
Reviewer = null;
//Application.Current.Dispatcher.Invoke(() =>
//{
stop();
System.Windows.Application.Current.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Send, new Action(() =>
{
_regionManager.RequestNavigate("MainRegion", "LoginWindow");
}));
//});
//timer.Dispose();
}
else
{
if (Operator == null)
{
stop();
}
else
{
next();
}
}
}
else
{
_socketHelper.dateTime = DateTime.Now;
next();
}
}
catch (Exception ex)
{
logger.Info($"自动退出异常:{ex.Message}");
}
});
}
} }
//每次导航的时候该实列用不用重新创建true是不重新创建,false是重新创建 //每次导航的时候该实列用不用重新创建true是不重新创建,false是重新创建

View File

@ -709,10 +709,10 @@ namespace DM_Weight.ViewModels
// stop(); // stop();
// } // }
//}); //});
Thread.Sleep(200); Thread.Sleep(100);
int i = 40; int i = 80;
int iException = 0; int iException = 0;
new PromiseUtil<int>().taskAsyncLoop(200, 0, async (options, next, stop) => new PromiseUtil<int>().taskAsyncLoop(100, 0, async (options, next, stop) =>
{ {
_socketHelper.IsMultiThread = true; _socketHelper.IsMultiThread = true;
try try
@ -732,7 +732,7 @@ namespace DM_Weight.ViewModels
if (i == 0) if (i == 0)
{ {
ModbusHelper.SpeakAsync("请及时关闭药箱"); ModbusHelper.SpeakAsync("请及时关闭药箱");
i = 40; i = 80;
} }
next(); next();
} }