launcher / mercurius
Laravel 实时消息包
Requires
- php: ^7.1.3
- laravel/framework: 5.5.* || 5.6.* || 5.7.*
- pusher/pusher-php-server: ^3.2
Requires (Dev)
- codeclimate/php-test-reporter: dev-master
- mockery/mockery: ^1.0
- orchestra/testbench: ^3.7
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2024-09-15 03:03:34 UTC
README
目录
关于
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许可证下发布。