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

接收事件推送

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

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

上一篇:Delphi XE7 用indy开发微信公众平台(6)- 被动回复用户消息


下一篇:Python-lambda函数,map函数,filter函数