.net 开发微信公众平台(二)-----发送文本消息

首先新建一個微信消息接收回复类XmlHelper

public class XmlHelper
{
    /// <summary>
    /// 获取post返回来的数据
    /// </summary>
    /// <returns></returns>
    public string PostInput()
    {
        Stream s = System.Web.HttpContext.Current.Request.InputStream;
        if (s == null)
        {
            return "null";
        }
        byte[] b = new byte[s.Length];
        s.Read(b, 0, (int)s.Length);
        return Encoding.UTF8.GetString(b);
    }
    string FromUserName = "XXX"; //发送方帐号(公众号回复)
    //创建文本消息
    public string CreatTextXml(string ToUserName, string text)
    {
        string rexml = "<xml><ToUserName>" + ToUserName + "</ToUserName><FromUserName>" + FromUserName + "</FromUserName>";
        rexml += "<CreateTime>" + DateTime.Now.Ticks + "</CreateTime>";
        rexml += "<MsgType>text</MsgType>";
        rexml += "<Content>" + text + "</Content></xml>";
        return rexml;
    }
}

后台代码:
    XmlHelper xmlhelper;
    protected void Page_Load(object sender, EventArgs e)
    {
        //Valid();
        xmlhelper = new XmlHelper();
        string requsetxml = xmlhelper.PostInput();
        if (!string.IsNullOrEmpty(requsetxml))
        {
            Response.Write("error:404");
            return;
        }
        string responsexml = Doevent(requsetxml);
        Response.Write(responsexml);
    }

    public string Doevent(string xml)
    {
        XmlDocument doc = new XmlDocument();
        doc.LoadXml(xml);
        XmlElement element = doc.DocumentElement;
        string MsgType = element.SelectSingleNode("MsgType").InnerText;
        string FormUserName = element.SelectSingleNode("FromUserName").InnerText;
        string rexml = "";   
        //关注事件
        if (MsgType.Equals("event"))
        {          
           if (element.SelectSingleNode("Event").InnerText.Equals("subscribe"))           
           {                
                rexml = xmlhelper.CreatTextXml(FormUserName, "欢迎关注我,你可以回复‘0’把我唤醒!"); 
           }        
        }        
        //接收文本消息        
        if (MsgType.Equals("text"))  
        {     
            string Content = element.SelectSingleNode("Content").InnerText;
            if (Content.Equals("0") || Content.Equals("1"))
            {
                string remsg = MessageHelper.ManagerMsg(FromUserName, Content);
                rexml = xmlhelper.CreatTextXml(FromUserName, remsg);
            }
            else if (Content.Equals("2"))
            {   //回复图文消息   (后面开发)
                rexml = xmlhelper.CreatTextXml(FromUserName, "建设中!");
            }
            else if (Content.Equals("3"))
            {   //回复图片消息   (后面开发)
                rexml = xmlhelper.CreatTextXml(FromUserName, "建设中!");
            }
            else
            {
                rexml = xmlhelper.CreatTextXml(FromUserName, "无法识别消息!");
            }
        }
        //接收图片消息
        if (MsgType.Equals("image"))
        {
            rexml = xmlhelper.CreatTextXml(FromUserName, "建设中!");
        }
        //接收语音消息
        if (MsgType.Equals("voice"))
        {
            rexml = xmlhelper.CreatTextXml(FromUserName, "建设中!");
        }
        //接收视频,链接消息
        if (MsgType.Equals("video") || MsgType.Equals("link"))
        {
            rexml = xmlhelper.CreatTextXml(FromUserName, "建设中!");
        }
        return rexml;
    }

接收用户发过来的消息之后,要进行处理,新建一个微信消息处理类MessageHelper

public class MessageHelper
{
    public MessageHelper()
    {
    }
    /// <summary>
    /// 根据用户的信息,进行业务的处理
    /// </summary>
    /// <param name="userid">用户id</param>
    /// <param name="content">用户发来文本信息</param>
    /// <returns>要显示给用户的结果</returns>
    public static string ManagerMsg(string userid, string content)
    {
        if (content.Trim().Equals(""))
        {
            return "求你说点什么吧,你不说我❤里堵得慌~";
        }
        //判断是否为菜单查询
        if (content.Trim().Length == 1)
        {
            if (content.Trim() == "0")
            {
                return "hi/::-O...\n请发送数字获取内容:\n 1、文本语录/:ladybug \n 2、图文动态/:ladybug \n 3、看美图/:ladybug";
            }
            if (content.Trim() == "1")
            {
                return "知之为知之 不知为不知 是知也!/:sun";
            }
        }
        if (content.Trim() == "123" || content.Trim() == "12" || content.Trim() == "23")
        {
            return "笨蛋!是分别回复一个数字!/:pig";
        }
        return "调皮了吧~/:@@\n请重新发送数字获取内容:\n 1、文本语录/:ladybug \n 2、图文动态/:ladybug \n 3、看美图/:ladybug";
    }
}

发送文本消息大概就是这样了.

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值