Esempio n. 1
0
        public void MessageRepetTest()
        {
            IDebugMode           debugMode           = new DebugMode(true);
            IMessageRepetHandler messageRepetHandler = new MessageRepetHandler(null, debugMode);

            Assert.IsTrue(messageRepetHandler.MessageRepetValid("key"));
        }
Esempio n. 2
0
        public void MessageRepetTest()
        {
            BaseSettings baseSettings = new BaseSettings()
            {
                Debug = true
            };
            MessageRepetHandler messageRepetHandler = new MessageRepetHandler(null, baseSettings);

            Assert.IsTrue(messageRepetHandler.MessageRepetValid("key"));
        }
Esempio n. 3
0
 /// <summary>
 /// 处理消息
 /// </summary>
 /// <param name="message"></param>
 /// <returns></returns>
 public string ProcessMessage(IMessage message)
 {
     if (message is TextMessage)//文本消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as TextMessage).MsgId.ToString()))
         {
             return(Consts.Success);
         }
         return(_textMessageHandler.Handle(message as TextMessage));
     }
     else if (message is ImageMessage)//图片消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as ImageMessage).MsgId.ToString()))
         {
             return(Consts.Success);
         }
         return(_imageMessageHandler.Handle(message as ImageMessage));
     }
     else if (message is VoiceMessage)//语音消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as VoiceMessage).MsgId.ToString()))
         {
             return(Consts.Success);
         }
         return(_voiceMessageHandlder.Handle(message as VoiceMessage));
     }
     else if (message is VideoMessage)//视频消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as VideoMessage).MsgId.ToString()))
         {
             return(Consts.Success);
         }
         return(_videoMessageHandler.Handle(message as VideoMessage));
     }
     else if (message is ShortVideoMessage)//小视频消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as ShortVideoMessage).MsgId.ToString()))
         {
             return(Consts.Success);
         }
         return(_shortVideoMeessageHandler.Handle(message as ShortVideoMessage));
     }
     else if (message is LocationMessage)//位置消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as LocationMessage).MsgId.ToString()))
         {
             return(Consts.Success);
         }
         return(_locationMessageHandler.Handle(message as LocationMessage));
     }
     else if (message is LinkMessage)//链接消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as LinkMessage).MsgId.ToString()))
         {
             return(Consts.Success);
         }
         return(_linkMessageHandlder.Handle(message as LinkMessage));
     }
     else if (message is SubscribeEvtMessage)//订阅事件消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as SubscribeEvtMessage).FromUserName + (message as SubscribeEvtMessage).CreateTime))
         {
             return(Consts.Success);
         }
         return(_subscribeEventHandler.Handle(message as SubscribeEvtMessage));
     }
     else if (message is UnSubscribeEvtMessage)//取消订阅事件消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as UnSubscribeEvtMessage).FromUserName + (message as UnSubscribeEvtMessage).CreateTime))
         {
             return(Consts.Success);
         }
         return(_unsubscribeEventHandler.Handle(message as UnSubscribeEvtMessage));
     }
     else if (message is ScanEvtMessage)//扫码事件消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as ScanEvtMessage).FromUserName + (message as ScanEvtMessage).CreateTime))
         {
             return(Consts.Success);
         }
         return(_scanEventHandler.Handle(message as ScanEvtMessage));
     }
     else if (message is LocationEvtMessage)//位置上报事件消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as LocationEvtMessage).FromUserName + (message as LocationEvtMessage).CreateTime))
         {
             return(Consts.Success);
         }
         return(_locationEventHandler.Handle(message as LocationEvtMessage));
     }
     else if (message is ClickEvtMessage)//点击事件消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as ClickEvtMessage).FromUserName + (message as ClickEvtMessage).CreateTime))
         {
             return(Consts.Success);
         }
         return(_clickEventHandler.Handle(message as ClickEvtMessage));
     }
     else if (message is ScanSubscribeEvtMessage)//扫码订阅事件消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as ClickEvtMessage).FromUserName + (message as ClickEvtMessage).CreateTime))
         {
             return(Consts.Success);
         }
         return(_scanSubscribeEventHandler.Handle(message as ScanSubscribeEvtMessage));
     }
     else if (message is ViewEvtMessage)//自定义View菜单事件
     {
         if (!_messageRepetHandler.MessageRepetValid((message as ViewEvtMessage).FromUserName + (message as ViewEvtMessage).CreateTime))
         {
             return(Consts.Success);
         }
         return(_viewEvtMessageHandler.Handle(message as ViewEvtMessage));
     }
     else
     {
         throw new MessageNotSupportException($"不支持的消息类型:{message.GetType().FullName}");
     }
 }
