- Unify API: lib/api.ts uses /api/v1, inbox uses /api/inbox (rewrites) - Remove localhost refs: openapi, inbox page - Add rewrites: /api/inbox|tmc -> inbox-server, /api/v1 -> FastAPI - Add stub routes: knowledge/insights, recommendations, search, log-error - Transfer from PAPA: prompts (inspection, tmc), scripts, supabase, data/tmc-requests - Fix inbox-server: ORDER BY created_at, package.json - Remove redundant app/api/inbox/files route (rewrites handle it) - knowledge/ in gitignore (large PDFs) Co-authored-by: Cursor <cursoragent@cursor.com>
80 lines
2.8 KiB
Markdown
80 lines
2.8 KiB
Markdown
# Инструкция: Проверка данных в браузере
|
||
|
||
## ✅ Что видно в вашем Network tab:
|
||
|
||
- Запросы к `/aircraft` выполняются успешно (Status: 200)
|
||
- Размер ответа: ~35 KB (это много данных, значит данные есть)
|
||
- Нет ошибок в Network
|
||
|
||
## 🔍 Следующий шаг: Проверьте Response
|
||
|
||
### Как проверить Response:
|
||
|
||
1. **В Network tab** найдите запрос `aircraft` (один из них)
|
||
2. **Кликните на него** - откроется панель справа
|
||
3. Перейдите на вкладку **"Response"** или **"Preview"**
|
||
4. Проверьте структуру данных
|
||
|
||
### Что должно быть в Response:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"registration_number": "RA-12345",
|
||
"operator_name": "Аэрофлот - Российские авиалинии",
|
||
"serial_number": "08-001",
|
||
"aircraft_type": {
|
||
"manufacturer": "Миль",
|
||
"model": "Ми-8"
|
||
},
|
||
...
|
||
}
|
||
]
|
||
```
|
||
|
||
### Если данные есть в Response, но не отображаются в таблице:
|
||
|
||
1. **Проверьте консоль** на ошибки рендеринга
|
||
2. **Очистите кэш**: Cmd + Shift + R (Mac) или Ctrl + Shift + R (Windows)
|
||
3. **Проверьте React DevTools** (если установлен)
|
||
|
||
## 🐛 Диагностика в консоли браузера:
|
||
|
||
Выполните в консоли браузера:
|
||
|
||
```javascript
|
||
// Проверка данных через API
|
||
fetch('/api/v1/aircraft', {
|
||
headers: { 'Authorization': 'Bearer dev' }
|
||
})
|
||
.then(r => r.json())
|
||
.then(data => {
|
||
console.log('✅ Всего ВС:', data.length);
|
||
if (data.length > 0) {
|
||
const first = data[0];
|
||
console.log('✅ Первое ВС:', first.registration_number);
|
||
console.log('operator_name:', first.operator_name || '❌ ОТСУТСТВУЕТ');
|
||
console.log('serial_number:', first.serial_number || '❌ ОТСУТСТВУЕТ');
|
||
|
||
// Проверка всех ВС
|
||
const withOperator = data.filter(a => a.operator_name).length;
|
||
const withSerial = data.filter(a => a.serial_number).length;
|
||
console.log(`✅ ВС с operator_name: ${withOperator}/${data.length}`);
|
||
console.log(`✅ ВС с serial_number: ${withSerial}/${data.length}`);
|
||
}
|
||
})
|
||
.catch(err => console.error('❌ Ошибка:', err));
|
||
```
|
||
|
||
## 📊 Ожидаемый результат:
|
||
|
||
- ✅ Всего ВС: 51
|
||
- ✅ ВС с operator_name: 51/51
|
||
- ✅ ВС с serial_number: 51/51
|
||
|
||
## 🔧 Если данные не отображаются:
|
||
|
||
1. **Проверьте Response** в Network tab
|
||
2. **Выполните код выше** в консоли браузера
|
||
3. **Пришлите результат** - я помогу исправить проблему
|