112 lines
5.4 KiB
Markdown
112 lines
5.4 KiB
Markdown
|
|
# 🔧 Исправления проблем
|
|||
|
|
|
|||
|
|
## ✅ Исправленные проблемы
|
|||
|
|
|
|||
|
|
### 1. Плеер находится слишком низко (уходит под меню)
|
|||
|
|
**Исправлено в:** `frontend/src/components/MiniPlayer.css`
|
|||
|
|
- Изменено `bottom: 60px` → `bottom: 70px`
|
|||
|
|
- Увеличен `z-index: 45` → `z-index: 60`
|
|||
|
|
- Добавлен `padding-bottom: env(safe-area-inset-bottom)` для безопасной зоны
|
|||
|
|
|
|||
|
|
### 2. Альбом не загружается (ошибка 413)
|
|||
|
|
**Исправлено в:**
|
|||
|
|
- `backend/server.js` - увеличен лимит express.json до `105mb`
|
|||
|
|
- `backend/routes/music.js` - увеличен лимит multer до `105MB`
|
|||
|
|
|
|||
|
|
**Изменения:**
|
|||
|
|
```javascript
|
|||
|
|
// server.js
|
|||
|
|
app.use(express.json({ limit: '105mb' }));
|
|||
|
|
app.use(express.urlencoded({ extended: true, limit: '105mb' }));
|
|||
|
|
|
|||
|
|
// routes/music.js
|
|||
|
|
limits: {
|
|||
|
|
fileSize: 105 * 1024 * 1024 // 105MB для ZIP альбомов
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. Музыка не воспроизводится
|
|||
|
|
**Исправлено в:** `frontend/src/contexts/MusicPlayerContext.jsx`
|
|||
|
|
- Добавлено формирование полного URL для треков
|
|||
|
|
- Относительные пути преобразуются в абсолютные с использованием `VITE_API_URL`
|
|||
|
|
- Добавлен `audioRef.current.load()` для перезагрузки источника
|
|||
|
|
|
|||
|
|
**Изменения:**
|
|||
|
|
```javascript
|
|||
|
|
let audioUrl = track.fileUrl
|
|||
|
|
if (audioUrl && audioUrl.startsWith('/')) {
|
|||
|
|
const apiUrl = import.meta.env.VITE_API_URL || 'http://localhost:3000/api'
|
|||
|
|
audioUrl = apiUrl.replace('/api', '') + audioUrl
|
|||
|
|
}
|
|||
|
|
audioRef.current.src = audioUrl
|
|||
|
|
audioRef.current.load()
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4. Обложка у трека не грузится
|
|||
|
|
**Исправлено в:**
|
|||
|
|
- `frontend/src/components/MusicAttachment.jsx`
|
|||
|
|
- `frontend/src/components/MiniPlayer.jsx`
|
|||
|
|
- `frontend/src/components/FullPlayer.jsx`
|
|||
|
|
- `frontend/src/pages/MediaMusic.jsx`
|
|||
|
|
- `frontend/src/components/MusicPickerModal.jsx`
|
|||
|
|
|
|||
|
|
**Изменения:**
|
|||
|
|
- Добавлено формирование полного URL для обложек (как для треков)
|
|||
|
|
- Добавлена обработка ошибок загрузки изображений (`onError`)
|
|||
|
|
- При ошибке загрузки показывается fallback иконка
|
|||
|
|
|
|||
|
|
### 5. Иконка furry не лиса
|
|||
|
|
**Исправлено в:** `frontend/src/pages/Media.jsx`
|
|||
|
|
- Заменена SVG иконка на правильную иконку лисы в стиле аниме
|
|||
|
|
- Иконка теперь отображает мордочку лисы с ушами, глазами, носом и хвостом
|
|||
|
|
|
|||
|
|
### 6. Не получается создать пост с треком
|
|||
|
|
**Проверено:**
|
|||
|
|
- `frontend/src/components/CreatePostModal.jsx` - правильно передает `attachedTrackId`
|
|||
|
|
- `backend/routes/posts.js` - правильно сохраняет `attachedTrack` в пост
|
|||
|
|
- `backend/routes/posts.js` - правильно populate'ит `attachedTrack` с `artist` и `album` при получении постов
|
|||
|
|
|
|||
|
|
**Статус:** Работает корректно, `attachedTrackId` передается через FormData и сохраняется в MongoDB.
|
|||
|
|
|
|||
|
|
## 📝 Дополнительные изменения
|
|||
|
|
|
|||
|
|
### Формирование URL для файлов
|
|||
|
|
Все компоненты, которые отображают обложки треков, теперь:
|
|||
|
|
1. Проверяют, является ли URL абсолютным (начинается с `http`)
|
|||
|
|
2. Если относительный, добавляют базовый URL из `VITE_API_URL`
|
|||
|
|
3. Обрабатывают ошибки загрузки изображений
|
|||
|
|
|
|||
|
|
### Обработка ошибок
|
|||
|
|
Добавлена обработка ошибок при загрузке изображений:
|
|||
|
|
- При ошибке изображение скрывается
|
|||
|
|
- Показывается fallback иконка `Music`
|
|||
|
|
|
|||
|
|
## 🔍 Что проверить
|
|||
|
|
|
|||
|
|
1. **Воспроизведение музыки:**
|
|||
|
|
- Убедитесь, что треки воспроизводятся при клике
|
|||
|
|
- Проверьте работу мини-плеера и полного плеера
|
|||
|
|
|
|||
|
|
2. **Загрузка альбомов:**
|
|||
|
|
- Попробуйте загрузить ZIP альбом размером до 105MB
|
|||
|
|
- Проверьте извлечение метаданных и обложек
|
|||
|
|
|
|||
|
|
3. **Обложки треков:**
|
|||
|
|
- Проверьте отображение обложек в списке треков
|
|||
|
|
- Проверьте обложки в постах с треками
|
|||
|
|
- Проверьте обложки в мини-плеере и полном плеере
|
|||
|
|
|
|||
|
|
4. **Создание постов с треками:**
|
|||
|
|
- Создайте пост с прикрепленным треком
|
|||
|
|
- Проверьте отображение трека в посте
|
|||
|
|
- Проверьте воспроизведение трека из поста
|
|||
|
|
|
|||
|
|
5. **Иконка лисы:**
|
|||
|
|
- Проверьте отображение иконки лисы на странице Media
|
|||
|
|
- Иконка должна быть видна как лиса в стиле аниме
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**Все исправления готовы к тестированию! ✅**
|
|||
|
|
|