vojislavd/laravel-messages

此包已废弃,不再维护。未建议替代包。

Laravel消息系统

v0.1.0 2022-03-17 23:28 UTC

This package is auto-updated.

Last update: 2024-08-08 11:08:46 UTC


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)。有关更多信息,请参阅许可证文件