程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#開發微信門戶及應用(3)--文本消息和圖文消息的應答

C#開發微信門戶及應用(3)--文本消息和圖文消息的應答

編輯:C#入門知識

消息基類BaseMessage的實體類定義如下所示,它對日期構造了一個整形數值,並具備了一些常規的屬性,並且還有一個重要的ToXML方法,用來給方法傳遞這些XML數據的。   復制代碼     /// <summary>     /// 基礎消息內容     /// </summary>     [XmlRoot(ElementName = "xml")]     public class BaseMessage     {         /// <summary>         /// 初始化一些內容,如創建時間為整形,         /// </summary>         public BaseMessage()         {             this.CreateTime = DateTime.Now.DateTimeToInt();         }           /// <summary>         /// 開發者微信號         /// </summary>         public string ToUserName { get; set; }           /// <summary>         /// 發送方帳號(一個OpenID)         /// </summary>         public string FromUserName { get; set; }           /// <summary>         /// 消息創建時間 (整型)         /// </summary>         public int CreateTime { get; set; }           /// <summary>         /// 消息類型         /// </summary>         public string MsgType { get; set; }           public virtual string ToXml()         {             this.CreateTime = DateTime.Now.DateTimeToInt();//重新更新             return MyXmlHelper.ObjectToXml(this);         }       } 復制代碼 回復的文本消息實體類代碼如下所示,我們可以看到,它繼承了很多通用的實體屬性,並且還具備了一個ToXml的通用方法,我們需要把它轉換為響應的XML的時候,就使用這個方法就可以了。   復制代碼     /// <summary>     /// 回復文本消息     /// </summary>     [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;         }           /// <summary>         /// 內容         /// </summary>                 public string Content  { get; set; }     } 復制代碼 而圖文消息對象類ResponseNews,它包含更多的信息定義   復制代碼     /// <summary>     /// 回復圖文消息     /// </summary>     [System.Xml.Serialization.XmlRoot(ElementName = "xml")]     public class ResponseNews : BaseMessage     {         public ResponseNews()         {             this.MsgType = ResponseMsgType.News.ToString().ToLower();               this.Articles = new List<ArticleEntity>();         }         public ResponseNews(BaseMessage info) : this()         {             this.FromUserName = info.ToUserName;             this.ToUserName = info.FromUserName;         }           /// <summary>         /// 圖文消息個數,限制為10條以內         /// </summary>         public int ArticleCount         {             get             {                 return this.Articles.Count;             }             set             {                 ;//增加這個步驟才出來XML內容             }         }           /// <summary>         /// 圖文列表。         /// 多條圖文消息信息,默認第一個item為大圖,注意,如果圖文數超過10,則將會無響應         /// </summary>         [System.Xml.Serialization.XmlArrayItem("item")]         public List<ArticleEntity> Articles { get; set; }       } 復制代碼 而其中的圖文列表集合中的對象,它也是一個實體類型,包含了一些圖文的鏈接,標題等信息,不在贅述。   2、消息的回復處理   如對於文本消息,我們可以用以下的方式進行處理。                   ResponseText response = new ResponseText(info);                 response.Content = "抱歉,此功能暫未開通。";                 result = response.ToXml(); 對於圖文消息,我們可能需要錄入更多的消息才能返回更好的效果。   注意圖文的消息,圖片的尺寸最好按照官方的標准,否則在手機上看起來不好看,官方的標准好像是寬高是(360,200)像素   復制代碼         /// <summary>         /// 訂閱或者顯示公司信息         /// </summary>         /// <param name="info"></param>         /// <returns></returns>         private string ShowCompanyInfo(BaseMessage info)         {             string result = "";             //使用在微信平台上的圖文信息(單圖文信息)             ResponseNews response = new ResponseNews(info);             ArticleEntity entity = new ArticleEntity();             entity.Title = "廣州愛奇迪軟件科技有限公司";             entity.Description = "歡迎關注廣州愛奇迪軟件--專業的單位信息化軟件和軟件開發框架提供商,我們立志於為客戶提供最好的軟件及服務。\r\n";             entity.Description += "我們是一家極富創新性的軟件科技公司,從事研究、開發並銷售最可靠的、安全易用的技術產品及優質專業的服務,幫助全球客戶和合作伙伴取得成功。\r\n......(此處省略1000字,哈哈)";             entity.PicUrl = "http://www.iqidi.com/WeixinImage/company.png";             entity.Url = "http://www.iqidi.com";               response.Articles.Add(entity);             result = response.ToXml();               return result;         }  復制代碼

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved