이 글은 LayuiAdmin&LayIM&Thinkphp&Gateway를 통해 미니 프로그램에 대한 여러 고객 서비스 액세스 시스템을 구현하는 방법에 대한 예를 제공합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
먼저 렌더링을 살펴보겠습니다.
구현된 기능:
1. 미니 프로그램 고객 서비스 대화를 실시간으로 수신하여 레이임으로 푸시합니다
2. 미니 프로그램 고객 서비스 대화는 레이임
3을 통해 실시간으로 응답할 수 있습니다. 서비스 대화를 추가할 수 있습니다
4 온라인 고객 서비스는 대화를 순서대로 할당하며, 고객 서비스가 온라인이 아닌 경우 메시지에 따라 처리됩니다.
5 자동 응답 기능
구현 논리:
openid를 사용합니다. WeChat 방문자를 고유 식별자로 사용하여 새로운 Laim 사용자를 생성하고 고객 서비스의 친구로 만듭니다. 백엔드 TP는 메시지 수신 및 전달을 위한 중간 계층 역할을 합니다.
구현 단계(게이트웨이 부분에 중점):
1. TP 설치, 작곡가 설치 작업자, 게이트웨이
2. TP의 루트 디렉터리에 server.php를 만듭니다(다른 이름도 가능) #!/usr/ bin/env php
<?php ini_set('display_errors', 'on'); if(strpos(strtolower(PHP_OS), 'win') === 0) { exit("start.php not support windows.\n"); } // 检查扩展 if(!extension_loaded('pcntl')) { exit("Please install pcntl extension. See http://doc3.workerman.net/appendices/install-extension.html\n"); } if(!extension_loaded('posix')) { exit("Please install posix extension. See http://doc3.workerman.net/appendices/install-extension.html\n"); } define('APP_PATH', __DIR__ . '/application/');//如果修改了也要跟着修改,tp的application define('BIND_MODULE','chat/Run');//这个位置是你唯一要自定义的 // 加载框架引导文件 require __DIR__ . '/thinkphp/start.php';
3. tp의 애플리케이션 디렉토리에 모듈 chat을 생성하고 Events의 네임스페이스를 제외하고는 기본적으로 다른 것을 변경할 필요가 없습니다. .gateway
class Run { public function __construct() { //注册register new Register('text://0.0.0.0:1236'); //初始化 bussinessWorker 进程 $worker = new BusinessWorker(); $worker->name = 'WebIMBusinessWorker'; $worker->count = 4; $worker->registerAddress = '127.0.0.1:1236'; //设置处理业务的类,此处制定Events的命名空间 $worker->eventHandler = '\app\chat\controller\Events'; // 初始化 gateway 进程 $gateway = new Gateway("websocket://0.0.0.0:8282"); $gateway->name = 'WebIMGateway'; $gateway->count = 4; $gateway->lanIp = '127.0.0.1'; $gateway->startPort = 2900; $gateway->registerAddress = '127.0.0.1:1236'; $gateway->pingInterval = 55; $gateway->pingNotResponseLimit = 1; $gateway->pingData = '{"emit":"ping"}';//此处为心跳包数据 //运行所有Worker; if(!defined('GLOBAL_START')) { Worker::runAll(); } } }
4의 기본 클래스를 사용하는 것이 좋습니다. Event.php는 주요 논리 처리 클래스입니다. 여기서는 onmessage 메서드에 대해 간단히 설명하겠습니다. JWT 인증을 사용하고 있기 때문에 여기서 우회하는 경우가 많습니다. 첫 번째 수준에서는 먼저 token을 통해layuiadmin의 uid를 찾은 다음 uid를 통해 고객 서비스 ID를 찾고 고객 서비스 ID를 client_id에 바인딩합니다. 백엔드 PHP에서 메시지를 푸시하기 위해 직접 Gateway::sendToUid를 사용할 수 있습니다.
WeChat 애플릿 로봇 자동 고객 서비스 기능
WeChat 공개 플랫폼 개발: 다중 고객 서비스 인터페이스 설명
위 내용은 LayuiAdmin&LayIM&Thinkphp&Gateway를 통해 미니 프로그램에 대한 여러 고객 서비스 액세스 시스템을 구현하는 방법의 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!