ホームページ WeChat アプレット ミニプログラム開発 LayuiAdmin&LayIM&Thinkphp&Gateway を介したミニ プログラム用の複数の顧客サービス アクセス システムを実装する方法の例

LayuiAdmin&LayIM&Thinkphp&Gateway を介したミニ プログラム用の複数の顧客サービス アクセス システムを実装する方法の例

Aug 25, 2018 am 09:25 AM

この記事では、LayuiAdmin&LayIM&Thinkphp&Gateway を介して複数の顧客サービス アクセス システムを実装する方法の例を紹介します。必要な方は参考にしていただければ幸いです。

まずレンダリングを見てみましょう。

LayuiAdmin&LayIM&Thinkphp&Gateway を介したミニ プログラム用の複数の顧客サービス アクセス システムを実装する方法の例 実装された機能:

1. ミニ プログラムのカスタマー サービスの会話はリアルタイムで受信され、Layim にプッシュされます
2. ミニ プログラムのカスタマー サービスの会話は Layim を通じてリアルタイムで応答できます
3.サービス会話を追加できます
4、オンラインカスタマーサービスは会話を順番に割り当てます。カスタマーサービスがオンラインでない場合、メッセージに従って処理されます
5. 自動返信機能

実装ロジック:

のopenidを使用します。 WeChat 訪問者を一意の識別子として、新しい一般ユーザーを作成し、カスタマー サービスの友人にします。バックエンド TP は、メッセージの受信と転送の中間層として機能します。

実装手順 (ゲートウェイ部分に注目):

1. TP をインストールし、コンポーザーがワーカーとゲートウェイをインストールします

2. TP のルート ディレクトリに server.php を作成します (他の名前でも構いません) #!/usr/ bin/env php

<?php
ini_set(&#39;display_errors&#39;, &#39;on&#39;);
if(strpos(strtolower(PHP_OS), &#39;win&#39;) === 0)
{
    exit("start.php not support windows.\n");
}
// 检查扩展
if(!extension_loaded(&#39;pcntl&#39;))
{
    exit("Please install pcntl extension. See http://doc3.workerman.net/appendices/install-extension.html\n");
}
if(!extension_loaded(&#39;posix&#39;))
{
    exit("Please install posix extension. See http://doc3.workerman.net/appendices/install-extension.html\n");
}
define(&#39;APP_PATH&#39;, __DIR__ . &#39;/application/&#39;);//如果修改了也要跟着修改,tp的application
define(&#39;BIND_MODULE&#39;,&#39;chat/Run&#39;);//这个位置是你唯一要自定义的
// 加载框架引导文件
require __DIR__ . &#39;/thinkphp/start.php&#39;;
ログイン後にコピー

3. tp のアプリケーション ディレクトリにモジュール チャットを作成し、Events の名前空間を除いて、その他は少し変更する必要はありません。デフォルトのゲートウェイ

class Run
{
    public function __construct()
    {
        //注册register
        new Register(&#39;text://0.0.0.0:1236&#39;);
        //初始化 bussinessWorker 进程
        $worker = new BusinessWorker();
        $worker->name = &#39;WebIMBusinessWorker&#39;;
        $worker->count = 4;
        $worker->registerAddress = &#39;127.0.0.1:1236&#39;;
        //设置处理业务的类,此处制定Events的命名空间
        $worker->eventHandler = &#39;\app\chat\controller\Events&#39;;
        // 初始化 gateway 进程
        $gateway = new Gateway("websocket://0.0.0.0:8282");
        $gateway->name = &#39;WebIMGateway&#39;;
        $gateway->count = 4;
        $gateway->lanIp = &#39;127.0.0.1&#39;;
        $gateway->startPort = 2900;
        $gateway->registerAddress = &#39;127.0.0.1:1236&#39;;
        $gateway->pingInterval = 55;
        $gateway->pingNotResponseLimit = 1;
        $gateway->pingData = &#39;{"emit":"ping"}&#39;;//此处为心跳包数据
        //运行所有Worker;
        if(!defined(&#39;GLOBAL_START&#39;))
        {
            Worker::runAll();
        }
    }
}
ログイン後にコピー
を使用することをお勧めします

4. Event.php のコントローラー クラスを作成します。ここでは、onmessage メソッドについて簡単に説明します。 jwt 検証を使用しているため、ここでは多くの回り道があります。最初のレベルでは、最初にトークンを介してlayuiadmin の uid を見つけ、次に uid を介してカスタマー サービス ID を見つけ、そのカスタマー サービス ID を client_id にバインドします。 Gateway::sendToUid を直接使用して、バックエンド PHP にメッセージをプッシュできます。

5. バックエンドでは、GatewayClient を使用して、メッセージをプッシュする必要がある場所にメッセージをアクティブにプッシュします。

これはメッセージを受信するプロセス全体です: WeChat オープン インターフェイスがメッセージ プッシュ インターフェイス URL をリクエストします→ php がデータを取得して保存し、GatewayClient を通じて指定された顧客サービスにアクティブにプッシュします→ フロントエンドがデータを取得してレンダリングします実際、このイベントでは php で 2 つのことだけを実行しました。1 つはハートビートの検出、もう 1 つはログイン後のカスタマー サービス ID と client_id のバインドです。

メッセージを送信するには、WebSocket を使用せずに、ajax http メソッドを使用します。

未実装の機能:

メッセージステータスの処理、未読/既読

非表示/オンライン

現在はテキストメッセージのみで、写真やカードメッセージはありません

関連する推奨事項:

WeChatアプレットロボット自動顧客サービス機能

WeChatパブリックプラットフォーム開発:マルチ顧客サービスインターフェースの説明

以上がLayuiAdmin&LayIM&Thinkphp&Gateway を介したミニ プログラム用の複数の顧客サービス アクセス システムを実装する方法の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)