ASP.NET SignalR 與 LayIM2.0 配合輕松實現Web聊天室(十四)之漏掉的客服消息


前言

  不知不覺已經十四篇了,其實已經沒有什么可寫了。但是突然發現layim中帶的客服功能沒有用到。於是乎,抽點時間完成吧。其實之前的工作已經把客服功能完成了一大半,剩下的我們稍微調整即可。今天的演示我們放在后邊,直接進入講解。

客服思路講解

  大家去一些公司網站都會發現,網頁側面或者自動彈出一些客服聊天框,人家很熱情的和你交談。我們也可以用layim來實現。首先,頁面添加一個按鈕,點擊按鈕觸發客服模式。

 <a onclick="javascript:global.other.kefu(14896)">我是客服</a>

 

  

  我們先登錄一個用戶,模擬客服人員。(一個正常用戶登錄即可,他的id是14896,對應上述代碼中的14896,當然這個id只要設置成一個客服id即可。並非死值)

  

  然后我們換一個瀏覽器(為了不使cookie沖突導致自己和自己對話),換一個用戶登錄,模擬咨詢人員。登錄之后,點擊我是客服按鈕彈出客服界面,並發送消息如下圖:

 //打開客服
            kefu: function (kfid) {
                layim.chat({
                    name: '在線客服-小蒼'
                  , type: 'kefu'
                  , avatar: '/headphotos/default.jpg'
                  , id: kfid
                });
            }

  

  在此解釋一下,為什么這里給客服發送消息,對面就收到了呢,其實是這樣的。首先當我們點擊發送的時候觸發客服發送事件。layim中默認有三種,friend,group,kefu。其實friend和kefu可以歸為一類,他們相當於1對 聊天,所以我們也是如此,直接調用1對1聊天的發送方法即可。只不過對面收到的消息類型是kefu。

  

  這里我們客服端如何處理呢,其實很簡單,不用動,直接像1v1聊天那樣處理就好,由於layim中的 getMessage方法內部已經判斷了kefu和friend的區別。所以,我們只要靜靜的等待消息即可。

  layim.getMessage(result.msg);//因為result.msg 是合乎layim接口規范,所以直接帶入

  然后如下圖,我們的客服MM就收到了一條消息。

  

  打開消息界面,客服MM回復客戶。同樣,客戶也收到了回復的消息。(其實客服消息就是1對1消息,只不過UI端的處理不同而已)

  

  這樣一個完整的客服咨詢過程就結束了,如果想做的完美一點還可以做一個客服滿意度評價之類的功能。

總結

  實現客服消息是不是很簡單呢,當然。。。。。。不簡單,本篇簡單是因為之前的1對1聊天中我們已經做了大量的后端代碼工作和前端的處理,所以,對接客服消息的時候你會發現一個模式套用上去,能直接使用。最后,還是對同樣喜歡研究layim的同學說一句,layim是大神的代碼,但不代表你不能夠動他,多讀讀源代碼,你會發現其中的設計巧妙之處以及學習到高手的編碼方式和設計思路。然后你再照葫蘆畫瓢把你自己想的功能給加上去,那還不是小菜一碟!

  本系列博客教程:ASP.NET SignalR 與 LayIM2.0 配合輕松實現Web聊天室 實戰系列(不斷更新中)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM