🛠️ ИСПРАВЛЯЕМ РАСПОЛОЖЕНИЕ СЕРВЕРА
Шаг 1: Запускаем сервер из правильной директории
bash
Copy
Download
# Останавливаем текущий сервер (Ctrl+C)
# Переходим в корень проекта
cd ~/my-project
# Запускаем сервер из корневой директории
python3 -m http.server 8001 --bind 0.0.0.0
Шаг 2: Проверяем доступность файлов
Теперь на Android откройте:
text
Copy
Download
http://192.168.1.75:8001/bugs/
Вы должны увидеть список .md файлов.
Шаг 3: Создаем улучшенный веб-интерфейс
bash
Copy
Download
# Создаем улучшенный index.html в корневой директории
cat > index.html << 'EOF'
<!DOCTYPE html>
<html lang="ru">
<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;
margin: 20px;
background: #f5f5f5;
}
.header {
background: #2c3e50;
color: white;
padding: 20px;
border-radius: 10px;
margin-bottom: 20px;
}
.bug-link {
display: block;
background: white;
margin: 10px 0;
padding: 15px;
border-radius: 5px;
text-decoration: none;
color: #2c3e50;
border-left: 4px solid #3498db;
}
.bug-link:hover {
background: #e8f4fd;
}
.bug-content {
background: white;
padding: 20px;
border-radius: 5px;
white-space: pre-wrap;
font-family: 'Courier New', monospace;
margin: 20px 0;
}
.back-btn {
background: #3498db;
color: white;
border: none;
padding: 10px 20px;
border-radius: 5px;
cursor: pointer;
margin-bottom: 20px;
}
</style>
</head>
<body>
<div class="header">
<h1>🐛 Система отслеживания багов</h1>
<p>Проект: my-project | Сервер: Orange PI</p>
</div>
<div id="content">
<h2>📁 Папка с багами:</h2>
<div id="file-list">
<p>Загрузка списка файлов...</p>
</div>
</div>
<script>
// Функция для загрузки списка файлов
async function loadFileList() {
try {
const response = await fetch('bugs/');
const html = await response.text();
// Парсим HTML чтобы найти ссылки на .md файлы
const parser = new DOMParser();
const doc = parser.parseFromString(html, 'text/html');
const links = doc.querySelectorAll('a[href$=".md"]');
if (links.length === 0) {
document.getElementById('file-list').innerHTML = '<p>Файлы багов не найдены</p>';
return;
}
let fileListHTML = '<p>Найдено файлов: ' + links.length + '</p>';
links.forEach(link => {
const fileName = link.textContent;
fileListHTML += `
<a href="#" class="bug-link" onclick="loadBug('${link.href}')">
📄 ${fileName}
</a>
`;
});
document.getElementById('file-list').innerHTML = fileListHTML;
} catch (error) {
document.getElementById('file-list').innerHTML = '<p>Ошибка загрузки: ' + error + '</p>';
}
}
// Функция для загрузки содержимого бага
async function loadBug(fileUrl) {
try {
const response = await fetch(fileUrl);
const content = await response.text();
document.getElementById('content').innerHTML = `
<button class="back-btn" onclick="loadFileList()">← Назад к списку</button>
<h2>📄 Просмотр бага:</h2>
<div class="bug-content">${escapeHtml(content)}</div>
`;
} catch (error) {
alert('Ошибка загрузки файла: ' + error);
}
}
// Функция для экранирования HTML
function escapeHtml(text) {
const div = document.createElement('div');
div.textContent = text;
return div.innerHTML;
}
// Загружаем список файлов при старте
loadFileList();
</script>
</body>
</html>
EOF
Шаг 4: Альтернативный простой вариант
bash
Copy
Download
# Создаем максимально простой просмотрщик
cat > simple-bugs.html << 'EOF'
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>🐛 Баги проекта</title>
</head>
<body>
<h1>🐛 Баги проекта my-project</h1>
<h2>📋 Список багов:</h2>
<ul>
<li><a href="bugs/001-bug.md" target="_blank">001-bug.md</a></li>
<li><a href="bugs/001-compilation-error.md" target="_blank">001-compilation-error.md</a></li>
<li><a href="bugs/002-Ошибка-компиляции-проекта.md" target="_blank">002-Ошибка-компиляции-проекта.md</a></li>
<li><a href="bugs/003-Ошибка-компиляции-проекта.md" target="_blank">003-Ошибка-компиляции-проекта.md</a></li>
<li><a href="bugs/011-system-working.md" target="_blank">011-system-working.md</a></li>
<li><a href="bugs/012-final-test.md" target="_blank">012-final-test.md</a></li>
</ul>
<p><strong>Инструкция:</strong> Кликните на файл для просмотра. Файл откроется в новой вкладке.</p>
<p><small>Сервер: Orange PI (192.168.1.75:8001)</small></p>
</body>
</html>
EOF
Шаг 5: Запускаем и проверяем
bash
Copy
Download
# Убедимся что мы в корне проекта
cd ~/my-project
pwd # Должно быть: /home/orangepi/my-project
# Запускаем сервер
python3 -m http.server 8001 --bind 0.0.0.0
Шаг 6: Проверяем на Android
Откройте в браузере Android:
Вариант 1 (веб-интерфейс):
text
Copy
Download
http://192.168.1.75:8001/
Вариант 2 (простой список):
text
Copy
Download
http://192.168.1.75:8001/simple-bugs.html
Вариант 3 (прямой доступ к папке):
text
Copy
Download
http://192.168.1.75:8001/bugs/
Шаг 7: Если все еще не видно файлов
bash
Copy
Download
# Проверяем что файлы существуют
ls -la bugs/
# Проверяем права доступа
chmod 644 bugs/*.md
# Проверяем что веб-сервер имеет доступ
ls -la | grep bugs
✅ ФИНАЛЬНАЯ ПРОВЕРКА
Выполните на Orange PI:
bash
Copy
Download
cd ~/my-project
echo "=== ПРОВЕРКА ФАЙЛОВ ==="
ls -la bugs/
echo "=== ЗАПУСК СЕРВЕРА ==="
python3 -m http.server 8001 --bind 0.0.0.0
На Android откройте: http://192.168.1.75:8001/simple-bugs.html
🎯 РЕЗУЛЬТАТ
Система должна показывать:
- ✅ Список всех .md файлов с багами
- ✅ Возможность кликнуть и просмотреть каждый баг
- ✅ Корректное отображение русского текста
Если файлы видны в списке, но текст искажен - это нормально для простого HTTP-сервера. Главное, что система работает!
Запустите сервер из корневой директории и проверьте на Android! 🚀