# 最新免費可商用CMS系統
基于 thinkphp6 + vue 的多站點多語言,SEO友好的開源CMS系統,可免費商用。
https://gitee.com/digital-flag/huo-cms
>[danger]購買的用戶可以到 “源碼下載” 章節,下載源碼
## ThinkPHP5+workerman+layIM打造聊天系統---ichat
* ThinkPHP5 是ThinkPHP 3.X系列之后的重量級產品,以出色的架構設計,強勁的性能聞名。很適合我們快速的開發成熟的商用系統。到目前為止,github上也出現了很多成熟的thinkphp5快速開發的通用后臺產品。在這里給自己的一個項目做個廣告:[snake通用后臺](https://github.com/nick-bai/snake),算的上最早的一批tp5通用后臺了,功能很簡單,便于新手快速的理解和使用tp5。到寫作此文章開始,已經有139個star了。
* Workerman是一款純PHP開發的開源高性能的PHP socket 服務器框架。被廣泛的用于手機app、移動通訊,微信小程序,手游服務端、網絡游戲、PHP聊天室、硬件通訊、智能家居、車聯網、物聯網等領域的開發。 支持TCP長連接,支持Websocket、HTTP等協議,支持自定義協議。擁有異步Mysql、異步Redis、異步Http、異步消息隊列等眾多高性能組件。它的作者是來自鵝廠的大神。本系統 laychat 采用的是 Wokerman的 GatewayWorker3.X系列框架。文檔可參考:[GetwayWorker手冊](http://www.workerman.net/gatewaydoc/)
* layIM是原阿里的大神 賢心傾力打造的一款Web即時通訊前端解決方案。界面優美,功能強悍,仿真度高。官網:[layim官網](http://layim.layui.com/),手冊:[layim手冊](http://www.layui.com/doc/modules/layim.html)
**聊天部分功能清單**
* * * * *
* 聊天用戶的注冊
* 聊天用戶的登錄
* 修改個人資料
* 修改個性簽名
* 切換在線狀態
* 按條件搜索添加好友
* 系統消息盒子
* 添加好友申請與同意/拒絕好友
* 好友聊天
* 創建群組
* 按條件查找群
* 申請加入群組
* 管理我的群組
* 群組聊天
* 右鍵退出我的群組
* 聊天發送語音
* 聊天發送圖片
* 聊天發送文件
* 空間的說說發表,評論功能
* 查看個人和群聊記錄
* 好友右鍵功能
1. 進入好友空間
1. 將好友加入黑名單
1. 移動好友分組
1. 刪除好友
1. 舉報好友
**大致了解一下外觀**
[了解外觀](http://fly.layui.com/jie/6943.html)
**本系統用到的全部源碼**
* * * * *
我會在本套教程中,全部展示這些源碼,展示源碼的方式如:
~~~
<?php
// +----------------------------------------------------------------------
// | laychat-v3.0
// +----------------------------------------------------------------------
// | Author: NickBai <1902822973@qq.com>
// +----------------------------------------------------------------------
namespace app\admin\controller;
use think\Controller;
class Chat extends Controller
{
public function index()
{
if(request()->isPost()){
$data = input('post.');
$data['file_ext'] = trim($data['file_ext']);
$data['img_ext'] = trim($data['img_ext']);
writeCtConfig($data);
return json(['code' => 1, 'data' => '', 'msg' => '配置成功']);
}
$config = readCtConfig();
empty($config) &&
$config = ['file_size' => 2, 'file_ext' => 'zip|rar', 'img_size' => 2, 'img_ext' => 'png|jpg|gif'];
$this->assign([
'config' => $config,
'up_size' => ini_get('upload_max_filesize')
]);
return $this->fetch();
}
}
~~~
你可以跟著教程,一步一步搭建屬于自己的 webIM系統。
**本地環境的注意事項**
* * * * *
本次系統演示,采用的 phpstudy 這個集成環境,php版本為 5.6.27。服務器 以apache 為例,請保持與我一致,或者自己修改其中不兼容的部分。
**其他建議**
* * * * *
1. 本套系統牽扯到的 websocket相關的知識,以及tcp協議的相關知識,不懂的可以百度做一些功課。也可以通過我的博客:[我的博客](http://www.cnblogs.com/nickbai/),了解一些相關的知識。
1. 本系統是基于windows平臺的學習版本,當然你只需要下載linux版本的workerman即可輕松的實現linux平臺下的應用,為了演示和學習的方便,本系統基于windows平臺下講解。
1. 數據庫不了解功能的 可以參考 《數據字典》 這一章節。
1. 由于講解這個教程的時候,我的代碼已經完成了,沒辦法一步一步的完全拆開介紹。因此,我會先全部放出完成的js代碼,然后順著js的接口,一步一步的對php代碼和workerman代碼進行講解。這些js代碼,我會首先放出,方便你在跟著教程的同時,有代碼依據。
1. 有些workerman和layIM中的方法,可能沒有講到,如有不理解的,可以自行查找手冊。手冊寫的都很明確。
## 鄭重聲明
>[danger] 本系統用到的 layIM 為非開源程序。請務必到官網進行授權獲得資源。本教程源碼部分,不會放出 layim.js 這個源碼。
- ichat系統說明
- workerman與Thinkphp5整合原理
- ichat系統的基礎搭建
- 通用后臺的搭建
- workerman的集成
- layIM的集成
- 管理員后臺功能的實現
- 后臺登錄退出的實現
- 群組管理的設計與實現
- 群組基礎配置
- 群組管理
- 用戶管理
- 聊天設置
- 用戶的舉報
- 聊天系統的設計與實現
- 注冊功能的實現
- 登錄功能的實現(1)
- 登錄功能的實現(2)
- 登錄功能的實現(3)
- 登錄功能的實現(4)
- 修改個人資料的實現
- 修改個性簽名的實現
- 切換在線狀態的實現
- 添加好友的實現
- 消息盒子
- 用意/拒絕好友(1)
- 同意/拒絕好友(2)
- 好友聊天的實現
- 創建群組的實現
- 按條件查找群組
- 申請加入群組
- 管理我的群組
- 群組聊天
- 右鍵退出群組
- 發送語音
- 發送圖片
- 發送文件
- 用戶空間功能
- 查看聊天記錄
- 進入好友空間
- 將好友加入黑名單
- 移動好友分組
- 刪除好友
- 舉報好友
- ichat(移動版)
- 登錄的實現
- 聊天的實現
- live客服模式
- 數據字典
- 全國區域數據
- 系統整體結構說明
- main.js全部代碼
- 源碼下載