使用 WPF+ ASP.NET MVC 開發 在線客服系統 (一)

近段時間利用業餘時間開發了一套在線客服系統,期間遇到過大大小小不少問題,好在都一一解決,最終效果也還可以,打算寫一個系列的文章把開發過程詳細的記錄下來。

希望能夠和更多的開發人員互相交流學習,也希望有有興趣的小夥伴一起加入開發當中來,畢竟一個人的力量是有限的 :)

有興趣的小夥伴請加Q:279060597

 

系列文章將分爲幾個部分

      零、概述(本篇)

  一、需求分析及技術方案初步選型

  二、技術方案選型,驗證

  三、底層框架設計,開發

  四、服務器設計開發

  五、客戶端設計開發

  六、Web端設計開發

 

在這個系列的文章中,您將瞭解並學習到以下技術知識:

ASP.NET MVC、WPF、MSMQ、YUI、WebSocket

 

如果這些技術對您有用,還請您 推薦 一下本文章,謝謝!

 

首先是需求,我們大概看看什麼是在線客服系統:

 

只需將系統生成的一段JavaScript代碼嵌入網站頁面,即可在網站上顯示代表客服的浮動小圖標,邀請框,以及小聊天窗口。

而對於客服:

1.變被動爲主動,使營銷人員(客服)主動發現並跟蹤網站訪客,實時掌握訪客動向,向訪客發起聊天邀請或直接強制會話。

2.對營銷人員(客服)實行有效管理與考覈,藉助實時監控,歷史記錄,統計分析等功能。

3.營銷輔助功能:訪客地域,來源網頁,搜索引擎關鍵字,快捷回覆,消息預知等功能。

4.網頁回撥電話,訪客輸入自己的電話號碼系統自動記錄並回撥接通營銷人員(客服)與訪客的電話;營銷人員(客服)也可以直接使用客服端軟件在電腦上撥打手機或固定電話。

這就是我們要開發的系統,還好需求非常明確,並不複雜。 

 

關於技術方案的選型:

  

1)服務器操作系統:

Windows Server 2012

Windows Server 2012 是微軟下一代 Windows 服務器的最新版本,它採用超越虛擬化技術,可通過一臺服務器提供多臺服務器的功能, 實現相當靈活的工作方式,爲每個應用程序創造更大的發揮空間 。它將向企業和託管提供商提供可伸縮、動態、支持多租戶以及通過雲計算得到優化的基礎結構,並能幫助 IT 專業人員更快、更高效地響應業務需求。

 

2)消息服務:

MSMQ

在線客服系統最重要的是什麼,當然是網站訪客與客服人員消息的互通,我不推薦重複造輪子,而是更願意選擇成熟穩定的產品來爲我們服務。

Message Queue(微軟消息隊列)是在多個不同的應用之間實現相互通信的一種異步傳輸模式,相互通信的應用可以分佈於同一臺機器上,也可以分佈於相連的網絡空間中的任一位置。它的實現原理是:消息的發送者把自己想要發送的信息放入一個容器中(我們稱之爲Message),然後把它保存至一個系統公用空間的消息隊列(Message Queue)中;本地或者是異地的消息接收程序再從該隊列中取出發給它的消息進行處理。

在消息傳遞機制中,有兩個比較重要的概念。一個是消息,一個是隊列。消息是由通信的雙方所需要傳遞的信息,它可以是各式各樣的媒體,如文本、聲音、圖象等等。消息最終的理解方式,爲消息傳遞的雙方事先商定,這樣做的好處是,一是相當於對數據進行了簡單的加密,二則採用自己定義的格式可以節省通信的傳遞量。消息可以含有發送和接收者的標識,這樣只有指定的用戶才能看到只傳遞給他的信息和返回是否操作成功的回執。消息也可以含有時間戳,以便於接收方對某些與時間相關的應用進行處理。消息還可以含有到期時間,它表明如果在指定時間內消息還未到達則作廢,這主要應用與時間性關聯較爲緊密的應用。

 

3)Web 開發框架:

YUI,WebSocket

