lafree777 / chatify
为 Laravel PHP 框架添加完整的实时聊天系统的包。
Requires
- pusher/pusher-php-server: ^4.0
This package is auto-updated.
Last update: 2024-09-20 01:33:48 UTC
README
Chatify Laravel 包
一个 Laravel 包,允许您通过几个简单步骤将完整的用户消息系统添加到您的新/现有 Laravel 应用程序中。
要求
- PHP >=5.3.2。
- Laravel >=5.4
- Pusher Api 账户。
特性
- 用户/群组(即将推出)聊天系统。
- 实时联系人列表更新。
- 收藏联系人列表(如故事风格)和添加到收藏夹按钮。
- 保存消息到您的在线消息,如 Telegram 消息应用。
- 搜索功能。
- 联系人项目的最后消息指示器(例如:你: ....)。
- 实时用户活跃状态。
- 实时输入指示器。
- 实时已读消息指示器。
- 实时网络连接状态。
- 上传附件(照片/文件)。
- 共享照片,删除对话..(用户信息右侧)。
- 响应式设计,适用于所有设备。
- 用户设置和聊天定制:用户个人照片、暗黑模式和聊天颜色。具有简单而美妙的设计。
演示
安装
YouTube 上的视频教程 - 点击这里
或者
按照以下步骤操作
1. 在您的 Laravel 应用程序中安装包
快速提示:如果您正在将此包安装在新项目中,请确保安装与 Laravel 一起提供的默认用户身份验证系统。
$ composer require munafio/chatify
2. Pusher Api 设置
此包使用 Pusher Api,因此您需要
- 创建账户并修改您的 Laravel 应用程序的
.env
文件,使用您的 API 凭据。 - 此包使用了 Pusher 客户端事件,并且必须在应用程序中启用客户端事件。您可以在 Channels 控制面板中应用程序的
设置
选项卡中完成此操作。
有关 Pusher '触发客户端事件' 的更多信息
3. 发布资产
要发布的包资产
重要资产
- 配置
- 资产
- 迁移
以及可选资产
- 控制器(如果您发布,则需要配置 此内容)
- 视图
要发布资产,请使用以下命令行,更改标签值 .. 这意味着在 --tag=
后写入 chatify-
+ 如上所述的资产名称。
示例
$ php artisan vendor:publish --tag=chatify-config
- 注意:发布资产意味着(例如,配置)将包的配置文件复制到您的 Laravel 应用程序的
config
文件夹中,并以此类推处理其他资产(包的视图、控制器、迁移等)。
4. 迁移
迁移之前步骤中添加的新 migrations
。
$ php artisan migrate
5. 存储符号链接
在 public
文件夹中创建到 storage
文件夹的快捷方式或符号链接。
$ php artisan storage:link
6. 应用配置
对于 Laravel <=v5.4
,该版本不支持包自动发现,请在 config/app.php
提供商数组列表中添加以下提供程序
... /* * Package Service Providers... */ \Chatify\ChatifyServiceProvider::class, ...
并将以下别名添加到 config/app.php
别名中
... /* * Class Aliases */ 'Chatify' => Chatify\Facades\ChatifyMessenger::class, ...
- 安装包后,您可以通过默认路径(路由路径)访问消息发送器,该路径为
/chatify
,您可以在下面的配置中更改路径名称,在配置文件config/chatify.php
中进行更改。
就这些..享受吧 :)
配置
您可以在安装步骤的第2步发布的 config/chatify.php
文件中找到和修改包的默认配置,并且所有配置都得到了很好的文档说明,以便其他开发者理解。
- 包的所有文件都有文档说明,以便理解整个代码。
消息发送器名称
此值是应用在视图或其他应用位置使用的应用名称。
... 'name' => env('CHATIFY_NAME', 'Chatify Messenger'), ...
应用中的消息发送器路径
此值是包的路径,或者换句话说,它是本包中所有注册路由的前缀。例如(yourapp.domain/chatify)
... 'path' => env('CHATIFY_PATH', 'chatify'), ...
包的Web路由中间件
此值是本包中所有注册路由的中间件,默认为:auth
。
... 'middleware' => env('CHATIFY_MIDDLEWARE', 'auth'), ...
Pusher API凭证
您不需要在此处修改Pusher的凭证,因为您已经将凭证添加到您的Laravel应用的 .env
文件中。
用户头像
这是用户头像的设置,包括
... 'user_avatar' => [ 'folder' => 'users-avatar', ... ], ...
这是上传和从用户处获取头像的默认文件夹名称。
... 'user_avatar' => [ ... 'default' => 'avatar.png', ], ...
这是存储在数据库中的用户的默认头像文件名 .. 当您发布 assets
时,头像照片的副本将被复制到您的存储路径。
默认附件
此数组包含在此包中使用的重要默认值
... 'attachments' => [ 'folder' => 'attachments', ... ], ...
这是存储中 attachments
的默认文件夹名称,所有附件都将存储在此处 .. 并将在视图中的附件URL中使用。
... 'attachments' => [ ... 'route' => 'attachments.download', ], ...
这是 download attachments
方法的路由名称。
控制器命名空间
如果您可能需要在发布 'controllers' 资产后更改本包的路由控制器的命名空间,从默认的一个更改为您的应用控制器的命名空间,则此属性会用到。
默认值: Chatify\Http\Controllers
如果已发布以供修改,则应如下所示: App\Http\Controllers\vendor\Chatify
... 'namespace' => env('CHATIFY_ROUTES_NAMESPACE', 'Chatify\Http\Controllers'),
注意
Laravel 8+ 将支持 chatify v2。
Chatify v2 发布日期可能会因工作和其他时间而推迟。
但我保证 (Chatify v2 将会非常棒)
,所以请耐心等待 ❤️