Delphi XE7 用indy开发微信公众平台(4)- 接收事件推送

时间:2015-02-09 22:59:38   收藏:0   阅读:1790

接收事件推送

type
  TEventType = (subscribe, unsubscribe, SCAN, LOCATION, CLICK, VIEW);

function ResponseEvent(M: TMessage; X: IXMLDocument): RawByteString;
var
  event: TEventType;
  temp, menu: String;
begin
  temp := X.DocumentElement.ChildNodes.Nodes[Event].NodeValue;
  event := TEventType(GetEnumValue(TypeInfo(TEventType), temp));
  with X.DocumentElement.ChildNodes do
    case event of
      subscribe:
        begin
          Result := ‘‘;
          addlog(事件: + temp + ,  + M.FromUserName);
        end;
      unsubscribe:
        begin
          Result := ‘‘;
          addlog(事件: + temp + ,  + M.FromUserName);
        end;
      SCAN:
        begin
          Result := ‘‘;
          addlog(事件: + temp + ,  + M.FromUserName);
        end;
      LOCATION:
        begin
          Result := ‘‘;
         addlog(事件: + temp + ,  + M.FromUserName);
        end;
      CLICK:
        begin
          menu := Nodes[EventKey].NodeValue;
          addlog(事件: + temp + ,  + menu + ,  + M.FromUserName);
        end;
      VIEW:
        begin
          menu := Nodes[EventKey].NodeValue;
          Result := ‘‘;
          addlog(事件: + temp + ,  + menu + ,  + M.FromUserName);
        end
    else
      begin
        addlog(事件: + temp + ,   + M.FromUserName);
      end;
    end;
end;

 

原文地址:http://www.cnblogs.com/devinlee/p/4282638.html

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!