From f9cc6079b3326976033ecc4f197daa32f2d0a0e6 Mon Sep 17 00:00:00 2001
From: wxd <1209768292@qq.com>
Date: 星期一, 28 七月 2025 09:56:21 +0800
Subject: [PATCH] Merge branch 'master' of ssh://115.28.86.8:29418/~admin/天开景运_0405_250719

---
 Server/杜国庆/code/BG_Mon_Subsystem/systemmonitor.h                |   17 +++
 Client/张德虎/log/日志_张德虎_0726 - .doc                               |    0 
 Server/杜国庆/code/BG_Mon_Subsystem/gb_mon_subsystem_mainwindow.h  |   29 ++++-
 Server/付林涛/log/日志_付林涛_0726.doc                                  |    0 
 Server/杜国庆/code/BG_Mon_Subsystem/videostoragemanager.cpp        |    6 +
 Client/雷鹏涛/log/日报_雷鹏涛_0726.doc                                  |    0 
 Client/熊国政/log/日志_熊国政_0727.doc                                  |    0 
 Client/熊国政/document/考勤管理数据库设计.docx                              |    0 
 Server/杜国庆/code/BG_Mon_Subsystem/systemmonitor.cpp              |    6 +
 Server/雷家骅/log/日志_雷家骅_0726.doc                                  |    0 
 Server/李晨飞/log/日志_李晨飞_0727.doc                                  |    0 
 Client/杨鑫/log/日志_杨鑫_0726.docx                                   |    0 
 Server/杜国庆/code/BG_Mon_Subsystem/performancechart.h             |   29 +++++
 Server/杜国庆/code/BG_Mon_Subsystem/databasemanager.cpp            |    6 +
 Server/杜国庆/code/BG_Mon_Subsystem/BG_Mon_Subsystem.pro           |   14 ++
 Server/杜国庆/log/日志_Dgq_250726 .docx                              |    0 
 Server/刘创世/log/日志_刘创世_2025-07-28.doc                            |    0 
 Server/郭铭鸿/log/日志_郭铭鸿_0726.doc                                  |    0 
 Server/杜国庆/code/BG_Mon_Subsystem/performancechart.cpp           |    6 +
 Server/杜国庆/code/BG_Mon_Subsystem/systemdaemon.h                 |   23 ++++
 Server/杜国庆/code/BG_Mon_Subsystem/BG_Mon_Subsystem.pro.user      |    2 
 Client/舒令文/log/日志_舒令文_20250726.doc                              |    0 
 Server/杜国庆/code/BG_Mon_Subsystem/gb_mon_subsystem_mainwindow.ui |   73 --------------
 Server/杜国庆/code/BG_Mon_Subsystem/systemdaemon.cpp               |    6 +
 Client/李韩宇/log/日志_李韩宇_0726.doc                                  |    0 
 Server/杜国庆/code/BG_Mon_Subsystem/videostoragemanager.h          |   28 +++++
 Client/程泽坤/log/日志_程泽坤_0726.doc                                  |    0 
 Client/夏晓康/log/日志_夏晓康_250726.doc                                |    0 
 Server/杜国庆/code/BG_Mon_Subsystem/databasemanager.h              |   23 ++++
 29 files changed, 190 insertions(+), 78 deletions(-)

