vojislavd / laravel-messages
此包已废弃,不再维护。未建议替代包。
Laravel消息系统
v0.1.0
2022-03-17 23:28 UTC
Requires
- php: ^8.0
Requires (Dev)
- livewire/livewire: ^2.10
- orchestra/testbench: ^7.1
- phpunit/phpunit: ^9.5
README
此包将基于TALL stack(Tailwind CSS,Alpine.js,Laravel,Livewire)的消息系统添加到Laravel应用程序中。
要求
此包与Laravel Jetstream包兼容,该包用于Livewire堆栈。如果您已经安装并运行了它,则不需要采取任何进一步的操作。
如果您没有Laravel Jetstream,则需要某种形式的身份验证,因为该包使用Laravel的Authenticatable类来获取已认证的用户。此外,您需要已经安装并运行了Tailwind CSS,Alpine.js和Livewire。
安装
您可以通过composer安装此包
composer require vojislavd/laravel-messages
之后,您需要发布迁移和配置文件
php artisan vendor:publish --tag="laravel-messages-migrations"
php artisan vendor:publish --tag="laravel-messages-config"
运行迁移
php artisan migrate
在您的User模型类中添加Messagable特质
// App\Models\User.php use VojislavD\LaravelMessages\Traits\Messagable; class User extends Authenticatable { use Messagable; ... }
在tailwind.config.js文件中添加此包的blade文件
module.exports = { content: [ './vendor/vojislavd/laravel-messages/**/*.blade.php', // <-- Add this line ], theme: {}, plugins: [], };
安装依赖项并运行构建过程
npm install && npm run dev
用法
将组件包含到您的HTML页面中
@livewire('inbox')
自动刷新消息
在配置文件config\messages.php中,您可以配置组件自动刷新以获取新消息,还可以配置刷新间隔。
'update' => [ 'auto' => true, 'interval' => 750 // milliseconds ],
默认情况下,自动刷新选项是禁用的。
过滤禁止词汇
该组件有一个基本的禁止词汇过滤器。在配置文件中,您可以配置要过滤的词汇,并提供过滤确切词汇或包含文本的选项。
'validation' => [ 'filter' => [ 'exact' => ['exact', 'forbidden', 'words'], 'contain' => ['contain', 'forbidden', 'words'], ], ],
更改组件样式
如果您想更改组件的样式,则需要发布视图文件。
php artisan vendor:publish --tag="laravel-messages-views"
测试
使用以下命令运行测试
composer test
鸣谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。
