toneflix-code / laravel-visualconsole
一个用于帮助执行常见 artisan 任务及其他功能的 Laravel 扩展包。
Requires
- php: ^8.0|^8.1|^8.2
- illuminate/filesystem: ^8.0|^9.0|^10.0|^11.0
- illuminate/support: ^8.0|^9.0|^10.0|^11.0
- masbug/flysystem-google-drive-ext: ^2.3
- rap2hpoutre/laravel-log-viewer: ^2.2
- spatie/laravel-slack-alerts: ^1.3|^1.4
- winter/laravel-config-writer: ^1.1
- zanysoft/laravel-zip: ^2.0
Requires (Dev)
- orchestra/testbench: ^6.0|^8.20
- phpunit/phpunit: ^9.0|^10.1
README
Laravel Visual Console 设计用于提供您最常用 Laravel 流程、artisan 命令和系统管理的视觉体验。如果您构建并管理不要求您构建任何额外用户界面的 API,这将非常有用。
安装
您可以通过 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_field
和 permission_value
配置值设置为 null
以禁用此行为。禁用此功能意味着任何具有登录权限的人都可以访问视觉控制台。
自定义命令
此库还公开了一些自定义 artisan 命令,以帮助您完成某些日常任务。尽管这些命令可以通过 UI 访问,但它们仍然是 artisan 命令,并且可以通过您的终端一样轻松地访问。
-
system:deploy
:自动从与您的项目关联的 Git 仓库部署最新代码。在运行此命令之前,请确保您已设置 Git 仓库并添加了一个名为 "origin" 的远程仓库。-
参数
--branch=
:要部署的分支,默认为main
。--force
:强制部署。--dev
:以开发模式运行(这将阻止 composer 移除开发依赖项)--log-level=[level]
:如何处理输出。0
= 无,1
= 控制台,2
= 文件和控制台。--mock-php
:如果你的服务器位于使用低于 8.1 版本的 CLI 的共享主机上,此选项允许你使用所选的不同的 php 版本,发布 配置文件 并更新php_bin
选项,或者在 .env 文件上设置VISUALCONSOLE_PHP_BINARY
选项(确保路径是您首选的 php 可执行文件的绝对路径)。您还可以在 .env 上设置composer
选项或设置VISUALCONSOLE_COMPOSER
选项。--composer=[命令]
允许您运行自定义的 composer 命令,如果您想在部署前运行 composer 命令,这很有用。例如,--composer="install --no-dev"
。目前此选项仅支持install
和update
命令。--ensure-commit
:在部署前确保没有未提交的更改。
示例
php artisan system:deploy --branch=main
-
-
system:control
:帮助您执行常见的系统任务,如备份、备份恢复和系统重置。-
参数
action
要执行的具体操作 [重置、备份、恢复]
-
参数
--w|wizard
:让向导引导您完成整个过程。--r|restore
:将系统恢复到最后一次备份,或者提供--signature
选项以恢复到已知的备份签名。--s|signature=
:设置备份签名值以恢复特定已知的备份。例如,2022-04-26_16-05-34
。--b|backup
:在系统重置期间,在重置前进行完整的系统备份。--d|delete
:如果设置了恢复选项,此选项将在成功恢复后删除备份文件。--f|force
:强制执行操作。
示例
php artisan system:control backup --w|wizard
-
-
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)。有关更多信息,请参阅 许可文件。