jaocero / filachat
FilaChat是一个将实时客户支持聊天集成到您的应用程序的插件。它为顾客和客服聊天界面提供工具,包括管理和维护聊天对话的功能。
Requires
- php: ^8.1
- filament/filament: ^3.0
- laravel/prompts: ^0.1.24
- livewire/livewire: ^3.5
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.9
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.1
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
This package is auto-updated.
Last update: 2024-09-21 13:38:11 UTC
README
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_size
和upload_max_filesize
设置。
post_max_size = 20MB upload_max_filesize = 20MB
测试
composer test
变更日志
请参阅 变更日志 获取最近更改的详细信息。
贡献
请参阅 贡献指南 了解详细信息。
安全漏洞
请查看 我们的安全策略 了解如何报告安全漏洞。
致谢
许可证
MIT 许可证(MIT)。请参阅 许可证文件 获取更多信息。