Ejemplo n.º 1
0
 public ResponseMessage HandlerRequestMessage(MiddleMessage message)
 {
     return(new ResponseTextMessage(message.RequestMessage)
     {
         Content = "您声音真好听"
     });
 }
Ejemplo n.º 2
0
        public IMessageHandler MessageRole(MiddleMessage message)
        {
            var request = message.RequestMessage as RequestVoiceMessage;

            if (request != null)
            {
                //sMyLog.Log("语音识别:" + request.Recognition);
                if (!String.IsNullOrEmpty(request.Recognition))
                {
                    if (request.Recognition.IndexOf("博客园文章") > -1)
                    {
                        return(new CnblogsArticleNewsMessageHandler());
                    }

                    if (request.Recognition.IndexOf("博客园") > -1)
                    {
                        return(new CnblogsTextMessageHandler());
                    }

                    return(new DefaultMessageHandler());
                }
                else
                {
                    return(new VoiceMessageHandler());
                }
            }
            else
            {
                return(new DefaultMessageHandler());
            }
        }
Ejemplo n.º 3
0
        //
        // GET: /wx/callback
        public ActionResult Callback()
        {
            if (Request.HttpMethod == "POST")
            {
                var reader = XmlReader.Create(Request.InputStream);

                var doc = XDocument.Load(reader);
                var xml = doc.Element("xml");
                var msg = new MiddleMessage(xml);
                //把inputstream转换成xelement后,直接交给WebMessageRole来处理吧
                var responseMessage = new WebMessageRole()
                                      .MessageRole(msg)
                                      .HandlerRequestMessage(msg);

                if (responseMessage != null)
                {
                    return(Content(responseMessage.Serializable()));
                }
                return(Content("Error"));
            }
            else
            {
                //需要检查签名
                //测试阶段暂时没处理
                return(Content(Request.QueryString["echostr"]));
            }
        }
Ejemplo n.º 4
0
 public ResponseMessage HandlerRequestMessage(MiddleMessage msg)
 {
     return(new ResponseTextMessage(msg.RequestMessage)
     {
         CreateTime = DateTime.Now.Ticks,
         Content = s_defaultMsg
     });
 }
Ejemplo n.º 5
0
 public IMessageHandler MessageRole(MiddleMessage msg)
 {
     try
     {
         return(new MsgTypeMessageRole().MessageRole(msg));
     }
     catch
     {
         return(new DefaultMessageHandler());
     }
 }
Ejemplo n.º 6
0
        public ResponseMessage HandlerRequestMessage(MiddleMessage msg)
        {
            //var request = new RequestTextMessage(xml);
            var response    = new ResponseNewsMessage(msg.RequestMessage);
            var cnblogsFeed = new CnBlogsFeed(5);
            var articles    = cnblogsFeed.GetTopCnblogsFeed();

            response.ArticleCount = articles.Count;
            response.CreateTime   = DateTime.Now.Ticks;
            response.Articles     = articles;

            return(response);
        }
Ejemplo n.º 7
0
        public IMessageHandler MessageRole(MiddleMessage msg)
        {
            var eventType = (Event)Enum.Parse(typeof(Event), msg.Element.Element("Event").Value, true);

            switch (eventType)
            {
            case Event.Subscribe:
                return(new SubScribeEventMessageHandler());

            case Event.Unsubscribe:
                return(new UnSubScribeEventMessageHandler());
            }

            return(new DefaultMessageHandler());
        }
Ejemplo n.º 8
0
        public IMessageHandler MessageRole(MiddleMessage msg)
        {
            var request = (RequestTextMessage)msg.RequestMessage;

            if (request.Content.IndexOf("博客园文章") > -1)
            {
                return(new CnblogsArticleNewsMessageHandler());
            }

            if (request.Content.IndexOf("博客园") > -1)
            {
                return(new CnblogsTextMessageHandler());
            }

            return(new DefaultMessageHandler());
        }
Ejemplo n.º 9
0
        public IMessageHandler MessageRole(MiddleMessage msg)
        {
            switch (msg.RequestMessage.MsgType)
            {
            case MsgType.Text:
                return(new TextMessageRole().MessageRole(msg));

            case MsgType.Event:
                return(new EventMessageRole().MessageRole(msg));

            case MsgType.Voice:
                return(new VoiceMessageRole().MessageRole(msg));

            default:
                return(new DefaultMessageHandler());
            }
        }
