mprince/laravel-talker

一个用于Laravel PHP框架的包,用于添加完整的实时聊天系统。

安装: 2

依赖: 0

建议者: 0

安全: 0

星标: 1

关注者: 2

分支: 0

开放问题: 0

语言:JavaScript

dev-main 2021-05-19 06:21 UTC

This package is not auto-updated.

Last update: 2024-09-19 20:48:50 UTC


README

Latest Stable Version Total Downloads License

Chatify Laravel 包

一个Laravel包,允许您通过几个简单的步骤将完整的用户消息系统添加到新的/现有的Laravel应用程序中。

重要说明(更新于2021/03/07)

  • 我目前正在发布 v1.2.0 版本,将解决许多问题,支持Laravel 8+,并将在UI/UX方面进行一些小的更改...就像这样。
  • 此外,我想提及,文档将迁移到Gitbook
  • Chatify v2 将延迟发布,因为它需要完全重新设计/重新编码(后端、UI/UX、功能...),因此需要一些时间来完成!此外,还因为我的一般工作和时间。
    最后...我保证 (Chatify v2 将非常出色),所以请耐心等待 ❤️

Laravel 8+ 支持

由于这个包目前(v1.0.1,v1.0.0)可能不支持Laravel 8+,但根据@lelu0在munafio/chatify#66 (评论)中提到的,您可以在进行一些相当简单的更改后,让它在Laravel 8+上工作。

要求

  • PHP >=5.3.2。
  • Laravel >=5.4
  • Pusher Api 账户。

功能

  • 用户/群组(即将推出)聊天系统。
  • 实时联系人列表更新。
  • 收藏联系人列表(如故事风格)和添加到收藏夹按钮。
  • 保存消息到保存您的消息在线,如Telegram消息应用。
  • 搜索功能。
  • 联系人项的最后一条消息指示器(例如:您:....)。
  • 实时用户的在线状态。
  • 实时打字指示器。
  • 实时已读消息指示器。
  • 实时网络连接状态。
  • 上传附件(照片/文件)。
  • 共享照片,删除对话等(用户信息右侧)。
  • 响应式设计,适用于所有设备。
  • 用户设置和聊天定制:用户个人照片、暗黑模式和聊天颜色。具有简单而美观的UI设计。

演示

安装

YouTube上的视频教程 - 点击这里

OR

按照以下步骤操作

1. 在您的Laravel应用程序中安装此包

快速提示:如果您在新的项目中安装此包,请确保安装了Laravel提供的默认用户身份验证系统。

$ composer require munafio/chatify

2. Pusher Api 设置

此包使用Pusher Api,因此您需要

  • 创建账户并修改Laravel应用程序的.env文件,以包含您的API凭据。
  • 此包使用Pusher客户端事件,并且必须在应用程序中启用客户端事件。您可以在Channels仪表板中应用程序的“设置”选项卡中完成此操作。
    有关Pusher '触发客户端事件'的更多信息

3. 发布资产

要发布的包资产
重要资产

  • config
  • assets
  • migrations

以及可选资产

  • 控制器(如果已发布,则需要配置此内容
  • 视图

要发布资产,请使用以下命令行并更改标签值 ... 这意味着在 --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',
    ],
...

这是 下载附件 方法的路由名称。

控制器命名空间

如果您需要在发布 'controllers' 资产后更改此包路由控制器的命名空间,则此属性可用于更改,从默认命名空间更改为您的应用控制器命名空间。

默认值:Chatify\Http\Controllers
如果已发布进行修改,则应如下所示:App\Http\Controllers\vendor\Chatify

...
'namespace' => env('CHATIFY_ROUTES_NAMESPACE', 'Chatify\Http\Controllers'),

作者

Munaf A. Mahdi

许可

MIT