TDSDomainManager.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. //
  2. // TDSDomainManager.h
  3. // TapCommonSDK
  4. //
  5. // Created by Bottle K on 2021/4/19.
  6. //
  7. #import <Foundation/Foundation.h>
  8. NS_ASSUME_NONNULL_BEGIN
  9. @protocol TDSDomainManagerDelegate <NSObject>
  10. @optional
  11. - (void)checkDomainsDone:(NSDictionary *)resultInfo;
  12. @end
  13. FOUNDATION_EXTERN NSString *const DOMAIN_CHECK_HOST_KEY;
  14. FOUNDATION_EXTERN NSString *const DOMAIN_CHECK_CODE_KEY;
  15. FOUNDATION_EXTERN NSString *const DOMAIN_CHECK_DELAY_KEY;
  16. FOUNDATION_EXTERN NSString *const DOMAIN_CHECK_REACHABLE_KEY;
  17. @interface TDSDomainManager : NSObject
  18. /// 获取一个域名管理实例
  19. /// @param mainDomains 主域名
  20. /// @param backupDomains 备用域名
  21. + (TDSDomainManager *)managerForDomains:(NSArray *)mainDomains backupDomains:(NSArray *)backupDomains;
  22. - (void)setupDelegate:(id<TDSDomainManagerDelegate>)delegate;
  23. /// 指定域名检查接口
  24. /// @param checkAPI 检查接口
  25. - (void)setupCheckAPI:(NSString *)checkAPI;
  26. /// 获取一个当前可用域名
  27. - (NSString *)getActiveDomain;
  28. /// 标记一个域名为可用
  29. /// @param domain 域名
  30. - (void)activeDomain:(NSString *)domain;
  31. + (void)activeDomain:(NSString *)domain;
  32. /// 标记一个域名不可用
  33. /// @param domain 域名
  34. - (void)deactiveDomain:(NSString *)domain;
  35. + (void)deactiveDomain:(NSString *)domain;
  36. /// 开始检测域名,并定期检测
  37. - (void)startCheckDomains;
  38. /// 开始检测域名
  39. /// @param api 若传入api则会请求该api数据,若传入空则直接检查域名连通
  40. /// @param repeat 是否定时检测
  41. - (void)startCheckDomains:(nullable NSString *)api repeat:(BOOL)repeat;
  42. /// 停止检测域名
  43. - (void)stopCheckDomains;
  44. @end
  45. NS_ASSUME_NONNULL_END