diff --git a/app/Livewire/Admin/ActivityLogTable.php b/app/Livewire/Forms/ActivityLogTable.php similarity index 97% rename from app/Livewire/Admin/ActivityLogTable.php rename to app/Livewire/Forms/ActivityLogTable.php index e0ed095..61a223b 100644 --- a/app/Livewire/Admin/ActivityLogTable.php +++ b/app/Livewire/Forms/ActivityLogTable.php @@ -1,6 +1,6 @@ withoutLoading() ->showToggleColumns(); - $header->includeViewOnTop('livewire.admin.activity-log-header'); + $header->includeViewOnTop('livewire.header.admin.activity-log'); $actions[]=$header; $actions[]=PowerGrid::footer()->showPerPage()->showRecordCount(); diff --git a/app/Livewire/Admin/BranchTable.php b/app/Livewire/Forms/BranchTable.php similarity index 96% rename from app/Livewire/Admin/BranchTable.php rename to app/Livewire/Forms/BranchTable.php index c60ee8d..a3766f5 100644 --- a/app/Livewire/Admin/BranchTable.php +++ b/app/Livewire/Forms/BranchTable.php @@ -1,6 +1,6 @@ withoutLoading() ->showToggleColumns(); - $header->includeViewOnTop('livewire.admin.branch-header') ; + $header->includeViewOnTop('livewire.header.admin.branch') ; $actions[]=$header; $actions[]=PowerGrid::footer()->showPerPage()->showRecordCount(); diff --git a/app/Livewire/Admin/MachineStatusTable.php b/app/Livewire/Forms/MachineStatusTable.php similarity index 96% rename from app/Livewire/Admin/MachineStatusTable.php rename to app/Livewire/Forms/MachineStatusTable.php index 7301c5d..8441c0e 100644 --- a/app/Livewire/Admin/MachineStatusTable.php +++ b/app/Livewire/Forms/MachineStatusTable.php @@ -1,6 +1,6 @@ withoutLoading() ->showToggleColumns(); - $header->includeViewOnTop('livewire.admin.machine-status-header'); + $header->includeViewOnTop('livewire.header.admin.machine-status'); $actions[]=$header; $actions[]=PowerGrid::footer()->showPerPage()->showRecordCount(); diff --git a/app/Livewire/Admin/RoomStatusLogTable.php b/app/Livewire/Forms/RoomStatusLogTable.php similarity index 95% rename from app/Livewire/Admin/RoomStatusLogTable.php rename to app/Livewire/Forms/RoomStatusLogTable.php index 20cb9cd..cb45511 100644 --- a/app/Livewire/Admin/RoomStatusLogTable.php +++ b/app/Livewire/Forms/RoomStatusLogTable.php @@ -1,6 +1,6 @@ withoutLoading() ->showToggleColumns(); - $header->includeViewOnTop('livewire.admin.room-status-log-header'); + $header->includeViewOnTop('livewire.header.admin.room-status-log'); $actions[]=$header; $actions[]=PowerGrid::footer()->showPerPage()->showRecordCount(); diff --git a/app/Livewire/Admin/RoomTable.php b/app/Livewire/Forms/RoomTable.php similarity index 97% rename from app/Livewire/Admin/RoomTable.php rename to app/Livewire/Forms/RoomTable.php index 5fba52e..d831565 100644 --- a/app/Livewire/Admin/RoomTable.php +++ b/app/Livewire/Forms/RoomTable.php @@ -1,6 +1,6 @@ withoutLoading() ->showToggleColumns(); - $header->includeViewOnTop('livewire.admin.room-header'); + $header->includeViewOnTop('livewire.header.admin.room'); $actions[]=$header; $actions[]=PowerGrid::footer()->showPerPage()->showRecordCount(); diff --git a/app/Livewire/Admin/SongLibraryCacheTable.php b/app/Livewire/Forms/SongLibraryCacheTable.php similarity index 97% rename from app/Livewire/Admin/SongLibraryCacheTable.php rename to app/Livewire/Forms/SongLibraryCacheTable.php index 49d0335..de2d006 100644 --- a/app/Livewire/Admin/SongLibraryCacheTable.php +++ b/app/Livewire/Forms/SongLibraryCacheTable.php @@ -1,6 +1,6 @@ withoutLoading() ->showToggleColumns(); - $header->includeViewOnTop('livewire.admin.song-library-cache-header'); + $header->includeViewOnTop('livewire.header.admin.song-library-cache'); $actions[]=$header; $actions[]=PowerGrid::footer()->showPerPage()->showRecordCount(); diff --git a/app/Livewire/Admin/UserTable.php b/app/Livewire/Forms/UserTable.php similarity index 97% rename from app/Livewire/Admin/UserTable.php rename to app/Livewire/Forms/UserTable.php index 821f241..15b8a12 100644 --- a/app/Livewire/Admin/UserTable.php +++ b/app/Livewire/Forms/UserTable.php @@ -1,6 +1,6 @@ showToggleColumns(); - $header->includeViewOnTop('livewire.admin.user-header'); + $header->includeViewOnTop('livewire.header.admin.user'); $actions[]=$header; $actions[]=PowerGrid::footer()->showPerPage()->showRecordCount(); return $actions; diff --git a/resources/views/livewire/admin/activity-log.blade.php b/resources/views/livewire/admin/activity-log.blade.php index 3879e0a..c8d4b75 100644 --- a/resources/views/livewire/admin/activity-log.blade.php +++ b/resources/views/livewire/admin/activity-log.blade.php @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/resources/views/livewire/admin/branches.blade.php b/resources/views/livewire/admin/branches.blade.php deleted file mode 100644 index 5be2f74..0000000 --- a/resources/views/livewire/admin/branches.blade.php +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/resources/views/livewire/admin/machine-status.blade.php b/resources/views/livewire/admin/machine-status.blade.php index 3cc9b4c..6649302 100644 --- a/resources/views/livewire/admin/machine-status.blade.php +++ b/resources/views/livewire/admin/machine-status.blade.php @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/resources/views/livewire/admin/room-grids.blade.php b/resources/views/livewire/admin/room-grids.blade.php new file mode 100644 index 0000000..e4891df --- /dev/null +++ b/resources/views/livewire/admin/room-grids.blade.php @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/resources/views/livewire/admin/room-status-log.blade.php b/resources/views/livewire/admin/room-status-log.blade.php index f86ca46..c4f0ae6 100644 --- a/resources/views/livewire/admin/room-status-log.blade.php +++ b/resources/views/livewire/admin/room-status-log.blade.php @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/resources/views/livewire/admin/rooms.blade.php b/resources/views/livewire/admin/rooms.blade.php index e4891df..0521d58 100644 --- a/resources/views/livewire/admin/rooms.blade.php +++ b/resources/views/livewire/admin/rooms.blade.php @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/resources/views/livewire/admin/song-library-cache.blade.php b/resources/views/livewire/admin/song-library-cache.blade.php index ed2c6e4..27f9fb6 100644 --- a/resources/views/livewire/admin/song-library-cache.blade.php +++ b/resources/views/livewire/admin/song-library-cache.blade.php @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/resources/views/livewire/admin/users.blade.php b/resources/views/livewire/admin/users.blade.php index 6c5cc5f..76c0bad 100644 --- a/resources/views/livewire/admin/users.blade.php +++ b/resources/views/livewire/admin/users.blade.php @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/resources/views/livewire/admin/activity-log-header.blade.php b/resources/views/livewire/header/admin/activity-log.blade.php similarity index 100% rename from resources/views/livewire/admin/activity-log-header.blade.php rename to resources/views/livewire/header/admin/activity-log.blade.php diff --git a/resources/views/livewire/admin/branch-header.blade.php b/resources/views/livewire/header/admin/branch.blade.php similarity index 100% rename from resources/views/livewire/admin/branch-header.blade.php rename to resources/views/livewire/header/admin/branch.blade.php diff --git a/resources/views/livewire/admin/machine-status-header.blade.php b/resources/views/livewire/header/admin/machine-status.blade.php similarity index 100% rename from resources/views/livewire/admin/machine-status-header.blade.php rename to resources/views/livewire/header/admin/machine-status.blade.php diff --git a/resources/views/livewire/admin/room-status-log-header.blade.php b/resources/views/livewire/header/admin/room-status-log.blade.php similarity index 100% rename from resources/views/livewire/admin/room-status-log-header.blade.php rename to resources/views/livewire/header/admin/room-status-log.blade.php diff --git a/resources/views/livewire/admin/room-header.blade.php b/resources/views/livewire/header/admin/room.blade.php similarity index 100% rename from resources/views/livewire/admin/room-header.blade.php rename to resources/views/livewire/header/admin/room.blade.php diff --git a/resources/views/livewire/admin/song-library-cache-header.blade.php b/resources/views/livewire/header/admin/song-library-cache.blade.php similarity index 100% rename from resources/views/livewire/admin/song-library-cache-header.blade.php rename to resources/views/livewire/header/admin/song-library-cache.blade.php diff --git a/resources/views/livewire/admin/user-header.blade.php b/resources/views/livewire/header/admin/user.blade.php similarity index 100% rename from resources/views/livewire/admin/user-header.blade.php rename to resources/views/livewire/header/admin/user.blade.php diff --git a/resources/views/livewire/layout/admin/sidebar.blade.php b/resources/views/livewire/layout/admin/sidebar.blade.php index 8dae9c7..3185cc5 100644 --- a/resources/views/livewire/layout/admin/sidebar.blade.php +++ b/resources/views/livewire/layout/admin/sidebar.blade.php @@ -12,8 +12,8 @@ new class extends Component ['label' => 'RoomStatusLog', 'route' => 'admin.room-status-log', 'icon' => 'clock', 'permission' => null], ['label' => 'MachineStatus', 'route' => 'admin.machine-status', 'icon' => 'clock', 'permission' => null], ['label' => 'User', 'route' => 'admin.users', 'icon' => 'user-circle', 'permission' => 'user-list'], - ['label' => 'Branche', 'route' => 'admin.branches', 'icon' => 'building-library', 'permission' => 'room-list'], - ['label' => 'Room', 'route' => 'admin.rooms', 'icon' => 'film', 'permission' => 'room-list'], + ['label' => 'Room', 'route' => 'admin.rooms', 'icon' => 'building-library', 'permission' => 'room-list'], + ['label' => 'RoomGrid', 'route' => 'admin.room-grids', 'icon' => 'film', 'permission' => 'room-list'], ]; /** diff --git a/routes/web.php b/routes/web.php index 861abdb..e7ea46e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -3,8 +3,7 @@ use Illuminate\Support\Facades\Route; use App\Livewire\Admin\Dashboard as AdminDashboard; -use App\Livewire\Admin\RoleTable; -use App\Livewire\Admin\UserTable; + Route::view('/', 'welcome'); @@ -25,6 +24,6 @@ Route::middleware(['auth'])->prefix('admin')->name('admin.')->group(function () Route::get('/room-status-log', function () {return view('livewire.admin.room-status-log');})->name('room-status-log'); Route::get('/machine-status', function () {return view('livewire.admin.machine-status');})->name('machine-status'); Route::get('/users', function () {return view('livewire.admin.users');})->name('users'); - Route::get('/branches', function () {return view('livewire.admin.branches');})->name('branches'); Route::get('/rooms', function () {return view('livewire.admin.rooms');})->name('rooms'); + Route::get('/room-grids', function () {return view('livewire.admin.room-grids');})->name('room-grids'); }); \ No newline at end of file diff --git a/更新後部署流程(建議步驟).ini b/更新後部署流程(建議步驟).ini new file mode 100644 index 0000000..c0b447c --- /dev/null +++ b/更新後部署流程(建議步驟).ini @@ -0,0 +1,52 @@ +✅ Laravel 更新後部署流程(建議步驟) + +1. 拉取新版程式碼 + git pull origin main + +2. 安裝依賴套件 + composer install --no-dev --optimize-autoloader + +cp .env.example .env +php artisan key:generate +npm install && npm run build + +3. 執行資料庫 migration(如有 schema 變更) + php artisan migrate + +4. 清除並重新快取設定與路由 + php artisan config:clear + php artisan config:cache + php artisan route:clear + php artisan route:cache + php artisan view:clear + php artisan view:cache + +5. (首次部署或有新增命令時)建立或更新任務排程 Crontab + 檢查是否已有下列 crontab 設定(crontab -e): + 分鐘 小時 日 月 星期 指令 + * * * * * cd /path/to/your/project && php artisan schedule:run >> /dev/null 2>&1 + 這樣 Laravel 才能自動執行你在 routes/console.php 中定義的排程任務。 + +6. (選擇性)部署完立即執行某些 Artisan 指令 + 例如你可能希望部署後立即重建一次機器狀態資料表,可以執行: + php artisan machine_statuses:clear + +7. 權限與快取設定(根據伺服器環境) + 確認 storage 和 bootstrap/cache 目錄權限正確: + chmod -R 775 storage bootstrap/cache + chown -R www-data:www-data storage bootstrap/cache + +✅ 完整部署腳本範例(可寫成 deploy.sh) + #!/bin/bash + + cd /var/www/your-project + + git pull origin main + composer install --no-dev --optimize-autoloader + php artisan migrate --force + php artisan config:cache + php artisan route:cache + php artisan view:cache + php artisan machine_statuses:clear + + echo "✅ Laravel 專案已更新並執行完成。" \ No newline at end of file diff --git a/開發手冊.ini b/開發手冊.ini new file mode 100644 index 0000000..8fa77bf --- /dev/null +++ b/開發手冊.ini @@ -0,0 +1,92 @@ +laravel new shop_12_wireui + + + ┌ Would you like to install a starter kit? ────────────────────┐ + │ Laravel Breeze │ + └──────────────────────────────────────────────────────────────┘ + + ┌ Which Breeze stack would you like to install? ───────────────┐ + │ Livewire (Volt Class API) with Alpine │ + └──────────────────────────────────────────────────────────────┘ + + ┌ Would you like dark mode support? ───────────────────────────┐ + │ No │ + └──────────────────────────────────────────────────────────────┘ + + ┌ Which testing framework do you prefer? ──────────────────────┐ + │ PHPUnit │ + └──────────────────────────────────────────────────────────────┘ + + ┌ Would you like to initialize a Git repository? ──────────────┐ + │ ● Yes / ○ No │ + └──────────────────────────────────────────────────────────────┘ + + +composer require spatie/laravel-permission + +php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" + + + +php artisan make:seeder PermissionTableSeeder +php artisan make:seeder CreateAdminUserSeeder + +無 DB 新建 +php artisan migrate --seed +有 DB 重制 +php artisan migrate:fresh --seed + +valet park +valet link +valet paths + +php artisan db:seed --class=PermissionTableSeeder +php artisan db:seed --class=CreateAdminUserSeeder + + //console.log(); +php artisan route:list +php artisan config:clear +php artisan route:clear +php artisan cache:clear +php artisan route:list + +npm install && npm run build + + + + +composer require wireui/wireui + +php artisan vendor:publish --tag="wireui.config" + +php artisan make:livewire Admin/Roles/Index + +php artisan make:livewire Admin/Users + +php artisan make:component Table + +操作記錄 +composer require spatie/laravel-activitylog +php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="activitylog-migrations" +php artisan migrate +php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="activitylog-config" +php artisan make:model ActivityLog + +Laravel Excel +composer require maatwebsite/excel + +composer require power-components/livewire-powergrid +php artisan vendor:publish --tag=livewire-powergrid-config + +建立分頁table +php artisan powergrid:create + + +php artisan make:job TransferSqliteTableJob + + +php artisan migrate:rollback +php artisan migrate +php artisan transfer:sqlite sqlite/tempUser.sqlite --sync + +php artisan queue:work --daemon --timeout=3600 --tries=1 --queue=default \ No newline at end of file