国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 應用軟件教程 > 詳細頁面

如何通過LayuiAdmin&LayIM&Thinkphp&Gateway完成小程序多客服接入系統(tǒng)的例子

如何通過LayuiAdmin&LayIM&Thinkphp&Gateway完成小程序多客服接入系統(tǒng)的例子

更新時間:2025-09-20 文章作者:未知 信息來源:網(wǎng)絡 閱讀次數(shù):

微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應用,它實現(xiàn)了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。小程序是一種不用下載就能使用的應用,也是一...
微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應用,它實現(xiàn)了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。小程序是一種不用下載就能使用的應用,也是一項門檻非常高的創(chuàng)新,經(jīng)過將近兩年的發(fā)展,已經(jīng)構(gòu)造了新的小程序開發(fā)環(huán)境和開發(fā)者生態(tài)。
本篇文章給大家?guī)淼膬?nèi)容是關(guān)于如何通過LayuiAdmin&LayIM&Thinkphp&Gateway實現(xiàn)小程序多客服接入系統(tǒng)的例子,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

先看下效果圖吧。

006WbsF3gy1fuh4te7eb8j31ha0q8qa3.jpg實現(xiàn)的功能:

1、小程序客服對話實時接收并推送到Layim
2、通過Layim可以實時回復小程序客服對話
3、可以添加多個小程序、可以添加多個客服
4、在線客服順序分配對話,客服不在線則按照留言處理
5、自動回復功能

實現(xiàn)邏輯:

以微信訪客的openid作為唯一標識符,新建一個layim用戶并將其作為客服的好友。后端TP作做消息接收和轉(zhuǎn)發(fā)的中間層。

實現(xiàn)步驟(重點說gateway部分):

1、安裝TP,composer安裝workerman、gateway

2、在tp的根目錄創(chuàng)建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的application目錄下創(chuàng)建一個模塊chat,創(chuàng)建Run的控制器,這里除了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';
        //設置處理業(yè)務的類,此處制定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"}';//此處為心跳包數(shù)據(jù)
        //運行所有Worker;
        if(!defined('GLOBAL_START'))
        {
            Worker::runAll();
        }
    }
}

4、創(chuàng)建Event.php的控制器類,Event.php是主要的邏輯處理類,這里我只簡單說下我的onmessage方法:

public static function onMessage($client_id, $data){
        $message = json_decode($data, true);
        $message_type = $message['emit'];
        
        switch($message_type) {
            case 'init':
                // uid
                //根據(jù)token獲取uid
                $tokenCache =   new TokenCache();
                $user   =   $tokenCache->where('token','eq',$message['token'])->order('id DESC')->find();
                if(!$user->uid||$user->date+$user->lifetime<time()){
                    self::onClose($client_id);
                }
                $wechatMsgUser  =   new WechatMsgUser();
                $msgUser    =    $wechatMsgUser->where('openid','eq',$user->uid)->where('type','eq',0)->find();
                if(!$msgUser->id){
                    self::onClose($client_id);
                }
                //*客服上線,設置數(shù)據(jù)庫狀態(tài)字段為在線狀態(tài)
                $msgUser->status    =   1;
                $msgUser->save();
                $uid    =   $msgUser->id;
                // 設置session,這個$_SESSION我是為了下面的onclose方法里設置客服離線狀態(tài)
                $_SESSION = [
                    'id'       => $uid,
                ];
                // 將當前$client_id與uid綁定
                Gateway::bindUid($client_id, $uid);
                $msgService = new MsgService();
                $msgService->checkLeavedMessage($uid);
                return;
                break;
            case 'ping':
                $pingData=[
                    'emit'=>'pong',
                    'data'=>$client_id
                ];
                Gateway::sendToClient($client_id, json_encode($pingData));
                return;
            default:
                echo "unknown message $data" . PHP_EOL;
        }
    }

