Spaces:
Paused
Paused
<html lang="fa" dir="rtl"> | |
<head> | |
<meta charset="UTF-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
<title>تست اتصال فرانتاند و بکاند</title> | |
<style> | |
body { | |
font-family: 'Arial', sans-serif; | |
max-width: 800px; | |
margin: 0 auto; | |
padding: 20px; | |
background: #f5f5f5; | |
} | |
.test-section { | |
background: white; | |
padding: 20px; | |
margin: 20px 0; | |
border-radius: 8px; | |
box-shadow: 0 2px 4px rgba(0,0,0,0.1); | |
} | |
.success { color: green; } | |
.error { color: red; } | |
.info { color: blue; } | |
button { | |
background: #007bff; | |
color: white; | |
border: none; | |
padding: 10px 20px; | |
border-radius: 4px; | |
cursor: pointer; | |
margin: 5px; | |
} | |
button:hover { | |
background: #0056b3; | |
} | |
pre { | |
background: #f8f9fa; | |
padding: 10px; | |
border-radius: 4px; | |
overflow-x: auto; | |
} | |
</style> | |
</head> | |
<body> | |
<h1>تست اتصال فرانتاند و بکاند</h1> | |
<div class="test-section"> | |
<h2>تست اتصال API</h2> | |
<button onclick="testConnection()">تست اتصال</button> | |
<div id="connectionResult"></div> | |
</div> | |
<div class="test-section"> | |
<h2>تست دریافت آمار داشبورد</h2> | |
<button onclick="testDashboardSummary()">دریافت آمار</button> | |
<div id="dashboardResult"></div> | |
</div> | |
<div class="test-section"> | |
<h2>تست دریافت اسناد</h2> | |
<button onclick="testDocuments()">دریافت اسناد</button> | |
<div id="documentsResult"></div> | |
</div> | |
<div class="test-section"> | |
<h2>تست شروع جمعآوری</h2> | |
<button onclick="testScraping()">شروع جمعآوری</button> | |
<div id="scrapingResult"></div> | |
</div> | |
<script> | |
const API_BASE = 'http://localhost:8000'; | |
async function testConnection() { | |
const resultDiv = document.getElementById('connectionResult'); | |
resultDiv.innerHTML = '<p class="info">در حال تست اتصال...</p>'; | |
try { | |
const response = await fetch(`${API_BASE}/api/dashboard-summary`); | |
if (response.ok) { | |
resultDiv.innerHTML = '<p class="success">✅ اتصال موفق! سرور در دسترس است.</p>'; | |
} else { | |
resultDiv.innerHTML = `<p class="error">❌ خطا در اتصال: ${response.status} ${response.statusText}</p>`; | |
} | |
} catch (error) { | |
resultDiv.innerHTML = `<p class="error">❌ خطا در اتصال: ${error.message}</p>`; | |
} | |
} | |
async function testDashboardSummary() { | |
const resultDiv = document.getElementById('dashboardResult'); | |
resultDiv.innerHTML = '<p class="info">در حال دریافت آمار...</p>'; | |
try { | |
const response = await fetch(`${API_BASE}/api/dashboard-summary`); | |
if (response.ok) { | |
const data = await response.json(); | |
resultDiv.innerHTML = ` | |
<p class="success">✅ آمار دریافت شد:</p> | |
<pre>${JSON.stringify(data, null, 2)}</pre> | |
`; | |
} else { | |
resultDiv.innerHTML = `<p class="error">❌ خطا در دریافت آمار: ${response.status}</p>`; | |
} | |
} catch (error) { | |
resultDiv.innerHTML = `<p class="error">❌ خطا در دریافت آمار: ${error.message}</p>`; | |
} | |
} | |
async function testDocuments() { | |
const resultDiv = document.getElementById('documentsResult'); | |
resultDiv.innerHTML = '<p class="info">در حال دریافت اسناد...</p>'; | |
try { | |
const response = await fetch(`${API_BASE}/api/documents?limit=5`); | |
if (response.ok) { | |
const data = await response.json(); | |
resultDiv.innerHTML = ` | |
<p class="success">✅ اسناد دریافت شد (${data.length} سند):</p> | |
<pre>${JSON.stringify(data, null, 2)}</pre> | |
`; | |
} else { | |
resultDiv.innerHTML = `<p class="error">❌ خطا در دریافت اسناد: ${response.status}</p>`; | |
} | |
} catch (error) { | |
resultDiv.innerHTML = `<p class="error">❌ خطا در دریافت اسناد: ${error.message}</p>`; | |
} | |
} | |
async function testScraping() { | |
const resultDiv = document.getElementById('scrapingResult'); | |
resultDiv.innerHTML = '<p class="info">در حال شروع جمعآوری...</p>'; | |
try { | |
const response = await fetch(`${API_BASE}/api/scrape-trigger`, { | |
method: 'POST', | |
headers: { | |
'Content-Type': 'application/json', | |
}, | |
body: JSON.stringify({ manual_trigger: true }) | |
}); | |
if (response.ok) { | |
const data = await response.json(); | |
resultDiv.innerHTML = ` | |
<p class="success">✅ جمعآوری شروع شد:</p> | |
<pre>${JSON.stringify(data, null, 2)}</pre> | |
`; | |
} else { | |
resultDiv.innerHTML = `<p class="error">❌ خطا در شروع جمعآوری: ${response.status}</p>`; | |
} | |
} catch (error) { | |
resultDiv.innerHTML = `<p class="error">❌ خطا در شروع جمعآوری: ${error.message}</p>`; | |
} | |
} | |
// Auto-test on page load | |
window.addEventListener('load', () => { | |
setTimeout(testConnection, 1000); | |
}); | |
</script> | |
</body> | |
</html> |