diff --git "a/Client/\345\244\217\346\231\223\345\272\267/log/\346\227\245\345\277\227_\345\244\217\346\231\223\345\272\267_250726.doc" "b/Client/\345\244\217\346\231\223\345\272\267/log/\346\227\245\345\277\227_\345\244\217\346\231\223\345\272\267_250726.doc"
new file mode 100644
index 0000000..53f5480
--- /dev/null
+++ "b/Client/\345\244\217\346\231\223\345\272\267/log/\346\227\245\345\277\227_\345\244\217\346\231\223\345\272\267_250726.doc"
Binary files differ
diff --git "a/Client/\345\274\240\345\276\267\350\231\216/log/\346\227\245\345\277\227_\345\274\240\345\276\267\350\231\216_0726 - .doc" "b/Client/\345\274\240\345\276\267\350\231\216/log/\346\227\245\345\277\227_\345\274\240\345\276\267\350\231\216_0726 - .doc"
new file mode 100644
index 0000000..f96c114
--- /dev/null
+++ "b/Client/\345\274\240\345\276\267\350\231\216/log/\346\227\245\345\277\227_\345\274\240\345\276\267\350\231\216_0726 - .doc"
Binary files differ
diff --git "a/Client/\346\235\216\351\237\251\345\256\207/log/\346\227\245\345\277\227_\346\235\216\351\237\251\345\256\207_0726.doc" "b/Client/\346\235\216\351\237\251\345\256\207/log/\346\227\245\345\277\227_\346\235\216\351\237\251\345\256\207_0726.doc"
new file mode 100644
index 0000000..ab65ce5
--- /dev/null
+++ "b/Client/\346\235\216\351\237\251\345\256\207/log/\346\227\245\345\277\227_\346\235\216\351\237\251\345\256\207_0726.doc"
Binary files differ
diff --git "a/Client/\346\235\250\351\221\253/log/\346\227\245\345\277\227_\346\235\250\351\221\253_0726.docx" "b/Client/\346\235\250\351\221\253/log/\346\227\245\345\277\227_\346\235\250\351\221\253_0726.docx"
new file mode 100644
index 0000000..be4d92c
--- /dev/null
+++ "b/Client/\346\235\250\351\221\253/log/\346\227\245\345\277\227_\346\235\250\351\221\253_0726.docx"
Binary files differ
diff --git "a/Client/\347\206\212\345\233\275\346\224\277/document/\350\200\203\345\213\244\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.docx" "b/Client/\347\206\212\345\233\275\346\224\277/document/\350\200\203\345\213\244\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.docx"
new file mode 100644
index 0000000..475c3bd
--- /dev/null
+++ "b/Client/\347\206\212\345\233\275\346\224\277/document/\350\200\203\345\213\244\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.docx"
Binary files differ
diff --git "a/Client/\347\206\212\345\233\275\346\224\277/log/\346\227\245\345\277\227_\347\206\212\345\233\275\346\224\277_0727.doc" "b/Client/\347\206\212\345\233\275\346\224\277/log/\346\227\245\345\277\227_\347\206\212\345\233\275\346\224\277_0727.doc"
new file mode 100644
index 0000000..78ddd21
--- /dev/null
+++ "b/Client/\347\206\212\345\233\275\346\224\277/log/\346\227\245\345\277\227_\347\206\212\345\233\275\346\224\277_0727.doc"
Binary files differ
diff --git "a/Client/\347\250\213\346\263\275\345\235\244/log/\346\227\245\345\277\227_\347\250\213\346\263\275\345\235\244_0726.doc" "b/Client/\347\250\213\346\263\275\345\235\244/log/\346\227\245\345\277\227_\347\250\213\346\263\275\345\235\244_0726.doc"
new file mode 100644
index 0000000..79c98a5
--- /dev/null
+++ "b/Client/\347\250\213\346\263\275\345\235\244/log/\346\227\245\345\277\227_\347\250\213\346\263\275\345\235\244_0726.doc"
Binary files differ
diff --git "a/Client/\350\210\222\344\273\244\346\226\207/log/\346\227\245\345\277\227_\350\210\222\344\273\244\346\226\207_20250726.doc" "b/Client/\350\210\222\344\273\244\346\226\207/log/\346\227\245\345\277\227_\350\210\222\344\273\244\346\226\207_20250726.doc"
new file mode 100644
index 0000000..9865009
--- /dev/null
+++ "b/Client/\350\210\222\344\273\244\346\226\207/log/\346\227\245\345\277\227_\350\210\222\344\273\244\346\226\207_20250726.doc"
Binary files differ
diff --git "a/Client/\351\233\267\351\271\217\346\266\233/log/\346\227\245\346\212\245_\351\233\267\351\271\217\346\266\233_0726.doc" "b/Client/\351\233\267\351\271\217\346\266\233/log/\346\227\245\346\212\245_\351\233\267\351\271\217\346\266\233_0726.doc"
new file mode 100644
index 0000000..900d017
--- /dev/null
+++ "b/Client/\351\233\267\351\271\217\346\266\233/log/\346\227\245\346\212\245_\351\233\267\351\271\217\346\266\233_0726.doc"
Binary files differ
diff --git "a/Server/\344\273\230\346\236\227\346\266\233/log/\346\227\245\345\277\227_\344\273\230\346\236\227\346\266\233_0726.doc" "b/Server/\344\273\230\346\236\227\346\266\233/log/\346\227\245\345\277\227_\344\273\230\346\236\227\346\266\233_0726.doc"
new file mode 100644
index 0000000..9f83358
--- /dev/null
+++ "b/Server/\344\273\230\346\236\227\346\266\233/log/\346\227\245\345\277\227_\344\273\230\346\236\227\346\266\233_0726.doc"
Binary files differ
diff --git "a/Server/\345\210\230\345\210\233\344\270\226/log/\346\227\245\345\277\227_\345\210\230\345\210\233\344\270\226_2025-07-28.doc" "b/Server/\345\210\230\345\210\233\344\270\226/log/\346\227\245\345\277\227_\345\210\230\345\210\233\344\270\226_2025-07-28.doc"
new file mode 100644
index 0000000..50cdcfd
--- /dev/null
+++ "b/Server/\345\210\230\345\210\233\344\270\226/log/\346\227\245\345\277\227_\345\210\230\345\210\233\344\270\226_2025-07-28.doc"
Binary files differ
diff --git "a/Server/\346\235\216\346\231\250\351\243\236/log/\346\227\245\345\277\227_\346\235\216\346\231\250\351\243\236_0727.doc" "b/Server/\346\235\216\346\231\250\351\243\236/log/\346\227\245\345\277\227_\346\235\216\346\231\250\351\243\236_0727.doc"
new file mode 100644
index 0000000..589bf94
--- /dev/null
+++ "b/Server/\346\235\216\346\231\250\351\243\236/log/\346\227\245\345\277\227_\346\235\216\346\231\250\351\243\236_0727.doc"
Binary files differ
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/BG_Mon_Subsystem.pro" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/BG_Mon_Subsystem.pro"
index 281555c..b088235 100644
--- "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/BG_Mon_Subsystem.pro"
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/BG_Mon_Subsystem.pro"
@@ -25,10 +25,20 @@
 
 SOURCES += \
         main.cpp \
