QyCustomMessageHandler.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /*----------------------------------------------------------------
  2. Copyright (C) 2015 Senparc
  3. 文件名:QyCustomMessageHandler.cs
  4. 文件功能描述:自定义QyMessageHandler
  5. 创建标识:Senparc - 20150312
  6. ----------------------------------------------------------------*/
  7. using System;
  8. using System.Collections.Generic;
  9. using System.IO;
  10. using System.Linq;
  11. using System.Text;
  12. using Senparc.Weixin.MP.Sample.CommonService.QyMessageHandler;
  13. using Senparc.Weixin.QY.Entities;
  14. using Senparc.Weixin.QY.MessageHandlers;
  15. namespace Senparc.Weixin.MP.Sample.CommonService.QyMessageHandlers
  16. {
  17. public class QyCustomMessageHandler : QyMessageHandler<QyCustomMessageContext>
  18. {
  19. public QyCustomMessageHandler(Stream inputStream, PostModel postModel, int maxRecordCount = 0)
  20. : base(inputStream, postModel, maxRecordCount)
  21. {
  22. }
  23. public override IResponseMessageBase OnTextRequest(RequestMessageText requestMessage)
  24. {
  25. var responseMessage = this.CreateResponseMessage<ResponseMessageText>();
  26. responseMessage.Content = "您发送了消息:" + requestMessage.Content;
  27. return responseMessage;
  28. }
  29. public override IResponseMessageBase OnImageRequest(RequestMessageImage requestMessage)
  30. {
  31. var responseMessage = CreateResponseMessage<ResponseMessageImage>();
  32. responseMessage.Image.MediaId = requestMessage.MediaId;
  33. return responseMessage;
  34. }
  35. public override IResponseMessageBase OnEvent_PicPhotoOrAlbumRequest(RequestMessageEvent_Pic_Photo_Or_Album requestMessage)
  36. {
  37. var responseMessage = this.CreateResponseMessage<ResponseMessageText>();
  38. responseMessage.Content = "您刚发送的图片如下:";
  39. return responseMessage;
  40. }
  41. public override IResponseMessageBase OnEvent_LocationRequest(RequestMessageEvent_Location requestMessage)
  42. {
  43. var responseMessage = this.CreateResponseMessage<ResponseMessageText>();
  44. responseMessage.Content = string.Format("位置坐标 {0} - {1}", requestMessage.Latitude, requestMessage.Longitude);
  45. return responseMessage;
  46. }
  47. public override QY.Entities.IResponseMessageBase DefaultResponseMessage(QY.Entities.IRequestMessageBase requestMessage)
  48. {
  49. var responseMessage = this.CreateResponseMessage<ResponseMessageText>();
  50. responseMessage.Content = "这是一条没有找到合适回复信息的默认消息。";
  51. return responseMessage;
  52. }
  53. }
  54. }