最近對(duì)微信接口進(jìn)行深入的研究,通過(guò)把底層接口一步步進(jìn)行封裝后,逐步升級(jí)到自動(dòng)化配置、自動(dòng)化應(yīng)答,以及后臺(tái)處理界面的優(yōu)化和完善上,力求搭建一個(gè)較為完善、適用的微信門戶應(yīng)用管理系統(tǒng)。
微信門戶應(yīng)用管理系統(tǒng),采用基于MVC+EasyUI的路線,由于多數(shù)域名服務(wù)器上都只能支持.NET4.0,所以以MVC3,C#4.0作為開發(fā)基礎(chǔ),基本上能夠部署在任何.NET服務(wù)器上。
在微信門戶系統(tǒng)里面,實(shí)現(xiàn)下面這些功能操作:
1)實(shí)現(xiàn)菜單的動(dòng)態(tài)配置及更新到服務(wù)器上;
2)動(dòng)態(tài)定義事件和響應(yīng)消息,實(shí)現(xiàn)對(duì)不同行業(yè),不同需求的菜單動(dòng)作響應(yīng);
3)動(dòng)態(tài)的應(yīng)答指令配置處理,實(shí)現(xiàn)整套應(yīng)答鏈的消息處理;
4)獲取訂閱用戶和用戶分組信息,并可以實(shí)現(xiàn)用戶分組信息的維護(hù)等操作;
5)管理并更新多媒體文件、圖文消息等內(nèi)容,方便為客戶推送消息做準(zhǔn)備。
6)使用向選定訂閱用戶或者分組進(jìn)行消息的群發(fā)功能。
?
1、微信菜單管理
在系統(tǒng)中管理菜單,并通過(guò)把菜單提交到服務(wù)器上,實(shí)現(xiàn)菜單的動(dòng)態(tài)配置和生成,能夠?yàn)槲覀兿到y(tǒng)適應(yīng)各種的需要,實(shí)現(xiàn)靈活的處理。
微信菜單的添加界面如下所示。
微信菜單的修改界面如下所示
微信菜單定義是存儲(chǔ)在數(shù)據(jù)庫(kù)里面,如果需要提交到微信服務(wù)器上并生效,則需要調(diào)用微信API接口進(jìn)行處理,我在頁(yè)面的Controller控制器里增加一個(gè)提交到服務(wù)器的處理方法。
在微信服務(wù)賬號(hào)的門戶上,菜單的表現(xiàn)效果如下所示。
2、菜單事件的處理
對(duì)于動(dòng)態(tài)生成的菜單,大多數(shù)情況下是用作Click的方式,也就是需要定義每個(gè)菜單的事件響應(yīng)操作,我們使用微信的話,可以了解到,微信的處理事件,一般可以響應(yīng)用戶文本消息、圖片消息、圖文消息等內(nèi)容,常規(guī)下,一般使用文本消息或者圖文消息居多。
為了進(jìn)一步實(shí)現(xiàn)響應(yīng)內(nèi)容的重用,我們把菜單的事件定義和內(nèi)容定義進(jìn)行分開管理,事件定義可以使用多個(gè)文本消息,也可以使用多個(gè)圖文消息進(jìn)行組合,這樣可以實(shí)現(xiàn)更加靈活的使用環(huán)境。
添加事件定義如下所示
事件的響應(yīng)內(nèi)容編碼,可以選擇輸入或者從“編輯”按鈕中選擇,當(dāng)選擇“編輯”按鈕進(jìn)行選擇的時(shí)候,系統(tǒng)彈出一個(gè)對(duì)話框供用戶對(duì)事件的響應(yīng)內(nèi)容編碼選擇。
完成選擇后,回到原來(lái)的新增界面,將會(huì)看到返回的記錄就是我們選擇的記錄。
微信事件的編輯界面如下所示,類似新增界面的內(nèi)容。
3、微信消息內(nèi)容管理
?上面說(shuō)到,菜單的事件通過(guò)關(guān)聯(lián)事件編碼進(jìn)行處理,而事件本身可以組合多個(gè)消息內(nèi)容,因此消息內(nèi)容是響應(yīng)客戶操作的最小單元,它們可以是一條文本消息、圖文消息,也可以是多條消息的組合(同類型的話)。
為了方便管理,我把消息分為了圖文、指令、文本類型,如果需要,還可以根據(jù)需要把它細(xì)化為其他類型的消息。
消息內(nèi)容的添加界面如下所示。
文本消息的手機(jī)上界面效果如下所示。
這里不管是文本消息還是圖文消息,我們統(tǒng)一以圖文消息的定義來(lái)定義消息,如果是文本消息,我們只需要獲取描述內(nèi)容作為消息的主體即可。
圖文消息的編輯界面如下所示,主要就是填寫完整的內(nèi)容和圖片,以及頁(yè)面詳細(xì)的鏈接即可。
上面的這個(gè)客戶關(guān)系管理系統(tǒng)的消息,在手機(jī)上顯示的界面效果如下所示,單擊鏈接,可以切換到消息跳轉(zhuǎn)鏈接地址的。
4、應(yīng)答指令的維護(hù)
應(yīng)答指令的維護(hù),有點(diǎn)類似于事件的管理,主要就是定義一些用到的指令,方便構(gòu)建應(yīng)答系統(tǒng)的響應(yīng)鏈,從而實(shí)現(xiàn)一步步的操作指令。
在后臺(tái)設(shè)置好應(yīng)答指令后,系統(tǒng)就能根據(jù)應(yīng)答指令鏈進(jìn)行處理了。首先我們需要提供一個(gè)進(jìn)入應(yīng)答鏈的提示界面,如下所示。
但我們?cè)诓藛芜x擇應(yīng)答系統(tǒng)后,系統(tǒng)返回一個(gè)文本提示界面,如下所示。
這個(gè)界面里面提示了一些按鍵,包括幾個(gè)固定的按鍵和一些業(yè)務(wù)按鍵,輸入簡(jiǎn)單的1~6可以對(duì)選擇進(jìn)行響應(yīng)。
我們看到上面的界面,輸入指令1后,系統(tǒng)進(jìn)入下一層的應(yīng)答指令,然后又列出幾個(gè)可供輸入的按鍵和內(nèi)容提示。
當(dāng)我們繼續(xù)輸入業(yè)務(wù)按鍵1后,響應(yīng)的是一個(gè)圖文消息,也是關(guān)于按鍵的詳細(xì)說(shuō)明。
這個(gè)時(shí)候,我們也還可以輸入*號(hào)按鍵,返回上一級(jí)菜單的。
輸入0則轉(zhuǎn)入了客服對(duì)話模式,后續(xù)您發(fā)的任何消息,將會(huì)轉(zhuǎn)發(fā)到多客服系統(tǒng)里面了。
?
當(dāng)用戶發(fā)送消息后,客服助手就能及時(shí)收到消息并處理和客戶的應(yīng)答了。
?
5、訂閱用戶管理
為了更有效管理訂閱用戶以及分組信息,我們可以從微信服務(wù)器上獲取相關(guān)的信息,供我們了解關(guān)注的用戶信息,也可以為后續(xù)的群發(fā)消息做準(zhǔn)備。
訂閱用戶的管理如下所示,默認(rèn)可以通過(guò)用戶的地區(qū)進(jìn)行查看,地區(qū)根據(jù):國(guó)家-省份-城市這樣的級(jí)別進(jìn)行展開。單擊同步數(shù)據(jù),可以把服務(wù)器上的用戶數(shù)據(jù)下載到本地進(jìn)行更新或者寫入。
訂閱用戶,還可以根據(jù)分組進(jìn)行查看
雙擊可以查看訂閱用戶信息,查看訂閱用戶的詳細(xì)信息界面如下所示。
7、用戶分組管理
創(chuàng)建分組的界面如下所示。
編輯分組信息界面如下所示。
當(dāng)對(duì)分組進(jìn)行編輯保存后,系統(tǒng)會(huì)記住那些修改過(guò)的,同步的時(shí)候,把本地新增的內(nèi)容,在服務(wù)器上創(chuàng)建分組;把修改的的分組名稱,在服務(wù)器上進(jìn)行修改,然后進(jìn)行同步列表處理。
?
8、多媒體管理
多媒體管理是指把本地文件上傳到微信服務(wù)器上進(jìn)行保存,方便信息的發(fā)送等操作。微信要求,某些信息,必須是先上傳到服務(wù)器上,然后才能使用它的媒體ID進(jìn)行發(fā)送的。
文件成功上傳到服務(wù)器后,在列表里面的“文件上傳標(biāo)識(shí),就是一串BASE64的編碼數(shù)據(jù),同時(shí)有一個(gè)上傳的時(shí)間戳(因?yàn)槲⑿欧?wù)器只保留了3天的媒體數(shù)據(jù),超過(guò)期限的數(shù)據(jù)會(huì)被自動(dòng)刪除。
同時(shí),在列表的上面,有兩個(gè)重要的功能:上傳選定的記錄,重新上傳過(guò)期的記錄。方便我們對(duì)自己多媒體文件的重新更新操作。
添加界面操作如下所示,其中引入了附件上傳的控件進(jìn)行文件的操作,非常方便。同時(shí)上傳成功的文件,會(huì)在列表中列出。
多媒體文件可以是下面幾種方式:圖片、語(yǔ)音、視頻、縮略圖。
保存后的數(shù)據(jù)記錄,文件上傳標(biāo)識(shí)和時(shí)間戳都是空的,我們?nèi)绻褂?,必須把他們上傳到微信的服?wù)器上,然后根據(jù)它的MediaId進(jìn)行信息的發(fā)送,上傳選定的記錄操作界面如下所示。
多媒體文件順利上傳后,記錄的信息如下所示。
9、圖文消息處理
圖文消息分為單圖文消息和多圖文消息兩種,單圖文消息如下所示。
多圖文消息如下所示:
和多媒體數(shù)據(jù)管理一樣,圖文消息也是通過(guò)同樣的方式進(jìn)行管理,先上傳到服務(wù)器,然后在進(jìn)行消息的發(fā)送操作,多媒體消息一樣有時(shí)間方面的限制要求,具體在我們的微信門戶平臺(tái)里面管理界面如下所示。
添加圖文消息界面如下所示,保存后,可以在編輯界面中的“其他圖文列表”里面,繼續(xù)添加多圖文的消息內(nèi)容。
在添加界面中,選擇圖文消息的縮略圖,都是通過(guò)選定指定的,已經(jīng)上傳到服務(wù)器上圖片或者縮略圖資源才可以的。
添加后的多圖文列表,可以進(jìn)行查看管理。
保存記錄后,然后繼續(xù)上傳,上傳后的記錄界面如下所示,成功后返回一個(gè)上傳后的服務(wù)器標(biāo)識(shí)和時(shí)間戳,否則提示錯(cuò)誤。
10、會(huì)話消息管理
為了方便記錄客戶的輸入和發(fā)送信息,我們?cè)谖⑿砰T戶管理平臺(tái)里面記錄用戶的輸入數(shù)據(jù),具體會(huì)話消息管理界面如下所示。
我們可以雙擊最近48小時(shí)內(nèi)的任何一條記錄,可以給關(guān)注的客戶進(jìn)行消息的發(fā)送操作,如果消息發(fā)送成功,用戶在手機(jī)的微信賬號(hào)里面就能收到相關(guān)的發(fā)送消息了。
11、群發(fā)消息管理
為了對(duì)客戶進(jìn)行相應(yīng)的營(yíng)銷操作,有時(shí)候我們需要對(duì)指定的群主或者人員進(jìn)行消息的群發(fā),讓客戶經(jīng)常性的了解我們產(chǎn)品的信息和活動(dòng)。
由于群發(fā)消息,除了文本消息,可以直接編輯發(fā)送外,其他數(shù)據(jù),必須要求是上傳到服務(wù)器的多媒體文件或者圖文消息內(nèi)容,因此前面的多媒體管理和圖文消息管理,就是主要為了群發(fā)消息的目的引入的。有了上面的多媒體和多圖文信息,我們從平臺(tái)里面選擇記錄即可進(jìn)行發(fā)送,從而省卻麻煩的連帶工作,實(shí)現(xiàn)高效的信息群發(fā)操作。
群發(fā)的消息,可以按群發(fā)分組進(jìn)行查看,也可以按照消息類型進(jìn)行查看,使得我們管理起來(lái)根據(jù)方便。
添加圖文消息,可以選擇文本消息、圖文消息、圖片消息等內(nèi)容,根據(jù)不同的內(nèi)容,界面提供不同的選擇操作。
消息的群發(fā)類型分為兩種,一種是根據(jù)分組,那么從平臺(tái)里面選擇對(duì)應(yīng)的分組即可;一種是根據(jù)用戶的OpenID進(jìn)行發(fā)送,提供給用戶輸入。主要的操作界面如下所示。
?
?
本文摘自 :https://blog.51cto.com/w