spatie/laravel-help-space

在您的Laravel应用程序中集成Helpspace

1.1.0 2024-03-11 23:27 UTC

This package is auto-updated.

Last update: 2024-09-08 21:46:35 UTC


README

Latest Version on Packagist GitHub Tests Action Status Total Downloads

HelpSpace是一款美观的客户服务台服务。其特色之一是可以显示一个侧边栏,其中包含有关发起工单的人的额外信息。

sidebar

HelpSpace会向您的应用程序发送请求以获取填充该侧边栏的HTML内容。我们的包使得验证来自HelpSpace的请求是否有效变得容易,并允许您对其进行响应。

安装后,这样就可以响应来自HelpSpace的请求。

use Spatie\HelpSpace\Http\Requests\HelpSpaceRequest;

HelpSpace::sidebar(function(HelpSpaceRequest $request) {
    $user = User::firstWhere('email', $request->email())
    
    if (! $user) {
        return 'No user found';
    }
    
    // any view of your own in which you render the html
    // to be displayed at HelpSpace
    return view('help-space.sidebar', compact('user'));
})

支持我们

我们投入了大量资源来创建一流的开放源代码包。您可以通过购买我们的付费产品之一来支持我们。

我们非常感谢您从您的家乡寄给我们一张明信片,说明您正在使用我们的哪个包。您可以在我们的联系页面上找到我们的地址。我们将所有收到的明信片发布在我们的虚拟明信片墙上

安装

您可以通过Composer安装此包

composer require spatie/laravel-help-space

要发布配置文件并在您的应用程序中创建app/Providers/HelpSpaceServiceProvider.app类,请运行此命令。

php artisan help-space:install

这是发布在config/help-space.php应用程序中配置文件的内容

return [
    /*
     * The secret used to verify if the incoming HelpSpace secret is valid
     */
    'secret' => env('HELP_SPACE_SECRET'),

    /*
     * The package will automatically register this route to handle incoming
     * requests from HelpSpace.
     *
     * You can set this to `null` if you prefer to register your route manually.
     */
    'url' => '/help-space',

    /*
     * These middleware will be applied on the automatically registered route.
     */
    'middleware' => [
        Spatie\HelpSpace\Http\Middleware\IsValidHelpSpaceRequest::class,
        'api',
    ],
];

接下来,在您的.env文件中,您必须设置一个新的环境变量HELP_SPACE_SECRET,将其设置为随机字符串。在HelpSpace中,您必须导航到集成设置中的“自定义工单侧边栏”。在那里,您必须输入该随机字符串。此密钥将用于验证传入请求是否确实来自HelpSpace。

settings

该包将自动在/help-space上注册一个路由。此路由可以进行自定义

使用方法

如果您从上面的部分运行了安装命令,那么您的应用程序在app/Providers中有一个HelpSpaceServiceProvider.php服务提供者。这是内容。

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Spatie\HelpSpace\Facades\HelpSpace;
use Spatie\HelpSpace\Http\Requests\HelpSpaceRequest;

class HelpSpaceServiceProvider extends ServiceProvider
{
    public function register()
    {
        HelpSpace::sidebar(function(HelpSpaceRequest $request) {        
            return "HTML about {$request->email()}";
        });
    }
}

sidebar中的可调用函数将在HelpSpace向您的应用程序发送请求时执行。给定的HelpSpaceRequestemail()方法将包含发起工单的人的电子邮件地址。

除了返回一个字符串,您还可以返回一个视图。

HelpSpace::sidebar(function(HelpSpaceRequest $request) {
    $user = User::firstWhere('email', $request->email());
    
    return view('your-own-view', compact('user'));        
}

预览侧边栏内容

当您正在处理返回侧边栏HTML的视图时,在本地预览它可能很方便,而不是让HelpScout发送请求。

要查看给定电子邮件地址的HTML,您可以使用help-space:render-sidebar命令。

# returns the HTML for the given email address
php artisan help-space:render-sidebar --email=john@example.com

自定义注册的路由

该包将自动在/help-space上注册一个路由。您可以在help-space.php配置文件中更改此值。

或者,您可以注册自己的路由。

首先,您必须在help-space.php配置文件中将url键设置为null

接下来,您必须在您的路由文件中添加此内容,最好是在routes/api.php中,这样当来自HelpSpace的新请求到来时,您的应用程序不会启动会话。

// in a routes file, preferable in routes/api.php

Route::helpSpaceSidebar('your-custom-segment');

上述路由将注册一个URL为https://yourdomain.com/api/your-custom-segment的路由(当你在api.php路由文件中注册时。)

测试

composer test

变更日志

请参阅变更日志获取有关最近更改的更多信息。

贡献

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

安全漏洞

请查看我们的安全策略了解如何报告安全漏洞。

鸣谢

许可

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