From 5ba57f4d0b727b904d0c8cc713fe26cb84c31166 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=8F=E5=B0=98?= Date: Tue, 10 Dec 2019 10:43:53 +0800 Subject: [PATCH] core --- README.md | 6 ++--- application/swoole/command/Chat.php | 3 ++- application/swoole/service/Event.php | 8 +++---- application/swoole/service/Service.php | 33 ++++++++------------------ 4 files changed, 19 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 88fd3ca..294f5f2 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,7 @@ # timely客服系统 +#### Timely交流群 + +QQ:850286851 #### 介绍 基于TP5.1+swoole写的客服系统,目前开放demo测试版 ,更多功能之后会基于此版本慢慢完善 @@ -35,8 +38,5 @@ http://www.chat.cnavd.com/ 点击客服测试自动匹配客服服务 2. 在项目根目录运行 mkdir -m 777 runtime 3. 在项目根目录运行php think chat start 支持 start | start -d |restart |stop 4. 然后浏览器访问 www.xxxx.com/index/kefu/index -#### Timely交流群 - -QQ:850286851 diff --git a/application/swoole/command/Chat.php b/application/swoole/command/Chat.php index a06778c..12d6c99 100644 --- a/application/swoole/command/Chat.php +++ b/application/swoole/command/Chat.php @@ -3,6 +3,7 @@ namespace app\swoole\command; +use app\swoole\service\Event; use Swoole\Process; use think\console\Command; use think\console\Input; @@ -144,7 +145,7 @@ class Chat extends Command $this->output->writeln('no swoole server process running.'); return false; } - + dump(Event::$online);exit; $this->output->writeln('Reloading swoole server...'); Process::kill($pid, SIGUSR1); $this->output->writeln('> success'); diff --git a/application/swoole/service/Event.php b/application/swoole/service/Event.php index 5fbbbbb..773575d 100644 --- a/application/swoole/service/Event.php +++ b/application/swoole/service/Event.php @@ -14,7 +14,6 @@ use think\Exception; use think\facade\Log; use Logic\KefuLogic; use exception\LogicException; -use Logic\ServiceLogic; use exception\BaseException; use Logic\QueueLogic; use Logic\Visitor; @@ -55,7 +54,7 @@ class Event * @param $fd 客户端标识 * @param $data 请求数据 */ - public static function kefuConnection($fd, $data, $server) + public static function kefuLogin($fd, $data, $server) { try { @@ -72,6 +71,7 @@ class Event self::$kefu[$data['uid']]['visitor_fds'][$item['visitor_id']] = $item['client_id']; } } + Log::record('WebSocket请求开始,数据信息[' . json_encode($frame) . ']'); QueueLogic::updateQueueingkefuClientid($kefu_code, $fd); return self::reposon($fd, 200, '客服上线成功', [], 'kefu_online'); } catch (BaseException $e) { @@ -178,7 +178,7 @@ class Event return self::reposon($fd, 200, $kefu_info['msg'], $kefu_info['data'], 'visitorToKefu'); } catch (Exception $e) { Db::rollback(); - Log::info('分配客服数据错误信息:' . $e->getMessage()); + Log::error('分配客服数据错误信息:' . $e->getMessage()); //取消客服在线状态 KefuLogic::setKefuOnlineStatus(ltrim($kefu_info['data']['kefu_code'], 'KF_'), '', 0); return self::reposon($fd, 401, '请重新尝试分配客服1', [], 'visitorToKefu'); @@ -190,7 +190,7 @@ class Event Db::commit(); } catch (BaseException $e) { Db::rollback(); - Log::record('分配客服数据错误信息:' . $e->getMessage()); + Log::error('分配客服数据错误信息:' . $e->getMessage()); return self::reposon($fd, 402, '请重新尝试分配客服2', [], 'visitorToKefu'); } unset($customer, $kefu_info); diff --git a/application/swoole/service/Service.php b/application/swoole/service/Service.php index 43ea45a..40b3e4e 100644 --- a/application/swoole/service/Service.php +++ b/application/swoole/service/Service.php @@ -22,32 +22,27 @@ class Service echo "server: handshake success with fd{$request->fd}\n"; } - public function onMessage($server, $frame) { echo "receive from {$frame->fd}:{$frame->data},opcode:{$frame->opcode},fin:{$frame->finish}\n"; try { - Log::record('WebSocket请求开始,请求信息[' . json_encode($frame) . ']'); + Log::info('WebSocket请求开始,请求信息[' . json_encode($frame) . ']'); $data = json_decode($frame->data, true); $cmd = $data['cmd']; $messge = $data['data']; $resut = Event::$cmd($frame->fd, $messge,$server); $server->push($resut['fd'], $resut['data']); } catch (BaseException $e) { - Log::record('WebSocket请求异常,异常信息' . $e->getMessage()); - Log::record('WebSocket请求异常,异常信息' . $e->getFile().$e->getLine()); + Log::error('WebSocket请求异常,异常信息:' . $e->getMessage().'错误地址:'. $e->getFile().$e->getLine()); $res = ['code' => $e->getCode(), 'msg' => $e->getMessage(), 'data' => '', 'cmd' => '']; } catch (\Error $er) { - Log::record('WebSocket请求异常,异常信息' . $er->getMessage()); - Log::record('WebSocket请求异常,异常信息' . $er->getFile().$er->getLine()); + Log::error('WebSocket请求异常,异常信息:' . $er->getMessage().'错误地址:'. $er->getFile().$er->getLine()); $res = ['code' => $er->getCode(), 'msg' => $er->getMessage(), 'data' => '', 'cmd' => '']; } catch (\Exception $era) { - Log::record('WebSocket请求异常,异常信息' . $era->getMessage()); - Log::record('WebSocket请求异常,异常信息' . $era->getFile().$era->getLine()); + Log::error('WebSocket请求异常,异常信息:' . $era->getMessage().'错误地址:'. $era->getFile().$era->getLine()); $res = ['code' => $era->getCode(), 'msg' => $era->getMessage(), 'data' => '', 'cmd' => '']; } catch (\ErrorException $ere) { - Log::record('WebSocket请求异常,异常信息' . $ere->getMessage()); - Log::record('WebSocket请求异常,异常信息' . $ere->getFile().$ere->getLine()); + Log::error('WebSocket请求异常,异常信息:' . $ere->getMessage().'错误地址:'. $ere->getFile().$ere->getLine()); $res = ['code' => $ere->getCode(), 'msg' => $ere->getMessage(), 'data' => '', 'cmd' => '']; } if(isset($res)){ @@ -60,28 +55,20 @@ class Service { $response->end("

