92 lines
3.9 KiB
Markdown
92 lines
3.9 KiB
Markdown
|
|
# Диагностика проблемы с сохранением объектов
|
|||
|
|
|
|||
|
|
## 🚨 Проблема
|
|||
|
|
Объекты исчезают после перезагрузки страницы - не сохраняются в БД.
|
|||
|
|
|
|||
|
|
## 🔍 Пошаговая диагностика:
|
|||
|
|
|
|||
|
|
### **Шаг 1: Проверьте консоль браузера**
|
|||
|
|
1. Откройте DevTools (F12)
|
|||
|
|
2. Перейдите на вкладку Console
|
|||
|
|
3. Добавьте объект в редактор
|
|||
|
|
4. Ищите логи с эмодзи:
|
|||
|
|
- 🔄 Начинаем сохранение объекта в БД...
|
|||
|
|
- 📤 Отправляем данные на сервер
|
|||
|
|
- 📡 Ответ сервера: 200 OK
|
|||
|
|
- ✅ Объект успешно сохранен в БД
|
|||
|
|
|
|||
|
|
### **Шаг 2: Проверьте таблицу БД**
|
|||
|
|
1. Нажмите кнопку "Проверить БД"
|
|||
|
|
2. Должно показать: "Таблица существует: true"
|
|||
|
|
3. Если нет - выполните миграцию:
|
|||
|
|
```bash
|
|||
|
|
node run-minimal-migration.js
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### **Шаг 3: Проверьте объекты в БД**
|
|||
|
|
1. Нажмите кнопку "Проверить объекты"
|
|||
|
|
2. Должно показать количество объектов в БД
|
|||
|
|
3. Проверьте консоль для списка объектов
|
|||
|
|
|
|||
|
|
### **Шаг 4: Проверьте загрузку объектов**
|
|||
|
|
1. Перезагрузите страницу
|
|||
|
|
2. В консоли ищите логи:
|
|||
|
|
- 🔄 Загружаем объекты для города: [ID]
|
|||
|
|
- 📊 Загружено объектов из БД: [количество]
|
|||
|
|
- ✅ Объект добавлен в сцену: [название]
|
|||
|
|
|
|||
|
|
## 🐛 Возможные проблемы и решения:
|
|||
|
|
|
|||
|
|
### **1. Таблица не существует**
|
|||
|
|
**Симптомы:** Ошибка 500 при сохранении
|
|||
|
|
**Решение:**
|
|||
|
|
```bash
|
|||
|
|
node run-minimal-migration.js
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### **2. Ошибка аутентификации**
|
|||
|
|
**Симптомы:** Ошибка 401 при сохранении
|
|||
|
|
**Решение:** Проверьте токен в localStorage
|
|||
|
|
|
|||
|
|
### **3. Объект сохраняется, но не загружается**
|
|||
|
|
**Симптомы:** Логи сохранения есть, но загрузки нет
|
|||
|
|
**Решение:** Проверьте cityId при загрузке
|
|||
|
|
|
|||
|
|
### **4. Ошибка модели**
|
|||
|
|
**Симптомы:** Ошибка загрузки GLTF
|
|||
|
|
**Решение:** Проверьте путь к модели в model_url
|
|||
|
|
|
|||
|
|
## 🔧 Дополнительная диагностика:
|
|||
|
|
|
|||
|
|
### **Проверка API напрямую:**
|
|||
|
|
```bash
|
|||
|
|
# Проверка таблицы
|
|||
|
|
curl -X GET http://localhost:3000/api/test-city-objects \
|
|||
|
|
-H "Authorization: Bearer YOUR_TOKEN"
|
|||
|
|
|
|||
|
|
# Проверка объектов города
|
|||
|
|
curl -X GET http://localhost:3000/api/cities/1/objects \
|
|||
|
|
-H "Authorization: Bearer YOUR_TOKEN"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### **Проверка логов сервера:**
|
|||
|
|
В консоли сервера должны быть логи:
|
|||
|
|
```
|
|||
|
|
Сохранение объекта: { id: null, city_id: 1, ... }
|
|||
|
|
Объект сохранен: { id: 123, success: true }
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 📋 Чек-лист диагностики:
|
|||
|
|
|
|||
|
|
- [ ] Таблица city_objects существует
|
|||
|
|
- [ ] Токен аутентификации валиден
|
|||
|
|
- [ ] cityId установлен при сохранении
|
|||
|
|
- [ ] Объект сохраняется в БД (логи в консоли)
|
|||
|
|
- [ ] Объекты загружаются при перезагрузке
|
|||
|
|
- [ ] Модели загружаются корректно
|
|||
|
|
- [ ] Нет ошибок в консоли браузера
|
|||
|
|
- [ ] Нет ошибок в логах сервера
|
|||
|
|
|
|||
|
|
## 🎯 Ожидаемый результат:
|
|||
|
|
После выполнения всех проверок объекты должны сохраняться и загружаться корректно.
|