launcher/mercurius

Laravel 实时消息包

1.0.0-alpha.2 2018-11-16 22:27 UTC

README

Build Status Build Status Latest Version Total Downloads License

目录

关于

Mercurius 是一个使用 Laravel 和 Vue.js 的实时消息系统,提供了一整套易于在任何 Laravel 项目中安装的应用。

预览


功能

  • 实时消息
  • 响应式
  • 多语言
  • 浏览器通知
  • 独特的 UX,支持深色主题
  • 输入指示器
  • 移除对话和消息
  • 使用自动完成搜索收件人

截图

点击缩略图可放大图片

演示

您可以通过 Mercurius 演示版 进行尝试。使用以下凭据进行认证:

  • ian@launcher.host
  • noa@launcher.host
  • lua@launcher.host

密码: password

提示:打开两个不同的浏览器,使用不同的用户名登录,以便您可以测试发送/接收消息。


安装

在继续之前,请确保已安装 Laravel 5.6+。

1. 设置 Pusher

如果您没有账户,请在 pusher.com 网站 上创建一个免费的账户。转到仪表板,创建一个新的应用并记下 API 凭据。

现在,让我们将 API 密钥添加到 .env 文件中。同时,将 BROADCAST_DRIVER 修改为 pusher(默认为 log)。

...
BROADCAST_DRIVER=pusher
...
PUSHER_APP_ID="xxxxxx"
PUSHER_APP_KEY="xxxxxxxxxxxxxxxxxxxx"
PUSHER_APP_SECRET="xxxxxxxxxxxxxxxxxxxx"
PUSHER_APP_CLUSTER="xx"
2. 注册 BroadcastServiceProvider

打开 config/app.php 并取消注释 App\Providers\BroadcastServiceProvider::class, 这一行。

3. Laravel 身份验证

如果已设置身份验证,则跳过此步骤,否则请输入

php artisan make:auth
4. 安装 Mercurius
composer require launcher/mercurius
5. 配置(可选)

如果您想更改默认配置,请通过输入以下命令发布配置文件:

php artisan vendor:publish --tag=mercurius-config

编辑配置时,请打开 /config/mercurius.php 并添加您自己的值。

return [

    /*
    |--------------------------------------------------------------------------
    | Mercurius Models
    |--------------------------------------------------------------------------
    |
    | Defines the models used with Mercurius, use it to extend Mercurius and
    | create your own implementation.
    |
    */

    'models' => [
        'user' => App\User::class,
        'messages' => Launcher\Mercurius\Models\Message::class,
    ],

    /*
    |--------------------------------------------------------------------------
    | User Table Fields
    |--------------------------------------------------------------------------
    |
    | You can specify the column names for the user table. The `name` accepts
    | an array of fields, for building custom names with multiple columns.
    |
    */

    'fields' => [
        // 'name'   => ['first_name', 'last_name'],
        'name'   => 'name',
        'slug'   => 'slug',
        'avatar' => 'avatar',
    ],
];
6. 安装 Mercurius
php artisan mercurius:install
composer dump-autoload
7. 用户特质

Launcher\Mercurius\MercuriusUser 特质添加到您的 User 模型中

// ...
use Illuminate\Foundation\Auth\User as Authenticatable;
use Launcher\Mercurius\MercuriusUser;

class User extends Authenticatable
{
    use MercuriusUser;
    // ...
}
8. 安装示例数据(用于测试)
php artisan db:seed --class=MercuriusDatabaseSeeder

将添加消息和用户到系统中,就像在 演示示例 中一样

演示用户

  • Ian: ian@launcher.host
  • Noa: noa@launcher.host
  • Lua: lua@launcher.host

密码: password

更新Mercurius

每次更新Mercurius时,请确保发布资产以应用CSS/JS的新版本。

php artisan vendor:publish --tag=mercurius-public --force

自定义

有关更多信息,请参阅自定义


路线图

查看路线图以获取更多信息。

  • 单元测试
  • 与多个用户的对话 #13
  • Webhooks #16
  • 上传照片和文件 #14
  • 预览图片和视频 #15
  • 支持表情符号 #18
  • 视频聊天 #19
  • 支持socket.io #20
  • 搜索消息 #17

支持


贡献

有关更多信息,请参阅贡献指南


变更日志

我们保留一个包含变更信息的变更日志


致谢


版权和许可

版权所有 2018 Bruno Torrinha。Mercurius在MIT许可证下发布。