marshmallow/gtmetrix

为您的网站页面获取 GT Metrix 信息。此包也可以独立使用。

v1.1.2 2021-04-07 11:25 UTC

README

alt text

GT Metrix for Laravel Nova

为您的网站页面获取 GT Metrix 信息。此包也可以独立使用。

它是如何工作的?

您在 GT Metrix 上创建一个账户。一旦您有了 API 密钥,您就可以开始了。您可以将这个库添加到您想要的所有资源中,只要它们与公共 URL 相关联,我们可以获取该 URL 的 GT Metrix 评分。

索引视图

在索引页面上,我们显示了平均的 `Pagespeed` 评分和 `Yslow` 评分。

详情视图

在详情视图中,我们将显示 `Pagespeed` 评分和 `Yslow` 评分。您可以点击它们以转到 GTmetrix.com 网站的完整报告。

操作

在详情视图中,您将能够开始一个操作。此操作将被排队,所以请确保您有一个正在运行的工人。这需要这样做,因为在 GTmetrix 忙碌时,超时的可能性很大。

一旦您选择了获取新评分的操作,您将收到一个弹出窗口,告诉您您剩余的信用额,以及您是否确定要再花费一个信用额。

安装

使用 composer 拉取库。

composer require marshmallow/gtmetrix

更新您的 .env 文件并添加以下环境属性。

GTMETRIX_EMAIL_ADDRESS=...
GTMETRIX_API_KEY=...

准备您的模型

  1. use Actionable;use GTMetrix; 添加到您的模型中。
namespace App;

use Laravel\Nova\Actions\Actionable;
use Marshmallow\GTMetrix\Traits\GTMetrix;

class Post extends Model
{
    use GTMetrix;
    use Actionable;
    // ...
  1. 向您的模型添加公共方法 getFullPublicPath()。当从 GT Metrix 获取状态时,我们将使用此方法的结果作为您想要检查的 URL。
class Post extends Model
{
    // ...

    public function getFullPublicPath()
    {
        return 'https://marshmallow.dev/' . $this->slug;
    }
}

准备您的 Nova 资源

  1. GTMetrixField::make('GT Metrix'), 添加为字段。
use Marshmallow\GTMetrix\GTMetrixField;

public function fields(Request $request)
{
    return [
        ID::make(__('ID'), 'id')->sortable(),
        GTMetrixField::make('GT Metrix'),
    ];
}
  1. 添加 new CheckGTMetrixScore, 作为操作。
use Marshmallow\GTMetrix\Actions\CheckGTMetrixScore;

public function actions(Request $request)
{
    return [
        new CheckGTMetrixScore,
    ];
}