损坏者/聊天

CodeIgniter 4 集成聊天小部件

v3.0.0-beta.1 2022-07-29 11:17 UTC

README

CodeIgniter 4 集成聊天小部件

Coverage Status

快速开始

  1. 使用Composer安装: > composer require tatter/chat
  2. 更新数据库: > php spark migrate --all
  3. 发布资产文件: > php spark publish
  4. 将聊天JS添加到布局中: <script><?= view('Tatter\Chat\Views\javascript') ?></script>
  5. 将聊天添加到任何视图: <?= chat('my-first-chat') ?>

功能

聊天 允许开发者向任何页面添加轻量级的Bootstrap风格聊天客户端。

安装

通过Composer轻松安装以利用CodeIgniter 4的自动加载功能,并始终保持最新状态。

> composer require tatter/chat

或者,通过下载源文件并将目录添加到 app/Config/Autoload.php 中来手动安装。

文件下载并包含在自动加载中后,运行任何库迁移以确保数据库设置正确。

> php spark migrate --all

资产

聊天 包含JavaScript代码以及需要包含在任何包含对话的视图中的资产依赖项。资产由 Tatter\Assets 库管理;您可以使用CodeIgniter的发布器 spark publish 发布所有文件。请确保配置 资产 过滤器并将其应用于路由(参见文档)。

身份验证

聊天 使用 Tatter\Users 确定参与者的用户名和显示名。您必须确保包含一个提供 codeigniter4/authentication-implementation 的包(如 Shield)或创建自己的(有关框架要求,请参阅 身份验证)。

使用

启动聊天的最简单方法是使用助手。加载助手文件(helper('chat')),然后在任何使用部分视图的地方使用 chat($uid, $title) 命令。

<div id="main">
	<h3>Yellow Widgets</h3>
	<p>Main product info here!</p>
	
	<aside>
		<?= chat('product-7', 'Live Chat') ?>
	</aside>
...

chat() 的参数是可选的,省略它们将加载一个一次性聊天,具有随机的UID(例如,用于一次性网站访客)。

扩展

对话存储和加载自数据库的 ConversationModel,大部分逻辑由实体处理。例如,一个 Conversation 实体可以通过 $conversation->addUser($userId) 加入或刷新用户,并返回一个 Participant。一个 Participant 可以通过 $participant->say('hello world') 添加一个 Message