]> OzVa Git service - ozva-cloud/commitdiff
fix: ui set default max uploading to 1 (#220)
authorsigoden <sigoden@gmail.com>
Thu, 1 Jun 2023 13:32:22 +0000 (21:32 +0800)
committerGitHub <noreply@github.com>
Thu, 1 Jun 2023 13:32:22 +0000 (21:32 +0800)
assets/index.js

index 56c400c6e54949ecc9918be9abfa8cc7b1d5d65c..dfbe98ac7114d0c5419fe743f1c98bad848129f7 100644 (file)
@@ -22,6 +22,8 @@
  * @property {string} editable
  */
 
+var DUFS_MAX_UPLOADINGS = 1;
+
 /**
  * @type {DATA} DATA
  */
@@ -152,7 +154,6 @@ class Uploader {
   }
 
   ajax() {
-    Uploader.runnings += 1;
     const url = newUrl(this.name);
     this.lastUptime = Date.now();
     const ajax = new XMLHttpRequest();
@@ -187,13 +188,13 @@ class Uploader {
 
   complete() {
     this.$uploadStatus.innerHTML = `✓`;
-    Uploader.runnings -= 1;
+    Uploader.runnings--;
     Uploader.runQueue();
   }
 
   fail() {
     this.$uploadStatus.innerHTML = `✗`;
-    Uploader.runnings -= 1;
+    Uploader.runnings--;
     Uploader.runQueue();
   }
 }
@@ -211,16 +212,14 @@ Uploader.queues = [];
 
 
 Uploader.runQueue = async () => {
-  if (Uploader.runnings > 2) return;
+  if (Uploader.runnings >= DUFS_MAX_UPLOADINGS) return;
+  if (Uploader.queues.length == 0) return;
+  Uploader.runnings++;
   let uploader = Uploader.queues.shift();
-  if (!uploader) return;
   if (!Uploader.auth) {
     Uploader.auth = true;
-    try {
-      await login();
-    } catch {
-      Uploader.auth = false;
-    }
+    const success = await login(true);
+    Uploader.auth = !!success;
   }
   uploader.ajax();
 }
@@ -662,6 +661,7 @@ async function login(alert = false) {
     document.querySelector(".login-btn").classList.add("hidden");
     $userBtn.classList.remove("hidden");
     $userBtn.title = "";
+    return true;
   } catch (err) {
     let message = `Cannot login, ${err.message}`;
     if (alert) {