let userAppUploading = false; function onBtn1Click() { if (userAppUploading) { return; } document.getElementById("userAppFile").click(); } function uploadUserAppFile(input) { let file = input.files[0]; if (!file) { return; } if (!file.name.toLowerCase().endsWith(".tar.gz")) { alert("只允许上传 tar.gz 类型的文件"); input.value = ""; return; } userAppUploading = true; let formData = new FormData(); formData.append("file", file); let xhr = new XMLHttpRequest(); xhr.open("POST", "/api/app-install/uploadUserAPP", true); xhr.timeout = 600000; // 10分钟 xhr.upload.onprogress = function(e) { if (!e.lengthComputable) { return; } let percent = Math.floor(e.loaded * 100 / e.total); setText("bvar5", "正在上传 " + file.name + " (" + percent + "%)", "page6"); }; xhr.onload = function() { userAppUploading = false; input.value = ""; if (xhr.status !== 200) { setText("bvar5", "上传失败: " + xhr.responseText, "page6"); return; } setText("bvar5", "上传完成,等待下一步处理", "page6"); }; xhr.onerror = function() { userAppUploading = false; input.value = ""; setText("bvar5", "上传失败,请检查网络连接", "page6"); }; xhr.ontimeout = function() { userAppUploading = false; input.value = ""; setText("bvar5", "上传超时,请稍后重新尝试", "page6"); }; xhr.send(formData); } function initPage6() { } function exitPage6() { }