Полноценный медиа-менеджер для Laravel 10/11 с Vue 3 интерфейсом, поддержкой папок, корзины, drag-and-drop сортировки, массовой загрузки, предпросмотра и анимаций.
- Древовидные папки с drag&drop сортировкой
- Защищённые системные папки и корзина
- Массовая загрузка файлов (Dropzone)
- Предпросмотр изображений, видео, PDF, Office документов
- Перемещение/восстановление/очистка корзины
- Vue 3 + Bootstrap 5 интерфейс с модальными окнами без jQuery
composer require letoceiling-coder/mediamanager
php artisan vendor:publish --provider="LetoceilingCoder\MediaManager\MediaManagerServiceProvider" --tag=media-manager-config
php artisan vendor:publish --provider="LetoceilingCoder\MediaManager\MediaManagerServiceProvider" --tag=media-manager-assets
php artisan vendor:publish --provider="LetoceilingCoder\MediaManager\MediaManagerServiceProvider" --tag=media-manager-js
php artisan migrate- Установите JS-зависимости (добавьте их в ваш
package.json, если ещё не установлены):npm install vue@^3.4 vue-router@^4.2 vuex@^4.1 axios @kyvg/vue3-notification bootstrap dropzone sortablejs fslightbox-vue
- Добавьте alias для опубликованных файлов (пример для
vite.config.js):import { defineConfig } from 'vite'; import vue from '@vitejs/plugin-vue'; import path from 'path'; export default defineConfig({ plugins: [vue()], resolve: { alias: { '@media-manager': path.resolve(__dirname, 'resources/vendor/media-manager/js'), }, }, });
- Импортируйте
@media-manager/app.jsили нужные компоненты в ваше приложение и соберите ассеты через Vite.
config/media.php:
route_prefix— API-префикс (по умолчаниюapi/v1)route_middleware— middleware-стек (по умолчанию['api', 'auth:api'])user_model— класс модели пользователя (App\Models\User)disk— диск хранения файлов (public)
git init
git add .
git commit -m "Initial release"
git remote add origin https://github.com/letoceiling-coder/laravel_vue_media.git
git push -u origin mainПосле публикации добавьте репозиторий в Packagist или используйте composer config repositories с типом vcs.