Esempio n. 4
0
 /// <summary>
 /// 处理消息
 /// </summary>
 /// <param name="message"></param>
 /// <returns></returns>
 public string ProcessMessage(IMessage message)
 {
     if (message is TextMessage)//文本消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as TextMessage).MsgId.ToString()))
         {
             return("success");
         }
         return(_textMessageHandler.TextMessageHandler(message as TextMessage));
     }
     else if (message is ImageMessage)//图片消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as ImageMessage).MsgId.ToString()))
         {
             return("success");
         }
         return(_imageMessageHandler.ImageMessageHandler(message as ImageMessage));
     }
     else if (message is VoiceMessage)//语音消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as VoiceMessage).MsgId.ToString()))
         {
             return("success");
         }
         return(_voiceMessageHandlder.VoiceMessageHandler(message as VoiceMessage));
     }
     else if (message is VideoMessage)//视频消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as VideoMessage).MsgId.ToString()))
         {
             return("success");
         }
         return(_videoMessageHandler.VideoMessageHandler(message as VideoMessage));
     }
     else if (message is ShortVideoMessage)//小视频消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as ShortVideoMessage).MsgId.ToString()))
         {
             return("success");
         }
         return(_shortVideoMeessageHandler.ShortVideoMessageHandler(message as ShortVideoMessage));
     }
     else if (message is LocationMessage)//位置消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as LocationMessage).MsgId.ToString()))
         {
             return("success");
         }
         return(_locationMessageHandler.LocationMessageHandler(message as LocationMessage));
     }
     else if (message is LinkMessage)//链接消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as LinkMessage).MsgId.ToString()))
         {
             return("success");
         }
         return(_linkMessageHandlder.LinkMessageHandler(message as LinkMessage));
     }
     else if (message is SubscribeEvtMessage)//订阅事件消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as SubscribeEvtMessage).FromUserName + (message as SubscribeEvtMessage).CreateTime))
         {
             return("success");
         }
         return(_subscribeEventHandler.SubscribeEventHandler(message as SubscribeEvtMessage));
     }
     else if (message is UnSubscribeEvtMessage)//取消订阅事件消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as UnSubscribeEvtMessage).FromUserName + (message as UnSubscribeEvtMessage).CreateTime))
         {
             return("success");
         }
         return(_unsubscribeEventHandler.UnsubscribeEventHandler(message as UnSubscribeEvtMessage));
     }
     else if (message is ScanEvtMessage)//扫码事件消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as ScanEvtMessage).FromUserName + (message as ScanEvtMessage).CreateTime))
         {
             return("success");
         }
         return(_scanEventHandler.ScanEventHandler(message as ScanEvtMessage));
     }
     else if (message is LocationEvtMessage)//位置上报事件消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as LocationEvtMessage).FromUserName + (message as LocationEvtMessage).CreateTime))
         {
             return("success");
         }
         return(_locationEventHandler.LocationEventHandler(message as LocationEvtMessage));
     }
     else if (message is ClickEvtMessage)//点击事件消息
     {
         if (!_messageRepetHandler.MessageRepetValid((message as ClickEvtMessage).FromUserName + (message as ClickEvtMessage).CreateTime))
         {
             return("success");
         }
         return(_clickEventHandler.ClickEventHandler(message as ClickEvtMessage));
     }
     else if (message is ScanSubscribeEvtMessage)
     {
         if (!_messageRepetHandler.MessageRepetValid((message as ClickEvtMessage).FromUserName + (message as ClickEvtMessage).CreateTime))
         {
             return("success");
         }
         return(_scanSubscribeEventHandler.ScanSubscribeEventHandler(message as ScanSubscribeEvtMessage));
     }
     else
     {
         throw new MessageNotSupportException("不支持的消息类型");
     }
 }