ACMacros.h 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519
  1. //
  2. // ACMacros.h
  3. //
  4. #ifndef ACMacros_h
  5. #define ACMacros_h
  6. #define WEAK_SELF @weakify(self);
  7. #define STRONG_SELF @strongify(self);
  8. #define ZFWeakSelf __weak typeof(self) weakSelf = self
  9. //** 沙盒路径 ***********************************************************************************
  10. #define PATH_OF_APP_HOME NSHomeDirectory()
  11. #define PATH_OF_TEMP NSTemporaryDirectory()
  12. #define PATH_OF_DOCUMENT [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]
  13. /* ****************************************************************************************************************** */
  14. /** DEBUG LOG **/
  15. /** DEBUG RELEASE **/
  16. #if DEBUG
  17. #define MCRelease(x) [x release]
  18. #else
  19. #define MCRelease(x) [x release], x = nil
  20. #endif
  21. /** NIL RELEASE **/
  22. #define NILRelease(x) [x release], x = nil
  23. /* ****************************************************************************************************************** */
  24. #pragma mark - Frame (宏 x, y, width, height)
  25. // App Frame
  26. #define Application_Frame [[UIScreen mainScreen] bounds]
  27. // 屏幕宽高
  28. #define kWidth CGRectGetWidth([[UIScreen mainScreen] bounds])
  29. #define kHeight CGRectGetHeight([[UIScreen mainScreen] bounds])
  30. // App Frame Height&Width
  31. #define App_Frame_Height ([UIScreen mainScreen].bounds.size.height)
  32. #define App_Frame_Width ([UIScreen mainScreen].bounds.size.width)
  33. // 基准屏幕宽度
  34. #define kRefereWidth 375.0
  35. // 以屏幕宽度为固定比例关系,来计算对应的值。假设:基准屏幕宽度375,floatV=10;当前屏幕宽度为750时,那么返回的值为20
  36. //#define AdaptW(floatValue) (floatValue*[[UIScreen mainScreen] bounds].size.width/kRefereWidth)
  37. #define AdaptW(floatValue) (floatValue*kRefereWidth/kRefereWidth)
  38. //WQY
  39. #define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)
  40. #define HexColor(hexColor) [UIColor colorWithMacHexString:hexColor]
  41. //WQY
  42. #define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)
  43. // MainScreen Height&Width
  44. #define Main_Screen_Height [[UIScreen mainScreen] bounds].size.height
  45. #define Main_Screen_Width [[UIScreen mainScreen] bounds].size.width
  46. /**
  47. 状态栏(事件)高度
  48. */
  49. #define Statushight [[UIApplication sharedApplication] statusBarFrame].size.height
  50. /**
  51. 导航栏高度 一般为44
  52. */
  53. #define Navhight self.navigationController.navigationBar.frame.size.height
  54. // View 坐标(x,y)和宽高(width,height)
  55. #define X(v) (v).frame.origin.x
  56. #define Y(v) (v).frame.origin.y
  57. #define WIDTH(v) (v).frame.size.width
  58. #define HEIGHT(v) (v).frame.size.height
  59. #define MinX(v) CGRectGetMinX((v).frame)
  60. #define MinY(v) CGRectGetMinY((v).frame)
  61. #define MidX(v) CGRectGetMidX((v).frame)
  62. #define MidY(v) CGRectGetMidY((v).frame)
  63. #define MaxX(v) CGRectGetMaxX((v).frame)
  64. #define MaxY(v) CGRectGetMaxY((v).frame)
  65. #define RECT_CHANGE_x(v,x) CGRectMake(x, Y(v), WIDTH(v), HEIGHT(v))
  66. #define RECT_CHANGE_y(v,y) CGRectMake(X(v), y, WIDTH(v), HEIGHT(v))
  67. #define RECT_CHANGE_point(v,x,y) CGRectMake(x, y, WIDTH(v), HEIGHT(v))
  68. #define RECT_CHANGE_width(v,w) CGRectMake(X(v), Y(v), w, HEIGHT(v))
  69. #define RECT_CHANGE_height(v,h) CGRectMake(X(v), Y(v), WIDTH(v), h)
  70. #define RECT_CHANGE_size(v,w,h) CGRectMake(X(v), Y(v), w, h)
  71. /* ****************************************************************************************************************** */
  72. #pragma mark - Funtion Method (宏 方法)
  73. /*单例宏实现*/
  74. #define SingleInstance(Obj, Method) \
  75. + (instancetype)Method { \
  76. static dispatch_once_t onceToken; \
  77. static Obj *shareObject = nil; \
  78. dispatch_once(&onceToken, ^{ \
  79. shareObject = [[[self class] alloc] init]; \
  80. }); \
  81. return shareObject; \
  82. }
  83. // PNG JPG 图片路径
  84. #define PNGPATH(NAME) [[NSBundle mainBundle] pathForResource:[NSString stringWithUTF8String:NAME] ofType:@"png"]
  85. #define JPGPATH(NAME) [[NSBundle mainBundle] pathForResource:[NSString stringWithUTF8String:NAME] ofType:@"jpg"]
  86. #define PATH(NAME, EXT) [[NSBundle mainBundle] pathForResource:(NAME) ofType:(EXT)]
  87. // 加载图片
  88. #define PNGIMAGE(NAME) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:(NAME) ofType:@"png"]]
  89. #define JPGIMAGE(NAME) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:(NAME) ofType:@"jpg"]]
  90. #define IMAGE(NAME, EXT) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:(NAME) ofType:(EXT)]]
  91. #define UIImageNamed(_pointer) [UIImage imageNamed:[NSString stringWithFormat:@"%@",_pointer]] // 定义UIImage对象
  92. // 字体大小(常规/粗体)
  93. #define BOLDSYSTEMFONT(FONTSIZE)[UIFont boldSystemFontOfSize:FONTSIZE]
  94. #define SYSTEMFONT(FONTSIZE) [UIFont systemFontOfSize:FONTSIZE]
  95. #define FONT(NAME, FONTSIZE) [UIFont fontWithName:(NAME) size:(FONTSIZE)]
  96. // 颜色(RGB)
  97. #define RGBCOLOR(r, g, b) [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:1]
  98. #define RGBACOLOR(r, g, b, a) [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:(a)]
  99. //number转String
  100. #define IntTranslateStr(int_str) [NSString stringWithFormat:@"%d",int_str];
  101. #define FloatTranslateStr(float_str) [NSString stringWithFormat:@"%.2d",float_str];
  102. // View 圆角和加边框
  103. #define ViewBorderRadius(View, Radius, Width, Color)\
  104. \
  105. [View.layer setCornerRadius:(Radius)];\
  106. [View.layer setMasksToBounds:YES];\
  107. [View.layer setBorderWidth:(Width)];\
  108. [View.layer setBorderColor:[Color CGColor]]
  109. // View 圆角
  110. #define ViewRadius(View, Radius)\
  111. \
  112. [View.layer setCornerRadius:(Radius)];\
  113. [View.layer setMasksToBounds:YES]
  114. // 当前版本
  115. #define FSystemVersion ([[[UIDevice currentDevice] systemVersion] floatValue])
  116. #define DSystemVersion ([[[UIDevice currentDevice] systemVersion] doubleValue])
  117. #define SSystemVersion ([[UIDevice currentDevice] systemVersion])
  118. // 当前语言
  119. #define CURRENTLANGUAGE ([[NSLocale preferredLanguages] objectAtIndex:0])
  120. // 是否Retina屏
  121. #define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? \
  122. CGSizeEqualToSize(CGSizeMake(640, 960), \
  123. [[UIScreen mainScreen] currentMode].size) : \
  124. NO)
  125. // 是否iPhoneX
  126. #define IS_iPhoneX \
  127. (^(){\
  128. if(@available(iOS 11.0,*)){\
  129. if(UIApplication.sharedApplication.delegate.window.safeAreaInsets.bottom > 0.0){\
  130. return YES;\
  131. }\
  132. }\
  133. return NO;\
  134. }())
  135. // 是否iPhone6
  136. #define isiPhone6p ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? \
  137. CGSizeEqualToSize(CGSizeMake(1080, 1920), \
  138. [[UIScreen mainScreen] currentMode].size) : \
  139. NO)
  140. // 是否iPhone6
  141. #define isiPhone6 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? \
  142. CGSizeEqualToSize(CGSizeMake(750, 1334), \
  143. [[UIScreen mainScreen] currentMode].size) : \
  144. NO)
  145. // 是否iPhone5
  146. #define isiPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? \
  147. CGSizeEqualToSize(CGSizeMake(640, 1136), \
  148. [[UIScreen mainScreen] currentMode].size) : \
  149. NO)
  150. // 是否iPhone4
  151. #define isiPhone4 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? \
  152. CGSizeEqualToSize(CGSizeMake(640, 960), \
  153. [[UIScreen mainScreen] currentMode].size) : \
  154. NO)
  155. // 是否IOS7
  156. #define isIOS7 ([[[UIDevice currentDevice]systemVersion]floatValue] >= 7.0)
  157. // 是否IOS6
  158. #define isIOS6 ([[[UIDevice currentDevice]systemVersion]floatValue] < 7.0)
  159. #define isIOS8 ([[[UIDevice currentDevice]systemVersion]floatValue] >= 8.0)
  160. #define iOS11 @available(iOS 11.0, *)
  161. // 是否iPad
  162. #define isPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
  163. // UIView - viewWithTag
  164. #define VIEWWITHTAG(_OBJECT, _TAG)\
  165. \
  166. [_OBJECT viewWithTag : _TAG]
  167. // 本地化字符串
  168. /** NSLocalizedString宏做的其实就是在当前bundle中查找资源文件名“Localizable.strings”(参数:键+注释) */
  169. #define LocalString(x, ...) NSLocalizedString(x, nil)
  170. /** NSLocalizedStringFromTable宏做的其实就是在当前bundle中查找资源文件名“xxx.strings”(参数:键+文件名+注释) */
  171. #define AppLocalString(x, ...) NSLocalizedStringFromTable(x, @"someName", nil)
  172. // RGB颜色转换(16进制->10进制)
  173. #define UIColorFromRGB(rgbValue)\
  174. \
  175. [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \
  176. green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \
  177. blue:((float)(rgbValue & 0xFF))/255.0 \
  178. alpha:1.0]
  179. #if TARGET_OS_IPHONE
  180. /** iPhone Device */
  181. #endif
  182. #if TARGET_IPHONE_SIMULATOR
  183. /** iPhone Simulator */
  184. #endif
  185. // ARC
  186. #if __has_feature(objc_arc)
  187. /** Compiling with ARC */
  188. #else
  189. /** Compiling without ARC */
  190. #endif
  191. /* ****************************************************************************************************************** */
  192. #pragma mark - Log Method (宏 LOG)
  193. // 日志 / 断点
  194. // =============================================================================================================================
  195. // DEBUG模式
  196. #define ITTDEBUG
  197. // LOG等级
  198. #define ITTLOGLEVEL_INFO 10
  199. #define ITTLOGLEVEL_WARNING 3
  200. #define ITTLOGLEVEL_ERROR 1
  201. // =============================================================================================================================
  202. // LOG最高等级
  203. #ifndef ITTMAXLOGLEVEL
  204. #ifdef DEBUG
  205. #define ITTMAXLOGLEVEL ITTLOGLEVEL_INFO
  206. #else
  207. #define ITTMAXLOGLEVEL ITTLOGLEVEL_ERROR
  208. #endif
  209. #endif
  210. // =============================================================================================================================
  211. // LOG PRINT
  212. // The general purpose logger. This ignores logging levels.
  213. #ifdef ITTDEBUG
  214. #define ITTDPRINT(xx, ...) NSLog(@"< %s:(%d) > : " xx , __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
  215. #else
  216. #define ITTDPRINT(xx, ...) ((void)0)
  217. #endif
  218. // Prints the current method's name.
  219. #define ITTDPRINTMETHODNAME() ITTDPRINT(@"%s", __PRETTY_FUNCTION__)
  220. // Log-level based logging macros.
  221. #if ITTLOGLEVEL_ERROR <= ITTMAXLOGLEVEL
  222. #define ITTDERROR(xx, ...) ITTDPRINT(xx, ##__VA_ARGS__)
  223. #else
  224. #define ITTDERROR(xx, ...) ((void)0)
  225. #endif
  226. #if ITTLOGLEVEL_WARNING <= ITTMAXLOGLEVEL
  227. #define ITTDWARNING(xx, ...) ITTDPRINT(xx, ##__VA_ARGS__)
  228. #else
  229. #define ITTDWARNING(xx, ...) ((void)0)
  230. #endif
  231. #if ITTLOGLEVEL_INFO <= ITTMAXLOGLEVEL
  232. #define ITTDINFO(xx, ...) ITTDPRINT(xx, ##__VA_ARGS__)
  233. #else
  234. #define ITTDINFO(xx, ...) ((void)0)
  235. #endif
  236. // 条件LOG
  237. #ifdef ITTDEBUG
  238. #define ITTDCONDITIONLOG(condition, xx, ...)\
  239. \
  240. {\
  241. if ((condition))\
  242. {\
  243. ITTDPRINT(xx, ##__VA_ARGS__);\
  244. }\
  245. }
  246. #else
  247. #define ITTDCONDITIONLOG(condition, xx, ...)\
  248. \
  249. ((void)0)
  250. #endif
  251. // 断点Assert
  252. #define ITTAssert(condition, ...)\
  253. \
  254. do {\
  255. if (!(condition))\
  256. {\
  257. [[NSAssertionHandler currentHandler]\
  258. handleFailureInFunction:[NSString stringWithFormat:@"< %s >", __PRETTY_FUNCTION__]\
  259. file:[[NSString stringWithUTF8String:__FILE__] lastPathComponent]\
  260. lineNumber:__LINE__\
  261. description:__VA_ARGS__];\
  262. }\
  263. } while(0)
  264. /* ****************************************************************************************************************** */
  265. #pragma mark - Constants (宏 常量)
  266. /** 时间间隔 */
  267. #define kHUDDuration (1.f)
  268. /** 一天的秒数 */
  269. #define SecondsOfDay (24.f * 60.f * 60.f)
  270. /** 秒数 */
  271. #define Seconds(Days) (24.f * 60.f * 60.f * (Days))
  272. /** 一天的毫秒数 */
  273. #define MillisecondsOfDay (24.f * 60.f * 60.f * 1000.f)
  274. /** 毫秒数 */
  275. #define Milliseconds(Days) (24.f * 60.f * 60.f * 1000.f * (Days))
  276. //** textAlignment ***********************************************************************************
  277. #if !defined __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_5_0
  278. # define LINE_BREAK_WORD_WRAP UILineBreakModeWordWrap
  279. # define TextAlignmentLeft UITextAlignmentLeft
  280. # define TextAlignmentCenter UITextAlignmentCenter
  281. # define TextAlignmentRight UITextAlignmentRight
  282. #else
  283. # define LINE_BREAK_WORD_WRAP NSLineBreakByWordWrapping
  284. # define TextAlignmentLeft NSTextAlignmentLeft
  285. # define TextAlignmentCenter NSTextAlignmentCenter
  286. # define TextAlignmentRight NSTextAlignmentRight
  287. #endif
  288. //** 打印 *********************************************************************************************//
  289. #ifdef DEBUG
  290. # define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
  291. #else
  292. # define DLog(...)
  293. #endif
  294. #ifdef DEBUG
  295. #define SLog(format, ...) printf("class: <%p %s:(%d) > method: %s \n%s\n", self, [[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, __PRETTY_FUNCTION__, [[NSString stringWithFormat:(format), ##__VA_ARGS__] UTF8String] )
  296. #else
  297. #define SLog(format, ...)
  298. #endif
  299. #define QFTColor(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1.0]
  300. #define QFTBack_Color [UIColor colorWithRed:(244)/255.0 green:(244)/255.0 blue:(244)/255.0 alpha:1.0]
  301. #define QFTPageBack_Color [UIColor colorWithRed:(239)/255.0 green:(236)/255.0 blue:(240)/255.0 alpha:1.0]
  302. #define kBaseSetFontOfSize(fontName,customsize) [UIFont fontWithName:fontName size:customsize*(App_Frame_Width /375.0)]
  303. #define kBaseSetFontOfSize_iPhone5(fontName,customsize) [UIFont fontWithName:fontName size:customsize*0.9]
  304. #define SCREEN_WIDTH_SCALE [UIScreen mainScreen].bounds.size.width/375
  305. #define SCREEN_HEIGHT_SCALE (kIsiPhoneX ? 667.0/667.0 : App_Frame_Height/667.0)
  306. #define SCREEN_SMALL_WIDTH_SCALE [UIScreen mainScreen].bounds.size.width/414
  307. // 系统控件默认高度
  308. #define kTopBarHeight (44.f)
  309. #define kCellDefaultHeight (44.f)
  310. #define kEnglishKeyboardHeight (216.f)
  311. #define kChineseKeyboardHeight (252.f)
  312. #define kStatusBarHeight (kIsiPhoneX ? 44.f : 20.f)
  313. #define kNavBarHeight (kIsiPhoneX ? 88.f : 64.f)
  314. #define kTabBarHeight (kIsiPhoneX ? 83.f: 49.f)
  315. #define kBottomHeight (kIsiPhoneX ? 34.f:0)
  316. // ****** 比例
  317. #define Width_SCALE [[UIScreen mainScreen] bounds].size.width / 375.0f
  318. // 获取一个标准值
  319. #define GetNormWidth(R) R * Width_SCALE
  320. #define Kmagin_five GetNormWidth(5)
  321. #define Kmagin_ten GetNormWidth(10)
  322. #define Kmagin_fifteen GetNormWidth(16)
  323. #define KChartHeight GetNormWidth(120)
  324. #define KNotEidtColor [UIColor colorWithMacHexString:@"#999999"]
  325. #define ALPHANUM @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
  326. //宏定义
  327. #define kFontSize(size) size
  328. #define systemAccountInfo ((myAccontResponseModel*)[NSKeyedUnarchiver unarchiveObjectWithData:[[NSUserDefaults standardUserDefaults] objectForKey:@"systemAccountInfo"]])
  329. #define PersonInfo ((personModel*)[NSKeyedUnarchiver unarchiveObjectWithData:[[NSUserDefaults standardUserDefaults] objectForKey:@"person"]])
  330. #define settingInfo ((settingModel*)[NSKeyedUnarchiver unarchiveObjectWithData:[[NSUserDefaults standardUserDefaults] objectForKey:@"setting"]])
  331. #define systemNoticeNumber ([[NSUserDefaults standardUserDefaults] objectForKey:@"systemNoticeNumber"])
  332. #define TENANTS_SIMPLE ([[NSUserDefaults standardUserDefaults] objectForKey:@"TENANTS_SIMPLE"])
  333. #define RESERVE_HOUSE_SMS ([[NSUserDefaults standardUserDefaults] objectForKey:@"RESERVE_HOUSE_SMS"])
  334. #define HOUSE_CODE_CONTROL ([[NSUserDefaults standardUserDefaults] objectForKey:@"HOUSE_CODE_CONTROL"])
  335. #define kAppDelegate ((AppDelegate *)[UIApplication sharedApplication].delegate)
  336. // 判断是否为管理员账号
  337. #define isAdmin [PersonInfo.roleCode isEqualToString:@"super_manager"]
  338. //判断空字符串
  339. #define IsEmptyStr(string) (string == nil || string == NULL ||[string isKindOfClass:[NSNull class]]||[string isEqualToString:@""]||[string isEqualToString:@"null"]||[string isEqualToString:@"<null>"]||[string isEqualToString:@"(null)"]||[[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length]==0 ? YES : NO)
  340. //空字符串显示空白
  341. #define showText(string) (string == nil || string == NULL ||[string isKindOfClass:[NSNull class]]|| [string isEqualToString:@""]||[string isEqualToString:@"null"]||[string isEqualToString:@"<null>"]||[string isEqualToString:@"(null)"]||[[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length]==0 ? @"":string)
  342. #define showPermissionText(str,permissions) ((IsEmptyStr(permissions) ? true : permissions.intValue == 1) ? (IsEmptyStr((str)) ? @"" : (str)) : @"***")
  343. #define IsContainsPermissions(permissions) (IsEmptyStr(permissions) ? true : permissions.intValue == 1)
  344. /***************************快捷代码块*****************************/
  345. // Masonry 底部安全区域
  346. #define iOS11MAS_SAFEAREALAYOUGUIDEBOTTOM \
  347. { \
  348. if (iOS11) {\
  349. make.bottom.equalTo(self.view.mas_safeAreaLayoutGuideBottom);\
  350. }else{\
  351. make.bottom.equalTo(self.view.mas_bottom);\
  352. }\
  353. }
  354. //
  355. //百度人脸识别
  356. // 如果在后台选择自动配置授权信息,下面的三个LICENSE相关的参数已经配置好了
  357. // 只需配置FACE_API_KEY和FACE_SECRET_KEY两个参数即可
  358. // 人脸license文件名
  359. #define FACE_LICENSE_NAME @"idl-license"
  360. // 人脸license后缀
  361. #define FACE_LICENSE_SUFFIX @"face-ios"
  362. // (您申请的应用名称(appname)+「-face-ios」后缀,如申请的应用名称(appname)为test123,则此处填写test123-face-ios)
  363. // 在后台 -> 产品服务 -> 人脸识别 -> 客户端SDK管理查看,如果没有的话就新建一个
  364. #define FACE_LICENSE_ID @"QFT-face-ios"
  365. // 以下两个在后台 -> 产品服务 -> 人脸识别 -> 应用列表下面查看,如果没有的话就新建一个
  366. // 您的API Key
  367. #define FACE_API_KEY @"hkjcNDu8GW2n8QUji68s8aSs"
  368. // 您的Secret Key
  369. #define FACE_SECRET_KEY @"q7fH2R1UgBqXSIygz8MidIeIb3dSPIK7"
  370. //WQY
  371. #define IOS11 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 11)?YES:NO
  372. #define IOS13 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 13)?YES:NO
  373. #define XianyuNavTextColor [UIColor colorWithMacHexString:@"#232C37"]
  374. #define XianyuNormalTextColor [UIColor colorWithMacHexString:@"#6F7884"]
  375. #define XianyuButtonTextColor [UIColor colorWithMacHexString:@"#0078FD"]
  376. #define XianyuBottomLineColor [UIColor colorWithMacHexString:@"#E7E8ED"]
  377. #define XianyuGreenTextColor [UIColor colorWithMacHexString:@"#67C23A"]
  378. #define XianyuLightTextColor [UIColor colorWithMacHexString:@"#89939F"]
  379. #define JDOpenLightTextColor [UIColor colorWithMacHexString:@"#4A5159"]
  380. #define JDTipWarnTextColor [UIColor colorWithMacHexString:@"#E6A23C"]
  381. #define JDTextOrangeTextColor [UIColor colorWithMacHexString:@"#F5670B"]
  382. #define ChannelFilterTextColor [UIColor colorWithMacHexString:@"#55606C"]
  383. #define ChannelSelectPlaceHolderTextColor [UIColor colorWithMacHexString:@"#BDC3CE"]
  384. #define ChannelTypeBackGroundColor [UIColor colorWithMacHexString:@"#F7F7F7"]
  385. #define Color_EFEFEF [UIColor colorWithMacHexString:@"#EFEFEF"]
  386. #define Color_4169E1 [UIColor colorWithMacHexString:@"#4169E1"]
  387. #define Color_White [UIColor whiteColor]
  388. #define Color_89939F [UIColor colorWithMacHexString:@"#89939F"]
  389. #define Color_FEF8D4 [UIColor colorWithMacHexString:@"#FEF8D4"]
  390. #define Color_6F7884 [UIColor colorWithMacHexString:@"#6F7884"]
  391. #define ButtonClickDelayTime [QFTSingleton sharedInstance].buttonDelayTime
  392. //WQY
  393. #endif