Hello Swoole. #" . rand(1000, 9999) . "

"); } - public function onClose($server, $fd) { try { - Log::record('WebSocket关闭请求开始,请求信息[' . json_encode($server) . ']'); + Log::info('WebSocket关闭请求开始,请求信息[' . json_encode($server) . ']'); $resut = Event::disconnect($fd,$server); echo "client {$fd} closed\n"; } catch (BaseException $e) { - Log::record('WebSocket请求异常,异常信息' . $e->getMessage()); - Log::record('WebSocket请求异常,异常信息' . $e->getFile().$e->getLine()); - + Log::error('WebSocket请求异常,异常信息:' . $e->getMessage().'错误地址:'. $e->getFile().$e->getLine()); } catch (\Error $er) { - Log::record('WebSocket请求异常,异常信息' . $er->getMessage()); - Log::record('WebSocket请求异常,异常信息' . $er->getFile().$er->getLine()); - + Log::error('WebSocket请求异常,异常信息:' . $er->getMessage().'错误地址:'. $er->getFile().$er->getLine()); } catch (\Exception $era) { - Log::record('WebSocket请求异常,异常信息' . $era->getMessage()); - Log::record('WebSocket请求异常,异常信息' . $era->getFile().$era->getLine()); - + Log::error('WebSocket请求异常,异常信息:' . $era->getMessage().'错误地址:'. $era->getFile().$era->getLine()); } catch (\ErrorException $ere) { - Log::record('WebSocket请求异常,异常信息' . $ere->getMessage()); - Log::record('WebSocket请求异常,异常信息' . $ere->getFile().$ere->getLine()); + Log::error('WebSocket请求异常,异常信息:' . $ere->getMessage().'错误地址:'. $ere->getFile().$ere->getLine()); } }