usermp / artisan-api

artisan-api 是一个 Laravel 扩展包,允许您通过 API 路由执行 Artisan 命令。

v1.0.2 2024-09-10 06:13 UTC

This package is auto-updated.

Last update: 2024-09-10 06:15:04 UTC


README

artisan-api 是一个 Laravel 扩展包,允许您通过 API 路由执行 Artisan 命令。这个包简化了管理您的 Laravel 应用 Artisan 命令的过程,通过提供一个简单易用的 API 接口。

安装

要安装 artisan-api 扩展包,您可以使用 Composer。在您的终端中运行以下命令

composer require usermp/artisan-api

安装完扩展包后,您需要在 Laravel 应用中注册 ArtisanServiceProvider。为此,将服务提供者添加到 config/app.php 文件中的 providers 数组中

'providers' => [
    // Other service providers...

    Usermp\ArtisanApi\ArtisanServiceProvider::class,
],

接下来,发布配置文件以自定义包的设置。运行以下命令

php artisan vendor:publish --provider="Usermp\ArtisanApi\ArtisanServiceProvider" --tag="artisan-api-config"

这将在 config/artisanapi.php 创建一个配置文件。

配置

配置文件允许您自定义 artisan-api 扩展包的行为。以下是默认配置

return [
    'with_key' => env('ARTISAN_WITH_KEY', false),
    'api_key'  => env('ARTISAN_API_KEY', 'YOUR KEY'),
    'allowed_commands' => [
        // General commands
        'list',
        'help',

        // Make commands
        'make:controller',
        'make:model',
        'make:migration',
        'make:seeder',
        'make:factory',
        'make:middleware',
        'make:request',
        'make:resource',
        'make:command',
        'make:event',
        'make:listener',
        'make:policy',
        'make:provider',
        'make:test',
        'make:job',
        'make:rule',
        'make:mail',
        'make:notification',

        // Migrations
        'migrate',
        'migrate:rollback',
        'migrate:refresh',
        'migrate:reset',
        'migrate:status',

        // Seeder
        'db:seed',
        'db:wipe',

        // Cache
        'cache:clear',
        'cache:forget',
        'config:clear',
        'config:cache',
        'route:cache',
        'route:clear',
        'view:cache',
        'view:clear',

        // Queue
        'queue:work',
        'queue:listen',
        'queue:restart',
        'queue:table',
        'queue:flush',

        // Maintenance
        'down',
        'up',

        // Others
        'optimize',
        'serve',
        'schedule:run',
        'schedule:work',

        // Add other commands as needed
    ],
];
  • with_key:确定是否需要 API 密钥来执行命令。默认为 false
  • api_key:当 with_key 设置为 true 时使用的 API 密钥
  • allowed_commands:允许通过 API 执行的 Artisan 命令数组。

使用方法

通过 API 运行 Artisan 命令 您可以使用 api/artisan 路由来运行任何 Artisan 命令。请求应为 POST 请求,并将命令及其参数包含在请求体中。

示例请求

POST /api/artisan
Content-Type: application/json
{
  "command": "migrate:fresh --seed",
}