|
|
@@ -1,4 +1,9 @@
|
|
|
+let userAppUploading = false;
|
|
|
+
|
|
|
function onBtn1Click() {
|
|
|
+ if (userAppUploading) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
document.getElementById("userAppFile").click();
|
|
|
}
|
|
|
|
|
|
@@ -9,11 +14,57 @@ function uploadUserAppFile(input) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (!file.name.endsWith(".tar.gz")) {
|
|
|
+ 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() {
|