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)
            {

            }
        }

  • 相关阅读:
    [转]JIRA 7.2.6与Confluence 6.0.3的安装与配置之MS SQL Server版
    Vue中computed和watch使用场景和方法
    vue插槽 slot 插槽之间的父子传参
    VUE 父子组件的传递 props、$ref 、 $emit、$parent、$children、$root
    div水平居中 垂直居中
    三次握手 四次挥手
    TCP/IP各层网络协议的通俗理解
    学习 cookie session 正向代理和反向代理的区别
    学习vuex心得体会
    登陆界面 跟后台对接口
  • 原文地址:https://www.cnblogs.com/feijian/p/3586158.html
Copyright © 2011-2022 走看看