国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

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

2019-11-17 03:16:15
字體:
來源:轉載
供稿:網(wǎng)友

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

微信應用如火如荼,很多公司都希望搭上信息快車,這個是一個商機,也是一個技術的方向,因此,有空研究下、學習下微信的相關開發(fā),也就成為計劃的安排事情之一了。本系列文章希望從一個循序漸進的角度上,全面介紹微信的相關開發(fā)過程和相關經(jīng)驗總結,希望給大家了解一下相關的開發(fā)歷程。

在前面兩篇兩篇隨筆《C#開發(fā)微信門戶及應用(1)--開始使用微信接口》和《C#開發(fā)微信門戶及應用(2)--微信消息的處理和應答》里面,大致介紹了我微信應用的框架構建,本隨筆繼續(xù)介紹這一主題,介紹消息應答里面的文本應答和圖文應答的過程。

我們知道,給手機用戶發(fā)送響應消息,它可以分為好多種方式,如回復文本消息、回復圖片消息、回復語音消息、回復視頻消息、回復音樂消息、回復圖文消息等,如下所示。

而其中圖片、視頻、語音這三種方式,是需要開通微信認證才可以向用戶發(fā)送存在微信服務器上的媒體信息,一般沒有認證的公眾號或者服務號,是不能發(fā)送這幾種內容的。

1、實體信息關系及定義

在上一篇微信開發(fā)的隨筆中,我展示了對接收消息和回復消息的應用實體類,這些實體類是我根據(jù)需要,根據(jù)開發(fā)需要,在應用層面對它們進行了封裝,如回復的消息關系如下所示。

消息基類BaseMessage的實體類定義如下所示,它對日期構造了一個整形數(shù)值,并具備了一些常規(guī)的屬性,并且還有一個重要的Toxml方法,用來給方法傳遞這些XML數(shù)據(jù)的。

    /// <summary>    /// 基礎消息內容    /// </summary>    [XmlRoot(ElementName = "xml")]    public class BaseMessage    {        /// <summary>        /// 初始化一些內容,如創(chuàng)建時間為整形,        /// </summary>        public BaseMessage()        {            this.CreateTime = DateTime.Now.DateTimeToInt();        }        /// <summary>        /// 開發(fā)者微信號        /// </summary>        public string ToUserName { get; set; }        /// <summary>        /// 發(fā)送方帳號(一個OpenID)        /// </summary>        public string FromUserName { get; set; }        /// <summary>        /// 消息創(chuàng)建時間 (整型)        /// </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>        /// 圖文消息個數(shù),限制為10條以內        /// </summary>        public int ArticleCount        {            get            {                return this.Articles.Count;            }            set            {                ;//增加這個步驟才出來XML內容            }        }        /// <summary>        /// 圖文列表。        /// 多條圖文消息信息,默認第一個item為大圖,注意,如果圖文數(shù)超過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 = "歡迎關注廣州愛奇迪軟件--專業(yè)的單位信息化軟件和軟件開發(fā)框架提供商,我們立志于為客戶提供最好的軟件及服務。/r/n";            entity.Description += "我們是一家極富創(chuàng)新性的軟件科技公司,從事研究、開發(fā)并銷售最可靠的、安全易用的技術產(chǎn)品及優(yōu)質專業(yè)的服務,幫助全球客戶和合作伙伴取得成功。/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;        } 

我們來看看我公司的微信門戶菜單,看起來是不是很酷呢。

對于這兩種(文本消息、圖文消息)用的地方是最多,很多微信門戶,都主要是使用這兩種方式進行響應。當然,我們還可以根據(jù)客戶手機提交上來的各種消息進行不同的處理,請求消息的類型我在上一篇的隨筆有介紹,如下所示。

需要關注了解整體效果,可以使用微信直接掃描二維碼即可。

C#開發(fā)微信門戶及應用(25)-微信企業(yè)號的客戶端管理功能

C#開發(fā)微信門戶及應用(24)-微信小店貨架信息管理

C#開發(fā)微信門戶及應用(23)-微信小店商品管理接口的封裝和測試

C#開發(fā)微信門戶及應用(22)-微信小店的開發(fā)和使用

C#開發(fā)微信門戶及應用(21)-微信企業(yè)號的消息和事件的接收處理及解密

C#開發(fā)微信門戶及應用(20)-微信企業(yè)號的菜單管理

C#開發(fā)微信門戶及應用(19)-微信企業(yè)號的消息發(fā)送(文本、圖片、文件、語音、視頻、圖文消息等)

C#開發(fā)微信門戶及應用(18)-微信企業(yè)號的通訊錄管理開發(fā)之成員管理

C#開發(fā)微信門戶及應用(17)-微信企業(yè)號的通訊錄管理開發(fā)之部門管理

C#開發(fā)微信門戶及應用(16)-微信企業(yè)號的配置和使用

C#開發(fā)微信門戶及應用(15)-微信菜單增加掃一掃、發(fā)圖片、發(fā)地理位置功能

C#開發(fā)微信門戶及應用(14)-在微信菜單中采用重定向獲取用戶數(shù)據(jù)

C#開發(fā)微信門戶及應用(13)-使用地理位置擴展相關應用

C#開發(fā)微信門戶及應用(12)-使用語音處理

C#開發(fā)微信門戶及應用(11)--微信菜單的多種表現(xiàn)方式介紹

C#開發(fā)微信門戶及應用(10)--在管理系統(tǒng)中同步微信用戶分組信息

C#開發(fā)微信門戶及應用(9)-微信門戶菜單管理及提交到微信服務器

C#開發(fā)微信門戶及應用(8)-微信門戶應用管理系統(tǒng)功能介紹

C#開發(fā)微信門戶及應用(7)-微信多客服功能及開發(fā)集成

C#開發(fā)微信門戶及應用(6)--微信門戶菜單的管理操作

C#開發(fā)微信門戶及應用(5)--用戶分組信息管理

C#開發(fā)微信門戶及應用(4)--關注用戶列表及詳細信息管理

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

C#開發(fā)微信門戶及應用(2)--微信消息的處理和應答

C#開發(fā)微信門戶及應用(1)--開始使用微信接口


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 神农架林区| 玛多县| 宜都市| 永兴县| 额济纳旗| 云梦县| 晴隆县| 吉安市| 高陵县| 泾阳县| 西乌珠穆沁旗| 游戏| 抚顺市| 积石山| 平定县| 廊坊市| 来安县| 宁明县| 安徽省| 石屏县| 凤台县| 康马县| 南通市| 贵州省| 敦化市| 高尔夫| 虹口区| 旌德县| 梁山县| 广水市| 南木林县| 武义县| 准格尔旗| 金秀| 宜昌市| 莱芜市| 新晃| 南昌县| 隆林| 渭源县| 介休市|