定制 advsorcer/filament-schedule-ui 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

advsorcer/filament-schedule-ui

最新稳定版本:v1.0.7

Composer 安装命令:

composer require advsorcer/filament-schedule-ui

包简介

A Laravel schedule management tool based on Filament that allows you to easily manage and monitor all scheduled tasks in the admin interface.

README 文档

README

Latest Version on Packagist Total Downloads Laravel PHP License Tests

繁體中文 | English

一個基於 Filament 的 Laravel 排程管理工具,讓您可以在後台介面中輕鬆管理和監控所有排程任務。

排程列表

執行訊息

執行訊息

系統需求

  • PHP >= 8.3
  • Laravel >= 12.0
  • Filament >= 4.0
  • Composer

安裝步驟

1. 安裝 Package

composer require advsorcer/filament-schedule-ui

2. 安裝 Filament Panel(如果還沒有安裝)

php artisan filament:install --panels

3. 創建 Filament 用戶(如果還沒有創建)

php artisan make:filament-user

4. 發布並執行遷移

php artisan vendor:publish --tag=filament-schedule-ui-migrations
php artisan migrate

5. 在 Filament Panel 中註冊 Plugin

在你的 Filament Panel Provider(通常是 app/Providers/Filament/AdminPanelProvider.php)中註冊 Plugin:

重要:請確保在檔案頂部加入正確的 use 語句!

<?php

namespace App\Providers\Filament;

use Filament\Panel;
use Filament\PanelProvider;
use AdvSorcer\FilamentScheduleUI\FilamentScheduleUIPlugin; // ← 必須加入這行

class AdminPanelProvider extends PanelProvider
{
    public function panel(Panel $panel): Panel
    {
        return $panel
            ->default()
            ->id('admin')
            ->path('admin')
            // ... 其他配置
            ->plugin(FilamentScheduleUIPlugin::make()); // ← 在這裡使用
    }
}

6. 打開後台

http://your-domain/admin

功能特色

📋 排程管理

  • 自動同步
  • 排程列表
  • 啟用/停用
  • 立即執行
  • 完整記錄
  • 執行狀態
  • 執行輸出
  • 執行時長
  • 錯誤追蹤

使用方式

1. 首次設定

範例

routes/console.php 中定義排程:

// 測試排程:每十分鐘執行一次
schedule_command('say:good-evening')
    ->everyTenMinutes()
    ->description('每十分鐘說晚安');

登入後台後,首次使用時需要將程式碼中的排程同步到資料庫:

  1. 在 Filament 後台進入「排程任務」頁面
  2. 點擊右上角的「同步排程」按鈕
  3. 系統會自動掃描並同步所有排程任務

⚠️ 重要提醒

如果您建立了新的 Artisan 命令(Command),記得要在 routes/console.php 中使用 schedule_command 註冊排程,然後在後台執行「同步排程」才會出現在 UI 中。

懶人範例

php artisan make:command SayGoodEveningCommand
<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;

class SayGoodEveningCommand extends Command
{
    protected $signature = 'say:good-evening';

    protected $description = 'Say good evening in the log';

    public function handle(): int
    {
        $this->info('=== Task Start ===');
        $this->info('Saying Good Evening...');
        \Log::info('Say Good Evening: 晚安!這是排程任務,執行時間:'.now()->toDateTimeString());
        $this->info('=== Task End ===');

        return Command::SUCCESS;
    }
}

可選配置

發布配置檔案(可選)

如果需要自訂配置,可以發布配置檔案:

php artisan vendor:publish --tag=filament-schedule-ui-config

這會將配置檔案發布到 config/filament-schedule-ui.php,您可以根據需求修改配置。

配置語言(可選)

如果需要自訂語言檔案或切換語言:

php artisan vendor:publish --tag=filament-schedule-ui-lang

.env 中設定語言:

FILAMENT_SCHEDULE_UI_LOCALE=zh_TW  或
FILAMENT_SCHEDULE_UI_LOCALE=en

預設為 zh_TW(繁體中文)。

统计信息

  • 总下载量: 16
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-11-23