上篇已經成功響應了關注事件,也實現了文本消息的發送,這篇開始圖文消息處理, 微信中最經常使用的消息類型就是圖文消息了,由於它圖文並茂,最能表達信息。 圖文消息在微信中的接口定義以下:html
1 <xml> 2 <ToUserName><![CDATA[toUser]]></ToUserName> 3 <FromUserName><![CDATA[fromUser]]></FromUserName> 4 <CreateTime>12345678</CreateTime> 5 <MsgType><![CDATA[news]]></MsgType> 6 <ArticleCount>2</ArticleCount> 7 <Articles> 8 <item> 9 <Title><![CDATA[title1]]></Title> 10 <Description><![CDATA[description1]]></Description> 11 <PicUrl><![CDATA[picurl]]></PicUrl> 12 <Url><![CDATA[url]]></Url> 13 </item> 14 <item> 15 <Title><![CDATA[title]]></Title> 16 <Description><![CDATA[description]]></Description> 17 <PicUrl><![CDATA[picurl]]></PicUrl> 18 <Url><![CDATA[url]]></Url> 19 </item> 20 </Articles> 21 </xml>
加上文字定義:web
不少人第一次看這個文檔時會感受看不懂, 由於它這寫的實在是不太直觀, 多看幾眼就明白了, 開發者、用戶、時間等等跟文本消息及其餘消息都同樣, 惟一不同的是圖文消息中articles節點又是個多條記錄的節點,它跟其餘節點同級,具體文章至關於子級, 這個看了以前文章中定義圖文消息模型就很直觀了,我把文章單獨做爲一個list看成圖文消息模型中的一個屬性來用。數據庫
咱們這裏模擬幾條數據瀏覽器
1 SNews mN = new SNews(); 2 mN.FromUserName = ReadXml.ReadModel("ToUserName", model); 3 mN.ToUserName = ReadXml.ReadModel("FromUserName", model); 4 mN.CreateTime = long.Parse(ReadXml.ReadModel("CreateTime", model)); 5 mN.MsgType = "news"; 6 7 // 如下爲文章內容, 實際使用時,此處應該是一個跟數據庫交互的方法,查詢出文章 8 //文章條數, 文章內容等 都應該由數據庫查詢出來的數據決定 這裏測試,就模擬幾條 9 10 mN.ArticleCount =5; 11 List<ArticlesModel> listNews = new List<ArticlesModel>(); 12 for (int i = 0; i < 6;i++ ) 13 { 14 ArticlesModel ma = new ArticlesModel(); 15 ma.Title ="這是第"+i.ToString()+"篇文章"; 16 ma.Description ="--"+i.ToString()+"--"; 17 ma.PicUrl = "http://image6.tuku.cn/pic/wallpaper/dongwu/taipingniaogaoqingbizhi/s00"+(i+1).ToString()+".jpg"; 18 ma.Url = "http://www.cnblogs.com/mochen/"; 19 listNews.Add(ma); 20 } 21 mN.Articles = listNews; 22 ReadXml.ResponseToEnd(DALWei.SendNews(mN));
demo是輸入?或?或幫助 回覆文字菜單, 輸入其餘字符回覆圖文服務器
效果:微信
圖文消息超過1篇時默認第一篇是大圖顯示,且每一篇都僅僅顯示標題, 當只有一條時會顯示簡介,如圖:微信公衆平臺
不管有多少條文章,每篇文章點擊都會打開所賦值的文章連接, 此時就至關於打開了一個瀏覽器訪問你的web頁面,這個頁面你能夠自行設計成任何樣子, 因爲手機大小不一,這個頁面設計時最好考慮下屏幕適配,作成響應式佈局吧asp.net
好了,圖文消息就是這麼多,至此爲止,微信全部的基礎內容基本上都完成了, 在第7篇我會放出完整的demo版源碼,保證拿回去扔到服務器上指定個域名,而後到微信官方填寫一下,馬上就能看到效果......curl
目錄索引:[C#]asp.net開發微信公衆平臺----目錄彙總佈局