李太白3028
2025-07-30 ba557576d960281d774ac1e3c83f2e29786ed682
Merge branch 'master' of ssh://115.28.86.8:29418/~admin/天开景运_0405_250719
24个文件已修改
6个文件已添加
1 文件已重命名
3 文件已复制
497 ■■■■■ 已修改文件
Client/张德虎/log/日志_张德虎_0729 -.doc 补丁 | 查看 | 原始文档 | blame | 历史
Client/李韩宇/log/日志_李韩宇_0729.doc 补丁 | 查看 | 原始文档 | blame | 历史
Client/熊国政/log/日志_熊国政_0730.doc 补丁 | 查看 | 原始文档 | blame | 历史
Client/王旭东/log/日志_王旭东_0729.doc 补丁 | 查看 | 原始文档 | blame | 历史
Client/舒令文/log/日志_舒令文_20250729.doc 补丁 | 查看 | 原始文档 | blame | 历史
Client/雷鹏涛/log/日报_雷鹏涛_0729.doc 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/addfile.o 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/heartbeatworker.o 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/main.o 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_addfile.cpp 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_addfile.o 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_release.cpp 69 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_release.o 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_uploador.o 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_vcsmainwindow.cpp 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_vcsmainwindow.o 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/release.o 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/tianKai.exe 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/uploador.o 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/vcsmainwindow.o 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/tianKai/addfile.cpp 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/tianKai/addfile.h 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/tianKai/release.cpp 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/tianKai/release.h 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/tianKai/struct_data.h 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/tianKai/tianKai.pro.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/tianKai/uploador.cpp 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/tianKai/uploador.h 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/tianKai/vcsmainwindow.cpp 130 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/code/tianKai/vcsmainwindow.h 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Server/付林涛/log/日志_付林涛_0729.doc 补丁 | 查看 | 原始文档 | blame | 历史
Server/刘创世/log/日志_刘创世_2025-07-30.doc 补丁 | 查看 | 原始文档 | blame | 历史
Server/李晨飞/log/日志_李晨飞_0729.doc 补丁 | 查看 | 原始文档 | blame | 历史
Server/郭铭鸿/log/日志_郭铭鸿_0729.doc 补丁 | 查看 | 原始文档 | blame | 历史
Client/Õŵ»¢/log/ÈÕÖ¾_Õŵ»¢_0729 -.doc
copy from "Server/\344\273\230\346\236\227\346\266\233/log/~WRL0001.tmp" copy to "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_0729 -.doc" Binary files differ
Client/ÀÓî/log/ÈÕÖ¾_ÀÓî_0729.doc
Binary files differ
Client/ÐܹúÕþ/log/ÈÕÖ¾_ÐܹúÕþ_0730.doc
Binary files differ
Client/ÍõÐñ¶«/log/ÈÕÖ¾_ÍõÐñ¶«_0729.doc
Binary files differ
Client/ÊæÁîÎÄ/log/ÈÕÖ¾_ÊæÁîÎÄ_20250729.doc
Binary files differ
Client/À×ÅôÌÎ/log/ÈÕ±¨_À×ÅôÌÎ_0729.doc
Binary files differ
Server/¸¶ÁÖÌÎ/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/addfile.o
Binary files differ
Server/¸¶ÁÖÌÎ/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/heartbeatworker.o
Binary files differ
Server/¸¶ÁÖÌÎ/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/main.o
Binary files differ
Server/¸¶ÁÖÌÎ/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_addfile.cpp
@@ -21,8 +21,8 @@
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_AddFile_t {
    QByteArrayData data[5];
    char stringdata0[69];
    QByteArrayData data[7];
    char stringdata0[102];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
    Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@@ -34,11 +34,14 @@
QT_MOC_LITERAL(0, 0, 7), // "AddFile"
QT_MOC_LITERAL(1, 8, 13), // "addFileSignal"
QT_MOC_LITERAL(2, 22, 0), // ""
QT_MOC_LITERAL(3, 23, 23), // "on_pushButton_3_clicked"
QT_MOC_LITERAL(4, 47, 21) // "on_pushButton_clicked"
QT_MOC_LITERAL(3, 23, 21), // "std::shared_ptr<char>"
QT_MOC_LITERAL(4, 45, 10), // "addFileMsg"
QT_MOC_LITERAL(5, 56, 23), // "on_pushButton_3_clicked"
QT_MOC_LITERAL(6, 80, 21) // "on_pushButton_clicked"
    },
    "AddFile\0addFileSignal\0\0on_pushButton_3_clicked\0"
    "AddFile\0addFileSignal\0\0std::shared_ptr<char>\0"
    "addFileMsg\0on_pushButton_3_clicked\0"
    "on_pushButton_clicked"
};
#undef QT_MOC_LITERAL
@@ -49,22 +52,24 @@
       7,       // revision
       0,       // classname
       0,    0, // classinfo
       3,   14, // methods
       4,   14, // methods
       0,    0, // properties
       0,    0, // enums/sets
       0,    0, // constructors
       0,       // flags
       1,       // signalCount
       2,       // signalCount
 // signals: name, argc, parameters, tag, flags
       1,    2,   29,    2, 0x06 /* Public */,
       1,    2,   34,    2, 0x06 /* Public */,
       4,    1,   39,    2, 0x06 /* Public */,
 // slots: name, argc, parameters, tag, flags
       3,    0,   34,    2, 0x08 /* Private */,
       4,    0,   35,    2, 0x08 /* Private */,
       5,    0,   42,    2, 0x08 /* Private */,
       6,    0,   43,    2, 0x08 /* Private */,
 // signals: parameters
    QMetaType::Void, QMetaType::QString, QMetaType::QString,    2,    2,
    QMetaType::Void, 0x80000000 | 3, QMetaType::Int,    2,    2,
    QMetaType::Void, QMetaType::QString,    2,
 // slots: parameters
    QMetaType::Void,