這里因為我用的是jwt驗證,所以多繞了一層,先通過token找到layuiadmin的uid,再通過uid找到客服ID,把客服ID和client_id綁定,這樣在后端php里就可以直接使用gateway::sendToUid來推送消息了。

5、tp后端,在需要推送消息的地方使用GatewayClient來主動推送消息。

這是接收消息的整個流程:微信開放接口請求消息推送接口url→php拿到數(shù)據(jù),存庫,通過GatewayClient主動推送到指定客服→前端拿到數(shù)據(jù)通過layim渲染到視圖

其實這個Event.php我只做了兩件事,一個是心跳檢測,另一個就是登陸后將客服的ID和client_id綁定。

發(fā)送消息我用的是ajax的http方式發(fā)送,沒有使用websocket。

未能實現(xiàn)的功能:

消息狀態(tài)的處理,未讀/已讀

layim隱身/在線

目前只有文字消息,沒有圖片和卡片消息

相關(guān)推薦:

微信小程序機器人自動客服功能

微信公眾平臺開發(fā):多客服接口說明

以上就是如何通過LayuiAdmin&LayIM&Thinkphp&Gateway實現(xiàn)小程序多客服接入系統(tǒng)的例子的詳細內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


小程序是一種不需要下載安裝即可使用的應用,它實現(xiàn)了應用“觸手可及”的夢想,用戶掃一掃或者搜一下即可打開應用。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        日韩美女主播在线视频一区二区三区| 91免费观看视频在线| 亚洲精品高清在线| 97国产精品videossex| 亚洲一区二区三区视频在线| 中文字幕乱码亚洲精品一区| 91精品一区二区三区久久久久久 | 久久国产综合精品| 在线欧美小视频| 国内外精品视频| 国产在线精品一区二区不卡了| 福利一区二区在线| 国产福利一区二区三区| 九九国产精品视频| 国产一区中文字幕| 成人免费高清在线观看| 国产jizzjizz一区二区| 成人avav影音| 欧美一级欧美一级在线播放| 欧美精品在欧美一区二区少妇| 日本久久一区二区| 日韩视频一区在线观看| 欧美色精品天天在线观看视频| 久久久久99精品一区| 国产亚洲一区二区三区在线观看| 亚洲三级免费电影| 亚洲国产欧美一区二区三区丁香婷| 极品美女销魂一区二区三区免费| 99久久国产综合色|国产精品| 国产亚洲视频系列| 亚洲男同性恋视频| 国产一区欧美一区| 在线成人av影院| 国产精品久久久久精k8| 亚洲已满18点击进入久久| 性做久久久久久| 成人午夜激情片| 久久久亚洲午夜电影| 亚洲精品视频在线观看网站| 国产综合色视频| 欧美肥胖老妇做爰| 亚洲福利国产精品| 91福利精品视频| 亚洲婷婷综合久久一本伊一区 | 亚洲国产精品久久艾草纯爱| 日韩一区精品字幕| 精品视频全国免费看| 亚洲国产一区二区在线播放| 99国产精品99久久久久久| 中文字幕一区二区三| www.综合网.com| √…a在线天堂一区| 成人动漫精品一区二区| 欧美国产精品专区| 欧美中文字幕一区二区三区| 亚洲欧美韩国综合色| jizzjizzjizz欧美| 亚洲成人久久影院| 日韩一区二区三区视频| 视频一区视频二区中文| 欧美二区乱c少妇| 91黄色在线观看| 国产成人欧美日韩在线电影| 欧美aaaaaa午夜精品| 午夜私人影院久久久久| 日韩av电影免费观看高清完整版在线观看| 日韩成人午夜精品| 精品精品国产高清a毛片牛牛| xnxx国产精品| 欧美亚洲国产一区二区三区va| 日韩午夜激情视频| 日本二三区不卡| 色美美综合视频| 欧洲精品中文字幕| 欧美另类高清zo欧美| 欧美aa在线视频| 亚洲精品视频在线看| 欧美喷潮久久久xxxxx| 成人福利视频网站| 一区二区三区中文在线| 中文字幕欧美一| 久久久久国产精品麻豆| 欧美亚日韩国产aⅴ精品中极品| 精品视频免费看| 成人av免费在线观看| jizzjizzjizz欧美| 欧美日韩一区精品| 精品国产乱码91久久久久久网站| 日韩一区二区电影网| 成人污视频在线观看| 韩日欧美一区二区三区| 国产激情视频一区二区三区欧美| 国产精品白丝av| 国产一区二区三区观看| 亚洲国产综合在线| 久久av资源网| 成人av在线一区二区三区| 91在线一区二区三区| 91精品国模一区二区三区| 亚洲国产精品成人综合色在线婷婷| 久久精品国产77777蜜臀| 经典三级一区二区| www.激情成人| 精品成人私密视频| 五月婷婷激情综合| av在线一区二区| 国产精品蜜臀在线观看| 免费高清在线视频一区·| 欧美三级韩国三级日本三斤 | 色视频欧美一区二区三区| 欧洲激情一区二区| 国产日本欧美一区二区| 日韩不卡手机在线v区| 欧亚洲嫩模精品一区三区| 中文字幕亚洲区| 成人性生交大合| 中文av字幕一区| 国产精品综合网| 26uuu精品一区二区在线观看| 欧美日韩美女一区二区| 国产精品五月天| 91原创在线视频| 亚洲三级电影网站| 国产一区亚洲一区| 欧美日韩在线播放一区| 日韩一区二区在线播放| 一区2区3区在线看| 色域天天综合网| 亚洲欧美日韩一区二区 | 这里是久久伊人| 亚洲久本草在线中文字幕| 欧美影院午夜播放| 亚洲成av人片一区二区| 欧美日韩精品欧美日韩精品一 | 91麻豆精品国产无毒不卡在线观看| 亚洲自拍都市欧美小说| 福利一区二区在线观看| 国产精品福利一区| 成人丝袜视频网| 亚洲欧洲综合另类在线| 91精品国产一区二区三区香蕉| 国产成人自拍网| 中文字幕在线不卡一区| 粉嫩嫩av羞羞动漫久久久| 欧美一区二区私人影院日本| 亚洲v中文字幕| 精品免费日韩av| 91亚洲精华国产精华精华液| 亚洲国产一区二区三区青草影视| 国产精品成人一区二区三区夜夜夜 | 欧美日韩高清不卡| 亚洲一区免费观看| 日韩精品一区二区三区在线| 91久久精品一区二区三区| 日韩在线播放一区二区| 亚洲激情av在线| 日韩一级高清毛片| 欧美日韩视频在线第一区| 国产精品12区| 强制捆绑调教一区二区| 1024成人网| 国产精品欧美一区二区三区| 欧美男同性恋视频网站| 成人av在线网| 国产91精品免费| 国产美女一区二区| 美女网站色91| 日韩电影免费在线看| 亚洲精选在线视频| 日韩欧美在线123| 欧美一区二区视频免费观看| 91在线丨porny丨国产| 日本伊人午夜精品| 午夜私人影院久久久久| 亚洲一区二区三区国产| 天天色图综合网| 麻豆视频观看网址久久| 国产麻豆视频精品| 亚洲1区2区3区4区| 国产欧美日韩三级| 国产精品色在线观看| 一区二区三区精品在线| 美女视频一区在线观看| 精品av综合导航| 国产成人亚洲精品青草天美| 亚洲mv在线观看| 日韩精品欧美成人高清一区二区| 精品久久久久av影院| 欧美一区二区三区日韩| 欧美激情资源网| 亚洲在线观看免费| 岛国av在线一区| 久久久久久综合| 亚洲人成小说网站色在线| 久久99久久久欧美国产| 99久久免费精品高清特色大片| 26uuu精品一区二区三区四区在线| 激情成人午夜视频| 一本大道av一区二区在线播放| 亚洲国产日韩a在线播放|