🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# :-: 开始使用 ## 说明 * 开发支持全平台,没有任何编程语言,服务器限制 * 所有功能通过HTTP协议,使用API的方式完成 * 当前仅完善以下基本功能 * 客户端:添加/删除好友,好友申请列表,同意/拒绝申请,好友列表,给好友发消息 * 服务端:发消息给全部用户,发消息给指定用户 * 以上功能仅为普通聊天功能,如果可以满足您的业务,完全可以直接使用系统提供的API完成,无需创建数据库,不用关心好友关系这些基本逻辑,如果有牵扯复杂的业务逻辑,您可以把该系统当做是一个WebSocket服务系统,仅用来收发消息,业务逻辑在自己服务器实现。 ## 工作原理 1.客户端使用WebSocket连接服务器,客户端仅使用WebSocket即时接收消息使用,为了安全考虑,其他功能全部通过API实现; 2.使用API绑定用户对应客户端到IM服务器 3.正常使用其他功能接口 ## 接口域名 ``` lufeiim.baomamishu.com ``` ## 开始接入 * 目前仅PHP封装了接口,其他语言请自行调用,如果有封装好的,可以联系我,分享给大家。 PHP封装的SDK,[下载](http://lufeiim.baomamishu.com/LufeiImLib.zip) ## 客户端示例代码 ``` <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Client Test</title> <script language="javascript"type="text/javascript"> var isok=false; websocket = new WebSocket('ws://47.108.188.239:2046/'); //websocket = new WebSocket('ws://127.0.0.1:2046/'); websocket.onopen = function(evt) { console.log('connect'); console.log(evt); //websocket.send('{"data":"helo,word!"}'); }; websocket.onclose = function(evt) { console.log('onclose'); console.log(evt); }; websocket.onmessage = function(evt) { console.log('onmessage'); if (evt.data) { //console.log(JSON.parse(JSON.parse(evt.data))); } }; websocket.onerror = function(evt) { console.log('onerror'); console.log(evt); }; function sendMsg(){ if (!isok){ alert('请先绑定客户端'); return; } var sendData = { 'data': document.getElementById('name').value,'uid':document.getElementById('uid').value}; websocket.send(JSON.stringify(sendData)); } function bindto(){ var sendData = { 'app_id': document.getElementById('app_id').value, 'uid':document.getElementById('uid').value, 'cmd':'bind' }; websocket.send(JSON.stringify(sendData)); isok=true; } </script> </head> <body> <h2>WebSocket Test</h2> app_id:<input type="text" name="app_id" id="app_id" value="9e17e92d8b58a910"/><br> UID:<input type="text" name="uid" id="uid" /><br> TOID:<input type="text" name="toid" id="toid" /><br> MSG:<input type="text" name="name" id="name" /> <a href="javascript:;" onclick="bindto()">绑定(已废弃)</a> <a href="javascript:;" onclick="sendMsg()">点击发送</a> </body> </html> ``` PHP 示例代码 ``` //引入上面下载的SDK文件 include_once __DIR__.'/../../../'.'LufeiImLib.php'; class LufeiIm { protected $appid='您申请好的APPID'; /** * 绑定到聊天室 * 该接口 每个新用户首次必须绑定一次 */ public function binding(){ //实例化API库文件 $lufei=new LufeiImLibClient($this->appid); //调用绑定API接口 $reg=$lufei->binding($roomtoken,$uid); //binding 该接口需要两个参数,第一个为客户端连接WebSocket服务器返回的参数 //uid 为您平台用户的id(服务器作为您系统的用户标识,可以不为真实的uid,但后期不能变更) } //......其他API请看下一页 } ```