@@ -79,17 +84,25 @@
        AddFile *_t = static_cast<AddFile *>(_o);
        Q_UNUSED(_t)
        switch (_id) {
        case 0: _t->addFileSignal((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
        case 1: _t->on_pushButton_3_clicked(); break;
        case 2: _t->on_pushButton_clicked(); break;
        case 0: _t->addFileSignal((*reinterpret_cast< std::shared_ptr<char>(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
        case 1: _t->addFileMsg((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 2: _t->on_pushButton_3_clicked(); break;
        case 3: _t->on_pushButton_clicked(); break;
        default: ;
        }
    } else if (_c == QMetaObject::IndexOfMethod) {
        int *result = reinterpret_cast<int *>(_a[0]);
        {
            typedef void (AddFile::*_t)(QString , QString );
            typedef void (AddFile::*_t)(std::shared_ptr<char> , int );
            if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&AddFile::addFileSignal)) {
                *result = 0;
                return;
            }
        }
        {
            typedef void (AddFile::*_t)(QString );
            if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&AddFile::addFileMsg)) {
                *result = 1;
                return;
            }
        }
@@ -121,22 +134,29 @@
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        if (_id < 3)
        if (_id < 4)
            qt_static_metacall(this, _c, _id, _a);
        _id -= 3;
        _id -= 4;
    } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
        if (_id < 3)
        if (_id < 4)
            *reinterpret_cast<int*>(_a[0]) = -1;
        _id -= 3;
        _id -= 4;
    }
    return _id;
}
// SIGNAL 0
void AddFile::addFileSignal(QString _t1, QString _t2)
void AddFile::addFileSignal(std::shared_ptr<char> _t1, int _t2)
{
    void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) };
    QMetaObject::activate(this, &staticMetaObject, 0, _a);
}
// SIGNAL 1
void AddFile::addFileMsg(QString _t1)
{
    void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
    QMetaObject::activate(this, &staticMetaObject, 1, _a);
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE
Server/¸¶ÁÖÌÎ/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_addfile.o
Binary files differ
Server/¸¶ÁÖÌÎ/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_release.cpp
@@ -21,8 +21,8 @@
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_Release_t {
    QByteArrayData data[1];
    char stringdata0[8];
    QByteArrayData data[5];
    char stringdata0[57];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
    Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@@ -31,10 +31,15 @@
    )
static const qt_meta_stringdata_Release_t qt_meta_stringdata_Release = {
    {
QT_MOC_LITERAL(0, 0, 7) // "Release"
QT_MOC_LITERAL(0, 0, 7), // "Release"
QT_MOC_LITERAL(1, 8, 13), // "releaseSignal"
QT_MOC_LITERAL(2, 22, 0), // ""
QT_MOC_LITERAL(3, 23, 21), // "std::shared_ptr<char>"
QT_MOC_LITERAL(4, 45, 11) // "releaseSlot"
    },
    "Release"
    "Release\0releaseSignal\0\0std::shared_ptr<char>\0"
    "releaseSlot"
};
#undef QT_MOC_LITERAL
@@ -44,22 +49,48 @@
       7,       // revision
       0,       // classname
       0,    0, // classinfo
       0,    0, // methods
       2,   14, // methods
       0,    0, // properties
       0,    0, // enums/sets
       0,    0, // constructors
       0,       // flags
       0,       // signalCount
       1,       // signalCount
 // signals: name, argc, parameters, tag, flags
       1,    2,   24,    2, 0x06 /* Public */,
 // slots: name, argc, parameters, tag, flags
       4,    0,   29,    2, 0x08 /* Private */,
 // signals: parameters
    QMetaType::Void, 0x80000000 | 3, QMetaType::Int,    2,    2,
 // slots: parameters
    QMetaType::Void,
       0        // eod
};
void Release::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
    Q_UNUSED(_o);
    Q_UNUSED(_id);
    Q_UNUSED(_c);
    Q_UNUSED(_a);
    if (_c == QMetaObject::InvokeMetaMethod) {
        Release *_t = static_cast<Release *>(_o);
        Q_UNUSED(_t)
        switch (_id) {
        case 0: _t->releaseSignal((*reinterpret_cast< std::shared_ptr<char>(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
        case 1: _t->releaseSlot(); break;
        default: ;
        }
    } else if (_c == QMetaObject::IndexOfMethod) {
        int *result = reinterpret_cast<int *>(_a[0]);
        {
            typedef void (Release::*_t)(std::shared_ptr<char> , int );
            if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&Release::releaseSignal)) {
                *result = 0;
                return;
            }
        }
    }
}
const QMetaObject Release::staticMetaObject = {
@@ -84,7 +115,25 @@
int Release::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QMainWindow::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        if (_id < 2)
            qt_static_metacall(this, _c, _id, _a);
        _id -= 2;
    } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
        if (_id < 2)
            *reinterpret_cast<int*>(_a[0]) = -1;
        _id -= 2;
    }
    return _id;
}
// SIGNAL 0
void Release::releaseSignal(std::shared_ptr<char> _t1, int _t2)
{
    void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) };
    QMetaObject::activate(this, &staticMetaObject, 0, _a);
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE
Server/¸¶ÁÖÌÎ/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_release.o
Binary files differ
Server/¸¶ÁÖÌÎ/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_uploador.o
Binary files differ
Server/¸¶ÁÖÌÎ/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_vcsmainwindow.cpp
@@ -21,8 +21,8 @@
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_VCSMainWindow_t {
    QByteArrayData data[7];
    char stringdata0[121];
    QByteArrayData data[10];
    char stringdata0[165];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
    Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@@ -32,18 +32,22 @@
static const qt_meta_stringdata_VCSMainWindow_t qt_meta_stringdata_VCSMainWindow = {
    {
QT_MOC_LITERAL(0, 0, 13), // "VCSMainWindow"
QT_MOC_LITERAL(1, 14, 21), // "on_pushButton_clicked"
QT_MOC_LITERAL(2, 36, 0), // ""
QT_MOC_LITERAL(3, 37, 23), // "on_pushButton_2_clicked"
QT_MOC_LITERAL(4, 61, 23), // "on_pushButton_4_clicked"
QT_MOC_LITERAL(5, 85, 23), // "on_pushButton_3_clicked"
QT_MOC_LITERAL(6, 109, 11) // "addFileSlot"
QT_MOC_LITERAL(1, 14, 13), // "releaseSignal"
QT_MOC_LITERAL(2, 28, 0), // ""
QT_MOC_LITERAL(3, 29, 21), // "on_pushButton_clicked"
QT_MOC_LITERAL(4, 51, 23), // "on_pushButton_2_clicked"
QT_MOC_LITERAL(5, 75, 23), // "on_pushButton_4_clicked"
QT_MOC_LITERAL(6, 99, 23), // "on_pushButton_3_clicked"
QT_MOC_LITERAL(7, 123, 11), // "addFileSlot"
QT_MOC_LITERAL(8, 135, 21), // "std::shared_ptr<char>"
QT_MOC_LITERAL(9, 157, 7) // "msgSlot"
    },
    "VCSMainWindow\0on_pushButton_clicked\0"
    "\0on_pushButton_2_clicked\0"
    "VCSMainWindow\0releaseSignal\0\0"
    "on_pushButton_clicked\0on_pushButton_2_clicked\0"
    "on_pushButton_4_clicked\0on_pushButton_3_clicked\0"
    "addFileSlot"
    "addFileSlot\0std::shared_ptr<char>\0"
    "msgSlot"
};
#undef QT_MOC_LITERAL
@@ -53,26 +57,34 @@
       7,       // revision
       0,       // classname
       0,    0, // classinfo
       5,   14, // methods
       7,   14, // methods
       0,    0, // properties
       0,    0, // enums/sets
       0,    0, // constructors
       0,       // flags
       0,       // signalCount
       1,       // signalCount
 // signals: name, argc, parameters, tag, flags
       1,    0,   49,    2, 0x06 /* Public */,
 // slots: name, argc, parameters, tag, flags
       1,    0,   39,    2, 0x08 /* Private */,
       3,    0,   40,    2, 0x08 /* Private */,
       4,    0,   41,    2, 0x08 /* Private */,
       5,    0,   42,    2, 0x08 /* Private */,
       6,    2,   43,    2, 0x08 /* Private */,
       3,    0,   50,    2, 0x08 /* Private */,
       4,    0,   51,    2, 0x08 /* Private */,
       5,    0,   52,    2, 0x08 /* Private */,
       6,    0,   53,    2, 0x08 /* Private */,
       7,    2,   54,    2, 0x08 /* Private */,
       9,    1,   59,    2, 0x08 /* Private */,
 // signals: parameters
    QMetaType::Void,
 // slots: parameters
    QMetaType::Void,
    QMetaType::Void,
    QMetaType::Void,
    QMetaType::Void,
    QMetaType::Void, QMetaType::QString, QMetaType::QString,    2,    2,
    QMetaType::Void, 0x80000000 | 8, QMetaType::Int,    2,    2,
    QMetaType::Void, QMetaType::QString,    2,
       0        // eod
};
@@ -83,12 +95,23 @@
        VCSMainWindow *_t = static_cast<VCSMainWindow *>(_o);
        Q_UNUSED(_t)
        switch (_id) {
        case 0: _t->on_pushButton_clicked(); break;
        case 1: _t->on_pushButton_2_clicked(); break;
        case 2: _t->on_pushButton_4_clicked(); break;
        case 3: _t->on_pushButton_3_clicked(); break;
        case 4: _t->addFileSlot((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
        case 0: _t->releaseSignal(); break;
        case 1: _t->on_pushButton_clicked(); break;
        case 2: _t->on_pushButton_2_clicked(); break;
        case 3: _t->on_pushButton_4_clicked(); break;
        case 4: _t->on_pushButton_3_clicked(); break;
        case 5: _t->addFileSlot((*reinterpret_cast< std::shared_ptr<char>(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
        case 6: _t->msgSlot((*reinterpret_cast< QString(*)>(_a[1]))); break;
        default: ;
        }
    } else if (_c == QMetaObject::IndexOfMethod) {
        int *result = reinterpret_cast<int *>(_a[0]);
        {
            typedef void (VCSMainWindow::*_t)();
            if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&VCSMainWindow::releaseSignal)) {
                *result = 0;
                return;
            }
        }
    }
}
@@ -118,15 +141,21 @@
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        if (_id < 5)
        if (_id < 7)
            qt_static_metacall(this, _c, _id, _a);
        _id -= 5;
        _id -= 7;
    } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
        if (_id < 5)
        if (_id < 7)
            *reinterpret_cast<int*>(_a[0]) = -1;
        _id -= 5;
        _id -= 7;
    }
    return _id;
}
// SIGNAL 0
void VCSMainWindow::releaseSignal()
{
    QMetaObject::activate(this, &staticMetaObject, 0, nullptr);
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE
Server/¸¶ÁÖÌÎ/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/moc_vcsmainwindow.o
Binary files differ
Server/¸¶ÁÖÌÎ/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/release.o
Binary files differ
Server/¸¶ÁÖÌÎ/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/tianKai.exe
Binary files differ
Server/¸¶ÁÖÌÎ/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/uploador.o
Binary files differ
Server/¸¶ÁÖÌÎ/code/build-tianKai-Desktop_Qt_5_9_4_MinGW_32bit-Debug/debug/vcsmainwindow.o
Binary files differ
Server/¸¶ÁÖÌÎ/code/tianKai/addfile.cpp
@@ -4,7 +4,7 @@
#include <QDebug>
#include <QDateTime>
#include <QString>
#include <memory>
#define DEFAULT_PATH ("E:\soft")
#define DEFAULT_TYPE (tr("Pkg Files (*.zip *.tar.gz *.rar *.7z *.bz2)"))
#define UPLOAD 10
@@ -52,8 +52,92 @@
                        + createDate.toString() + "#"
                        + description;
    qDebug()<<versionMessage;
    emit addFileSignal(file, versionMessage);
    // èŽ·å–æ–‡ä»¶åŸºæœ¬ä¿¡æ¯
    QString fileName = fileInfo.fileName();
    qint64 size = fileInfo.size();
    //  è®¡ç®—头消息长度,并分配空间
    // å¤´æ¶ˆæ¯ï¼ˆç¤ºä¾‹ï¼‰
    int len = sizeof(UpLoadPkgHead) + fileName.size() + 1;
    std::shared_ptr<char> head(new char[len],[](char *p){delete[] p;});
    UpLoadPkgHead* pHead = reinterpret_cast<UpLoadPkgHead*>(head.get());
    // ç›´æŽ¥æ“ä½œæ™ºèƒ½æŒ‡é’ˆç®¡ç†çš„内存
    pHead->head.type = UPLOAD_REQ;
    pHead->head.len = len;
    memcpy(pHead->fileName, fileName.toUtf8().constData(), fileName.size());
    pHead->fileName[fileName.size()] = '\0';
    emit addFileSignal(head, len);  // ç›´æŽ¥ä¼ é€’智能指针
    QFile *pFile = new QFile(file);
    if(!pFile){
        return;
    }
    // è¯»æ–‡ä»¶å†…容
    if (!pFile->open(QIODevice::ReadOnly)) {
        qDebug() << "Failed to open file for reading:" << pFile->errorString();
        return;
    }
//    const int bufferSize = 4 * 1024;
    const int bufferSize = 8 * 1024;
    auto buffer = std::unique_ptr<char>(new char[bufferSize]);
    qint64 totalBytesRead = 0;
    int flag = 0;
    while (!pFile->atEnd()) {
        qint64 bytesRead = pFile->read(buffer.get(), bufferSize);
        if (bytesRead == -1) {
            qDebug() << "Error during read operation:" << pFile->errorString();
            break;
        }
        totalBytesRead += bytesRead;
        // æ•°æ®åŒ…构造(示例)
        int dtlen = sizeof(UpLoadPkgData) + fileName.size() + bytesRead + 2;
        std::shared_ptr<char> dataPkg(new char[dtlen],[](char *p){delete[] p;});
        UpLoadPkgData* pData = reinterpret_cast<UpLoadPkgData*>(dataPkg.get());
        // å¡«å……数据
        pData->head.len = len;
        pData->head.type = UPLOAD_REQ;
        pData->upLoadType = DATA_UPLOAD_REQ;
        pData->fileNameLen = fileName.size();
        pData->dataLen = bytesRead;
        pData->flag = ++flag;
        pData->dataLen = bytesRead;
        memcpy(pData->data, fileName.toUtf8().constData(), fileName.size());
        memcpy(pData->data + fileName.size() + 1, buffer.get(), bytesRead);
        emit addFileSignal(dataPkg, dtlen);
        // æ— éœ€æ‰‹åЍ free,shared_ptr è‡ªåŠ¨é‡Šæ”¾
    }
    if(totalBytesRead != size){
        qDebug()<<"数据发送不完整";
        return;
    }
    qDebug()<<"数据发送完成,发送数据库包";
    int finLen = sizeof(UpLoadPkgFin)+fileName.size()+versionMessage.size()+2;
    std::shared_ptr<char> finPkg(new char[finLen],[](char *p){delete[] p;});
    UpLoadPkgFin* pData = reinterpret_cast<UpLoadPkgFin*>(finPkg.get());
    // å¡«å……数据
    pData->head.len = finLen;
    pData->head.type = UPLOAD_REQ;
    pData->fileNameLen = fileName.size();
    pData->cnt = flag;
    memcpy(pData->fileName, fileName.toUtf8().constData(), fileName.size());
    memcpy(pData->fileName + fileName.size() + 1,versionMessage.data(),versionMessage.size());
    emit addFileSignal(finPkg ,finLen);
    emit addFileMsg(QString("上传成功!"));
    delete pFile;
}
Server/¸¶ÁÖÌÎ/code/tianKai/addfile.h
@@ -5,6 +5,9 @@
#include "addfile.h"
#include <struct_data.h>
#include "uploador.h"
extern std::mutex _mutex;
extern std::condition_variable _conv;
extern int g_flag;
namespace Ui {
class AddFile;
}
@@ -18,7 +21,8 @@
    ~AddFile();