-        gb_mon_subsystem_mainwindow.cpp
+        gb_mon_subsystem_mainwindow.cpp \
+    videostoragemanager.cpp \
+    systemdaemon.cpp \
+    systemmonitor.cpp \
+    performancechart.cpp \
+    databasemanager.cpp
 
 HEADERS += \
-        gb_mon_subsystem_mainwindow.h
+        gb_mon_subsystem_mainwindow.h \
+    videostoragemanager.h \
+    systemdaemon.h \
+    systemmonitor.h \
+    performancechart.h \
+    databasemanager.h
 
 FORMS += \
         gb_mon_subsystem_mainwindow.ui
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/BG_Mon_Subsystem.pro.user" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/BG_Mon_Subsystem.pro.user"
index c5ea373..82b3c83 100644
--- "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/BG_Mon_Subsystem.pro.user"
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/BG_Mon_Subsystem.pro.user"
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 4.5.0, 2025-07-24T15:02:24. -->
+<!-- Written by QtCreator 4.5.0, 2025-07-25T18:29:49. -->
 <qtcreator>
  <data>
   <variable>EnvironmentId</variable>
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/databasemanager.cpp" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/databasemanager.cpp"
new file mode 100644
index 0000000..2a605aa
--- /dev/null
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/databasemanager.cpp"
@@ -0,0 +1,6 @@
+#include "databasemanager.h"
+
+DatabaseManager::DatabaseManager()
+{
+
+}
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/databasemanager.h" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/databasemanager.h"
new file mode 100644
index 0000000..c10be60
--- /dev/null
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/databasemanager.h"
@@ -0,0 +1,23 @@
+#ifndef DATABASEMANAGER_H
+#define DATABASEMANAGER_H
+
+
+class DatabaseManager {
+public:
+    static DatabaseManager& instance();
+
+    bool logEvent(const QString &eventType, const QString &description,
+                 const QString &cameraId = QString());
+
+    bool storePerformanceData(double cpuUsage, double memoryUsage);
+
+    QVector<EventRecord> queryEvents(const QDateTime &from,
+                                    const QDateTime &to,
+                                    const QString &cameraId = QString());
+
+private:
+    DatabaseManager();
+    QSqlDatabase m_db;
+};
+
+#endif // DATABASEMANAGER_H
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/gb_mon_subsystem_mainwindow.h" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/gb_mon_subsystem_mainwindow.h"
index f2f1156..ef2156f 100644
--- "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/gb_mon_subsystem_mainwindow.h"
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/gb_mon_subsystem_mainwindow.h"
@@ -2,21 +2,40 @@
 #define GB_MON_SUBSYSTEM_MAINWINDOW_H
 
 #include <QMainWindow>
