From 8665daa7aa863f96d0d8f27c167edae1efc38022 Mon Sep 17 00:00:00 2001
From: zjk <852185829@qq.com>
Date: 星期五, 31 七月 2026 14:46:19 +0800
Subject: [PATCH] Merge branch 'master' into dev
---
visitor-admin-ui/js/version-update.js | 41 ++++++++++++++++++++++++++++-------------
1 files changed, 28 insertions(+), 13 deletions(-)
diff --git a/visitor-admin-ui/js/version-update.js b/visitor-admin-ui/js/version-update.js
index 33bfd5b..6c8622f 100644
--- a/visitor-admin-ui/js/version-update.js
+++ b/visitor-admin-ui/js/version-update.js
@@ -3,7 +3,7 @@
apiBaseUrl: "http://localhost:9098"
}, window.VISITOR_LOGIN_CONFIG || {});
- var MAX_PACKAGE_SIZE = 60 * 1024 * 1024;
+ var MAX_PACKAGE_SIZE = 200 * 1024 * 1024;
var state = {
pageNum: 1,
pageSize: 20,
@@ -69,6 +69,7 @@
function bindPageActions() {
var uploadDrop = document.getElementById("uploadDrop");
var packageFile = document.getElementById("packageFile");
+ var versionNoInput = document.getElementById("versionNo");
document.getElementById("addVersionButton").addEventListener("click", openAddModal);
document.getElementById("versionForm").addEventListener("submit", function (event) {
@@ -78,6 +79,10 @@
return;
}
saveVersion();
+ });
+
+ versionNoInput.addEventListener("input", function () {
+ versionNoInput.value = versionNoInput.value.replace(/[^\d.]/g, "").replace(/\.{2,}/g, ".");
});
document.querySelectorAll("[data-close='version']").forEach(function (button) {
@@ -155,11 +160,6 @@
' <td>' + escapeHtml(item.versionNo || "-") + '</td>',
' <td class="version-content-cell">',
' <span class="version-content-text">' + escapeHtml(item.updateContent || "-") + '</span>',
- ' <div class="content-preview">',
- ' <div class="preview-index">' + rowIndex + '</div>',
- ' <div class="preview-content">' + escapeHtml(item.updateContent || "-") + '</div>',
- ' <div class="preview-foot">' + escapeHtml(item.packageName || "安装包") + ' ' + escapeHtml(shortDate(item.createTime)) + '</div>',
- ' </div>',
' </td>',
' <td>' + escapeHtml(item.createTime || "-") + '</td>',
' <td><div class="table-actions">',
@@ -236,11 +236,15 @@
function saveVersion() {
var saveButton = document.getElementById("saveVersionButton");
- var versionNo = normalizeVersionNo(document.getElementById("versionNo").value);
+ var versionNumber = document.getElementById("versionNo").value.trim();
var updateContent = document.getElementById("updateContent").value.trim();
- if (!versionNo) {
+ if (!versionNumber) {
AppMessage.error("操作失败:请输入版本号");
+ return;
+ }
+ if (!/^\d+(\.\d+)*$/.test(versionNumber)) {
+ AppMessage.error("操作失败:版本号格式不正确,请输入数字或使用小数点分隔");
return;
}
if (!updateContent) {
@@ -251,13 +255,17 @@
AppMessage.error("操作失败:请上传安装包");
return;
}
+ if (isPackageTooLarge(state.packageFile)) {
+ AppMessage.error("操作失败:安装包大小必须小于200M");
+ return;
+ }
saveButton.disabled = true;
uploadPackage().then(function (fileInfo) {
return apiRequest("/system/version/update/add", {
method: "POST",
body: JSON.stringify({
- versionNo: versionNo,
+ versionNo: normalizeVersionNo(versionNumber),
updateContent: updateContent,
packageUrl: fileInfo.url || fileInfo.fileName || "",
packageName: fileInfo.originalFilename || fileInfo.newFileName || state.packageFile.name,
@@ -276,9 +284,12 @@
}
function uploadPackage() {
+ if (isPackageTooLarge(state.packageFile)) {
+ return Promise.reject(new Error("安装包大小必须小于200M"));
+ }
var formData = new FormData();
formData.append("file", state.packageFile);
- return apiRequest("/common/upload", {
+ return apiRequest("/system/version/update/upload", {
method: "POST",
body: formData,
skipJson: true
@@ -291,20 +302,24 @@
updatePackageTip();
return;
}
- if (file.size > MAX_PACKAGE_SIZE) {
+ if (isPackageTooLarge(file)) {
state.packageFile = null;
document.getElementById("packageFile").value = "";
updatePackageTip();
- AppMessage.error("操作失败:安装包大小不能超过60M");
+ AppMessage.error("操作失败:安装包大小必须小于200M");
return;
}
state.packageFile = file;
updatePackageTip(file.name);
}
+ function isPackageTooLarge(file) {
+ return !!file && file.size >= MAX_PACKAGE_SIZE;
+ }
+
function updatePackageTip(fileName) {
var uploadDrop = document.getElementById("uploadDrop");
- var text = fileName || "请上传安装包文件,大小在60M以内";
+ var text = fileName || "请上传安装包文件,大小须小于200M";
document.getElementById("packageTip").textContent = text;
uploadDrop.classList.toggle("has-file", !!fileName);
uploadDrop.querySelector("span").innerHTML = fileName
--
Gitblit v1.7.1