對於在線客服系統,Web頁面的穩定性和速度非常重要,在此我們使用 YUI 和 WebSocket 來構建可與服務端實時交互的 Web 系統。

YUI:YUI庫是一系列使用Javascript和CSS創建的的工具和控件集,用來創建富客戶端Web應用。使用到了DOM scripting,DHTML和AJAX。

WebSocket:是HTML5開始提供的一種在單個 TCP 連接上進行全雙工通訊的協議。WebSocket通信協議於2011年被IETF定爲標準RFC 6455,WebSocketAPI被W3C定爲標準。在WebSocket API中,瀏覽器和服務器只需要做一個握手的動作,然後,瀏覽器和服務器之間就形成了一條快速通道。兩者之間就直接可以數據互相傳送。

 

4)客服端開發框架:

Microsoft .NET Framework 4.5 / WPF

Windows Presentation Foundation (WPF) 是下一代顯示系統,用於生成能帶給用戶震撼視覺體驗的 Windows 客戶端應用程序。 使用 WPF,您可以創建廣泛的獨立應用程序以及瀏覽器承載的應用程序。

 

5)服務端開發框架:

Microsoft ASP.NET MVC 4

微軟官方提供的MVC模式編寫Asp.net Web應用程序的一個框架。

 

系統結構:

 

話不多說,先上圖:

 

客服端主界面:

 

網頁端:

 

網頁端大聊天窗口

 

手機端聊天界面:

 

功能分解

訪問狀態跟蹤:

實時掃描跟蹤正在瀏覽網站的訪客,在客服端通過樹形目錄進行分類展示。

訪客信息採集/搜索引擎關鍵字分析

識別訪客的:來源地域,IP地址,來源網頁地址,使用的終端設備類型以及正在瀏覽的網頁等。

智能識別訪客的來源地址,如果來源地址爲搜索引,則分析來源搜索引擎及搜索關鍵字。

 

軌跡跟蹤:

在聊天區及輔助功能區的軌跡面板,實時追蹤顯示訪客正在瀏覽的頁面。

 

會話轉接:

當客服遇到疑難問題時,可以轉接給其他同事,尋求幫助。在轉接對話時自動把原接待客服溝通的記錄全部轉給待接客服。

 

消息預知:

客服可預先看到訪客已經輸入而未發送的消息,以便在第一時間瞭解訪客的心理。

 

快捷回覆:

可在線添加、修改,導入或導出,縮短訪客等待時間,提高客服工作效率。

 

歷史記錄

與使用其它聊天工具時歷史記錄存儲在客服電腦無法集中管理不同,在線客服系統的所有聊天記錄均可由管理員進行統一的查詢,可以按時間段,聊天內容等多種方式精準查詢。

 

實時監控

可以自由選擇對客服進行對話監控,通過監控中的聊天記錄,瞭解客服工作狀態及業務技能。

 

留言(web側)

非工作時間無客服在線時,自動切換到留言功能,引導訪客留下聯繫方式及訴求。

 

 

網頁回呼

在網站中顯示一個浮動區域,引導訪客填寫電話號碼後,系統可自動接通客服與訪客的電話。客服亦可在後臺查詢所有的訪客電話號碼及呼叫記錄。

 

 

撥打手機和固定電話

客服可在客服端軟件中,直接使用網絡電話業務撥打全國固定電話或手機。

 

角色與權限

對客服分配不同的角色和所擁有的操作權限,可進行管理員,班組長,一般客服,實習生等多種角色層級,實現有效管理。

聯繫人管理

爲訪客建立聯繫人信息,記錄訪客的聯繫方式,營銷情況,可對訪客進行業務類型,重要級別的分類。

 

站點設置

設定個性的LOGO圖片,浮動圖標、圖片廣告,文字廣告等。所有設置均實時生效。

 

具體每一部分的實現,敬請關注。

 

 

博主正在留意南京的 .Net 相關高級職位

簡歷:http://zkebao.com/r/resume.html

WinForm作品:http://www.cnblogs.com/sheng_chao/p/4387249.html

 

發佈了29 篇原創文章 · 獲贊 21 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章