From 8dbd14952aa622587a92866dc01943869ea4f9dc Mon Sep 17 00:00:00 2001
From: LAPTOP-T815PCOQ\25526 <mr.liuyang@126.com>
Date: 星期三, 20 十一月 2024 11:28:02 +0800
Subject: [PATCH] 1. 添加系统运行记录表 2. 完善用户管理的部分细节
---
SourceCode/Bond/BondEq/BondEqDlg.cpp | 42 ++++++++++++++++++++++++++++++++++--------
1 files changed, 34 insertions(+), 8 deletions(-)
diff --git a/SourceCode/Bond/BondEq/BondEqDlg.cpp b/SourceCode/Bond/BondEq/BondEqDlg.cpp
index 0735685..1a8a2ec 100644
--- a/SourceCode/Bond/BondEq/BondEqDlg.cpp
+++ b/SourceCode/Bond/BondEq/BondEqDlg.cpp
@@ -10,12 +10,10 @@
#include "CBonder.h"
#include "SettingsDlg.h"
#include "UserManager.h"
+#include "SystemLogManager.h"
#include "LoginDlg.h"
#include "ChangePasswordDlg.h"
#include "InputDialog.h"
-
-// test
-#include "AxisSettingsDlg.h"
#include "UserManagerDlg.h"
@@ -184,6 +182,23 @@
SetTimer(1, 60000, nullptr);
#endif
userManager.loadSession();
+ std::unique_ptr<BL::Database>& db = userManager.getDatabaseInstance();
+
+ // 设置日志模块的数据库连接
+ SystemLogManager& logManager = SystemLogManager::getInstance();
+ logManager.setDatabase(db);
+
+ // 初始化日志表
+ if (!logManager.initializeLogTable()) {
+ AfxMessageBox("初始化系统日志表失败!");
+ return FALSE;
+ }
+
+ std::string strUsername = userManager.getCurrentUser();
+ if (strUsername.empty()) {
+ strUsername = "SYSTEM";
+ }
+ logManager.log(SystemLogManager::LogType::Info, _T("BondEq启动..."), strUsername);
// 菜单
@@ -352,6 +367,12 @@
UserManager::getInstance().terminateIdleDetection();
KillTimer(1);
#endif
+
+ std::string strUsername = UserManager::getInstance().getCurrentUser();
+ if (strUsername.empty()) {
+ strUsername = "SYSTEM";
+ }
+ SystemLogManager::getInstance().log(SystemLogManager::LogType::Info, _T("BondEq关闭..."), strUsername);
}
void CBondEqDlg::OnSize(UINT nType, int cx, int cy)
@@ -546,12 +567,10 @@
if (menuId == 0) {
CLoginDlg loginDlg;
loginDlg.DoModal();
- UpdateLoginStatus();
}
else if (1 == menuId) {
CChangePasswordDlg changePasswordDlg;
- if (changePasswordDlg.DoModal() == IDOK) {
- }
+ changePasswordDlg.DoModal();
}
else if (2 == menuId) {
CUserManagerDlg dlg;
@@ -569,12 +588,19 @@
CLoginDlg loginDlg;
loginDlg.DoModal();
- UpdateLoginStatus();
}
else {
+ CString cstrMessage;
+ cstrMessage.Format(_T("是否退出用户 [%s]?"), userManager.getCurrentUser().c_str());
+ int ret = AfxMessageBox(_T(cstrMessage), MB_OK | MB_ICONEXCLAMATION);
+ if (ret != MB_OK) {
+ return 0;
+ }
+
userManager.logout();
- UpdateLoginStatus();
}
+
+ UpdateLoginStatus();
}
return 0;
--
Gitblit v1.9.3