AppDelegate.h 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. /**
  2. /Users/apple/Desktop/draft/jiaPei/jiaPei/AppDelegate.h
  3. */
  4. #import <UIKit/UIKit.h>
  5. #import <CoreData/CoreData.h>
  6. #import "RQNavigationControllerStack.h"
  7. #import "RQViewModelServicesImpl.h"
  8. #import "YRSideViewController.h"
  9. #import "TabBarController.h"
  10. //为了保留计时页面不被内存清掉
  11. #import "MNQtTrainVC.h"
  12. #import "BigTruckVC.h"
  13. //进入后台相关
  14. #import "LocationTracker.h"
  15. //主页
  16. #import "HomeBaseVC.h"
  17. #import "LearnDrivingVC.h"
  18. //#import "SearchBase.h"
  19. #import "FunctionVC.h"
  20. //语音
  21. #import <AVFoundation/AVFoundation.h>
  22. /**为了绑定token
  23. */
  24. #import "LoginViewController.h"
  25. #import <BaiduMapAPI_Base/BMKMapManager.h>
  26. //个推
  27. #import <GTSDK/GeTuiSdk.h>
  28. // iOS10 及以上需导入 UserNotifications.framework
  29. #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
  30. #import <UserNotifications/UserNotifications.h>
  31. #endif
  32. //baidu
  33. #define BAIDU_APPKEY @"DFZ8vC8LEqV9kxHdapqQfwND2YHmwYIz"
  34. /// 个推开发者网站中申请App时,注册的AppId、AppKey、AppSecret
  35. #define kGtAppId @"IlfsJpsp3S6K2VETfWkWEA"
  36. #define kGtAppKey @"r8YMamHObIATC3IOK4ZAg7"
  37. #define kGtAppSecret @"zB54OobZS67QrOboSiDe6"
  38. //sharesdk
  39. #define SHARE_FX_APPKEY @"1cbcaa127e286"
  40. #define SHARE_DX_APPKEY @"1cbcee71ff4c8"
  41. #define SHARE_DX_SCRECT @"e4728ad01ecd7b359cdf8779b644ed42"
  42. //wx
  43. #define WEIXIN_APPID @"wx54874694c6fd2f34"
  44. #define WEIXIN_APPSECRET @"6650da2fc9bcd163d0acb3449d8df91a"
  45. //qq
  46. #define QQ_APPID @"1106017343"
  47. #define QQ_APPKEY @"Kqvl2yP3Bq4Vvk47"
  48. //bugly
  49. #define BUGLY_APP_ID @"4393df4909"
  50. //客服
  51. #define CUSTOMERSERVICE_APPKEY @"d72cfb00-4f40-11e7-a416-f12e96c638e0"
  52. #define RQ_APPDELEGATE [AppDelegate sharedDelegate]
  53. @interface AppDelegate : UIResponder <UIApplicationDelegate>
  54. {
  55. BMKMapManager *_mapManager;
  56. }
  57. /**1顺序,2随机,3章节,4错题,5强化,6排除,7收藏,8背题,9考试 10未做题 11 新规题
  58. */
  59. @property (strong, nonatomic) NSString *type; //区别不同练习
  60. /**@"1"表示科目一。4表示科目4。没有科23.
  61. 2,3用的是urlType(倒3)
  62. */
  63. @property (strong, nonatomic) NSString *subject; //科目
  64. @property (strong, nonatomic) NSString *where; //获取题目条件
  65. @property (strong, nonatomic) NSString *identifyNum;//学员身份证号
  66. @property (strong, nonatomic) NSString *stuId; //学员ID
  67. @property (strong, nonatomic) NSString *announcementId; //公告ID
  68. @property BOOL isLogin; //判断是否登录
  69. @property BOOL isTrain; //判断计时器是否计时
  70. @property BOOL isUseriPhone;//判断启用计时练习
  71. @property(nonatomic, strong) UILabel *trainStateLabel;
  72. @property (nonatomic,assign)BOOL isNightMode; //是否设置夜间模式
  73. @property (nonatomic,assign)BOOL isNotSoundMode; //是否无声模式
  74. @property (strong, nonatomic) NSString *begin_Time;//训练开始时间
  75. @property (nonatomic, assign) NSInteger optionFont;//题目、选项、及解释的字体大小
  76. //等题库刷新后 查询出错题数
  77. @property (nonatomic, strong) NSMutableArray *faultArray;
  78. //是否是同步过来然后进入主页的
  79. @property (nonatomic, assign) BOOL isSyn;
  80. /**
  81. 就是为了。从chooseVC传值给leftVC用的题库名。
  82. */
  83. //@property (strong, nonatomic) NSString *libName;
  84. @property (strong, nonatomic) NSString *url; //学车参考
  85. @property (strong, nonatomic) NSString *urlType;//学车参考类型
  86. #pragma mark -计时相关
  87. /**学员计时用的。进入后台后,会终止计时。 所有的计时都用这个定时器吧 因为都是离开的时候暂停 回来打开
  88. */
  89. @property (strong, nonatomic) NSTimer* timer;
  90. //模拟
  91. /**
  92. Type 定义 0 成功获取学员信息
  93. 1 学员还未在模拟器签到
  94. 2.已在模拟设备登录 未进行人脸比对
  95. 3 无法获取到当前训练科目
  96. 4 隔日签到记录
  97. 5 分钟学时科目异常
  98. */
  99. @property (strong, nonatomic) MNQtTrainVC *mnPeriodVC;
  100. @property (copy, nonatomic) NSString *mnTrainType;
  101. //大车
  102. /**
  103. Type 定义 0 成功获取终端信息
  104. 1 学员还未在终端签到
  105. 2 学员签到的记录没有绑定终端
  106. 3 学员签到记录绑定的终端没有找到终端
  107. 4 学员签到记录的终端不在线
  108. 5 连接的终端非车载计时终端
  109. 6 未找到带教教练
  110. */
  111. @property (strong, nonatomic) BigTruckVC *dcPeriodVC;
  112. @property (copy, nonatomic) NSString *dcTrainType;
  113. /**APNS的TOKEN
  114. */
  115. @property (strong, nonatomic) NSString* token;
  116. /**保存从picker里面选取的img
  117. */
  118. @property (strong,nonatomic) NSMutableArray* pickImgs;
  119. /**保存RGCardViewLayout的offset
  120. */
  121. @property (nonatomic, assign) NSInteger layoutIndex;
  122. /**用户当前经纬
  123. */
  124. @property (nonatomic, retain) NSArray *locationArray;
  125. //将广告存入内存 如果有拿来用 没有就去本地找 都没有 就加载默认图片吧、、
  126. @property (nonatomic, retain) NSArray *adArray;
  127. //嵌入后台相关
  128. @property (nonatomic, assign) BOOL isBackgroundTask;
  129. @property (nonatomic, copy) NSString *backGoundTaskString;
  130. @property (nonatomic, retain) LocationTracker *locationTracker;
  131. @property (nonatomic, retain) NSTimer *locationUpdateTimer;
  132. @property (nonatomic, retain) NSTimer *uploadGPSTimer;
  133. @property (nonatomic, assign) BOOL allowOrentitaionRotation;
  134. /// 窗口
  135. @property (strong, nonatomic) UIWindow *window;
  136. /// APP管理的导航栏的堆栈
  137. @property (nonatomic, readonly, strong) RQNavigationControllerStack *navigationControllerStack;
  138. /// APP的服务层
  139. @property (nonatomic, readonly, strong) RQViewModelServicesImpl *services;
  140. /// 是否已经弹出键盘 主要用于微信朋友圈的判断
  141. @property (nonatomic, readwrite, assign , getter = isShowKeyboard) BOOL showKeyboard;
  142. /// 获取AppDelegate
  143. + (AppDelegate *)sharedDelegate;
  144. /**
  145. 接口留给ChooseVC用的。
  146. 不止会正常加载。而且会添加指导箭头
  147. */
  148. -(void)gotoMain;
  149. /**
  150. 接口留给推送用的。
  151. */
  152. -(void)gotoLoad;
  153. @property (nonatomic, copy) void (^ backgroundSessionCompletionHandler)(void); // 后台所有下载任务完成回调
  154. @property (readonly, strong) NSPersistentContainer *persistentContainer;
  155. @end
  156. /**
  157. 单例数据有2种。
  158. 2.用户配置信息,需要长期保存的。
  159. 3.不需要长期保存的。比如:是否计时,开始时间。学车参考,questionType。
  160. <xs:element name="getMyTopicFavs">
  161. */