signals:
    void addFileSignal(QString, QString);
    void addFileSignal(std::shared_ptr<char>, int);
    void addFileMsg(QString);
private slots:
    void on_pushButton_3_clicked();
    void on_pushButton_clicked();
Server/¸¶ÁÖÌÎ/code/tianKai/release.cpp
@@ -1,6 +1,7 @@
#include "release.h"
#include "ui_release.h"
#include "struct_data.h"
#include <QDebug>
Release::Release(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::Release)
@@ -13,3 +14,13 @@
{
    delete ui;
}
void Release::releaseSlot()
{
    ReleaseReq* req = new ReleaseReq();
    int len = req->head.len;
    std::shared_ptr<char> buf(new char[len],[](char *p){delete[] p;});
    memcpy(buf.get(),req,len);
    qDebug()<<"查询发布信息";
    emit releaseSignal(buf,len);
}
Server/¸¶ÁÖÌÎ/code/tianKai/release.h
@@ -2,7 +2,7 @@
#define RELEASE_H
#include <QMainWindow>
#include <memory>
namespace Ui {
class Release;
}
@@ -14,6 +14,10 @@
public:
    explicit Release(QWidget *parent = 0);
    ~Release();
signals:
    void releaseSignal(std::shared_ptr<char>,int);
private slots:
    void releaseSlot();
