接收事件推送

原文链接:http://www.cnblogs.com/devinlee/p/4282638.html

扫下方二维码关注,测试效果

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;

 

posted on 2015-02-09 22:22  Devin程序园  阅读(2025)  评论(0编辑  收藏  举报