From 3ace935cf9fd7baf711a5af446f40879f413cb02 Mon Sep 17 00:00:00 2001
From: wjt123456 <2468136038@qq.com>
Date: 星期五, 21 二月 2025 11:43:51 +0800
Subject: [PATCH] Merge branch 'master' of ssh://115.28.86.8:29418/~admin/FaceX_AI_智能守卫
---
Client/董澎韬/code/main.cpp | 6 +
Server/赵演/log/日志_赵演_20250218.doc | 0
Client/王璐/log/日志_王璐_2025.02.20.doc | 0
Server/张敏丽/document/日志_姓名_日期.doc | 0
Client/解来鑫/log/日志_姓名_日期.doc | 0
Server/朱琛/log/日志_朱琛_20250220.doc | 0
Server/胡康/log/日志_胡康_0220.doc | 0
Client/董澎韬/code/facexmainwindow.cpp | 47 ++++++++++-
Client/董澎韬/code/form.h | 22 +++++
Client/董澎韬/code/qffmpeg.h | 18 +++-
/dev/null | 0
Server/赵演/document/需求分析.docx | 0
Server/赵演/log/日志_赵演_20250219.doc | 0
Client/董澎韬/code/qffmpeg.cpp | 96 ++++++++++++++++++-----
Client/董澎韬/log/日志_董澎韬_0220.doc | 0
Server/胡康/log/日志_胡康_0218.doc | 0
Client/王雨阳/log/日志_王雨阳_250221.doc | 0
Client/董佳琦/log/日志_董佳琦_0220.doc | 0
Server/冉凯/log/日志_冉凯_20250220.doc | 0
Client/董澎韬/code/facexmainwindow.h | 14 +-
Server/卢敏/log/日志_卢敏_2.20.doc | 0
Client/王璐/log/日志_王璐_2025.02.19.doc | 0
22 files changed, 165 insertions(+), 38 deletions(-)
diff --git "a/Client/\347\216\213\347\222\220/document/~$\345\215\207\347\272\247\351\234\200\346\261\202\345\210\206\346\236\220.docx" "b/Client/\347\216\213\347\222\220/document/~$\345\215\207\347\272\247\351\234\200\346\261\202\345\210\206\346\236\220.docx"
deleted file mode 100644
index ee66e25..0000000
--- "a/Client/\347\216\213\347\222\220/document/~$\345\215\207\347\272\247\351\234\200\346\261\202\345\210\206\346\236\220.docx"
+++ /dev/null
Binary files differ
diff --git "a/Client/\347\216\213\347\222\220/log/\346\227\245\345\277\227_\347\216\213\347\222\220_2025.02.19.doc" "b/Client/\347\216\213\347\222\220/log/\346\227\245\345\277\227_\347\216\213\347\222\220_2025.02.19.doc"
new file mode 100644
index 0000000..7024bb5
--- /dev/null
+++ "b/Client/\347\216\213\347\222\220/log/\346\227\245\345\277\227_\347\216\213\347\222\220_2025.02.19.doc"
Binary files differ
diff --git "a/Client/\347\216\213\347\222\220/log/\346\227\245\345\277\227_\347\216\213\347\222\220_2025.02.20.doc" "b/Client/\347\216\213\347\222\220/log/\346\227\245\345\277\227_\347\216\213\347\222\220_2025.02.20.doc"
new file mode 100644
index 0000000..9184a1f
--- /dev/null
+++ "b/Client/\347\216\213\347\222\220/log/\346\227\245\345\277\227_\347\216\213\347\222\220_2025.02.20.doc"
Binary files differ
diff --git "a/Client/\347\216\213\351\233\250\351\230\263/log/\346\227\245\345\277\227_\347\216\213\351\233\250\351\230\263_250221.doc" "b/Client/\347\216\213\351\233\250\351\230\263/log/\346\227\245\345\277\227_\347\216\213\351\233\250\351\230\263_250221.doc"
new file mode 100644
index 0000000..2eff093
--- /dev/null
+++ "b/Client/\347\216\213\351\233\250\351\230\263/log/\346\227\245\345\277\227_\347\216\213\351\233\250\351\230\263_250221.doc"
Binary files differ
diff --git "a/Client/\350\221\243\344\275\263\347\220\246/log/\346\227\245\345\277\227_\350\221\243\344\275\263\347\220\246_0220.doc" "b/Client/\350\221\243\344\275\263\347\220\246/log/\346\227\245\345\277\227_\350\221\243\344\275\263\347\220\246_0220.doc"
new file mode 100644
index 0000000..1c3a61e
--- /dev/null
+++ "b/Client/\350\221\243\344\275\263\347\220\246/log/\346\227\245\345\277\227_\350\221\243\344\275\263\347\220\246_0220.doc"
Binary files differ
diff --git "a/Client/\350\221\243\346\276\216\351\237\254/code/facexmainwindow.cpp" "b/Client/\350\221\243\346\276\216\351\237\254/code/facexmainwindow.cpp"
index 4d398d3..c2e6294 100644
--- "a/Client/\350\221\243\346\276\216\351\237\254/code/facexmainwindow.cpp"
+++ "b/Client/\350\221\243\346\276\216\351\237\254/code/facexmainwindow.cpp"
@@ -8,6 +8,7 @@
#include <QScreen>
#include <QException>
#include <QThread>
+#include <QWheelEvent>
FaceXMainWindow::FaceXMainWindow(QWidget *parent) :
QMainWindow(parent),
@@ -35,7 +36,7 @@
m_videowidget->resize(ui->label_video->size());
m_videowidget->move(ui->label_video->pos());
m_videowidget->show();
- ui->label_video->show();
+ ui->label_video->hide();
// 杩炴帴 QFFmpeg 鐨勪俊鍙�
connect(m_ffmpeg, &QFFmpeg::GetImage, this, &FaceXMainWindow::SetImage, Qt::QueuedConnection);
@@ -45,6 +46,9 @@
QMessageBox::critical(this, "鎾斁閿欒", m_player->errorString());
});
+ // 杩炴帴鎾斁鍣ㄧ殑浣嶇疆鏇存柊淇″彿
+ connect(m_player, &QMediaPlayer::positionChanged, this, &FaceXMainWindow::updateSliderPosition);
+ connect(ui->horizontalSlider, &QSlider::sliderMoved, this, &FaceXMainWindow::on_sliderPosition_valueChanged);
}
@@ -161,6 +165,18 @@
}
}
+void FaceXMainWindow::playOrPause()
+{
+ isPlaying = !isPlaying;
+ if (isPlaying) {
+ m_player->play();
+ ui->btn_play->setStyleSheet("border-image: url(:/image/pause.png)");
+ } else {
+ m_player->pause();
+ ui->btn_play->setStyleSheet("border-image: url(:/image/start.png)");
+ }
+}
+
//鎾斁鎸夐挳
void FaceXMainWindow::on_btn_play_clicked()
{
@@ -171,6 +187,7 @@
m_rtspThread->start();
}
}
+ playOrPause();
} else {
QMessageBox::critical(this, "閿欒", "鎾斁鍣ㄦ湭鍒濆鍖�");
}
@@ -189,16 +206,36 @@
void FaceXMainWindow::SetImage(const QImage &image)
{
- qDebug() << "鍥惧儚灏哄: " << image.width() << "x" << image.height();
- qDebug() << "鍥惧儚鏍煎紡: " << image.format();
- qDebug() << "鎺ユ敹鍒板浘鍍忎俊鍙�";
if (!image.isNull()) {
ui->label_video->setScaledContents(true); // 璁剧疆鍥惧儚鑷姩缂╂斁
ui->label_video->setPixmap(QPixmap::fromImage(image));
ui->label_video->adjustSize();
ui->label_video->update();
- qDebug() << "鍥惧儚宸叉洿鏂�";
} else {
qDebug() << "鎺ユ敹鍒扮殑鍥惧儚涓虹┖";
}
}
+
+//鏇存柊婊戝潡鐨勪綅缃�
+void FaceXMainWindow::updateSliderPosition()
+{
+ ui->horizontalSlider->setValue(m_player->position());
+}
+
+//鎷栧姩婊戝潡鏉ユ帶鍒舵挱鏀捐繘搴�
+void FaceXMainWindow::on_sliderPosition_valueChanged(int value)
+{
+ m_player->setPosition(value);
+}
+
+void FaceXMainWindow::on_btn_back_clicked()
+{
+ int currentPosition = m_player->position();
+ m_player->setPosition(currentPosition - 10000); // 鍚庨�� 10 绉�
+}
+
+void FaceXMainWindow::on_btn_forward_clicked()
+{
+ int currentPosition = m_player->position();
+ m_player->setPosition(currentPosition + 10000); // 鍓嶈繘 10 绉�
+}
diff --git "a/Client/\350\221\243\346\276\216\351\237\254/code/facexmainwindow.h" "b/Client/\350\221\243\346\276\216\351\237\254/code/facexmainwindow.h"
index 71a4542..da06402 100644
--- "a/Client/\350\221\243\346\276\216\351\237\254/code/facexmainwindow.h"
+++ "b/Client/\350\221\243\346\276\216\351\237\254/code/facexmainwindow.h"
@@ -45,22 +45,19 @@
void mouseReleaseEvent(QMouseEvent *event)override;
void mouseDoubleClickEvent(QMouseEvent *event)override;
-
private slots:
void on_btnSelect_clicked();
-
void on_toolButton_clicked();
-
void on_toolButton_3_clicked();
-
void on_toolButton_2_clicked();
-
void on_btn_play_clicked();
-
void on_btn_cut_clicked();
-
void SetImage(const QImage &image);
+ void updateSliderPosition();
+ void on_sliderPosition_valueChanged(int value);
+ void on_btn_back_clicked();
+ void on_btn_forward_clicked();
private:
Ui::FaceXMainWindow *ui;
@@ -76,7 +73,10 @@
QFFmpeg *m_ffmpeg;
RtspThread *m_rtspThread;
+ bool isPlaying = false;
+
void setPlayButtonIcon(bool isPlaying);
+ void playOrPause();
};
#endif // FACEXMAINWINDOW_H
diff --git "a/Client/\350\221\243\346\276\216\351\237\254/code/form.h" "b/Client/\350\221\243\346\276\216\351\237\254/code/form.h"
new file mode 100644
index 0000000..58a60a0
--- /dev/null
+++ "b/Client/\350\221\243\346\276\216\351\237\254/code/form.h"
@@ -0,0 +1,22 @@
+#ifndef FORM_H
+#define FORM_H
+
+#include <QWidget>
+
+namespace Ui {
+class Form;
+}
+
+class Form : public QWidget
+{
+ Q_OBJECT
+
+public:
+ explicit Form(QWidget *parent = 0);
+ ~Form();
+
+private:
+ Ui::Form *ui;
+};
+
+#endif // FORM_H
diff --git "a/Client/\350\221\243\346\276\216\351\237\254/code/main.cpp" "b/Client/\350\221\243\346\276\216\351\237\254/code/main.cpp"
index 168202d..2e3811b 100644
--- "a/Client/\350\221\243\346\276\216\351\237\254/code/main.cpp"
+++ "b/Client/\350\221\243\346\276\216\351\237\254/code/main.cpp"
@@ -7,5 +7,11 @@
FaceXMainWindow w;
w.show();
+ // SDL楠岃瘉
+ // SDL_version version;
+ // SDL_VERSION(&version);
+ // qDebug()<<"version major is"<<version.major;
+ // qDebug()<<"version minor is"<<version.minor;
+
return a.exec();
}
diff --git "a/Client/\350\221\243\346\276\216\351\237\254/code/qffmpeg.cpp" "b/Client/\350\221\243\346\276\216\351\237\254/code/qffmpeg.cpp"
index 756314e..851792c 100644
--- "a/Client/\350\221\243\346\276\216\351\237\254/code/qffmpeg.cpp"
+++ "b/Client/\350\221\243\346\276\216\351\237\254/code/qffmpeg.cpp"
@@ -24,7 +24,6 @@
if (pSwsContext) {
sws_freeContext(pSwsContext);
}
- avpicture_free(&pAVPicture);
}
bool QFFmpeg::Init()
@@ -46,9 +45,6 @@
//鑾峰彇瑙嗛娴佺储寮�
videoStreamIndex = -1;
-// qDebug()<<"nb:"<<pAVFormatContext->nb_streams;
-// qDebug()<<"type:"<<pAVFormatContext->streams[0]->codec->codec_type;
-// qDebug()<<"AVMEDIA_TYPE_VIDEO:"<<AVMEDIA_TYPE_VIDEO;
for (uint i = 0; i < pAVFormatContext->nb_streams; i++) {
if (pAVFormatContext->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
videoStreamIndex = i;
@@ -67,8 +63,6 @@
videoWidth=pAVCodecContext->width;
videoHeight=pAVCodecContext->height;
- avpicture_alloc(&pAVPicture,AV_PIX_FMT_RGB24,videoWidth,videoHeight);
-
AVCodec *pAVCodec;
//鑾峰彇瑙嗛娴佽В鐮佸櫒
@@ -79,7 +73,6 @@
result=avcodec_open2(pAVCodecContext,pAVCodec,NULL);
if (result<0){
qDebug()<<"鎵撳紑瑙g爜鍣ㄥけ璐�";
- avpicture_free(&pAVPicture);
sws_freeContext(pSwsContext);
avformat_close_input(&pAVFormatContext);
return false;
@@ -91,23 +84,82 @@
void QFFmpeg::Play()
{
- //涓�甯т竴甯ц鍙栬棰�
- int frameFinished = 0;
- while (av_read_frame(pAVFormatContext, &pAVPacket) >= 0) {
- if (pAVPacket.stream_index == videoStreamIndex) {
- qDebug() << "寮�濮嬭В鐮�" << QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss");
- avcodec_decode_video2(pAVCodecContext, pAVFrame, &frameFinished, &pAVPacket);
- if (frameFinished) {
- mutex.lock();
- sws_scale(pSwsContext, (const uint8_t* const *)pAVFrame->data, pAVFrame->linesize, 0, videoHeight, pAVPicture.data, pAVPicture.linesize);
- QImage image(pAVPicture.data[0], videoWidth, videoHeight, QImage::Format_RGB888);
- QImage copyImage = image.copy(); // 娣辨嫹璐�
- emit GetImage(copyImage, this->index);
- qDebug() << "瑙g爜鎴愬姛锛屽彂閫佸浘鍍忎俊鍙�";
- mutex.unlock();
+ AVPacket packet;
+ int frameFinished;
+ int videoStreamIndex = -1;
+
+ // 鎵撳紑瑙嗛鏂囦欢
+ if (avformat_open_input(&pAVFormatContext, url.toStdString().c_str(), NULL, NULL) != 0)
+ return;
+
+ // 鑾峰彇娴佷俊鎭�
+ avformat_find_stream_info(pAVFormatContext, NULL);
+
+ // 鎵惧埌瑙嗛娴佺储寮�
+ for (uint i = 0; i < pAVFormatContext->nb_streams; i++) {
+ if (pAVFormatContext->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
+ videoStreamIndex = i;
+ break;
+ }
+ }
+
+ // 鑾峰彇瑙g爜鍣�
+ AVCodec *codec = avcodec_find_decoder(pAVFormatContext->streams[videoStreamIndex]->codec->codec_id);
+ if (!codec) {
+ qDebug() << "鏈壘鍒拌В鐮佸櫒";
+ return;
+ }
+
+ if (avcodec_open2(pAVCodecContext, codec, NULL) < 0) {
+ qDebug() << "鎵撳紑瑙g爜鍣ㄥけ璐�";
+ return;
+ }
+
+ // 鍒濆鍖栧抚
+ pAVFrame = av_frame_alloc();
+ AVFrame *pFrameRGB = av_frame_alloc();
+ uint8_t *buffer = (uint8_t *)av_malloc(avpicture_get_size(AV_PIX_FMT_RGB24, pAVCodecContext->width, pAVCodecContext->height));
+ avpicture_fill((AVPicture *)pFrameRGB, buffer, AV_PIX_FMT_RGB24, pAVCodecContext->width, pAVCodecContext->height);
+
+ // 鍒濆鍖栫缉鏀句笂涓嬫枃
+ struct SwsContext *sws_ctx = sws_getContext(pAVCodecContext->width,
+ pAVCodecContext->height,
+ pAVCodecContext->pix_fmt,
+ pAVCodecContext->width,
+ pAVCodecContext->height,
+ AV_PIX_FMT_RGB24,
+ SWS_BILINEAR,
+ NULL,
+ NULL,
+ NULL);
+
+ while (av_read_frame(pAVFormatContext, &packet) >= 0) {
+ if (packet.stream_index == videoStreamIndex) {
+ avcodec_send_packet(pAVCodecContext, &packet);
+
+ while (avcodec_receive_frame(pAVCodecContext, pAVFrame) == 0) {
+ sws_scale(sws_ctx,
+ (const uint8_t **)pAVFrame->data,
+ pAVFrame->linesize,
+ 0,
+ pAVCodecContext->height,
+ pFrameRGB->data,
+ pFrameRGB->linesize);
+
+ QImage img(pFrameRGB->data[0],
+ pAVCodecContext->width,
+ pAVCodecContext->height,
+ QImage::Format_RGB888);
+
+ emit GetImage(img, 0);
}
}
- av_packet_unref(&pAVPacket);
+ av_packet_unref(&packet);
}
+
avformat_close_input(&pAVFormatContext);
+ av_frame_free(&pAVFrame);
+ av_frame_free(&pFrameRGB);
+ av_free(buffer);
+ sws_freeContext(sws_ctx);
}
diff --git "a/Client/\350\221\243\346\276\216\351\237\254/code/qffmpeg.h" "b/Client/\350\221\243\346\276\216\351\237\254/code/qffmpeg.h"
index 9085958..9f92d44 100644
--- "a/Client/\350\221\243\346\276\216\351\237\254/code/qffmpeg.h"
+++ "b/Client/\350\221\243\346\276\216\351\237\254/code/qffmpeg.h"
@@ -10,12 +10,19 @@
//寮曞叆ffmpeg澶存枃浠�
extern "C"
{
-#include <libavcodec/avcodec.h>
-#include <libavformat/avformat.h>
+#include <libavcodec/avcodec.h> //瀹炵幇闊宠棰戠殑缂栬В鐮佸姛鑳�
+#include <libavformat/avformat.h> //瀹炵幇闊宠棰戞枃浠剁殑璇诲彇鍜屽啓鍏ュ姛鑳斤紝鏀寔澶氱闊宠棰戞牸寮�
#include <libavfilter/avfilter.h>
#include <libswscale/swscale.h>
#include <libavutil/frame.h>
+#include <libavutil/imgutils.h>
}
+
+// 寮曞叆SDL2澶存枃浠�
+//extern "C"
+//{
+// #include "SDL.h"
+//}
#include <QObject>
#include <QMutex>
@@ -53,10 +60,13 @@
int videoStreamIndex;
int index;
+ // SDL鐩稿叧
+// SDL_Window *sdlWindow;
+// SDL_Renderer *sdlRenderer;
+// SDL_Texture *sdlTexture;
+
signals:
void GetImage(const QImage &image,int x); // 鍙戦�佽В鐮佸悗鐨勫浘鍍忎俊鍙�
-
-public slots:
};
diff --git "a/Client/\350\221\243\346\276\216\351\237\254/code/\345\255\230\346\224\276\344\273\243\347\240\201.txt" "b/Client/\350\221\243\346\276\216\351\237\254/code/\345\255\230\346\224\276\344\273\243\347\240\201.txt"
deleted file mode 100644
index e69de29..0000000
--- "a/Client/\350\221\243\346\276\216\351\237\254/code/\345\255\230\346\224\276\344\273\243\347\240\201.txt"
+++ /dev/null
diff --git "a/Client/\350\221\243\346\276\216\351\237\254/log/\346\227\245\345\277\227_\350\221\243\346\276\216\351\237\254_0220.doc" "b/Client/\350\221\243\346\276\216\351\237\254/log/\346\227\245\345\277\227_\350\221\243\346\276\216\351\237\254_0220.doc"
new file mode 100644
index 0000000..f72ac69
--- /dev/null
+++ "b/Client/\350\221\243\346\276\216\351\237\254/log/\346\227\245\345\277\227_\350\221\243\346\276\216\351\237\254_0220.doc"
Binary files differ
diff --git "a/Client/\350\247\243\346\235\245\351\221\253/log/\346\227\245\345\277\227_\345\247\223\345\220\215_\346\227\245\346\234\237.doc" "b/Client/\350\247\243\346\235\245\351\221\253/log/\346\227\245\345\277\227_\345\247\223\345\220\215_\346\227\245\346\234\237.doc"
index 0f7e6cd..7dbc028 100644
--- "a/Client/\350\247\243\346\235\245\351\221\253/log/\346\227\245\345\277\227_\345\247\223\345\220\215_\346\227\245\346\234\237.doc"
+++ "b/Client/\350\247\243\346\235\245\351\221\253/log/\346\227\245\345\277\227_\345\247\223\345\220\215_\346\227\245\346\234\237.doc"
Binary files differ
diff --git "a/Server/\345\206\211\345\207\257/log/\346\227\245\345\277\227_\345\206\211\345\207\257_20250220.doc" "b/Server/\345\206\211\345\207\257/log/\346\227\245\345\277\227_\345\206\211\345\207\257_20250220.doc"
new file mode 100644
index 0000000..553dfeb
--- /dev/null
+++ "b/Server/\345\206\211\345\207\257/log/\346\227\245\345\277\227_\345\206\211\345\207\257_20250220.doc"
Binary files differ
diff --git "a/Server/\345\215\242\346\225\217/log/\346\227\245\345\277\227_\345\215\242\346\225\217_2.20.doc" "b/Server/\345\215\242\346\225\217/log/\346\227\245\345\277\227_\345\215\242\346\225\217_2.20.doc"
new file mode 100644
index 0000000..244c624
--- /dev/null
+++ "b/Server/\345\215\242\346\225\217/log/\346\227\245\345\277\227_\345\215\242\346\225\217_2.20.doc"
Binary files differ
diff --git "a/Server/\345\274\240\346\225\217\344\270\275/document/\346\227\245\345\277\227_\345\247\223\345\220\215_\346\227\245\346\234\237.doc" "b/Server/\345\274\240\346\225\217\344\270\275/document/\346\227\245\345\277\227_\345\247\223\345\220\215_\346\227\245\346\234\237.doc"
index 3fcca84..ac5f7e0 100644
--- "a/Server/\345\274\240\346\225\217\344\270\275/document/\346\227\245\345\277\227_\345\247\223\345\220\215_\346\227\245\346\234\237.doc"
+++ "b/Server/\345\274\240\346\225\217\344\270\275/document/\346\227\245\345\277\227_\345\247\223\345\220\215_\346\227\245\346\234\237.doc"
Binary files differ
diff --git "a/Server/\346\234\261\347\220\233/log/\346\227\245\345\277\227_\346\234\261\347\220\233_20250220.doc" "b/Server/\346\234\261\347\220\233/log/\346\227\245\345\277\227_\346\234\261\347\220\233_20250220.doc"
new file mode 100644
index 0000000..127161a
--- /dev/null
+++ "b/Server/\346\234\261\347\220\233/log/\346\227\245\345\277\227_\346\234\261\347\220\233_20250220.doc"
Binary files differ
diff --git "a/Server/\350\203\241\345\272\267/log/\346\227\245\345\277\227_\345\247\223\345\220\215_\346\227\245\346\234\237.doc" "b/Server/\350\203\241\345\272\267/log/\346\227\245\345\277\227_\350\203\241\345\272\267_0218.doc"
similarity index 84%
rename from "Server/\350\203\241\345\272\267/log/\346\227\245\345\277\227_\345\247\223\345\220\215_\346\227\245\346\234\237.doc"
rename to "Server/\350\203\241\345\272\267/log/\346\227\245\345\277\227_\350\203\241\345\272\267_0218.doc"
index f996556..4b167ba 100644
--- "a/Server/\350\203\241\345\272\267/log/\346\227\245\345\277\227_\345\247\223\345\220\215_\346\227\245\346\234\237.doc"
+++ "b/Server/\350\203\241\345\272\267/log/\346\227\245\345\277\227_\350\203\241\345\272\267_0218.doc"
Binary files differ
diff --git "a/Server/\350\203\241\345\272\267/log/\346\227\245\345\277\227_\345\247\223\345\220\215_\346\227\245\346\234\237.doc" "b/Server/\350\203\241\345\272\267/log/\346\227\245\345\277\227_\350\203\241\345\272\267_0220.doc"
similarity index 66%
copy from "Server/\350\203\241\345\272\267/log/\346\227\245\345\277\227_\345\247\223\345\220\215_\346\227\245\346\234\237.doc"
copy to "Server/\350\203\241\345\272\267/log/\346\227\245\345\277\227_\350\203\241\345\272\267_0220.doc"
index f996556..4c05347 100644
--- "a/Server/\350\203\241\345\272\267/log/\346\227\245\345\277\227_\345\247\223\345\220\215_\346\227\245\346\234\237.doc"
+++ "b/Server/\350\203\241\345\272\267/log/\346\227\245\345\277\227_\350\203\241\345\272\267_0220.doc"
Binary files differ
diff --git "a/Server/\350\265\265\346\274\224/document/\351\234\200\346\261\202\345\210\206\346\236\220.docx" "b/Server/\350\265\265\346\274\224/document/\351\234\200\346\261\202\345\210\206\346\236\220.docx"
index aff5588..3ee7f84 100644
--- "a/Server/\350\265\265\346\274\224/document/\351\234\200\346\261\202\345\210\206\346\236\220.docx"
+++ "b/Server/\350\265\265\346\274\224/document/\351\234\200\346\261\202\345\210\206\346\236\220.docx"
Binary files differ
diff --git "a/Server/\350\265\265\346\274\224/log/\346\227\245\345\277\227_\350\265\265\346\274\224_20250218.doc" "b/Server/\350\265\265\346\274\224/log/\346\227\245\345\277\227_\350\265\265\346\274\224_20250218.doc"
new file mode 100644
index 0000000..fe5d400
--- /dev/null
+++ "b/Server/\350\265\265\346\274\224/log/\346\227\245\345\277\227_\350\265\265\346\274\224_20250218.doc"
Binary files differ
diff --git "a/Server/\350\265\265\346\274\224/log/\346\227\245\345\277\227_\350\265\265\346\274\224_20250219.doc" "b/Server/\350\265\265\346\274\224/log/\346\227\245\345\277\227_\350\265\265\346\274\224_20250219.doc"
new file mode 100644
index 0000000..8a51eb0
--- /dev/null
+++ "b/Server/\350\265\265\346\274\224/log/\346\227\245\345\277\227_\350\265\265\346\274\224_20250219.doc"
Binary files differ
--
Gitblit v1.8.0