接收事件推送
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;