teste login
Deploy / Deploy (push) Successful in 2m15s
Details
Deploy / Deploy (push) Successful in 2m15s
Details
This commit is contained in:
parent
c696361996
commit
ae221ba8f1
|
|
@ -29,11 +29,16 @@ permalink: /samples/
|
||||||
<i class="fa-solid fa-house"></i>
|
<i class="fa-solid fa-house"></i>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button id="btn-open-upload" class="button is-small is-success is-light mr-3" title="Enviar novo Sample" style="display: inline-flex; align-items: center;">
|
<button id="btn-open-upload" class="button is-small is-success is-light mr-3 is-hidden" title="Enviar novo Sample" style="display: inline-flex; align-items: center;">
|
||||||
<span class="icon"><i class="fa-solid fa-upload"></i></span>
|
<span class="icon"><i class="fa-solid fa-upload"></i></span>
|
||||||
<span>Enviar Sample</span>
|
<span>Enviar Sample</span>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
|
<a href="/mmpSearch/login/" id="btn-login-trigger" class="button is-small is-warning is-light mr-3" title="Fazer Login">
|
||||||
|
<span class="icon"><i class="fa-solid fa-lock"></i></span>
|
||||||
|
<span>Login para Enviar</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
<nav class="breadcrumb is-small mb-0" aria-label="breadcrumbs">
|
<nav class="breadcrumb is-small mb-0" aria-label="breadcrumbs">
|
||||||
<ul id="breadcrumb-list">
|
<ul id="breadcrumb-list">
|
||||||
<li class="is-active"><a href="#">Raiz</a></li>
|
<li class="is-active"><a href="#">Raiz</a></li>
|
||||||
|
|
@ -286,7 +291,30 @@ permalink: /samples/
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
document.addEventListener('DOMContentLoaded', () => {
|
document.addEventListener('DOMContentLoaded', async () => {
|
||||||
|
// === VERIFICAÇÃO DE LOGIN (NOVO) ===
|
||||||
|
const btnUpload = document.getElementById('btn-open-upload');
|
||||||
|
const btnLogin = document.getElementById('btn-login-trigger');
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Verifica auth via Proxy Apache
|
||||||
|
const res = await fetch('/api/check_auth');
|
||||||
|
const authData = await res.json();
|
||||||
|
|
||||||
|
if (authData.logged_in) {
|
||||||
|
// Se logado: Mostra botão Upload, Esconde botão Login
|
||||||
|
btnUpload.classList.remove('is-hidden');
|
||||||
|
btnLogin.classList.add('is-hidden');
|
||||||
|
} else {
|
||||||
|
// Se visitante: Garante que botão Login aparece e Upload some
|
||||||
|
btnUpload.classList.add('is-hidden');
|
||||||
|
btnLogin.classList.remove('is-hidden');
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.error("Erro auth:", e);
|
||||||
|
}
|
||||||
|
// ===================================
|
||||||
|
|
||||||
// === DADOS E CONFIGURAÇÃO ===
|
// === DADOS E CONFIGURAÇÃO ===
|
||||||
const manifestData = {{ site.data['samples-manifest'] | jsonify }};
|
const manifestData = {{ site.data['samples-manifest'] | jsonify }};
|
||||||
const BASE_ASSETS_URL = "{{ '/src_mmpSearch/samples/' | relative_url }}";
|
const BASE_ASSETS_URL = "{{ '/src_mmpSearch/samples/' | relative_url }}";
|
||||||
|
|
@ -510,10 +538,10 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||||
document.addEventListener('keydown', (e) => { if (e.key === "Escape") closeModal(); });
|
document.addEventListener('keydown', (e) => { if (e.key === "Escape") closeModal(); });
|
||||||
|
|
||||||
// ==========================================================
|
// ==========================================================
|
||||||
// === LÓGICA DE UPLOAD & GRAVAÇÃO (CORRIGIDA) ===
|
// === LÓGICA DE UPLOAD & GRAVAÇÃO ===
|
||||||
// ==========================================================
|
// ==========================================================
|
||||||
const uploadModal = document.getElementById('upload-sample-modal');
|
const uploadModal = document.getElementById('upload-sample-modal');
|
||||||
const btnOpenUpload = document.getElementById('btn-open-upload');
|
const btnOpenUpload = document.getElementById('btn-open-upload'); // Botão agora pode estar hidden
|
||||||
const btnCloseUpload = document.getElementById('close-upload-modal');
|
const btnCloseUpload = document.getElementById('close-upload-modal');
|
||||||
const btnCancelUpload = document.getElementById('cancel-upload');
|
const btnCancelUpload = document.getElementById('cancel-upload');
|
||||||
const fileInput = document.getElementById('file-input-real');
|
const fileInput = document.getElementById('file-input-real');
|
||||||
|
|
@ -587,7 +615,6 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
mediaRecorder.onstop = () => {
|
mediaRecorder.onstop = () => {
|
||||||
// CORREÇÃO 1: Forçamos o tipo para OGG para o servidor aceitar
|
|
||||||
audioBlob = new Blob(audioChunks, { type: 'audio/ogg' });
|
audioBlob = new Blob(audioChunks, { type: 'audio/ogg' });
|
||||||
|
|
||||||
const audioUrl = URL.createObjectURL(audioBlob);
|
const audioUrl = URL.createObjectURL(audioBlob);
|
||||||
|
|
@ -665,18 +692,14 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
let filename = recordNameInput.value.trim() || "gravacao";
|
let filename = recordNameInput.value.trim() || "gravacao";
|
||||||
|
|
||||||
// CORREÇÃO 2: Removemos a extensão antiga se houver e forçamos .ogg
|
|
||||||
// Isso engana a validação simples do servidor
|
|
||||||
filename = filename.replace(/\.(webm|wav|mp3|flac)$/i, "");
|
filename = filename.replace(/\.(webm|wav|mp3|flac)$/i, "");
|
||||||
filename += ".ogg";
|
filename += ".ogg";
|
||||||
|
|
||||||
console.log("Enviando arquivo como:", filename); // Debug
|
|
||||||
|
|
||||||
formData.append('sample_file', audioBlob, filename);
|
formData.append('sample_file', audioBlob, filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
const API_URL = 'https://alice.ufsj.edu.br:33002/api/upload/sample';
|
// URL CORRIGIDA: Usando Proxy reverso (sem porta 33002)
|
||||||
|
const API_URL = '/api/upload/sample';
|
||||||
|
|
||||||
// UI Loading
|
// UI Loading
|
||||||
confirmUploadBtn.classList.add('is-loading');
|
confirmUploadBtn.classList.add('is-loading');
|
||||||
|
|
@ -685,15 +708,12 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||||
uploadStatus.textContent = "Enviando dados...";
|
uploadStatus.textContent = "Enviando dados...";
|
||||||
uploadStatus.className = "help has-text-info";
|
uploadStatus.className = "help has-text-info";
|
||||||
|
|
||||||
console.log("Enviando para:", API_URL);
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const response = await fetch(API_URL, {
|
const response = await fetch(API_URL, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
body: formData
|
body: formData
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log("Status:", response.status);
|
|
||||||
const result = await response.json();
|
const result = await response.json();
|
||||||
|
|
||||||
if (response.ok) {
|
if (response.ok) {
|
||||||
|
|
@ -707,7 +727,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||||
console.error("Erro Upload:", error);
|
console.error("Erro Upload:", error);
|
||||||
let msg = "Erro: " + error.message;
|
let msg = "Erro: " + error.message;
|
||||||
if (error.message.includes("Failed to fetch")) {
|
if (error.message.includes("Failed to fetch")) {
|
||||||
msg = "Erro de Conexão (Verifique VPN/Firewall - Porta 33002).";
|
msg = "Erro de Conexão.";
|
||||||
}
|
}
|
||||||
uploadStatus.textContent = msg;
|
uploadStatus.textContent = msg;
|
||||||
uploadStatus.className = "help has-text-danger";
|
uploadStatus.className = "help has-text-danger";
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue