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 установлен при сохранении
|
||
- [ ] Объект сохраняется в БД (логи в консоли)
|
||
- [ ] Объекты загружаются при перезагрузке
|
||
- [ ] Модели загружаются корректно
|
||
- [ ] Нет ошибок в консоли браузера
|
||
- [ ] Нет ошибок в логах сервера
|
||
|
||
## 🎯 Ожидаемый результат:
|
||
После выполнения всех проверок объекты должны сохраняться и загружаться корректно.
|