fschirinzi/laramote

Laravel远程

v2.1.0 2022-01-17 10:38 UTC

This package is auto-updated.

Last update: 2024-09-17 16:40:43 UTC


README

Test StyleCI Latest Version on Packagist Total Downloads

LaraMote 允许您从远程运行 Laravel 的任务。如果您使用 Cypress 测试前端(SPA)应用,并且该应用以 Laravel 作为后端,那么这个包将非常有帮助。

目前实现了以下功能

✅ 艺术家命令
       ✅ 带参数的命令
       ✅ 获取输出
✅ 登录用户
       ✅ 自定义键值
       ✅ 自定义键/表列
       ✅ 自定义模型
       ✅ 记住
✅ 工厂
       ✅ 创建/制作
       ✅ 模型
       ✅ 名称
       ✅ 状态
       ✅ 数量
       ✅ 显示隐藏属性
       ✅ 覆盖属性
✅ 模型
       ✅ 使用自定义键值搜索
       ✅ 使用自定义键/表列搜索
       ✅ 使用自定义模型搜索
       ✅ 限制获取
       ✅ 加载关系
       ✅ 显示模型和关系的隐藏属性

待办事项

  • 使命令正常工作
  • 编写测试
  • 添加包含所有端点和其参数的维基页面
  • 支持所有基于类的工厂功能

安装

您可以通过 composer 安装此包

composer require fschirinzi/laramote --dev

安装 LaraMote 后,您可以使用 laramote:install 艺术家命令发布其资产

php artisan laramote:install

用法

LaraMote 在 /laramote URI 上公开端点。默认情况下,您只能在 localtesting 环境中访问此仪表板。但是,在您的 app/Providers/LaraMoteServiceProvider.php 文件中,有一个 gate 方法控制对非本地环境中 LaraMote 端点的访问。您可以自由修改此 gate,以根据需要限制对您的 LaraMote 端点的访问

/**
 * Register the LaraMote gate.
 *
 * This gate determines who can access LaraMote in non-local environments.
 *
 * @return void
 */
protected function gate()
{
    Gate::define('useLaraMote', function ($user = null) {
        return in_array(optional($user)->email, [
            //
        ]);
    });
}

示例

您可以将 Insomnia_example_requests.json 导入 Insomnia Rest-client 以查看一些实际操作的示例。

升级

当升级到 Laramote 的新版本时,您应重新发布 LaraMote 的资产

php artisan laramote:publish

为了保持资产更新并避免未来更新的问题,您可以在应用程序的 composer.json 文件中添加 laramote:publish 命令到 post-update-cmd 脚本

自定义中间件

如果需要,您可以更新您的 config/laramote.php 文件来自定义 LaraMote 路由使用的中间件堆栈。如果您尚未发布 LaraMote 的配置文件,您可以使用 vendor:publish 艺术家命令来这样做

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

配置文件发布后,您可以通过调整此文件中的中间件配置选项来编辑 LaraMote 的中间件

/*
|--------------------------------------------------------------------------
| LaraMote Route Middleware
|--------------------------------------------------------------------------
|
| These middleware will be assigned to every Vapor UI route - giving you
| the chance to add your own middleware to this list or change any of
| the existing middleware. Or, you can simply stick with this list.
|
*/

'middleware' => [
    'api',
    EnsureUserIsAuthorized::class,
],

测试

composer test

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

贡献

请参阅CONTRIBUTING获取详细信息。

安全

如果您发现任何与安全相关的问题,请通过电子邮件fschirinzi25@gmail.com联系,而不是使用问题跟踪器。

鸣谢

我使用了Laravel/VaporUi包及其文档作为模板,以加快此包的开发。

许可证

MIT许可证(MIT)。请参阅许可证文件获取更多信息。

Laravel 包模板

此包是使用Laravel 包模板生成的。