private:
    Ui::Release *ui;
Server/¸¶ÁÖÌÎ/code/tianKai/struct_data.h
@@ -1,13 +1,15 @@
#ifndef STRUCT_DATA_H
#define STRUCT_DATA_H
#include <mutex>
#include <condition_variable>
enum TypeInfo{
    UPLOAD_REQ = 100,
    HEAD_UPLOAD_REQ,
    DATA_UPLOAD_REQ,
    UP_LOAD_FIN,
    UPLOAD_SQL_REQ,
    RELEASE_SQL_REQ,
    RELEASE_SQL_RES,
    HEART_CHECK_REQ,
    HEART_CHECK_RES
};
@@ -54,7 +56,13 @@
    Head head;
};
struct ReleaseReq {
    Head head;
    ReleaseReq(){
        head.len = sizeof(ReleaseReq);
        head.type = RELEASE_SQL_REQ;
    }
};
struct HeartCheckReq  // å¿ƒè·³è¯·æ±‚包
{
    Head head;
@@ -74,4 +82,5 @@
        head.len = sizeof(HeartCheckRes);
    }
};
#endif // STRUCT_DATA_H
Server/¸¶ÁÖÌÎ/code/tianKai/tianKai.pro.user
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.5.0, 2025-07-28T12:08:12. -->
<!-- Written by QtCreator 4.5.0, 2025-07-29T15:00:31. -->
<qtcreator>
 <data>
  <variable>EnvironmentId</variable>
