fix(upload): 改进应用文件名生成逻辑并统一上传路径
refactor(version_control): 重构版本控制文件处理逻辑 - 在upload_app.php和version_control.php中: - 使用6位随机数和清理后的应用名称生成文件名 - 统一上传路径到uploads/apps目录 - 添加500MB文件大小限制 - 改进错误处理和日志记录 - 在version_control.php中: - 使用SweetAlert替代原生确认对话框 - 优化文件删除逻辑 - 改进版本更新流程
This commit is contained in:
@@ -88,7 +88,11 @@ if (!($conn instanceof mysqli)) {
|
||||
$error = '应用文件大小不能超过500MB';
|
||||
}
|
||||
$appExtension = pathinfo($appFile['name'], PATHINFO_EXTENSION);
|
||||
$appFileName = uniqid() . '.' . $appExtension;
|
||||
// 生成6位随机数
|
||||
$randomNumber = str_pad(mt_rand(0, 999999), 6, '0', STR_PAD_LEFT);
|
||||
// 清理应用名称中的特殊字符
|
||||
$cleanAppName = preg_replace('/[^a-zA-Z0-9_]/', '_', $appName);
|
||||
$appFileName = $cleanAppName . '_' . $randomNumber . '.' . $appExtension;
|
||||
$appRelativePath = 'uploads/apps/' . $appFileName;
|
||||
$appFilePath = __DIR__ . '/../' . $appRelativePath;
|
||||
if (!move_uploaded_file($appFile['tmp_name'], $appFilePath)) {
|
||||
|
||||
@@ -46,47 +46,59 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['upload_version'])) {
|
||||
$error = '版本号和安装包不能为空';
|
||||
} else {
|
||||
// 处理App文件上传
|
||||
$uploadDir = __DIR__ . '/../files/';
|
||||
$uploadDir = __DIR__ . '/../uploads/apps/';
|
||||
if (!is_dir($uploadDir)) {
|
||||
mkdir($uploadDir, 0755, true);
|
||||
}
|
||||
$fileName = basename($_FILES['app_file']['name']);
|
||||
$targetPath = $uploadDir . $fileName;
|
||||
|
||||
if (move_uploaded_file($_FILES['app_file']['tmp_name'], $targetPath)) {
|
||||
$version = $_POST['version'];
|
||||
$changelog = $_POST['changelog'] ?? '';
|
||||
|
||||
// 插入新版本记录
|
||||
$insertVersionSql = "INSERT INTO app_versions (app_id, version, changelog, file_path) VALUES (?, ?, ?, ?)";
|
||||
$verStmt = $conn->prepare($insertVersionSql);
|
||||
if (!$verStmt) {
|
||||
log_error("版本插入准备失败: " . $conn->error, __FILE__, __LINE__);
|
||||
$error = '版本保存失败,请稍后再试';
|
||||
unlink($targetPath); // 清理已上传文件
|
||||
} else {
|
||||
$verStmt->bind_param("isss", $appId, $version, $changelog, $fileName);
|
||||
|
||||
if ($verStmt->execute()) {
|
||||
// 更新应用表中的最新版本
|
||||
$updateAppSql = "UPDATE apps SET version = ? WHERE id = ?";
|
||||
$updStmt = $conn->prepare($updateAppSql);
|
||||
if (!$updStmt) {
|
||||
log_error("应用版本更新准备失败: " . $conn->error, __FILE__, __LINE__);
|
||||
$error = '更新应用版本失败,请稍后再试';
|
||||
unlink($targetPath); // 数据库更新失败,删除文件
|
||||
} else {
|
||||
$updStmt->bind_param("si", $version, $appId);
|
||||
$updStmt->execute();
|
||||
$success = '版本上传成功';
|
||||
}
|
||||
} else {
|
||||
$error = '版本保存失败: '. $conn->error;
|
||||
unlink($targetPath); // 数据库更新失败,删除文件
|
||||
}
|
||||
}
|
||||
// 验证文件大小 (500MB)
|
||||
if ($_FILES['app_file']['size'] > 500 * 1024 * 1024) {
|
||||
log_error('应用文件过大: ' . number_format($_FILES['app_file']['size'] / 1024 / 1024, 2) . 'MB', __FILE__, __LINE__);
|
||||
$error = '应用文件大小不能超过500MB';
|
||||
} else {
|
||||
$error = '文件上传失败';
|
||||
$appExtension = pathinfo($_FILES['app_file']['name'], PATHINFO_EXTENSION);
|
||||
// 生成6位随机数
|
||||
$randomNumber = str_pad(mt_rand(0, 999999), 6, '0', STR_PAD_LEFT);
|
||||
// 清理应用名称中的特殊字符
|
||||
$cleanAppName = preg_replace('/[^a-zA-Z0-9_]/', '_', $app['name']);
|
||||
$appFileName = $cleanAppName . '_' . $randomNumber . '.' . $appExtension;
|
||||
$appRelativePath = 'uploads/apps/' . $appFileName;
|
||||
$targetPath = $uploadDir . $appFileName;
|
||||
|
||||
if (move_uploaded_file($_FILES['app_file']['tmp_name'], $targetPath)) {
|
||||
$version = $_POST['version'];
|
||||
$changelog = $_POST['changelog'] ?? '';
|
||||
|
||||
// 插入新版本记录
|
||||
$insertVersionSql = "INSERT INTO app_versions (app_id, version, changelog, file_path) VALUES (?, ?, ?, ?)";
|
||||
$verStmt = $conn->prepare($insertVersionSql);
|
||||
if (!$verStmt) {
|
||||
log_error("版本插入准备失败: " . $conn->error, __FILE__, __LINE__);
|
||||
$error = '版本保存失败,请稍后再试';
|
||||
unlink($targetPath); // 清理已上传文件
|
||||
} else {
|
||||
$verStmt->bind_param("isss", $appId, $version, $changelog, $appRelativePath);
|
||||
|
||||
if ($verStmt->execute()) {
|
||||
// 更新应用表中的最新版本
|
||||
$updateAppSql = "UPDATE apps SET version = ? WHERE id = ?";
|
||||
$updStmt = $conn->prepare($updateAppSql);
|
||||
if (!$updStmt) {
|
||||
log_error("应用版本更新准备失败: " . $conn->error, __FILE__, __LINE__);
|
||||
$error = '更新应用版本失败,请稍后再试';
|
||||
unlink($targetPath); // 数据库更新失败,删除文件
|
||||
} else {
|
||||
$updStmt->bind_param("si", $version, $appId);
|
||||
$updStmt->execute();
|
||||
$success = '版本上传成功';
|
||||
}
|
||||
} else {
|
||||
$error = '版本保存失败: '. $conn->error;
|
||||
unlink($targetPath); // 数据库更新失败,删除文件
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$error = '文件上传失败';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -99,53 +111,64 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['version_id'])) {
|
||||
|
||||
// 检查是否有新文件上传
|
||||
if (!empty($_FILES['new_app_file']['name'])) {
|
||||
$uploadDir = __DIR__ . '/../files/';
|
||||
$uploadDir = __DIR__ . '/../uploads/apps/';
|
||||
if (!is_dir($uploadDir)) {
|
||||
mkdir($uploadDir, 0755, true);
|
||||
}
|
||||
$fileName = basename($_FILES['new_app_file']['name']);
|
||||
$newFilePath = $uploadDir . $fileName;
|
||||
|
||||
if (move_uploaded_file($_FILES['new_app_file']['tmp_name'], $newFilePath)) {
|
||||
// 获取旧文件路径并删除
|
||||
$getOldPathSql = "SELECT file_path FROM app_versions WHERE id = ?";
|
||||
$getOldPathStmt = $conn->prepare($getOldPathSql);
|
||||
if (!$getOldPathStmt) {
|
||||
log_error("获取旧文件路径查询准备失败: " . $conn->error, __FILE__, __LINE__);
|
||||
$error = '版本修改失败,请稍后再试';
|
||||
unlink($newFilePath);
|
||||
} else {
|
||||
$getOldPathStmt->bind_param("i", $versionId);
|
||||
$getOldPathStmt->execute();
|
||||
$oldPathResult = $getOldPathStmt->get_result();
|
||||
if ($oldPathResult->num_rows > 0) {
|
||||
$oldPathRow = $oldPathResult->fetch_assoc();
|
||||
$oldFileName = $oldPathRow['file_path'];
|
||||
$oldFilePath = $uploadDir . $oldFileName;
|
||||
if (file_exists($oldFilePath)) {
|
||||
unlink($oldFilePath);
|
||||
}
|
||||
}
|
||||
|
||||
// 更新版本信息
|
||||
$updateVersionSql = "UPDATE app_versions SET version = ?, changelog = ?, file_path = ? WHERE id = ?";
|
||||
$updateVersionStmt = $conn->prepare($updateVersionSql);
|
||||
if (!$updateVersionStmt) {
|
||||
log_error("版本更新查询准备失败: " . $conn->error, __FILE__, __LINE__);
|
||||
// 验证文件大小 (500MB)
|
||||
if ($_FILES['new_app_file']['size'] > 500 * 1024 * 1024) {
|
||||
log_error('应用文件过大: ' . number_format($_FILES['new_app_file']['size'] / 1024 / 1024, 2) . 'MB', __FILE__, __LINE__);
|
||||
$error = '应用文件大小不能超过500MB';
|
||||
} else {
|
||||
$appExtension = pathinfo($_FILES['new_app_file']['name'], PATHINFO_EXTENSION);
|
||||
// 生成6位随机数
|
||||
$randomNumber = str_pad(mt_rand(0, 999999), 6, '0', STR_PAD_LEFT);
|
||||
// 清理应用名称中的特殊字符
|
||||
$cleanAppName = preg_replace('/[^a-zA-Z0-9_]/', '_', $app['name']);
|
||||
$appFileName = $cleanAppName . '_' . $randomNumber . '.' . $appExtension;
|
||||
$appRelativePath = 'uploads/apps/' . $appFileName;
|
||||
$newFilePath = $uploadDir . $appFileName;
|
||||
|
||||
if (move_uploaded_file($_FILES['new_app_file']['tmp_name'], $newFilePath)) {
|
||||
// 获取旧文件路径并删除
|
||||
$getOldPathSql = "SELECT file_path FROM app_versions WHERE id = ?";
|
||||
$getOldPathStmt = $conn->prepare($getOldPathSql);
|
||||
if (!$getOldPathStmt) {
|
||||
log_error("获取旧文件路径查询准备失败: " . $conn->error, __FILE__, __LINE__);
|
||||
$error = '版本修改失败,请稍后再试';
|
||||
unlink($newFilePath);
|
||||
} else {
|
||||
$updateVersionStmt->bind_param("sssi", $version, $changelog, $fileName, $versionId);
|
||||
if ($updateVersionStmt->execute()) {
|
||||
$success = '版本修改成功';
|
||||
} else {
|
||||
$error = '版本修改失败: ' . $conn->error;
|
||||
$getOldPathStmt->bind_param("i", $versionId);
|
||||
$getOldPathStmt->execute();
|
||||
$oldPathResult = $getOldPathStmt->get_result();
|
||||
if ($oldPathResult->num_rows > 0) {
|
||||
$oldPathRow = $oldPathResult->fetch_assoc();
|
||||
$oldFilePath = __DIR__ . '/../' . $oldPathRow['file_path'];
|
||||
if (file_exists($oldFilePath)) {
|
||||
unlink($oldFilePath);
|
||||
}
|
||||
}
|
||||
|
||||
// 更新版本信息
|
||||
$updateVersionSql = "UPDATE app_versions SET version = ?, changelog = ?, file_path = ? WHERE id = ?";
|
||||
$updateVersionStmt = $conn->prepare($updateVersionSql);
|
||||
if (!$updateVersionStmt) {
|
||||
log_error("版本更新查询准备失败: " . $conn->error, __FILE__, __LINE__);
|
||||
$error = '版本修改失败,请稍后再试';
|
||||
unlink($newFilePath);
|
||||
} else {
|
||||
$updateVersionStmt->bind_param("sssi", $version, $changelog, $appRelativePath, $versionId);
|
||||
if ($updateVersionStmt->execute()) {
|
||||
$success = '版本修改成功';
|
||||
} else {
|
||||
$error = '版本修改失败: ' . $conn->error;
|
||||
unlink($newFilePath);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$error = '文件上传失败';
|
||||
}
|
||||
} else {
|
||||
$error = '文件上传失败';
|
||||
}
|
||||
} else {
|
||||
// 仅更新版本号和更新日志
|
||||
@@ -168,7 +191,6 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['version_id'])) {
|
||||
// 处理版本删除请求
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['delete_version'])) {
|
||||
$versionId = $_POST['version_id'];
|
||||
$uploadDir = __DIR__ . '/../files/';
|
||||
|
||||
// 获取文件路径
|
||||
$getFilePathSql = "SELECT file_path FROM app_versions WHERE id = ?";
|
||||
@@ -182,8 +204,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['delete_version'])) {
|
||||
$fileResult = $getFileStmt->get_result();
|
||||
if ($fileResult->num_rows > 0) {
|
||||
$fileRow = $fileResult->fetch_assoc();
|
||||
$fileName = $fileRow['file_path'];
|
||||
$filePath = $uploadDir . $fileName;
|
||||
$filePath = __DIR__ . '/../' . $fileRow['file_path'];
|
||||
|
||||
// 删除文件
|
||||
if (file_exists($filePath)) {
|
||||
@@ -420,17 +441,44 @@ if (!$verStmt) {
|
||||
}
|
||||
|
||||
function confirmDelete(versionId) {
|
||||
const formData = new FormData();
|
||||
formData.append('delete_version', 'true');
|
||||
formData.append('version_id', versionId);
|
||||
|
||||
fetch('version_control.php', { method: 'POST', body: formData })
|
||||
.then(response => response.text())
|
||||
.then(data => {
|
||||
window.location.reload();
|
||||
})
|
||||
.catch(error => {
|
||||
window.location.reload();
|
||||
// 使用Sweet Alert弹窗进行确认
|
||||
Swal.fire({
|
||||
title: '确定要删除这个版本吗?',
|
||||
text: "此操作无法撤销,删除后将无法恢复。",
|
||||
icon: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#d33',
|
||||
cancelButtonColor: '#3085d6',
|
||||
confirmButtonText: '确认删除',
|
||||
cancelButtonText: '取消'
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
const formData = new FormData();
|
||||
formData.append('delete_version', 'true');
|
||||
formData.append('version_id', versionId);
|
||||
|
||||
fetch('version_control.php', { method: 'POST', body: formData })
|
||||
.then(response => response.text())
|
||||
.then(data => {
|
||||
// 显示操作结果
|
||||
Swal.fire({
|
||||
title: '操作成功',
|
||||
text: data,
|
||||
icon: 'success'
|
||||
}).then(() => {
|
||||
window.location.reload();
|
||||
});
|
||||
})
|
||||
.catch(error => {
|
||||
Swal.fire(
|
||||
'操作失败',
|
||||
'版本删除失败,请稍后再试',
|
||||
'error'
|
||||
).then(() => {
|
||||
window.location.reload();
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
BIN
pyqt5fluentdesign/output/leonapp.exe
Normal file
BIN
pyqt5fluentdesign/output/leonapp.exe
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/PyQt5/QtCore.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/PyQt5/QtCore.pyd
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/PyQt5/QtGui.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/PyQt5/QtGui.pyd
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/PyQt5/QtSvg.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/PyQt5/QtSvg.pyd
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/PyQt5/QtWidgets.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/PyQt5/QtWidgets.pyd
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/PyQt5/QtXml.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/PyQt5/QtXml.pyd
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/PyQt5/sip.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/PyQt5/sip.pyd
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/_bz2.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/_bz2.pyd
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/_ctypes.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/_ctypes.pyd
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/_decimal.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/_decimal.pyd
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/_elementtree.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/_elementtree.pyd
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/_hashlib.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/_hashlib.pyd
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/_lzma.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/_lzma.pyd
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/_queue.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/_queue.pyd
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/_socket.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/_socket.pyd
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/_ssl.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/_ssl.pyd
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/_win32sysloader.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/_win32sysloader.pyd
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/_wmi.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/_wmi.pyd
Normal file
Binary file not shown.
4738
pyqt5fluentdesign/output/leonapp_gui.dist/certifi/cacert.pem
Normal file
4738
pyqt5fluentdesign/output/leonapp_gui.dist/certifi/cacert.pem
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/concrt140.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/concrt140.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/leonapp_gui.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/leonapp_gui.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/libcrypto-3.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/libcrypto-3.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/libeay32.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/libeay32.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/libffi-8.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/libffi-8.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/libssl-3.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/libssl-3.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/msvcp140.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/msvcp140.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/msvcp140_1.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/msvcp140_1.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/pyexpat.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/pyexpat.pyd
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/python3.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/python3.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/python312.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/python312.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/pythoncom312.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/pythoncom312.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/pywintypes312.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/pywintypes312.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5core.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5core.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5dbus.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5dbus.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5gui.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5gui.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5multimedia.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5multimedia.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5network.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5network.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5printsupport.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5printsupport.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5qml.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5qml.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5qmlmodels.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5qmlmodels.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5quick.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5quick.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5svg.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5svg.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5websockets.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5websockets.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5widgets.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5widgets.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5xml.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/qt5xml.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/select.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/select.pyd
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/ssleay32.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/ssleay32.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/unicodedata.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/unicodedata.pyd
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/vcruntime140.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/vcruntime140.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/vcruntime140_1.dll
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/vcruntime140_1.dll
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/win32api.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/win32api.pyd
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/win32gui.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/win32gui.pyd
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/win32print.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/win32print.pyd
Normal file
Binary file not shown.
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/zstandard/_cffi.pyd
Normal file
BIN
pyqt5fluentdesign/output/leonapp_gui.dist/zstandard/_cffi.pyd
Normal file
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user