исправлено автоскачивание проекта vMix на кнопку во вкладке игра
This commit is contained in:
@@ -602,70 +602,6 @@
|
||||
throw new Error(data.error || data.vmix_error || "Не удалось выбрать матч");
|
||||
}
|
||||
|
||||
if (data.download_url) {
|
||||
setLoaderState("",
|
||||
"Подготовка матча",
|
||||
"Формирование проекта vMix..."
|
||||
);
|
||||
|
||||
const downloadResponse = await fetch(data.download_url, {
|
||||
method: "GET",
|
||||
credentials: "same-origin"
|
||||
});
|
||||
|
||||
if (!downloadResponse.ok) {
|
||||
let errText = "Не удалось скачать vMix проект";
|
||||
try {
|
||||
const errJson = await downloadResponse.json();
|
||||
errText = errJson.error || errText;
|
||||
} catch (_) {}
|
||||
throw new Error(errText);
|
||||
}
|
||||
|
||||
setLoaderState("",
|
||||
"Подготовка матча",
|
||||
"Скачивание проекта vMix..."
|
||||
);
|
||||
|
||||
const blob = await downloadResponse.blob();
|
||||
|
||||
let filename = "project.vmix";
|
||||
const disposition = downloadResponse.headers.get("Content-Disposition");
|
||||
|
||||
if (disposition) {
|
||||
let match = disposition.match(/filename\*=UTF-8''([^;]+)/i);
|
||||
if (match && match[1]) {
|
||||
filename = decodeURIComponent(match[1]);
|
||||
} else {
|
||||
match = disposition.match(/filename="([^"]+)"/i);
|
||||
if (match && match[1]) {
|
||||
filename = match[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const blobUrl = window.URL.createObjectURL(blob);
|
||||
const a = document.createElement("a");
|
||||
a.href = blobUrl;
|
||||
a.download = filename;
|
||||
document.body.appendChild(a);
|
||||
a.click();
|
||||
a.remove();
|
||||
|
||||
setLoaderState(
|
||||
"is-success",
|
||||
"Загрузка завершена",
|
||||
"Проект vMix успешно подготовлен.\nПереход во вкладку «Игра»..."
|
||||
);
|
||||
|
||||
setTimeout(() => {
|
||||
window.URL.revokeObjectURL(blobUrl);
|
||||
window.location.href = data.session_url + "?tab=game";
|
||||
}, 1200);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
setLoaderState(
|
||||
"is-success",
|
||||
"Загрузка завершена",
|
||||
|
||||
Reference in New Issue
Block a user