toneflix-code/laravel-visualconsole

一个用于帮助执行常见 artisan 任务及其他功能的 Laravel 扩展包。

2.0.1 2024-07-28 16:41 UTC

This package is auto-updated.

Last update: 2024-09-28 17:02:16 UTC


README

Latest Version on Packagist Total Downloads

Laravel Visual Console 设计用于提供您最常用 Laravel 流程、artisan 命令和系统管理的视觉体验。如果您构建并管理不要求您构建任何额外用户界面的 API,这将非常有用。 preview

安装

您可以通过 composer 安装此扩展包。

composer require toneflix-code/laravel-visualconsole

安装后

安装后,您必须运行以下命令来发布扩展包资源:

php artisan vendor:publish --tag=visualconsole-assets

可选地,您可以运行以下命令来发布配置文件:

php artisan vendor:publish --tag=visualconsole-config

您还可以选择运行以下命令来发布视图:

php artisan vendor:publish --tag=visualconsole-view

如果需要,您还可以运行以下命令来发布路由:

php artisan vendor:publish --tag=visualconsole-routes

获取 Google 密钥

此扩展包依赖于 Google Drive 进行备份存储,尽管您可以使用任何配置为运行的应用程序存储。

请按照 Google Docs 中的说明获取您的 client ID, client secret & refresh token,这是使系统运行所需的。

此外,您还可以通过 @ivanvermeyen 阅读这些易于遵循的教程。

用法

安装后,扩展包即可使用,只需将您的浏览器指向 http://youdomainexample.com/system/console/login

默认设置已配置为与您当前的认证模型一起使用。

授权

默认情况下,扩展包将检查当前认证模型 [User]privileges 字段,以确定认证用户是否具有 admin 权限,假设该字段的值为属性/权限的数字列表。如果无法确认,则检查该字段的值是否正好为 admin,一旦确认,则用户认证成功。

如果您想更改此行为,请参阅 安装后 部分了解如何发布配置并修改它以满足您的需求。您还可以将 permission_fieldpermission_value 配置值设置为 null 以禁用此行为。禁用此功能意味着任何具有登录权限的人都可以访问视觉控制台。

自定义命令

此库还公开了一些自定义 artisan 命令,以帮助您完成某些日常任务。尽管这些命令可以通过 UI 访问,但它们仍然是 artisan 命令,并且可以通过您的终端一样轻松地访问。

  1. system:deploy:自动从与您的项目关联的 Git 仓库部署最新代码。在运行此命令之前,请确保您已设置 Git 仓库并添加了一个名为 "origin" 的远程仓库。

    • 参数

      1. --branch=:要部署的分支,默认为 main
      2. --force:强制部署。
      3. --dev:以开发模式运行(这将阻止 composer 移除开发依赖项)
      4. --log-level=[level]:如何处理输出。 0 = 无,1 = 控制台,2 = 文件和控制台。
      5. --mock-php:如果你的服务器位于使用低于 8.1 版本的 CLI 的共享主机上,此选项允许你使用所选的不同的 php 版本,发布 配置文件 并更新 php_bin 选项,或者在 .env 文件上设置 VISUALCONSOLE_PHP_BINARY 选项(确保路径是您首选的 php 可执行文件的绝对路径)。您还可以在 .env 上设置 composer 选项或设置 VISUALCONSOLE_COMPOSER 选项。
      6. --composer=[命令] 允许您运行自定义的 composer 命令,如果您想在部署前运行 composer 命令,这很有用。例如,--composer="install --no-dev"。目前此选项仅支持 installupdate 命令。
      7. --ensure-commit:在部署前确保没有未提交的更改。

    示例

    php artisan system:deploy --branch=main
  2. system:control:帮助您执行常见的系统任务,如备份、备份恢复和系统重置。

    • 参数

      1. action 要执行的具体操作 [重置、备份、恢复]
    • 参数

    1. --w|wizard:让向导引导您完成整个过程。
    2. --r|restore:将系统恢复到最后一次备份,或者提供 --signature 选项以恢复到已知的备份签名。
    3. --s|signature=:设置备份签名值以恢复特定已知的备份。例如,2022-04-26_16-05-34
    4. --b|backup:在系统重置期间,在重置前进行完整的系统备份。
    5. --d|delete:如果设置了恢复选项,此选项将在成功恢复后删除备份文件。
    6. --f|force:强制执行操作。

    示例

    php artisan system:control backup --w|wizard
  3. system:key-gen:为应用程序生成 webhook 密钥,您可以使用此密钥在需要访问 artisan webhook 接口的服务(如 github 或其他服务)中进行授权。

    示例

    php artisan system:key-gen

Artisan Webhook 接口

Artisan Webhook 接口允许您在用户认证不可能的情况下远程运行上述任何 artisan 命令。接口可以像这样访问:http://youdomainexample.com/system/webhooks/artisan/[command [--param1] [--param2]]。当访问此端点时,您必须通过 X-Hub-Signature 标头传递请求体的 HMAC 十六进制摘要(使用 SHA-1 或 SHA-256 哈希函数生成,并使用密钥作为 HMAC 密钥),对于 Github 或其他服务,通过 X-Signature 提供方便。

队列和失败作业

该库目前支持数据库连接以用于队列作业。

测试

composer test

变更日志

请参阅 变更日志 以了解最近更改了什么。

贡献

请参阅 贡献指南 以获取详细信息。

安全性

如果您发现任何安全相关的问题,请通过 code@toneflix.com.ng 发送电子邮件,而不是使用问题跟踪器。

鸣谢

许可

MIT 许可证(MIT)。有关更多信息,请参阅 许可文件