微信开发被动回复用户信息

代码如下:


```csharp
 public class sendMsg_tools
    {
        public static long gettime()
        {
            //设置初始时间
            DateTime dateTime = new DateTime(1970, 1, 1);
            //获取当前时间,距离开始时间的秒数
            long cur = (long)(DateTime.Now - dateTime).TotalSeconds;
            return cur;
        }
        /// <summary>
        /// 微信回复文本信息
        /// </summary>
        /// <param name="toUser"></param>
        /// <param name="fromUser"></param>
        /// <param name="content"></param>
        /// <returns></returns>
        public static string msgInfo(string toUser, string fromUser, string content)
        {

            string xml = string.Format(@"<xml>
                        <ToUserName><![CDATA[{0}]]></ToUserName>
                        <FromUserName><![CDATA[{1}]]></FromUserName>
                        <CreateTime>{2}</CreateTime>
                        <MsgType><![CDATA[text]]></MsgType>
                        <Content><![CDATA[{3}]]></Content>
                        </xml>", fromUser, toUser, gettime(), content);
            return xml;

        }
        /// <summary>
        /// 微信回复图片信息
        /// </summary>
        /// <param name="toUser"></param>
        /// <param name="fromUser"></param>
        /// <param name="MediaId"></param>
        /// <returns></returns>
        public static string Image(string toUser, string fromUser, string MediaId)
        {

            string xml = string.Format(@"<xml>
                        <ToUserName><![CDATA[{0}]]></ToUserName>
                        <FromUserName><![CDATA[{1}]]></FromUserName>
                        <CreateTime>{2}</CreateTime>
                        <MsgType><![CDATA[image]]></MsgType>
                        <Image>
                         <MediaId><![CDATA[{3}]]></MediaId>
                        </Image>
                        </xml>", fromUser, toUser, gettime(), MediaId);
            return xml;

        }
        /// <summary>
        /// 回复语音消息
        /// </summary>
        /// <param name="toUser"></param>
        /// <param name="fromUser"></param>
        /// <param name="MediaId"></param>
        /// <returns></returns>
        public static string Voice(string toUser, string fromUser, string MediaId)
        {

            string xml = string.Format(@"<xml>
                        <ToUserName><![CDATA[{0}]]></ToUserName>
                        <FromUserName><![CDATA[{1}]]></FromUserName>
                        <CreateTime>{2}</CreateTime>
                        <MsgType><![CDATA[voice]]></MsgType>
                        <Voice>
                          <MediaId><![CDATA[{3}]]></MediaId>
                        </Voice>
                        </xml>", fromUser, toUser, gettime(), MediaId);
            return xml;

        }
        /// <summary>
        /// 回复视频消息
        /// </summary>
        /// <param name="toUser"></param>
        /// <param name="fromUser"></param>
        /// <param name="MediaId"></param>
        /// <returns></returns>
        public static string Video(string toUser, string fromUser, string MediaId)
        {

            string xml = string.Format(@"<xml>
                        <ToUserName><![CDATA[{0}]]></ToUserName>
                        <FromUserName><![CDATA[{1}]]></FromUserName>
                        <CreateTime>{2}</CreateTime>
                        <MsgType><![CDATA[video]]></MsgType>
                       <Video>
                            <MediaId><![CDATA[{3}]]></MediaId>
                            <Title><![CDATA[title]]></Title>
                            <Description><![CDATA[description]]></Description>
                        </Video>
                        </xml>", fromUser, toUser, gettime(), MediaId);
            return xml;

        }
        /// <summary>
        ///回复音乐消息
        /// </summary>
        /// <param name="toUser"></param>
        /// <param name="fromUser"></param>
        /// <param name="MediaId"></param>
        /// <returns></returns>
        public static string Music(string toUser, string fromUser )
        {

            string xml = string.Format(@"<xml>
                        <ToUserName><![CDATA[{0}]]></ToUserName>
                        <FromUserName><![CDATA[{1}]]></FromUserName>
                        <CreateTime>{2}</CreateTime>
                        <MsgType><![CDATA[music]]></MsgType>
                         <Music>
                            <Title><![CDATA[青春]]></Title>
                            <Description><![CDATA[激情]]></Description>
                            <MusicUrl><![CDATA[http://588979f4.ngrok.io/WeiXinTest/resource/music.mp3]]></MusicUrl>
                            <HQMusicUrl><![CDATA[http://588979f4.ngrok.io/WeiXinTest/resource/music.mp3]]></HQMusicUrl>
                            <ThumbMediaId><![CDATA[50R - CSj0i8fv9lIWB7vpDtFObkD_uTKJVouTS8axKrCbvkIH - W4c2Pj_cx3hJXbK]]></ThumbMediaId>
                        </Music>
                        </xml>", fromUser, toUser, gettime());
            return xml;

        }
        /// <summary>
        /// 回复图文消息
        /// </summary>
        /// <param name="toUser"></param>
        /// <param name="fromUser"></param>
        /// <returns></returns>
        public static string news(string toUser, string fromUser)
        {

            string xml = string.Format(@"<xml>
                        <ToUserName><![CDATA[{0}]]></ToUserName>
                        <FromUserName><![CDATA[{1}]]></FromUserName>
                        <CreateTime>{2}</CreateTime>
                        <MsgType><![CDATA[news]]></MsgType>
                     <ArticleCount>1</ArticleCount>
                      <Articles>
                        <item>
                          <Title><![CDATA[C#导出 Execl 类型文件(二)动态合并表格(更新了)]]></Title>
                          <Description><![CDATA[C#导出 Execl 类型文件(二)动态合并表格(更新了)]]></Description>
                          <PicUrl><![CDATA[http://www.tnblog.net//arcimg/15736469932/two_d6f0ab75b3c7406a8e04570c21097b3b.png]]></PicUrl>
                          < Url><![CDATA[http://www.tnblog.net/15736469932/article/details/2978]]></Url>
                        </item>
                        <item>
                          <Title><![CDATA[IOC(控制反转)与DI(依赖注入)]]></Title>
                          <Description><![CDATA[IOC(控制反转)与DI(依赖注入)]]></Description>
                          <PicUrl><![CDATA[http://www.tnblog.net/arcimg/Eason_zh/47c164934a20427a93258d53822aa99f.png]]></PicUrl>
                          < Url><![CDATA[http://www.tnblog.net/Eason_zh/article/details/2955]]></Url>
                        </item>
                      </Articles>
                        </xml>", fromUser, toUser, gettime());
            return xml;

        }
       
    }

最终获取到信息:

   public ActionResult Index()
        {
            try
            {
                StreamReader streamReader = new StreamReader(Request.InputStream);
                //接收微信推出的xml
                string xml = streamReader.ReadToEnd();
                log.Write(xml, "", "记录微信推送信息");
                XElement root = XElement.Parse(xml);
                string FromUserName = root.Element("FromUserName").Value;
                //取出开发者微信号
                string ToUserName = root.Element("ToUserName").Value;
                //取出消息类型
                string MsgType = root.Element("MsgType").Value;

                

                string result = "";

                if (MsgType.ToLower() == "text")
                {
                    string Content = root.Element("Content").Value;
                    if (Content=="redis")
                    {
                        result = sendMsg_tools.news(ToUserName, FromUserName);
                    }
                    else if (Content=="音乐")
                    { 
                        result = sendMsg_tools.Music(ToUserName, FromUserName);
                    }
                    else
                    {
                        result = sendMsg_tools.msgInfo(ToUserName, FromUserName, Content);
                    }
                     
                } 
                else if (MsgType.ToLower() == "image")
                {
                    string MediaId = root.Element("MediaId").Value;
                    result = sendMsg_tools.Image(ToUserName, FromUserName, MediaId);
                }
                else if (MsgType.ToLower() == "voice")
                {
                    string MediaId = root.Element("MediaId").Value;
                    result = sendMsg_tools.Voice(ToUserName, FromUserName, MediaId);
                }
                else if (MsgType.ToLower() == "video")
                {
                    string MediaId = root.Element("MediaId").Value;
                    result = sendMsg_tools.Video(ToUserName, FromUserName, MediaId);
                }
                else if (MsgType.ToLower() == "music")
                {
                    string MediaId = root.Element("MediaId").Value;
                    result = sendMsg_tools.Music(ToUserName, FromUserName);
                }
                else if (MsgType.ToLower() == "news")
                {
                  
                    result = sendMsg_tools.news(ToUserName, FromUserName);
                }
                else
                {
                    result = sendMsg_tools.msgInfo(ToUserName, FromUserName, "暂时不支持该消息类型");
                }
                log.Write(result, "", "生成的XML");
                Response.Write(result);

            }
            catch (Exception ex)
            {
                log.Write(ex.Message, "", "报错了");

            }
            return View();
        }
        public ActionResult token()
        {

            string token = Access_token.Gettoken();

            return Json(token,JsonRequestBehavior.AllowGet);

        }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你的美,让我痴迷

你的好,我会永远记住你的。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值