domovoy_bot/web/templates/export.html
Admin 049a152dc8 v1.21 Исправление критических ошибок
🐛 ИСПРАВЛЕНИЯ:
• chat_monitor.py: message.system → hasattr проверка
• База данных: добавлена колонка achievement_data
• Удалена кнопка /settings из всех шаблонов
• Настройки перенесены в /broadcast

📁 ФАЙЛЫ:
• handlers/chat_monitor.py
• web/templates/*.html (удалена /settings)
• database: ALTER TABLE achievements

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-11 07:42:16 +00:00

102 lines
4.7 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Экспорт - Домовой Бот</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.0/font/bootstrap-icons.css" rel="stylesheet">
<style>
.sidebar {
min-height: 100vh;
background: linear-gradient(180deg, #2c3e50 0%, #1a252f 100%);
}
.sidebar .nav-link { color: rgba(255,255,255,0.8); padding: 1rem; }
.sidebar .nav-link:hover, .sidebar .nav-link.active { color: white; background-color: rgba(255,255,255,0.1); }
.content { padding: 2rem; }
</style>
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-md-2 sidebar p-0">
<div class="p-3 text-white text-center">
<h4><i class="bi bi-house-door"></i> Домовой Бот</h4>
</div>
<nav class="nav flex-column">
<a class="nav-link" href="/"><i class="bi bi-speedometer2"></i> Дашборд</a>
<a class="nav-link" href="/users"><i class="bi bi-people"></i> Пользователи</a>
<a class="nav-link active" href="/export"><i class="bi bi-download"></i> Экспорт</a>
</nav>
</div>
<div class="col-md-10 content">
<h2 class="mb-4">Экспорт данных</h2>
<div class="row">
<div class="col-md-6">
<div class="card">
<div class="card-header">
<i class="bi bi-file-earmark-json"></i> Экспорт в JSON
</div>
<div class="card-body">
<p>Экспортирует всех пользователей и сообщения в JSON формат.</p>
<button class="btn btn-primary" onclick="exportJSON()">
<i class="bi bi-download"></i> Экспортировать
</button>
<div id="exportResult" class="mt-3"></div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card">
<div class="card-header">
<i class="bi bi-info-circle"></i> Информация
</div>
<div class="card-body">
<p>Экспорт включает:</p>
<ul>
<li>Всех пользователей</li>
<li>Все сообщения</li>
<li>Даты и время</li>
<li>Квартиры и телефоны</li>
</ul>
<p class="text-muted small">
Файл сохраняется в папке exports/
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<script>
async function exportJSON() {
const resultDiv = document.getElementById('exportResult');
resultDiv.innerHTML = '<div class="alert alert-info">Экспорт...</div>';
try {
const response = await fetch('/api/export/json');
const data = await response.json();
if (data.success) {
resultDiv.innerHTML = `
<div class="alert alert-success">
✅ Экспорт успешно!<br>
Файл: ${data.filepath}
</div>
`;
} else {
resultDiv.innerHTML = '<div class="alert alert-danger">Ошибка экспорта</div>';
}
} catch (error) {
resultDiv.innerHTML = `<div class="alert alert-danger">Ошибка: ${error.message}</div>`;
}
}
</script>
</body>
</html>