tombenevides/metavel

一个用于集成 Metabase 到 Laravel 的包

0.0.2 2023-03-19 20:01 UTC

This package is auto-updated.

Last update: 2024-09-20 00:36:15 UTC


README

Total Downloads Issues Open Total Downloads Latest Version License

Metabase 是一个开源的商业智能平台,您可以在其中创建图表/网格(称为问题)或一组问题(称为仪表板),以自定义数据可视化。Metabase 的一个特性是嵌入。因此,此包提供了一些 blade 组件,可以抽象平台集成,使您能够轻松地将问题/仪表板嵌入 Laravel 应用程序中。

image

需求

PHP 8.1+

Laravel 10

安装方法

要安装此包,只需使用 composer

composer require tombenevides/metavel

使用方法

配置 Metabase 凭证

安装后,使用以下命令发布您的配置文件

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

这将创建一个 metavel.php 文件在您的配置文件夹中。在那里,您将看到设置 Metabase 基础 URL 和密钥的环回变量。

METAVEL_BASE_URL #Metabase base url
METAVEL_SECRET_KEY #Metabase secret key

您还可以在配置文件中找到 expiration_time 选项。由于 Laravel 和 Metabase 之间的通信使用 JWT,使用此选项您可以为生成的令牌设置过期日期。值以秒和数字日期格式表示。

调用组件

设置平台凭证后,您只需要在 blade 文件中调用匹配组件。有两个组件,一个用于问题,另一个用于仪表板

<body>
  <x-metavel-question :resource=89 />
  
  <x-metavel-dashboard :resource=10 />
</body>

组件有一些属性可以设置来自定义嵌入。大多数都是可选的,除了 resource,它是 Metabase 元素(问题或仪表板)的 ID。除此之外,您还可以设置

样式

作为一个 blade 组件,您可以添加 HTML 属性作为样式类,例如。Metabase 元素在 iframe 中加载,但它被一个接收属性的 div 封装,如下所示:

<body>
  <x-metavel-question :resource=89 class="w-full" />
</body>

这将生成

<div class="w-full">
   <iframe....
</div>

许可证

Metavel 是一个受 MIT 许可证 许可的软件

更新

👋 关注作者 @devatreides 的 Twitter 以获取有关最新更新和其他项目的更多信息。说你好!