Server/¸¶ÁÖÌÎ/code/tianKai/uploador.cpp
@@ -44,16 +44,18 @@
    }
}
int UpLoador::upfile(char* data, int rlen)
int UpLoador::upfile(std::shared_ptr<char> buf, int rlen)
{
    if(data == nullptr || rlen <= 0){
    if (!buf || rlen <= 0) {  // æ£€æŸ¥æ™ºèƒ½æŒ‡é’ˆæ˜¯å¦ä¸ºç©º
        return -1;
    }
    if(m_client){
        int len = m_client->write((char*)data,rlen);
        qDebug()<<len;
    if (m_client) {
        // å…³é”®ä¿®æ”¹ï¼šç”¨ buf.get() èŽ·å–åŽŸå§‹æŒ‡é’ˆ
        int len = m_client->write(reinterpret_cast<char*>(buf.get()), rlen);
        qDebug() << "Sent bytes:" << len;
        return len;
    }
    return -1;  // è¡¥å……返回值
}
void UpLoador::myRead()
Server/¸¶ÁÖÌÎ/code/tianKai/uploador.h
@@ -30,7 +30,7 @@
private:
    void processBuffer();
public:
    int upfile(char* data, int rlen);
    int upfile(std::shared_ptr<char> buf, int rlen);
};
#endif // UPLOADOR_H
Server/¸¶ÁÖÌÎ/code/tianKai/vcsmainwindow.cpp
@@ -3,6 +3,10 @@
#include <QFileInfo>
#include <QMessageBox>
#include "struct_data.h"
std::mutex _mutex;
std::condition_variable _conv;
int g_flag = 1;
VCSMainWindow::VCSMainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::VCSMainWindow)
@@ -22,8 +26,10 @@
    ui->stackedWidget->setCurrentWidget(m_addFile);
    connect(m_addFile,SIGNAL(addFileSignal(QString, QString)),this,SLOT(addFileSlot(QString, QString)));
    connect(m_addFile,SIGNAL(addFileSignal(std::shared_ptr<char>,int)),this,SLOT(addFileSlot(std::shared_ptr<char>,int)));
    connect(this,SIGNAL(releaseSignal()),m_release,SLOT(releaseSlot()));
    connect(m_addFile,SIGNAL(addFileMsg(QString)),this,SLOT(msgSlot(QString)));
    connect(m_release,SIGNAL(releaseSignal(std::shared_ptr<char>,int)),this,SLOT(addFileSlot(std::shared_ptr<char>,int)));
}
VCSMainWindow::~VCSMainWindow()
@@ -36,9 +42,11 @@
    ui->stackedWidget->setCurrentWidget(m_addFile);
}
// ä¸Šä¼ 
void VCSMainWindow::on_pushButton_2_clicked()
{
    ui->stackedWidget->setCurrentWidget(m_release);
    emit releaseSignal();
}
void VCSMainWindow::on_pushButton_4_clicked()
@@ -51,115 +59,21 @@
    ui->stackedWidget->setCurrentWidget(m_readLog);
}
void VCSMainWindow::addFileSlot(QString file, QString versionMessage)
void VCSMainWindow::addFileSlot(std::shared_ptr<char> buf, int len)
{
    QFileInfo fileInfo(file);
    // èŽ·å–æ–‡ä»¶åŸºæœ¬ä¿¡æ¯
    QString fileName = fileInfo.fileName();
    qint64 size = fileInfo.size();
        if (!buf || len <= 0) {
    //  è®¡ç®—头消息长度,并分配空间
    int len = sizeof(UpLoadPkgHead)+fileName.size()+1;
    UpLoadPkgHead *head = (UpLoadPkgHead*)malloc(len);
    // å¤´æ¶ˆæ¯ä¿¡æ¯å¡«å……
    head->head.type = UPLOAD_REQ;
    head->head.len = len;
    head->upLoadType = HEAD_UPLOAD_REQ;
    head->fileNameLen = fileName.size();
    memcpy(head->fileName,fileName.data(),fileName.size());
    head->fileName[fileName.size()] = '\0';
    // å‘送头消息
    int ret = m_upLoad->upfile((char*)head,len);
    if(ret < len){
        qDebug()<<"传输有问题: ";
        free(head);
        head = nullptr;
        return ;
    }
    free(head);
    head = nullptr;
    QFile *pFile = new QFile(file);
    if(!pFile){
        return;
    }
    // è¯»æ–‡ä»¶å†…容
    if (!pFile->open(QIODevice::ReadOnly)) {
        qDebug() << "Failed to open file for reading:" << pFile->errorString();
        m_msg->warning(nullptr, "提示", "文件打开失败");
        return;
    }
    const int bufferSize = 8 * 1024;
    char buffer[bufferSize] = {0};
    qint64 totalBytesRead = 0;
    int flag = 0;
    while (!pFile->atEnd()) {
        qint64 bytesRead = pFile->read(buffer, bufferSize);
        if (bytesRead == -1) {
            qDebug() << "Error during read operation:" << pFile->errorString();
            break;
            return;
        }
        totalBytesRead += bytesRead;
        int dtlen = sizeof(UpLoadPkgData)+fileName.size()+bytesRead+2;
        UpLoadPkgData *dataPkg = (UpLoadPkgData *)malloc(dtlen);
        memset(dataPkg, 0, dtlen);
        dataPkg->head.len = len;
        dataPkg->head.type = UPLOAD_REQ;
        dataPkg->upLoadType = DATA_UPLOAD_REQ;
        dataPkg->fileNameLen = fileName.size();
        dataPkg->dataLen = bytesRead;
        dataPkg->flag = ++flag;
        memcpy(dataPkg->data,fileName.data(),fileName.size());
        dataPkg->data[fileName.size()] = '\0';
        strcpy(&(dataPkg->data[fileName.size()+1]),buffer);
        ret = m_upLoad->upfile((char*)dataPkg,dtlen);
        if(ret < dtlen){
            qDebug()<<"数据传输有问题";
            free(dataPkg);
            dataPkg = nullptr;
            m_msg->warning(nullptr, "提示", "数据传输有问题");
            return ;
        int ret = m_upLoad->upfile(buf, len);  // å¤„理数据
        if(ret < len){
            qDebug()<<"传输有问题";
        }
        free(dataPkg);
        dataPkg = nullptr;
    }
    if(totalBytesRead != size){
        qDebug()<<"数据发送不完整";
        m_msg->warning(nullptr, "提示", "数据发送不完整");
        return;
    }
    qDebug()<<"数据发送完成,发送数据库包";
    int finLen = sizeof(UpLoadPkgFin)+fileName.size()+versionMessage.size()+2;
    UpLoadPkgFin *finPkg = (UpLoadPkgFin *)malloc(finLen);
    finPkg->head.len = finLen;
    finPkg->head.type = UPLOAD_REQ;
    finPkg->fileNameLen = fileName.size();
    finPkg->cnt = flag;
    memcpy(finPkg->fileName,fileName.data(),fileName.size());
    finPkg->fileName[fileName.size()] = '\0';
    memcpy(&(finPkg->fileName[fileName.size()+1]),versionMessage.data(),versionMessage.size());
    finPkg->fileName[fileName.size()+versionMessage.size()+1] = '\0';
    ret = m_upLoad->upfile((char*)finPkg,finLen);
    if(ret < finLen){
        qDebug()<<"fin包传输有问题";
        free(finPkg);
        finPkg = nullptr;
        m_msg->warning(nullptr, "提示", "上传失败!");
        return ;
    }
    free(finPkg);
    finPkg = nullptr;
    qDebug()<<"数据库包发送完成";
    m_msg->information(nullptr, "提示", "上传成功!");
}
void VCSMainWindow::msgSlot(QString msg)
{
    m_msg->information(this,"提示",msg);
}
Server/¸¶ÁÖÌÎ/code/tianKai/vcsmainwindow.h
@@ -20,7 +20,8 @@
public:
    explicit VCSMainWindow(QWidget *parent = 0);
    ~VCSMainWindow();
signals:
    void releaseSignal();
private slots:
    void on_pushButton_clicked();
@@ -30,7 +31,9 @@
    void on_pushButton_3_clicked();
    void addFileSlot(QString, QString);
    void addFileSlot(std::shared_ptr<char>,int);
    void msgSlot(QString);
private:
    Ui::VCSMainWindow *ui;
Server/¸¶ÁÖÌÎ/log/ÈÕÖ¾_¸¶ÁÖÌÎ_0729.doc
Binary files differ
Server/Áõ´´ÊÀ/log/ÈÕÖ¾_Áõ´´ÊÀ_2025-07-30.doc
copy from "Server/\344\273\230\346\236\227\346\266\233/log/~WRL0001.tmp" copy to "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-30.doc" Binary files differ
Server/À·É/log/ÈÕÖ¾_À·É_0729.doc
copy from "Server/\344\273\230\346\236\227\346\266\233/log/~WRL0001.tmp" copy to "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_0729.doc" Binary files differ
Server/¹ùÃúºè/log/ÈÕÖ¾_¹ùÃúºè_0729.doc
Binary files differ