123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using WeiXin.Library.Messages;
- namespace WeiXin.Library.Handlers
- {
- class EventHandler : IHandler
- {
-
-
-
- private string RequestXml { get; set; }
-
-
-
-
- public EventHandler(string requestXml)
- {
- this.RequestXml = requestXml;
- }
-
-
-
-
- public string HandleRequest()
- {
- string response = string.Empty;
- EventMessage em = EventMessage.LoadFromXml(RequestXml);
- if (em != null)
- {
- switch (em.Event.ToLower())
- {
- case ("subscribe"):
- response = SubscribeEventHandler(em);
- break;
- case "click":
- response = ClickEventHandler(em);
- break;
- }
- }
- return response;
- }
-
-
-
-
-
- private string SubscribeEventHandler(EventMessage em)
- {
-
- TextMessage tm = new TextMessage();
- tm.ToUserName = em.FromUserName;
- tm.FromUserName = em.ToUserName;
- tm.CreateTime = Common.GetNowTime();
- tm.Content = "谢谢您的关注!\n\n";
- return tm.GenerateContent();
- }
-
-
-
-
-
- private string ClickEventHandler(EventMessage em)
- {
- string result = string.Empty;
- if (em != null && em.EventKey != null)
- {
- switch (em.EventKey.ToUpper())
- {
- case "BTN_GOOD":
- result = btnGoodClick(em);
- break;
- case "BTN_TQ_BEIJING":
- result = searchWeather("beijing", em);
- break;
- case "BTN_TQ_SHANGHAI":
- result = searchWeather("shanghai", em);
- break;
- case "BTN_TQ_WUHAN":
- result = searchWeather("wuhai", em);
- break;
- case "BTN_HELP":
- result = btnHelpClick(em);
- break;
- }
- }
- return result;
- }
-
-
-
-
-
- private string btnGoodClick(EventMessage em)
- {
-
- TextMessage tm = new TextMessage();
- tm.ToUserName = em.FromUserName;
- tm.FromUserName = em.ToUserName;
- tm.CreateTime = Common.GetNowTime();
- tm.Content = @"谢谢您的支持!";
- return tm.GenerateContent();
- }
-
-
-
-
-
- private string btnHelpClick(EventMessage em)
- {
-
- TextMessage tm = new TextMessage();
- tm.ToUserName = em.FromUserName;
- tm.FromUserName = em.ToUserName;
- tm.CreateTime = Common.GetNowTime();
- tm.Content = @"查询天气,输入tq 城市名称\拼音\首字母";
- return tm.GenerateContent();
- }
-
-
-
-
-
-
- private string searchWeather(string cityName, EventMessage em)
- {
- TextMessage tm = new TextMessage();
- tm.Content = WeatherHelper.GetWeather(cityName);
-
- tm.ToUserName = em.FromUserName;
- tm.FromUserName = em.ToUserName;
- tm.CreateTime = Common.GetNowTime();
- return tm.GenerateContent();
- }
- }
- }
|