在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

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

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

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

更新時間:2025-09-20 文章作者:未知 信息來源:網絡 閱讀次數:

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

先看下效果圖吧。

006WbsF3gy1fuh4te7eb8j31ha0q8qa3.jpg實現的功能:

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

實現邏輯:

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

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

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

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的application目錄下創建一個模塊chat,創建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';
        //設置處理業務的類,此處制定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的控制器類,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
                //根據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);
                }
                //*客服上線,設置數據庫狀態字段為在線狀態
                $msgUser->status    =   1;
                $msgUser->save();
                $uid    =   $msgUser->id;
                // 設置session,這個$_SESSION我是為了下面的onclose方法里設置客服離線狀態
                $_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拿到數據,存庫,通過GatewayClient主動推送到指定客服→前端拿到數據通過layim渲染到視圖

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

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

未能實現的功能:

消息狀態的處理,未讀/已讀

layim隱身/在線

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

相關推薦:

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

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

以上就是如何通過LayuiAdmin&LayIM&Thinkphp&Gateway實現小程序多客服接入系統的例子的詳細內容,更多請關注php中文網其它相關文章!


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

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

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 男女视频在线看| 久久久久久久久久伊人| 蜜桃视频成人在线观看| 97超碰人人爱| 国产999免费视频| 三区视频在线观看| 亚洲男人天堂2021| 在线能看的av网站| 超碰成人在线播放| 日韩欧美亚洲另类| 三年中文高清在线观看第6集| 一级做a免费视频| 婷婷视频在线播放| 91精品国产毛片武则天| 激情图片qvod| 亚洲午夜激情影院| 日本成人在线不卡| 欧美激情视频免费看| 久久久天堂国产精品| 国产v片免费观看| 福利在线一区二区三区| 国产精品久久久久久久av福利| 欧洲美女亚洲激情| 日韩国产一级片| 熟女人妇 成熟妇女系列视频| 欧美伦理视频在线观看| 国产精品天天av精麻传媒| 三级a三级三级三级a十八发禁止| 老司机av福利| 欧美日韩精品在线一区二区| 青青青免费在线| 黄色aaa级片| 国产 欧美 日本| 福利在线一区二区三区| 国产午夜福利100集发布| 色婷婷成人在线| 国产96在线 | 亚洲| 亚洲午夜激情影院| 人妻有码中文字幕| 国产精品igao激情视频| 精品免费国产一区二区| 97中文字幕在线| 操人视频免费看| 妓院一钑片免看黄大片| 国产 日韩 亚洲 欧美| www.午夜色| 三级视频中文字幕| www黄色av| av免费观看大全| 国产av熟女一区二区三区| 天天爽人人爽夜夜爽| 欧美亚洲一二三区| 欧洲精品在线播放| 一级片免费在线观看视频| 少妇高清精品毛片在线视频| 999久久欧美人妻一区二区| 一级黄色大片儿| www.日本一区| 少妇网站在线观看| www日韩在线观看| 日本黄色三级大片| 亚洲人成色77777| 日韩av资源在线| 亚欧在线免费观看| 日本人视频jizz页码69| 欧美一级片中文字幕| 国产成人久久婷婷精品流白浆| 人人妻人人澡人人爽欧美一区双| 天天爽天天爽夜夜爽| 精品这里只有精品| 国产精品va无码一区二区| 成人中文字幕在线播放| 3d动漫一区二区三区| 成年人免费大片| 国产精品久久久毛片| 中文字幕一区久久| 2021国产视频| 青草青青在线视频| 午夜精品久久久内射近拍高清| 成人在线观看黄| 五月天婷婷影视| 激情六月天婷婷| 你懂的av在线| 欧美大尺度做爰床戏| 国产黑丝在线视频| 国产色一区二区三区| 成年人视频网站免费观看| 一级黄色香蕉视频| 久久免费看毛片| 国产精品无码人妻一区二区在线| 91好吊色国产欧美日韩在线| 天堂在线资源视频| 中文字幕av久久| 国产素人在线观看| xxx国产在线观看| 日本男女交配视频| 一区二区在线播放视频| 国产精品12p| 日韩毛片在线免费看| 米仓穗香在线观看| 三级视频中文字幕| 国产欧美日韩网站| 中文字幕亚洲影院| a天堂资源在线观看| 日韩精品一区中文字幕| 吴梦梦av在线| 性欧美videossex精品| 国产肉体ⅹxxx137大胆| 中文字幕 欧美日韩| 一区二区传媒有限公司| 乱子伦一区二区| 国产精品亚洲二区在线观看| 免费极品av一视觉盛宴| 鲁一鲁一鲁一鲁一av| 国产精品333| 欧美性视频在线播放| 浮妇高潮喷白浆视频| 国产成人一区二区三区别| 蜜桃福利午夜精品一区| 538在线视频观看| 国产aaa一级片| 青青青在线视频播放| 黄色网zhan| 异国色恋浪漫潭| 青娱乐国产精品视频| 99re精彩视频| 色免费在线视频| 在线免费观看视频黄| 99视频精品免费| 国产真实乱子伦| 亚洲熟妇av一区二区三区漫画| 国产性生活免费视频| 色婷婷777777仙踪林| 亚洲午夜激情影院| 色乱码一区二区三区在线| 日本黄大片一区二区三区| 欧美日韩怡红院| 国产乱女淫av麻豆国产| 精品亚洲视频在线| 另类小说第一页| 日韩不卡一二三| 国产精品-区区久久久狼 | 青青草原播放器| 性久久久久久久久久久久久久| 国产亚洲视频一区| 永久免费网站视频在线观看| 丰满人妻一区二区三区53号| 久久av综合网| 无码人妻丰满熟妇区毛片| www日韩在线观看| 性久久久久久久久久久久久久| 天天爱天天做天天操| 无码av天堂一区二区三区| 久久成人免费观看| 欧美第一页浮力影院| 五月天在线免费视频| 131美女爱做视频| 日本三级黄色网址| 真人做人试看60分钟免费| 欧美v在线观看| 国产三级精品三级在线| 拔插拔插海外华人免费| 91淫黄看大片| www国产免费| 黄色片久久久久| 一级做a免费视频| 无码专区aaaaaa免费视频| 五月婷婷六月丁香激情| 黄色a级片免费看| 亚洲国产精品三区| 中国丰满熟妇xxxx性| 黄色片在线免费| 国产原创中文在线观看| 国产福利精品一区二区三区| 一女被多男玩喷潮视频| 国产又粗又大又爽的视频| aaa毛片在线观看| 日本福利视频网站| 亚洲xxx在线观看| 99久久激情视频| 成人一区二区三| 每日在线更新av| 人妻av无码专区| 国内精品国产三级国产aⅴ久| 精品视频在线观看一区| 做爰高潮hd色即是空| 少妇一级淫免费放| 精品www久久久久奶水| 久久视频这里有精品| www.日本三级| 国产精品啪啪啪视频| 三日本三级少妇三级99| 少妇一级淫免费播放 | 国产精品一区二区免费在线观看| 欧美专区第二页| 色18美女社区| 欧美一级小视频| 超碰中文字幕在线观看| 不用播放器的免费av| www.污网站|