zoukankan      html  css  js  c++  java
  • 《微信开发日志》之被动响应多图文消息

    被动响应多图文消息官方文档:

    news消息

    <xml>
       <ToUserName><![CDATA[toUser]]></ToUserName>
       <FromUserName><![CDATA[fromUser]]></FromUserName>
       <CreateTime>12345678</CreateTime>
       <MsgType><![CDATA[news]]></MsgType>
       <ArticleCount>2</ArticleCount>
       <Articles>
           <item>
               <Title><![CDATA[title1]]></Title> 
               <Description><![CDATA[description1]]></Description>
               <PicUrl><![CDATA[picurl]]></PicUrl>
               <Url><![CDATA[url]]></Url>
           </item>
           <item>
               <Title><![CDATA[title]]></Title>
               <Description><![CDATA[description]]></Description>
               <PicUrl><![CDATA[picurl]]></PicUrl>
               <Url><![CDATA[url]]></Url>
           </item>
       </Articles>
    </xml>
    
    参数 说明
    ToUserName 员工UserID
    FromUserName 企业号CorpID
    CreateTime 消息创建时间(整型)
    MsgType 消息类型,此时固定为:news
    ArticleCount 图文条数,默认第一条为大图。图文数不能超过10,否则将会无响应
    Title 图文消息标题
    Description 图文消息描述
    PicUrl 图片链接,支持JPG、PNG格式,较好的效果为大图360*200,小图200*200
    Url 点击图文消息跳转链接


     

    我们在项目中新增一个News类

    image

    代码如下:

        /// <summary>
        /// 图文消息
        /// </summary>
        public class ResponseNews : ResponseBase
        {
    
            /// <summary>
            /// 图文条数,默认第一条为大图。图文数不能超过10,否则将会无响应
            /// </summary>
            public int ArticleCount
            {
                get
                {
                    return ArticleCollection.Count;
                }
            }
            public string Articles { get; set; }
    
            /// <summary>
            /// 图文内容,集合
            /// </summary>
            public List<ArticleItem> ArticleCollection { get; set; }
    
            /// <summary>
            /// 构造函数,自动生成消息创建时间(整型),参考:APITools.GetCreateTime()
            /// </summary>
            /// <param name="toUser">员工UserID </param>
            /// <param name="fromUser">企业号CorpID </param>
            /// <param name="content">文本消息内容  </param>
            public ResponseNews(string toUser, string fromUser)
                : base(RequestMessageType.news)
            {
                this.ToUserName = toUser;
                this.FromUserName = fromUser;
                this.CreateTime = CorpTools.GetCreateTime();
    
            }
    
            /// <summary>
            /// 获得XML文本
            /// </summary>
            /// <returns></returns>
            public override string GenerateXML()
            {
                /*
                const string xmlformat = @" <xml>
                   <ToUserName><![CDATA[toUser]]></ToUserName>
                   <FromUserName><![CDATA[fromUser]]></FromUserName>
                   <CreateTime>12345678</CreateTime>
                   <MsgType><![CDATA[news]]></MsgType>
                   <ArticleCount>2</ArticleCount>
                   <Articles>
                       <item>
                           <Title><![CDATA[title1]]></Title> 
                           <Description><![CDATA[description1]]></Description>
                           <PicUrl><![CDATA[picurl]]></PicUrl>
                           <Url><![CDATA[url]]></Url>
                       </item>
                       <item>
                           <Title><![CDATA[title]]></Title>
                           <Description><![CDATA[description]]></Description>
                           <PicUrl><![CDATA[picurl]]></PicUrl>
                           <Url><![CDATA[url]]></Url>
                       </item>
                   </Articles>
                </xml>";
                */
                //获得文章列表xml
                string xmlArticles = "";
                foreach (ArticleItem item in ArticleCollection)
                {
                    xmlArticles += item.GenerateXML();
                }
    
                string XML = " <xml>"
                                + String.Format("<ToUserName><![CDATA[{0}]]></ToUserName>", ToUserName)
                                + String.Format("<FromUserName><![CDATA[{0}]]></FromUserName>", FromUserName)
                                + String.Format("<CreateTime>{0}</CreateTime>", CreateTime)
                                + String.Format("<MsgType><![CDATA[{0}]]></MsgType>", MsgType)
                                + String.Format("<ArticleCount>{0}</ArticleCount>", ArticleCollection.Count)
                                + String.Format("<Articles>{0}</Articles>", xmlArticles)
                            + "</xml>";
                return String.Format(xmlformat, ToUserName, FromUserName, CreateTime, MsgType, "");
            }
        }
    
        /// <summary>
        /// 图文消息,单图文类
        /// </summary>
        public class ArticleItem
        {
            /// <summary>
            /// 文章标题
            /// </summary>
            public string Title { get; set; }
            /// <summary>
            /// 文章描述
            /// </summary>
            public string Description { get; set; }
            /// <summary>
            /// 图片链接,支持JPG、PNG格式,较好的效果为大图360*200,小图200*200
            /// </summary>
            public string PicUrl { get; set; }
            /// <summary>
            /// 点击图文消息跳转链接
            /// </summary>
            public string Url { get; set; }
    
            public string GenerateXML()
            {
                string xml = "<item>"
                                + String.Format("<Title><![CDATA[{0}]]></Title>", Title)
                                + String.Format("<Description><![CDATA[{0}]]></Description>", Description)
                                + String.Format("<PicUrl><![CDATA[{0}]]></PicUrl>", PicUrl)
                                + String.Format("<Url><![CDATA[{0}]]></Url>", Url)
                            + "</item>";
                return xml;
            }
            public string GenerateJSON()
            {
                throw new NotImplementedException();
            }
        }

    查询返回

    慎于行,敏于思!GGGGGG
  • 相关阅读:
    HDU 5640 King's Cake
    HDU 5615 Jam's math problem
    HDU 5610 Baby Ming and Weight lifting
    WHU1604 Play Apple 简单博弈
    HDU 1551 Cable master 二分
    CodeForces659C Tanya and Toys map
    Codeforces 960E 树dp
    gym 101485E 二分匹配
    Codeforces 961E 树状数组,思维
    Codeforces Round #473 (Div. 2) D 数学,贪心 F 线性基,模板
  • 原文地址:https://www.cnblogs.com/GarsonZhang/p/4065669.html
Copyright © 2011-2022 走看看