fastadmin框架插件之“ichat聊天室”

2018年09月02日 1.24k 次阅读 16 条评论 17 人点赞

thinkphp5+fastadmin+gateway-worker+web_socket集合的聊天室案例,后台创建房间、前端申请房间(后续开放),加入房间可群聊和私聊。该插件可学习的知识点:1、加入群组2、群组聊天和群组会员私信聊天3、会员登陆上下线更新状态;(离线头像灰色)4、TP5集合gateway-worker5、其他...需要自己摸索哦!!

FastAdmin是一款基于ThinkPHP5和Bootstrap的极速后台开发框架

本插件没有什么技术难点,主要是给那些想学习聊天室功能的新手同学、以及thinkphp5如何跟workerman / gateway-worker结合的基础案例:

插件知识点:
1、加入群组
2、群组聊天和群组会员私信聊天
3、会员登陆上下线更新状态;(离线头像灰色)
4、后续慢慢增加.. ...也欢迎一位前端大神同学一起参与进来...

如果有疑问请留言回复;

插件使用说明:

作者开发环境是php5.6 + mysql5.6 + nginx + http协议(https协议需要另外配置,请联系作者),此外本插件并未在php7版本上测试,如果您是php7版本的话,出现问题请及时联系作者!

1、先安装gateway-worker

composer require workerman/gateway-worker

如果安装出现 下面错误提示

- paragonie/random-compat v9.99.99 requires php ~7 -> your PHP versioin (5.*) does not satisfy that requirement.

是因为random-compat 最新版本需要php7以上版本,那我们就先安装支持php5.*的版本号

composer require paragonie/random_compat=2.0.17

安装成功后在执行安装 gateway-worker

websocket启用的端口是默认端口7887 ,如果你是阿里云服务器或者其他云服务器,请放行该端口哦!

一切安装完毕!!!、
后台创建房间,目前暂时不支持会员申请创建,后续加入!!

2、如何运行web_socket服务?
下载插件后,你的站点根目录 addons/ichat/ 目录下会有以下几个php文件,分别是:
start.php 
start_businessworker.php
start_for_win.bat (该文件在win环境下运行即可)
start_gateway.php
start_register.php
将以上5个文件复制到您的站点根目录下;

如果您不想复制,可以更改这4个.php里的路径

例如start.php中:

define('APP_PATH', __DIR__ . '/../../application/');
define('BIND_MODULE', 'push/Gate');
// 加载框架引导文件
require __DIR__ . '/../../thinkphp/start.php';

start.php -- 该文件在linux 或 ubu环境下运行,运行方式:进入站点根目录,执行:php start.php start -d,加-d是守护模式,不加-d 是开发模式,自己看情况哦!
start_for_win.bat --该文件在win环境下运行即可
本站演示地址:https://zz1.com.cn/addons/ichat

插件地址:https://www.fastadmin.net/store/ichat.html


版本说明:

v1.0.0

1、最简单的群聊、私聊功能上线;

v1.0.1   

1、优化了加入房间后,离开房间不删除信息;

2、优化了查看群聊信息,不能查看加入房间之前的信息;

3、优化了群主默认显示第一个、增加群主角标;

4、优化了在线离线角标显示;

v1.0.2

1、优化了群聊、私聊消息提醒;

2、增加了加入、退出房间的提醒;

3、增加了退出房间的功能;

4、代码上的优化

v1.0.2将会是最后一个版本发布,作为知识学习的插件,本插件会在后续针对购买者的建议更新功能;感谢大家的支持!

v1.0.3 该版本仅适用在本博客的聊天室

1、房间列表增加了未读消息提醒;(群消息和私聊消息)

2、房间用户关联表(ichat_room_user)增加了在线状态、未读消息数字段;

作为一个真正的程序员,首先应该尊重编程,热爱你所写下的程序,他是你的伙伴,而不是工具。

文章评论(16

  • 55Lv 1

    杭州

    #82018-10-25 12:03
  • 沧海Lv 1

    workerman官方有聊天室的例子,这插件是不是根据官方提供的demo改造而来的啊

    #72018-09-26 19:12
    • 阳阳博主

      @沧海官方是有示例,不过这个插件是结合tp5框架的,如果纯粹为了学习聊天室代码,下载官方提供的代码即可。

      2018-09-26 19:41
  • ichatLv 1

    非常感谢这个插件,学习到了tp5如何跟gateway结合,我们的项目是一个个人对个人私信沟通的业务场景,我也很快上手,再次感谢博主

    #62018-09-24 10:17
    • 阳阳博主

      @ichat能学习到新知识就行,甭客气

      2018-09-26 19:39
  • 阳阳博主

    有朋友问关于https协议下如何配置websocket,大家可以看一下官方给的教程,很简单
    http://doc.workerman.net/faq/secure-websocket-server.html
    如果你是nginx/apache 请参考官方的说明进行配置,如果还搞不定请留言

    #52018-09-21 15:38
  • ichatLv 1

    博主,最新版本的插件发了吗?

    #42018-09-20 20:40
    • 阳阳博主

      @ichat你好,最新版本插件已经发送你邮箱,请查收

      2018-09-21 08:46
  • ichatLv 1

    我看你博客里的聊天室跟fastadmin插件中的聊天室不太一样呢。

    #32018-09-20 19:36
    • 阳阳博主

      @ichat是的,博客里又做了一步优化,版本为v1.0.3
      如果你已购买该插件,需要v1.0.3版本,可以将你的fa框架论坛id留言我,我将v1.0.3打包发你邮箱

      2018-09-20 19:40
    • ichatLv 1

      @阳阳好的,id:5978,请发我邮箱吧,谢啦!

      2018-09-20 19:41
    • 阳阳博主

      @ichat好的,待验证后,我会直接发你邮箱。

      2018-09-20 19:43
  • 没企图的人Lv 1

    支持下群主大大,O(∩_∩)O哈哈~

    #22018-09-06 17:10
  • 赵赵Lv 1

    博主好厉害。

    #12018-09-06 15:52
    • 阳阳博主

      @赵赵 有空多发文章,哈哈

      2018-09-06 16:41
  • 接收回复邮件通知