ATUploader.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. //
  2. // ATUploader.h
  3. // APRemoteLogging
  4. //
  5. // Created by 卡迩 on 2018/7/11.
  6. // Copyright © 2018年 Alipay. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. @class ATUploadRequest;
  10. typedef void(^ATUploadCompletionBlock)(BOOL success,NSDictionary *info);
  11. typedef NS_ENUM(NSUInteger,ATUploadChannel){
  12. ATChannelHTTP = 0,
  13. ATChannelMMTP = 1,
  14. };
  15. @interface ATUploader : NSObject
  16. - (instancetype)initWithQueue:(NSOperationQueue *)queue NS_DESIGNATED_INITIALIZER;
  17. - (void)enqueueRequest:(ATUploadRequest *)req;
  18. @property (nonatomic, strong) NSOperationQueue *queue;
  19. @property (nonatomic, strong) NSURLSession *urlSession;
  20. - (NSArray<NSString *> *)filesToUpload:(NSString *)bizId;
  21. //需要保证该方法在queue中调用
  22. - (NSString *)uploadContentOfFile:(NSString *)path;
  23. - (void)trashFiles:(NSArray *)paths;
  24. // isEnable YES 设置为debug模式,日志文件上传后不会被删除,会移动到uploaded目录,默认为NO
  25. + (void)setDebugEnable:(BOOL)isEnable;
  26. @end
  27. ////////////////////////////////////////////////////////////////////////////////
  28. @interface ATUploadRequest : NSObject
  29. @property (nonatomic, assign) ATUploadChannel channel;
  30. @property (nonatomic, strong) NSString *bizId;
  31. @property (nonatomic, strong) NSString *url;
  32. @property (nonatomic, strong) NSString *event;
  33. @property (nonatomic, strong) NSArray<NSString *> *filePaths;
  34. @property (nonatomic, strong) NSData *data;
  35. @property (nonatomic, copy ) ATUploadCompletionBlock completionBlock;
  36. @property (nonatomic, strong) NSString *delayRate;/**削峰还原标志*/
  37. @end