jaocero/filachat

FilaChat是一个将实时客户支持聊天集成到您的应用程序的插件。它为顾客和客服聊天界面提供工具,包括管理和维护聊天对话的功能。

资助包维护!
jaocero

v0.2.0-alpha.4 2024-09-14 09:15 UTC

This package is auto-updated.

Last update: 2024-09-21 13:38:11 UTC


README

Header

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

FilaChat是一个插件,可以将实时客户支持聊天添加到您的应用程序中。它为顾客和客服聊天界面提供工具,包括管理和维护对话的功能。您还可以禁用角色限制,让用户之间无限制地聊天。

重要

此插件有两个角色:客服用户。当角色限制启用时,客服不能互相聊天,用户也不能互相聊天。只有客服用户可以互相聊天,反之亦然。如果禁用角色限制,客服用户可以自由互相聊天,不受任何限制。

注意

此插件未在生产环境中测试。使用时请自行承担风险。

安装

您可以通过composer安装此包

composer require jaocero/filachat

运行以下命令安装FilaChat,它将处理所有迁移和配置。

php artisan filachat:install

您可以在以下链接中查看配置文件的完整内容: config/filachat.php

接下来,执行以下命令在您的public文件夹中生成资产。

php artisan filament:assets

注意

如果您想启用角色限制,这一步是可选的。如果您想设置基于角色的聊天支持,只需创建一个客服即可。

首次安装此插件时,您还没有任何已设置的客服。客服类似于管理员,可以为您的客户或用户提供聊天支持。

要创建一个客服,请使用以下命令

php artisan filachat:agent-create

接下来,您需要将HasFilaChat特质应用到您的模型上,无论是客服模型还是用户模型。

<?php

//...
use JaOcero\FilaChat\Traits\HasFilaChat;
//...
class User extends Authenticatable
{
    //...
    use HasFilaChat;
    //...
}

要将此插件集成到您的FilamentPHP应用程序中,您需要应用自定义主题。

自定义主题安装 Filament文档

然后添加插件视图到您的tailwind.config.js文件。

content: [
    ...
    './vendor/jaocero/filachat/resources/views/**/**/*.blade.php',
    ...
]

使用方法

现在您可以使用此插件并将其添加到您的FilamentPHP面板提供商。

<?php
//...
use JaOcero\FilaChat\FilaChatPlugin;
//..
class AdminPanelProvider extends PanelProvider
{
    //...
    public function panel(Panel $panel): Panel
    {
        return $panel
            //...
            ->plugins([
                FilaChatPlugin::make()
            ]);
    }

    //...
}

重要

要使用此插件,您需要安装Laravel Reverb并启用您的应用程序中的FilamentPHP广播。

对于最后一步,您需要为您的应用程序设置Laravel Reverb。有关更多详细信息,请参阅Reverb。之后,根据Laravel Daily的以下指南启用您的FilamentPHP应用程序的广播。

然后,每次您在本地环境中启动应用程序时,都需要运行以下命令以启用广播

php artisan reverb:start

当使用文件上传时,Livewire默认文件大小限制为12 MB。要更改此限制,您需要使用以下命令发布Livewire配置文件:php artisan livewire:publish --config,然后调整rule

<?php

return [
    //...
    'temporary_file_upload' => [
        'rules' => 'max:20000',       // Example: ['file', 'mimes:png,jpg']  | Default: ['required', 'file', 'max:12288'] (12MB)
    ],
    //...
];

您还需要调整php.ini文件中的post_max_sizeupload_max_filesize设置。

post_max_size = 20MB
upload_max_filesize = 20MB

测试

composer test

变更日志

请参阅 变更日志 获取最近更改的详细信息。

贡献

请参阅 贡献指南 了解详细信息。

安全漏洞

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

致谢

许可证

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