Ejemplo n.º 10
0
        public ResponseMessage HandlerRequestMessage(MiddleMessage msg)
        {
            string orderCode = ((RequestTextMessage)msg.RequestMessage).Content.Trim();
            List <DeliveryInfoModel> deliveryInfo = ServiceFactory.GetOrderService().QueryDelivery(orderCode);

            string content = MSG_NOFIND;

            if (deliveryInfo != null && deliveryInfo.Count > 0)
            {
                content = deliveryInfo.First().ToString();
            }

            return(new ResponseTextMessage(msg.RequestMessage)
            {
                CreateTime = DateTime.Now.Ticks,
                Content = content
            });
        }
Ejemplo n.º 11
0
Archivo: WX.aspx.cs Proyecto: MM1314/QG
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                //微信服务器一直把用户发过来的消息,post过来
                if (Request.HttpMethod == "POST")
                {
                    var reader = XmlReader.Create(Request.InputStream);

                    var doc = XDocument.Load(reader);
                    MyLog.Log(doc.ToString());
                    var xml = doc.Element("xml");
                    var msg = new MiddleMessage(xml);

                    //把inputstream转换成xelement后,直接交给WebMessageRole来处理吧
                    var responseMessage = new WebMessageRole()
                                          .MessageRole(msg)
                                          .HandlerRequestMessage(msg);

                    if (responseMessage != null)
                    {
                        Response.Write(responseMessage.Serializable());
#if DEBUG
                        MyLog.Log(responseMessage.Serializable());
#endif
                    }
                }
                else if (Request.HttpMethod == "GET") //微信服务器在首次验证时,需要进行一些验证,但。。。。
                {
                    //我仅需返回给他echostr中的值,就为验证成功,可能微信觉得这些安全策略是为了保障我的服务器,要不要随你吧
                    Response.Write(Request["echostr"].ToString());
                }
            }
            catch (Exception ex)
            {
                MyLog.Log("error:" + ex.ToString());
            }
        }
Ejemplo n.º 12
0
        public IMessageHandler MessageRole(MiddleMessage msg)
        {
            var request = (RequestTextMessage)msg.RequestMessage;

            //MyLog.Log("=============:"+request.Content);
            if (RequestForOrderInfo(request))
            {
                return(new OrderDeliveryMessageHandler());
            }

            if (RequestForCnblogsArtiles(request))
            {
                return(new CnblogsArticleNewsMessageHandler());
            }

            if (RequestForCnblogs(request))
            {
                return(new CnblogsTextMessageHandler());
            }


            return(new DefaultMessageHandler());
        }
Ejemplo n.º 13
0
        public LocationEventMessageHandler(MiddleMessage msg)
            : base(subScribeMsg)
        {
            MyLog.Log("LocationEventMessageHandler");
            var locationMsg = (RequestLocationMessage)msg.RequestMessage;

            MyLog.Log(locationMsg.FromUserName);
            try
            {
                var vehicles = ServiceFactory.GetVehicleService().Query(new QueryParam()
                {
                    StringValue = "WXCode",
                    Param       = new Dictionary <string, string> {
                        { "WXCode", locationMsg.FromUserName.Trim() }
                    }
                });

                MyLog.Log(locationMsg.FromUserName);
                if (vehicles == null || vehicles.Count == 0)
                {
                    MyLog.Log(string.Format("根据微信号未找到对应的车辆。微信号:{0}", locationMsg.FromUserName));
                    return;
                }

                var vehicle = vehicles.FirstOrDefault();
                MyLog.Log(vehicle.WXCode);
                vehicle.Location_X = locationMsg.Location_X.ToString();
                vehicle.Location_Y = locationMsg.Location_Y.ToString();
                ServiceFactory.GetVehicleService().Modify(vehicle);
            }
            catch (Exception ex)
            {
                MyLog.Log(ex.ToString());

                throw;
            }
        }
Ejemplo n.º 14
0
 public IMessageHandler MessageRole(MiddleMessage msg)
 {
     return(new LocationEventMessageHandler(msg));
 }
Ejemplo n.º 15
0
 public ResponseMessage HandlerRequestMessage(MiddleMessage message)
 {
     return(null);
 }