這篇文章主要為大家展示了“C#如何實(shí)現(xiàn)文本消息和圖文消息的應(yīng)答 ”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“C#如何實(shí)現(xiàn)文本消息和圖文消息的應(yīng)答 ”這篇文章吧。
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供大峪網(wǎng)站建設(shè)、大峪做網(wǎng)站、大峪網(wǎng)站設(shè)計(jì)、大峪網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、大峪企業(yè)網(wǎng)站模板建站服務(wù),十年大峪做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
給手機(jī)用戶發(fā)送響應(yīng)消息,它可以分為好多種方式,如回復(fù)文本消息、回復(fù)圖片消息、回復(fù)語(yǔ)音消息、回復(fù)視頻消息、回復(fù)音樂(lè)消息、回復(fù)圖文消息等,如下所示。
而其中圖片、視頻、語(yǔ)音這三種方式,是需要開(kāi)通微信認(rèn)證才可以向用戶發(fā)送存在微信服務(wù)器上的媒體信息,一般沒(méi)有認(rèn)證的公眾號(hào)或者服務(wù)號(hào),是不能發(fā)送這幾種內(nèi)容的。
在上一篇微信開(kāi)發(fā)的隨筆中,我展示了對(duì)接收消息和回復(fù)消息的應(yīng)用實(shí)體類,這些實(shí)體類是我根據(jù)需要,根據(jù)開(kāi)發(fā)需要,在應(yīng)用層面對(duì)它們進(jìn)行了封裝,如回復(fù)的消息關(guān)系如下所示。
消息基類BaseMessage的實(shí)體類定義如下所示,它對(duì)日期構(gòu)造了一個(gè)整形數(shù)值,并具備了一些常規(guī)的屬性,并且還有一個(gè)重要的ToXML方法,用來(lái)給方法傳遞這些XML數(shù)據(jù)的。
////// 基礎(chǔ)消息內(nèi)容 /// [XmlRoot(ElementName = "xml")] public class BaseMessage { ////// 初始化一些內(nèi)容,如創(chuàng)建時(shí)間為整形, /// public BaseMessage() { this.CreateTime = DateTime.Now.DateTimeToInt(); } ////// 開(kāi)發(fā)者微信號(hào) /// public string ToUserName { get; set; } ////// 發(fā)送方帳號(hào)(一個(gè)OpenID) /// public string FromUserName { get; set; } ////// 消息創(chuàng)建時(shí)間 (整型) /// public int CreateTime { get; set; } ////// 消息類型 /// public string MsgType { get; set; } public virtual string ToXml() { this.CreateTime = DateTime.Now.DateTimeToInt();//重新更新 return MyXmlHelper.ObjectToXml(this); } }
回復(fù)的文本消息實(shí)體類代碼如下所示,我們可以看到,它繼承了很多通用的實(shí)體屬性,并且還具備了一個(gè)ToXml的通用方法,我們需要把它轉(zhuǎn)換為響應(yīng)的XML的時(shí)候,就使用這個(gè)方法就可以了。
////// 回復(fù)文本消息 /// [System.Xml.Serialization.XmlRoot(ElementName = "xml")] public class ResponseText : BaseMessage { public ResponseText() { this.MsgType = ResponseMsgType.Text.ToString().ToLower(); } public ResponseText(BaseMessage info) : this() { this.FromUserName = info.ToUserName; this.ToUserName = info.FromUserName; } ////// 內(nèi)容 /// public string Content { get; set; } }
而圖文消息對(duì)象類ResponseNews,它包含更多的信息定義
////// 回復(fù)圖文消息 /// [System.Xml.Serialization.XmlRoot(ElementName = "xml")] public class ResponseNews : BaseMessage { public ResponseNews() { this.MsgType = ResponseMsgType.News.ToString().ToLower(); this.Articles = new List(); } public ResponseNews(BaseMessage info) : this() { this.FromUserName = info.ToUserName; this.ToUserName = info.FromUserName; } /// /// 圖文消息個(gè)數(shù),限制為10條以內(nèi) /// public int ArticleCount { get { return this.Articles.Count; } set { ;//增加這個(gè)步驟才出來(lái)XML內(nèi)容 } } ////// 圖文列表。 /// 多條圖文消息信息,默認(rèn)第一個(gè)item為大圖,注意,如果圖文數(shù)超過(guò)10,則將會(huì)無(wú)響應(yīng) /// [System.Xml.Serialization.XmlArrayItem("item")] public ListArticles { get; set; } }
而其中的圖文列表集合中的對(duì)象,它也是一個(gè)實(shí)體類型,包含了一些圖文的鏈接,標(biāo)題等信息,不在贅述。
如對(duì)于文本消息,我們可以用以下的方式進(jìn)行處理。
ResponseText response = new ResponseText(info); response.Content = "抱歉,此功能暫未開(kāi)通。"; result = response.ToXml();
對(duì)于圖文消息,我們可能需要錄入更多的消息才能返回更好的效果。
注意圖文的消息,圖片的尺寸最好按照官方的標(biāo)準(zhǔn),否則在手機(jī)上看起來(lái)不好看,官方的標(biāo)準(zhǔn)好像是寬高是(360,200)像素
////// 訂閱或者顯示公司信息 /// /// ///private string ShowCompanyInfo(BaseMessage info) { string result = ""; //使用在微信平臺(tái)上的圖文信息(單圖文信息) ResponseNews response = new ResponseNews(info); ArticleEntity entity = new ArticleEntity(); entity.Title = "廣州愛(ài)奇迪軟件科技有限公司"; entity.Description = "歡迎關(guān)注廣州愛(ài)奇迪軟件--專業(yè)的單位信息化軟件和軟件開(kāi)發(fā)框架提供商,我們立志于為客戶提供最好的軟件及服務(wù)。\r\n"; entity.Description += "我們是一家極富創(chuàng)新性的軟件科技公司,從事研究、開(kāi)發(fā)并銷售最可靠的、安全易用的技術(shù)產(chǎn)品及優(yōu)質(zhì)專業(yè)的服務(wù),幫助全球客戶和合作伙伴取得成功。\r\n......(此處省略1000字,哈哈)"; entity.PicUrl = "http://www.php.cn/"; entity.Url = "http://www.php.cn/"; response.Articles.Add(entity); result = response.ToXml(); return result; }
我們來(lái)看看我公司的微信門戶菜單,看起來(lái)是不是很酷呢。
對(duì)于這兩種(文本消息、圖文消息)用的地方是最多,很多微信門戶,都主要是使用這兩種方式進(jìn)行響應(yīng)。當(dāng)然,我們還可以根據(jù)客戶手機(jī)提交上來(lái)的各種消息進(jìn)行不同的處理,請(qǐng)求消息的類型我在上一篇的隨筆有介紹,如下所示。
以上是“C#如何實(shí)現(xiàn)文本消息和圖文消息的應(yīng)答 ”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!