+#include <VideoStorageManager>
+#include <SystemMonitor>
+#include <PerformanceChart>
+#include <AlertProcessor>
+#include <QThread>
 
 namespace Ui {
 class GB_Mon_Subsystem_MainWindow;
 }
 
-class GB_Mon_Subsystem_MainWindow : public QMainWindow
-{
+class GB_Mon_Subsystem_MainWindow : public QMainWindow {
     Q_OBJECT
-
 public:
-    explicit GB_Mon_Subsystem_MainWindow(QWidget *parent = 0);
+    GB_Mon_Subsystem_MainWindow(QWidget *parent = nullptr);
     ~GB_Mon_Subsystem_MainWindow();
 
+private slots:
+    void updatePerformanceCharts();
+    void handleNewAlert(const Alert &alert);
+    void handleDatabaseError(const QString &error);
+
 private:
-    Ui::GB_Mon_Subsystem_MainWindow *ui;
+    void setupThreads();
+    void setupConnections();
+
+    VideoStorageManager *m_videoManager;
+    SystemMonitor *m_systemMonitor;
+    PerformanceChart *m_performanceChart;
+    AlertProcessor *m_alertProcessor;
+
+    QThread *m_storageThread;
+    QThread *m_monitorThread;
 };
 
+
+
 #endif // GB_MON_SUBSYSTEM_MAINWINDOW_H
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/gb_mon_subsystem_mainwindow.ui" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/gb_mon_subsystem_mainwindow.ui"
index e788bbf..9b4abda 100644
--- "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/gb_mon_subsystem_mainwindow.ui"
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/gb_mon_subsystem_mainwindow.ui"
@@ -6,81 +6,14 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>1001</width>
-    <height>585</height>
+    <width>1086</width>
+    <height>752</height>
    </rect>
   </property>
   <property name="windowTitle">
    <string>GB_Mon_Subsystem_MainWindow</string>
   </property>
-  <widget class="QWidget" name="centralWidget">
-   <widget class="QPushButton" name="pushButton">
-    <property name="geometry">
-     <rect>
-      <x>150</x>
-      <y>310</y>
-      <width>93</width>
-      <height>28</height>
-     </rect>
-    </property>
-    <property name="text">
-     <string>PushButton</string>
-    </property>
-   </widget>
-   <widget class="QPushButton" name="pushButton_2">
-    <property name="geometry">
-     <rect>
-      <x>640</x>
-      <y>310</y>
-      <width>93</width>
-      <height>28</height>
-     </rect>
-    </property>
-    <property name="text">
-     <string>PushButton</string>
-    </property>
-   </widget>
-   <widget class="QTableWidget" name="tableWidget">
-    <property name="geometry">
-     <rect>
-      <x>150</x>
-      <y>60</y>
-      <width>581</width>
-      <height>211</height>
-     </rect>
-    </property>
-    <row>
-     <property name="text">
-      <string>鏂板缓琛�</string>
-     </property>
-    </row>
-    <row>
-     <property name="text">
-      <string>鏂板缓琛�</string>
-     </property>
-    </row>
-    <row>
-     <property name="text">
-      <string>鏂板缓琛�</string>
-     </property>
-    </row>
-    <column>
-     <property name="text">
-      <string>纾佺洏璇诲叆</string>
-     </property>
-    </column>
-    <column>
-     <property name="text">
-      <string>纾佺洏鍐�</string>
-     </property>
-    </column>
-    <column>
-     <property name="text">
-      <string>cpu浣跨敤鐜�</string>
-     </property>
-    </column>
-   </widget>
-  </widget>
+  <widget class="QWidget" name="centralWidget"/>
  </widget>
  <layoutdefault spacing="6" margin="11"/>
  <resources/>
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/performancechart.cpp" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/performancechart.cpp"
new file mode 100644
index 0000000..d6c9432
--- /dev/null
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/performancechart.cpp"
@@ -0,0 +1,6 @@
+#include "performancechart.h"
+
+PerformanceChart::PerformanceChart()
+{
+
+}
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/performancechart.h" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/performancechart.h"
new file mode 100644
index 0000000..f1369b8
--- /dev/null
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/performancechart.h"
@@ -0,0 +1,29 @@
+#ifndef PERFORMANCECHART_H
+#define PERFORMANCECHART_H
+
+
+class MonitoringSystem : public QMainWindow {
+    Q_OBJECT
+public:
+    MonitoringSystem(QWidget *parent = nullptr);
+    ~MonitoringSystem();
+
+private slots:
+    void updatePerformanceCharts();
+    void handleNewAlert(const Alert &alert);
+    void handleDatabaseError(const QString &error);
+
+private:
+    void setupThreads();
+    void setupConnections();
+
+    VideoStorageManager *m_videoManager;
+    SystemMonitor *m_systemMonitor;
+    PerformanceChart *m_performanceChart;
+    AlertProcessor *m_alertProcessor;
+
+    QThread *m_storageThread;
+    QThread *m_monitorThread;
+};
+
+#endif // PERFORMANCECHART_H
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemdaemon.cpp" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemdaemon.cpp"
new file mode 100644
index 0000000..b4febdf
--- /dev/null
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemdaemon.cpp"
@@ -0,0 +1,6 @@
+#include "systemdaemon.h"
+
+SystemDaemon::SystemDaemon(QObject *parent) : QObject(parent)
+{
+
+}
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemdaemon.h" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemdaemon.h"
new file mode 100644
index 0000000..3bc9479
--- /dev/null
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemdaemon.h"
@@ -0,0 +1,23 @@
+#ifndef SYSTEMDAEMON_H
+#define SYSTEMDAEMON_H
+
+#include <QObject>
+
+class SystemMonitor : public QObject {
+    Q_OBJECT
+public:
+    SystemMonitor(QObject *parent = nullptr);
+
+    double currentCpuUsage() const;
+    double memoryUsage() const;
+
+signals:
+    void systemStatsUpdated(double cpuUsage, double memoryUsage);
+
+private:
+    QTimer *m_monitorTimer;
+    qint64 m_lastCpuIdle;
+    qint64 m_lastCpuTotal;
+};
+
+#endif // SYSTEMDAEMON_H
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemmonitor.cpp" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemmonitor.cpp"
new file mode 100644
index 0000000..00fbb6b
--- /dev/null
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemmonitor.cpp"
@@ -0,0 +1,6 @@
+#include "systemmonitor.h"
+
+SystemMonitor::SystemMonitor(QObject *parent) : QObject(parent)
+{
+
+}
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemmonitor.h" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemmonitor.h"
new file mode 100644
index 0000000..5c9fe8c
--- /dev/null
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/systemmonitor.h"
@@ -0,0 +1,17 @@
+#ifndef SYSTEMMONITOR_H
+#define SYSTEMMONITOR_H
+
+#include <QObject>
+
+class SystemMonitor : public QObject
+{
+    Q_OBJECT
+public:
+    explicit SystemMonitor(QObject *parent = nullptr);
+
+signals:
+
+public slots:
+};
+
+#endif // SYSTEMMONITOR_H
\ No newline at end of file
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/videostoragemanager.cpp" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/videostoragemanager.cpp"
new file mode 100644
index 0000000..fd9cdfd
--- /dev/null
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/videostoragemanager.cpp"
@@ -0,0 +1,6 @@
+#include "videostoragemanager.h"
+
+VideoStorageManager::VideoStorageManager(QObject *parent) : QObject(parent)
+{
+
+}
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/videostoragemanager.h" "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/videostoragemanager.h"
new file mode 100644
index 0000000..b97b89a
--- /dev/null
+++ "b/Server/\346\235\234\345\233\275\345\272\206/code/BG_Mon_Subsystem/videostoragemanager.h"
@@ -0,0 +1,28 @@
+#ifndef VIDEOSTORAGEMANAGER_H
+#define VIDEOSTORAGEMANAGER_H
+
+#include <QObject>
+
+class VideoStorageManager : public QObject {
+    Q_OBJECT
+public:
+    explicit VideoStorageManager(QObject *parent = nullptr);
+
+    // 瀛樺偍瑙嗛鐗囨
+    bool storeVideo(const QString &cameraId, const QByteArray &videoData,
+                   const QDateTime &timestamp);
+
+    // 妫�绱㈣棰戠墖娈�
+    QByteArray retrieveVideo(const QString &cameraId,
+                            const QDateTime &startTime,
+                            const QDateTime &endTime);
+
+    // 瑙嗛鏂囦欢娓呯悊绛栫暐
+    void applyRetentionPolicy(int maxDays);
+
+private:
+    QString m_storagePath;
+    QMutex m_mutex;
+};
+
+#endif // VIDEOSTORAGEMANAGER_H
diff --git "a/Server/\346\235\234\345\233\275\345\272\206/log/\346\227\245\345\277\227_Dgq_250726 .docx" "b/Server/\346\235\234\345\233\275\345\272\206/log/\346\227\245\345\277\227_Dgq_250726 .docx"
new file mode 100644
index 0000000..fc11f6d
--- /dev/null
+++ "b/Server/\346\235\234\345\233\275\345\272\206/log/\346\227\245\345\277\227_Dgq_250726 .docx"
Binary files differ
diff --git "a/Server/\351\203\255\351\223\255\351\270\277/log/\346\227\245\345\277\227_\351\203\255\351\223\255\351\270\277_0726.doc" "b/Server/\351\203\255\351\223\255\351\270\277/log/\346\227\245\345\277\227_\351\203\255\351\223\255\351\270\277_0726.doc"
new file mode 100644
index 0000000..bc74ebf
--- /dev/null
+++ "b/Server/\351\203\255\351\223\255\351\270\277/log/\346\227\245\345\277\227_\351\203\255\351\223\255\351\270\277_0726.doc"
Binary files differ
diff --git "a/Server/\351\233\267\345\256\266\351\252\205/log/\346\227\245\345\277\227_\351\233\267\345\256\266\351\252\205_0726.doc" "b/Server/\351\233\267\345\256\266\351\252\205/log/\346\227\245\345\277\227_\351\233\267\345\256\266\351\252\205_0726.doc"
new file mode 100644
index 0000000..6a225e3
--- /dev/null
+++ "b/Server/\351\233\267\345\256\266\351\252\205/log/\346\227\245\345\277\227_\351\233\267\345\256\266\351\252\205_0726.doc"
Binary files differ

--
Gitblit v1.8.0