Files
mier_ios/SweetParty/宏定义/Global.h
2025-08-11 10:43:19 +08:00

436 lines
16 KiB
Objective-C
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// Global.h
// SamaVoice
//
// Created by 申中迪 on 2022/5/7.
//
#import <Masonry.h>
#import <UIImageView+WebCache.h>
#import <SVProgressHUD.h>
#import <MJRefresh.h>
#import <MJExtension.h>
#import <AssetsLibrary/AssetsLibrary.h>
#import <AVFoundation/AVFoundation.h>
#import <CRBoxInputCellProperty.h>
#import <CRLineView.h>
#import <CRBoxInputView.h>
#import <SVGA.h>
#import "SVGAParser+AOESVGAMemory.h"
//#import <RongIMKit/RongIMKit.h>
#import "SPAlertController.h"
#import "UIViewController+AlertViewAndActionSheet.h"
#import "UIView+TapBlock.h"
#import "ViewFrameGeometry.h"
#import "BaseUIStyle.h"
#import "ControlCreator.h"
#import "AppDelegate.h"
#import "NSString+String.h"
#import "NSString+Mobile.h"
#import "ZJUIUtil.h"
#import "UIImage+Additions.h"
#import "JXCategoryView.h"
#import "HttpTool.h"
#import "BJHttpTool.h"
#import "BJUserManager.h"
#import "MLRoomInformationModel.h"
#import "YYText.h"
#import "NODataView.h"
#import "UIView+Frame.h"
#import "UIImage+ImgSize.h"
#import <TZImagePickerController.h>
#import "HGDeviceHelper.h"
#import "UIButton+Gradient.h"
#import "UIButton+Block.h"
#import "GradientLabel.h"
#import "JianBianButton.h"
#import "MBManager.h"
#import <MBProgressHUD.h>
#import "MBProgressHUD+SUP.h"
#import <SDAutoLayout/SDAutoLayout.h>
//返回渐变图片
#import "WHGradientHelper.h"
#import "UIScrollView+MJRefreshEX.h"
#import "UIViewController+CurViewController.h"
#import "SPHomepageVC.h"
#import "HelpPageDefine.h"
#import "AFNetworkRequset.h"
#import "SPLoginVC.h"
#define kAccountFileName @"kAccountFileName"
#define kPersonId @"user_id"
#define AESKey @""
//---------------ybb添加-----------------------
#pragma mark - ybb添加
#define APPH [UIScreen mainScreen].bounds.size.height
#define APPW [UIScreen mainScreen].bounds.size.width
#define yb_iPhoneX \
({BOOL isPhoneX = NO;\
if (@available(iOS 11.0, *)) {\
isPhoneX = [[UIApplication sharedApplication] delegate].window.safeAreaInsets.bottom > 0.0;\
}\
(isPhoneX);})
// 状态栏高度
#define yb_StatusBar_H (yb_iPhoneX ? 44.f : 20.0f)
// 导航栏高度
#define yb_NavigationBar_H (yb_iPhoneX ? 88.f : 64.f)
// tabBar高度
#define yb_TabBar_H (yb_iPhoneX ? (83.f) : 49.f)
// 键盘高度
#define yb_KEYBORD_H (yb_iPhoneX ? 291.f : 226.f)
// 底部高度
#define yb_HomeIndicator_H (yb_iPhoneX ? 34.f : 0.f)
//#define GVUSER [GVUserDefaults standardUserDefaults]
#define TheDelegate ((AppDelegate *)[[UIApplication sharedApplication] delegate])
//白底黑字
#define LightContentStatusBar if (@available(iOS 13.0, *)) {[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;} else {}
//黑底白字
#define BlackContentStatusBar if (@available(iOS 13.0, *)) {[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDarkContent;} else {}
#define C_string(s) (s==nil? @"" : s)
#define URL(URL) [NSURL URLWithString:URL]
#define GVUSER [GVUserDefaults standardUserDefaults]
#define LoadNib(name) [[NSBundle mainBundle] loadNibNamed:(name) owner:nil options:nil].firstObject
#define yb_place_img [UIImage imageNamed:@"place_fang"]
#define KEYWINDOW [UIApplication sharedApplication].keyWindow
//单例的声明和实现
// @interface
#define singleton_interface(className) \
+ (className *)shared##className;
// @implementation
#define singleton_implementation(className) \
static className *_instance; \
+ (id)allocWithZone:(NSZone *)zone \
{ \
static dispatch_once_t onceToken; \
dispatch_once(&onceToken, ^{ \
_instance = [super allocWithZone:zone]; \
}); \
return _instance; \
} \
+ (className *)shared##className \
{ \
static dispatch_once_t onceToken; \
dispatch_once(&onceToken, ^{ \
_instance = [[self alloc] init]; \
}); \
return _instance; \
}
#define RCMicMainThread(block) \
if ([NSThread isMainThread]) { \
block(); \
} else { \
dispatch_async(dispatch_get_main_queue(), block);\
}
#import "RCMicHTTP.h"
#import "NSDictionary+SafeObject.h"
#import "UIView+YBUtil.h"
#import "UIView+EasyTouch.h"
#import "UIViewController+BMNavigationView.h"
#import "UIViewController+PushUtils.h"
#import "UIColor+Category.h"
#import "GVUserDefaults+APP.h"
#import "UIImage+UploadImage.h"
#import "BJPassData.h"
#import "FZYControl.h"
#import "BJSvgaManager.h"
#import "XiamuFooter.h"
#import "XiamuTipView.h"
#import "NSString+BMUtils.h"
#import "XYUUID.h"
#import "NSString+Time.h"
#import <AFNetworking/AFHTTPSessionManager.h>
#import "TXSingleChatVC.h"
#import "RCMicMacro.h"
#import "BJEncryptionTool.h"
#import "BJPicCodeView.h"
#import "NSString+category.h"
//----------------ybb 添加结束-------------
//#define VERSION_HTTPS_SERVER @""//正式
//#define kAppAgoraKitId @""
//#define NIAPPKey @""
#if DEBUG
//#define VERSION_HTTPS_SERVER @"http://xmrc.qixing2.top/"//线上
#define VERSION_HTTPS_SERVER @"http://mr.qixing2.top:621/"//线上
#else
#define VERSION_HTTPS_SERVER @"http://mr.qixing2.top:621/"//线上
#endif
//#define VERSION_HTTPS_SERVER @"http://ceshi.limaoyuyin.cn/"//测试环境
#define Baidu_AK @"KDQ1Zt4Y5odLMiKwhifwxfgdMSBl73NI"
#define SHANYAN_APP_ID @"uLYVG0AA"
#define MOB_Universal_Link @"https://d47789d5b9f1a7466005190c9c76c1b4.share2dlink.com/"
#define WX_APP_ID @"wx7b5c4e89e726a72c"
#define WX_APP_KEY @"afc9860f4c670ac19f9efb0ab94927a3"
#define QQ_APP_ID @"102046191"
#define QQ_APP_KEY @"dT8ZbR4TfdOuBF4e"
//手机号历史记录
#define Login_Phone_History @"Login_Phone_History"
//正常ID图标
#define userID_simgple ImageNamed(@"ID_normal")
//靓号ID图标
#define userID_liang ImageNamed(@"ID_liang")
//app名字
#define app_name @"八角k歌"
//普通宝箱名字
#define kBoxName_putong @"魔幻球"
//高级宝箱名字
#define kBoxName_gaoji @"永恒球"
//通过接口获取宝箱价格
#define jindan_price [[NSUserDefaults standardUserDefaults] objectForKey:@"jindan_price"]
#define zuandan_price [[NSUserDefaults standardUserDefaults] objectForKey:@"zuandan_price"]
//极光相关4
#define JMSSAGE_APPKEY @"97d7e7a07dcd781496d92f5e"
#define kDBMigrateStartNotification @"DBMigrateStartNotification"
#define kDBMigrateFinishNotification @"DBMigrateFinishNotification"
#define kFriendInvitationNotification @"friendInvitationNotification"
#define kJoinGroupApplicationListDetaultKey @"kJoinGroupApplicationListDetaultKey"
#define kJoinGroupApplicationNotification @"kJoinGroupApplicationNotification"
#define CHANNEL @""
#define kOpenBoxWithLoacalNotification @"kOpenBoxWithLoacalNotification"
#ifndef Global_h
#define Global_h
#ifdef DEBUG //处于开发阶段
#define MYLog(...) printf("[%s] %s [第%d行]: %s\n", __TIME__ ,__PRETTY_FUNCTION__ ,__LINE__, [[NSString stringWithFormat:__VA_ARGS__] UTF8String])
#else//处于发布阶段
#define MYLog(...) printf("[%s] %s [第%d行]: %s\n", __TIME__ ,__PRETTY_FUNCTION__ ,__LINE__, [[NSString stringWithFormat:__VA_ARGS__] UTF8String])
#define MYLog(...)
#endif
#define kTagForItemButton 1000
#define VERSION_HTTPS_SERVER_PATH(PATH) [NSString stringWithFormat:@"%@/%@",VERSION_HTTPS_SERVER,PATH]
// applegate
#define APPDELEGATE (AppDelegate *)[UIApplication sharedApplication].delegate
#define ScreenViewWidth [UIScreen mainScreen].bounds.size.width
#define ScreenViewHeight [UIScreen mainScreen].bounds.size.height
#define WEAK_SELF __weak typeof(self) weakSelf=self ;
#define NSStringFormat(format,...) [NSString stringWithFormat:format,##__VA_ARGS__]
// 是否是iPhonePorXM
#define IsIphoneP ((ScreenViewWidth==414)?YES:NO)
#define iPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)
// 判断是否是iPhone XR
#define iPhoneXR ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(828, 1792), [[UIScreen mainScreen] currentMode].size) : NO)
// 判断是否是iPhone XS
#define iPhoneXS ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)
// 判断是否是iPhone X Max
#define iPhoneXMax ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242, 2688), [[UIScreen mainScreen] currentMode].size) : NO)
// 状态栏的高
#define ZJStatusBarH (yb_iPhoneX ? 44.f : 20.0f)
// 导航栏的高
#define ZJTopNavH (ZJStatusBarH+44)
// 底部导航TabBar的高
#define TabBar_H (yb_iPhoneX ? (49+34) : 49)
//底部危险区域高度
#define DBottomDangerArea (yb_iPhoneX ? 34 : 0)
#define HOME_INDICATOR_HEIGHT (yb_iPhoneX ? 34.f : 0.f)
// 颜色R,G,B
#define Color(r,g,b,a) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:(a)]
// 背景颜色
#define mainBgColor [UIColor colorWithRed:230/255.0 green:230/255.0 blue:230/255.0 alpha:1.0]
// 主颜色
#define mainColor [UIColor whiteColor]
// 副颜色
#define mainViceColor MHColorFromHexString(@"#333333")
//浅灰色
#define mainQianColor MHColorFromHexString(@"#999999")
#define mainShenColor MHColorFromHexString(@"#666666")
//按钮文字主题颜色
//深色
#define mainDeepColor MHColorFromHexString(@"#0DFFB9")
//浅色
#define mainLightColor MHColorFromHexString(@"#9FF6DD")
// 随机颜色
#define RandomColor [UIColor colorWithRed:arc4random_uniform(256)/255.0 green:arc4random_uniform(256)/255.0 blue:arc4random_uniform(256)/255.0 alpha:1.0]
/// 根据hex 获取颜色
#define MHColorFromHexString(__hexString__) ([ZJUIUtil colorWithHexString:__hexString__])
#define MLControlsColor MHColorFromHexString(@"#8C8CFF")
#define MLControlsHuiColor MHColorFromHexString(@"#EEEEEE")
#define MLControlsBaiColor MHColorFromHexString(@"#FFFFFF")
//适配黑色模式
#define ML_DarkColor MHColorFromHexString(@"#FFFFFF")
#define PFR @"Helvetica"
#define Font(x) [UIFont fontWithName:PFR size:x]
#define FontA @"PingFang-SC-Heavy"
#define FontB @"DINOT-CondMedium"
#define Font1(x) [UIFont fontWithName:FontA size:x]
#define Font2(x) [UIFont fontWithName:FontB size:x]
// 设备名称
#define PERIPHERAL_DEVICE_NAME @"未填写"
//默认头像
#define kDefaultUserIcon ImageNamed(@"default_userIcon")
//返回值格式化
#define minStr(str) [NSString stringWithFormat:@"%@",str]
//导航栏白色
#define kStatubar_whiteColor [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent
#define kStatubar_defaultColor [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault
/**
* 获得图片
*
* @param str_Name 图片名字
*
* @return 返回一个UIImage对象
*/
#define ImageNamed(str_Name) [UIImage imageNamed:str_Name]
/**
* UIButton起始Tag 19911022
*/
#define BUTTON_TAG(tag) (19911022+tag)
/**
* UILabel起始Tag 19981022
*/
#define LABEL_TAG(tag) (19981022+tag)
/**
* UIImageView起始Tag 19991022
*/
#define IMAGEVIEW_TAG(tag) (19991022+tag)
#define ScreenWidth ([UIScreen mainScreen].bounds.size.width)
#define ScreenHeight ([UIScreen mainScreen].bounds.size.height)
// 十六进制色值 01_06
#define HEXCOLORA(rgbValue,a) \
[UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16)) / 255.0 \
green:((float)((rgbValue & 0xFF00) >> 8)) / 255.0 \
blue:((float)(rgbValue & 0xFF)) / 255.0 alpha:a]
// 通过十六进制获取色值
#define COLOR16(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
/*================================COLOR/FONT===============================*/
#pragma mark - color
/**
* 十六进制色值转化
*
* @param rgbValue 当前色值
*
* @return 返回当前UIColor颜色
*/
#define COLOR_HEX_RGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
#define COLOR(r,g,b,a) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a]
#define kBlackColor [UIColor blackColor]
#define kDarkGrayColor [UIColor darkGrayColor]
#define kLightGrayColor [UIColor lightGrayColor]
#define kWhiteColor [UIColor whiteColor]
#define kGrayColor [UIColor grayColor]
#define kRedColor [UIColor redColor]
#define kGreenColor [UIColor greenColor]
#define kBlueColor [UIColor blueColor]
#define kCyanColor [UIColor cyanColor]
#define kYellowColor [UIColor yellowColor]
#define kMagentaColor [UIColor magentaColor]
#define kOrangeColor [UIColor orangeColor]
#define kPurpleColor [UIColor purpleColor]
#define kClearColor [UIColor clearColor]
//文字按钮主题色
#define text_MainColor MHColorFromHexString(@"#FF8EB2")
#define COLOR_F42415 COLOR_HEX_RGB(0xF42415) // C1 重要色:用于特别需要强调和突出的文字、按钮和 icon,如页面状态栏与界面相关按钮、icon、提示等
#define COLOR_333333 COLOR_HEX_RGB(0x333333) // C2 重要色:用于重要及文字信息、内容标题信息
#define COLOR_477aac COLOR_HEX_RGB(0x477aac) // C8 重要色:小面积使用,用于重要链接文字颜色
#define COLOR_999999 COLOR_HEX_RGB(0x999999) // C3 一般色:用于辅助、次要的文字信息
#define COLOR_f5f5f5 COLOR_HEX_RGB(0xf5f5f5) // C6 较弱色:用于内容区域底色
#define COLOR_e5e5e5 COLOR_HEX_RGB(0xe5e5e5) // C5 较弱色:用于分割线
#define COLOR_cccccc COLOR_HEX_RGB(0xcccccc) // C7 较弱色:用于特殊说明字体及提示字体
#define COLOR_666666 COLOR_HEX_RGB(0x666666) // C4 较弱色:
#define COLOR_2A9F5D COLOR_HEX_RGB(0x2A9F5D) // C4 绿帽子的颜色
#define COLOR_696969 COLOR_HEX_RGB(0x696969) // C4 较弱色:
#define COLOR_477AAC COLOR_HEX_RGB(0x477AAC) // C4 较弱色:
#define COLOR_FF3F24 COLOR_HEX_RGB(0xFF3F24) // C4 红色偏橘色:
#define FONT_18 [UIFont systemFontOfSize:18.f] // T1 用在导航栏标题
#define FONT_16 [UIFont systemFontOfSize:16.f] // T2 用于筛选标题或戏曲标题
#define FONT_15 [UIFont systemFontOfSize:15.f]
#define FONT_14 [UIFont systemFontOfSize:14.f] // T3 用于小标题
#define FONT_13 [UIFont systemFontOfSize:13.f] // T4 用于辅助性文字(如唱过人数、歌曲大小、时间等)
#define FONT_12 [UIFont systemFontOfSize:12.f]
#define FONT_11 [UIFont systemFontOfSize:11.f] //
#define FONT_10 [UIFont systemFontOfSize:10.f] // T5 用于辅助性文字(如底部导航栏字体大小或需要特殊说明地方)
#define FONT_24 [UIFont systemFontOfSize:(24.f)] // 分数
#define FONT_22 [UIFont systemFontOfSize:(22.f)] // 用于商品价格
#define FONT_20 [UIFont systemFontOfSize:(20.f)] // 用于商品详情原价格
#define FONT_Medium_20 [UIFont fontWithName:@"PingFangSC-Medium" size:RationEnlarge(20.f)] //Medium_20加粗
#define FONT_Medium_18 [UIFont fontWithName:@"PingFangSC-Medium" size:RationEnlarge(18.f)] //Medium_18加粗
#define FONT_Medium_16 [UIFont fontWithName:@"PingFangSC-Medium" size:RationEnlarge(16.f)] //Medium_16加粗
#define FONT_Medium_15 [UIFont fontWithName:@"PingFangSC-Medium" size:RationEnlarge(15.f)] //Medium_15加粗
#define FONT_Medium_14 [UIFont fontWithName:@"PingFangSC-Medium" size:RationEnlarge(14.f)] //Medium_14加粗
#define HEXCOLOR(rgbValue) \
[UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16)) / 255.0 \
green:((float)((rgbValue & 0xFF00) >> 8)) / 255.0 \
blue:((float)(rgbValue & 0xFF)) / 255.0 alpha:1.0]
#define HEXCOLORA(rgbValue,a) \
[UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16)) / 255.0 \
green:((float)((rgbValue & 0xFF00) >> 8)) / 255.0 \
blue:((float)(rgbValue & 0xFF)) / 255.0 alpha:a]
// 屏幕大小、宽、高
#ifndef SCREEN_BOUNDS
#define SCREEN_BOUNDS [UIScreen mainScreen].bounds
#endif
#ifndef SCREEN_WIDTH
#define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width
#endif
#ifndef SCREEN_HEIGHT
#define SCREEN_HEIGHT [UIScreen mainScreen].bounds.size.height
#endif
#endif /* Global_h */