ATLayout.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. //
  2. // ATLayout.h
  3. // ATrack
  4. //
  5. // Created by 卡迩 on 2018/4/23.
  6. // Copyright © 2018年 Alipay. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "ATEvent.h"
  10. #import "ATMessage.h"
  11. /**
  12. * 渲染器基类
  13. */
  14. @interface ATLayout : NSObject
  15. /**
  16. * 开始渲染前. 基类实现为空, 子类可覆盖实现填充埋点参数对象中的默认字段.
  17. * @param event 埋点参数对象
  18. */
  19. - (void)beforeLayout:(ATEvent *)event NS_REQUIRES_SUPER;
  20. /**
  21. * 执行渲染. 基类中取\c event 中各字段拼接成字符串
  22. * @param event 埋点参数对象
  23. * @return 内部消息对象. @see \c MPaaSATMessage.
  24. */
  25. - (MPaaSATMessage *)layout:(ATEvent *)event;
  26. /**
  27. * 渲染后. 基类中对msg.content进行加密.
  28. * @param msg 经过渲染的内部消息对象
  29. */
  30. - (void)afterLayout:(MPaaSATMessage *)msg NS_REQUIRES_SUPER;
  31. /**
  32. * 获取一个自增的序列号
  33. */
  34. - (NSString *)sequenceIdString;
  35. /**
  36. * 将NSDate类型的时间戳转换成NSString类型.
  37. */
  38. - (NSString *)stringFromDate:(NSDate *)date;
  39. /**
  40. * 将NSDictionary转换成key=value^key=value格式的字符串
  41. */
  42. - (NSString *)stringFromDictionary:(NSDictionary *)dict;
  43. /**
  44. * 填充ABTestInfo
  45. */
  46. - (void)fillABTestInfo:(ATEvent *)et forSpm:(NSString *)spmId;
  47. /**
  48. * 填充configABTestInfo
  49. */
  50. - (void)fillConfigABTestInfo:(ATEvent *)et;
  51. @end