zoukankan      html  css  js  c++  java
  • 自动回复消息-微信公众平台开发4(asp.net)

    接着上一节的processRequest 处理函数,代码如下:

        /// <summary>
        /// 处理微信发来的请求
        /// </summary>
        /// <param name="xml"></param>
        public void processRequest(String xml,HttpContext context)
        {
            try
            {
                //context.Response.Write("文本消息响应成功,返回源码"+xml);
                // xml请求解析  
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(xml);
                XmlElement root = doc.DocumentElement;
                
                // 发送方帐号(open_id)  
                string FromUserName = root.SelectSingleNode("FromUserName").InnerText;
                // 公众帐号  
                string ToUserName = root.SelectSingleNode("ToUserName").InnerText;
                // 消息类型  
                string msgType = root.SelectSingleNode("MsgType").InnerText;
                switch (msgType)
                {
                    case "text": //文本消息
                    //这个注释的是自动回复文本消息
                        //context.Response.Write("<xml><ToUserName><![CDATA[" + FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + ToUserName + "]]></FromUserName><CreateTime>" + Convert.ToInt64((DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds).ToString() + "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[你好啊,wo de keai]]></Content></xml>");  
                        //这个是自动回复图文消息
                        context.Response.Write("<xml><ToUserName><![CDATA[" + FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + ToUserName + "]]></FromUserName><CreateTime>" + Convert.ToInt64((DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds).ToString() + "</CreateTime><MsgType><![CDATA[news]]></MsgType><ArticleCount>2</ArticleCount><Articles><item><Title><![CDATA[标题1]]></Title> <Description><![CDATA[我是描述,雷锋网接到网友反馈称,微信从今早七时许出现大规模宕机,现象包括无法登录微信、无法访问朋友圈以及微信网页版。我们也收到多家媒体的反馈,微信公众平台同样无法访问..]]></Description><PicUrl><![CDATA[http://hqfeijian.gotoip2.com/weixin/images/shop/test_1_360_200.png]]></PicUrl><Url><![CDATA[http://www.xin0.cn]]></Url></item><item><Title><![CDATA[我是标题2,标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2]]></Title><Description><![CDATA[我是描述,雷锋网接到网友反馈称,微信从今早七时许出现大规模宕机,现象包括无法登录微信、无法访问朋友圈以及微信网页版。我们也收到多家媒体的反馈,微信公众平台同样无法访问..]]></Description><PicUrl><![CDATA[http://hqfeijian.gotoip2.com/weixin/images/shop/test_1_200_200.png]]></PicUrl><Url><![CDATA[http://www.xin0.cn]]></Url></item></Articles></xml>");
                        break;
                    case "image": //图片消息
                        context.Response.Write("图片消息响应成功");
                        break;
                    case "voice": //语音消息
                        context.Response.Write("语音消息响应成功");
                        break;
                    case "video"://视频消息
                        context.Response.Write("视频消息响应成功");
                        break;
                    case "location"://地理位置消息
                        context.Response.Write("地理位置响应成功");
                        break;
                    case "link": //链接消息
                        context.Response.Write("链接消息响应成功");
                        break;
                    case "event": //事件消息   Event 关注:subscribe   取消关注:unsubscribe
                        string Event = root.SelectSingleNode("Event").InnerText;
                        if (Event == "subscribe") //关注事件
                        {
                            //context.Response.Write("关注成功!");
                            context.Response.Write("<xml><ToUserName><![CDATA[" + FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + ToUserName + "]]></FromUserName><CreateTime>" + Convert.ToInt64((DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds).ToString() + "</CreateTime><MsgType><![CDATA[news]]></MsgType><ArticleCount>2</ArticleCount><Articles><item><Title><![CDATA[标题1]]></Title> <Description><![CDATA[我是描述,雷锋网接到网友反馈称,微信从今早七时许出现大规模宕机,现象包括无法登录微信、无法访问朋友圈以及微信网页版。我们也收到多家媒体的反馈,微信公众平台同样无法访问..]]></Description><PicUrl><![CDATA[http://hqfeijian.gotoip2.com/weixin/images/shop/test_1_360_200.png]]></PicUrl><Url><![CDATA[http://www.xin0.cn]]></Url></item><item><Title><![CDATA[我是标题2,标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2标题2]]></Title><Description><![CDATA[我是描述,雷锋网接到网友反馈称,微信从今早七时许出现大规模宕机,现象包括无法登录微信、无法访问朋友圈以及微信网页版。我们也收到多家媒体的反馈,微信公众平台同样无法访问..]]></Description><PicUrl><![CDATA[http://hqfeijian.gotoip2.com/weixin/images/shop/test_1_200_200.png]]></PicUrl><Url><![CDATA[http://www.xin0.cn]]></Url></item></Articles></xml>");
                        }
                        else if (Event == "unsubscribe") //取消关注事件
                        {
                            context.Response.Write("取消关注成功!");
                        }
                        break;
                }


            }
            catch (Exception e)
            {

            }
        }

  • 相关阅读:
    接口的使用
    web service 实现无刷新返回一个表
    webservice 实现动态刷新
    js 实现子树选中时父目录全被选中
    相册的简单实现
    基于角色的身份验证3
    一个购物车的简单实现(多层开发)
    asp2.0 中实现 msdn 左边导航栏
    xsl 中 xsl:copy 的使用
    企业库中使用transaction(企业库中的列子)
  • 原文地址:https://www.cnblogs.com/feijian/p/3586158.html
Copyright © 2011-2022 走看看