Procházet zdrojové kódy

新需求 理论计时改版 - UI排版 95%

openlockPPP před 1 rokem
rodič
revize
9b19ef2510
41 změnil soubory, kde provedl 1138 přidání a 28 odebrání
  1. 84 0
      jiaPei.xcodeproj/project.pbxproj
  2. binární
      jiaPei.xcworkspace/xcuserdata/mimasigeling.xcuserdatad/UserInterfaceState.xcuserstate
  3. 4 1
      jiaPei/AppDelegate.h
  4. 23 0
      jiaPei/Images.xcassets/Modules/TimeModule/time_bg_img.imageset/Contents.json
  5. binární
      jiaPei/Images.xcassets/Modules/TimeModule/time_bg_img.imageset/time_bg_img.png
  6. binární
      jiaPei/Images.xcassets/Modules/TimeModule/time_bg_img.imageset/time_bg_img@2x.png
  7. binární
      jiaPei/Images.xcassets/Modules/TimeModule/time_bg_img.imageset/time_bg_img@3x.png
  8. 23 0
      jiaPei/Images.xcassets/Modules/TimeModule/timebtn_bg_img.imageset/Contents.json
  9. binární
      jiaPei/Images.xcassets/Modules/TimeModule/timebtn_bg_img.imageset/timebtn_bg_img.png
  10. binární
      jiaPei/Images.xcassets/Modules/TimeModule/timebtn_bg_img.imageset/timebtn_bg_img@2x.png
  11. binární
      jiaPei/Images.xcassets/Modules/TimeModule/timebtn_bg_img.imageset/timebtn_bg_img@3x.png
  12. 23 0
      jiaPei/Images.xcassets/Modules/TimeModule/提示.imageset/Contents.json
  13. binární
      jiaPei/Images.xcassets/Modules/TimeModule/提示.imageset/提示.png
  14. binární
      jiaPei/Images.xcassets/Modules/TimeModule/提示.imageset/提示@2x.png
  15. binární
      jiaPei/Images.xcassets/Modules/TimeModule/提示.imageset/提示@3x.png
  16. 23 20
      jiaPei/Modules/TimeModule/View/RQTimeADCell.m
  17. 27 3
      jiaPei/Modules/TimeModule/ViewModel/itemViewModel/RQTimeSingleItemViewModel.m
  18. 19 0
      jiaPei/NewTheory/NYBasetjTimeVC.h
  19. 27 0
      jiaPei/NewTheory/NYBasetjTimeVC.m
  20. 17 0
      jiaPei/NewTheory/NYGetjobTimeVC.h
  21. 32 0
      jiaPei/NewTheory/NYGetjobTimeVC.m
  22. 22 0
      jiaPei/NewTheory/NYGetjobTimeVC.xib
  23. 17 0
      jiaPei/NewTheory/NYTheoryTimeVC.h
  24. 79 0
      jiaPei/NewTheory/NYTheoryTimeVC.m
  25. 24 0
      jiaPei/NewTheory/View/NYTimeRuleCell.h
  26. 50 0
      jiaPei/NewTheory/View/NYTimeRuleCell.m
  27. 328 0
      jiaPei/NewTheory/View/NYTimeRuleCell.xib
  28. 22 0
      jiaPei/NewTheory/View/NYTimeStartRuleCell.h
  29. 37 0
      jiaPei/NewTheory/View/NYTimeStartRuleCell.m
  30. 81 0
      jiaPei/NewTheory/View/NYTimeStartRuleCell.xib
  31. 17 0
      jiaPei/NewTheory/ViewModel/NYTheoryTimeViewModel.h
  32. 59 0
      jiaPei/NewTheory/ViewModel/NYTheoryTimeViewModel.m
  33. 17 0
      jiaPei/NewTheory/ViewModel/NYTimeRuleItemViewModel.h
  34. 27 0
      jiaPei/NewTheory/ViewModel/NYTimeRuleItemViewModel.m
  35. 19 0
      jiaPei/NewTheory/ViewModel/NYTimeStartRuleViewModel.h
  36. 27 0
      jiaPei/NewTheory/ViewModel/NYTimeStartRuleViewModel.m
  37. 1 1
      jiaPei/OLD/Util/RQShareFunction.m
  38. 2 2
      jiaPei/OLD/Util/jiaPeiManager/jiaPeiManager.m
  39. 4 1
      jiaPei/PrefixHeader.pch
  40. 2 0
      jiaPei/UserInfo.h
  41. 1 0
      jiaPei/Utils/Router/RQRouter.m

+ 84 - 0
jiaPei.xcodeproj/project.pbxproj

@@ -85,6 +85,17 @@
 		900A2DE62A1FA89700395C1F /* RQBaseAppEventModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 900A2DE12A1FA89700395C1F /* RQBaseAppEventModule.m */; };
 		90626F3D2A204BC400C8FA05 /* kt_jq.db in Resources */ = {isa = PBXBuildFile; fileRef = 90626F3C2A204BC300C8FA05 /* kt_jq.db */; };
 		90626F402A20540600C8FA05 /* YNYDTJQQuestionModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 90626F3F2A20540600C8FA05 /* YNYDTJQQuestionModule.m */; };
+		90BA2E822A3177B50029A54A /* NYTheoryTimeVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 90BA2E802A3177B50029A54A /* NYTheoryTimeVC.m */; };
+		90BA2E872A3177DE0029A54A /* NYGetjobTimeVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 90BA2E852A3177DE0029A54A /* NYGetjobTimeVC.m */; };
+		90BA2E882A3177DE0029A54A /* NYGetjobTimeVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 90BA2E862A3177DE0029A54A /* NYGetjobTimeVC.xib */; };
+		90BA2E8B2A317BEB0029A54A /* NYBasetjTimeVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 90BA2E8A2A317BEB0029A54A /* NYBasetjTimeVC.m */; };
+		90BA2E8F2A31B2430029A54A /* NYTheoryTimeViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 90BA2E8E2A31B2430029A54A /* NYTheoryTimeViewModel.m */; };
+		90BA2E942A31DBFA0029A54A /* NYTimeRuleCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 90BA2E922A31DBFA0029A54A /* NYTimeRuleCell.m */; };
+		90BA2E952A31DBFA0029A54A /* NYTimeRuleCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 90BA2E932A31DBFA0029A54A /* NYTimeRuleCell.xib */; };
+		90BA2E982A32C53A0029A54A /* NYTimeRuleItemViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 90BA2E972A32C53A0029A54A /* NYTimeRuleItemViewModel.m */; };
+		90BA2E9C2A32CDBE0029A54A /* NYTimeStartRuleCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 90BA2E9A2A32CDBE0029A54A /* NYTimeStartRuleCell.m */; };
+		90BA2E9D2A32CDBE0029A54A /* NYTimeStartRuleCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 90BA2E9B2A32CDBE0029A54A /* NYTimeStartRuleCell.xib */; };
+		90BA2EA02A32D3B20029A54A /* NYTimeStartRuleViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 90BA2E9F2A32D3B20029A54A /* NYTimeStartRuleViewModel.m */; };
 		D00177E22886A6F70078949E /* RQExerciseExplainHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = D00177E12886A6F70078949E /* RQExerciseExplainHeaderView.m */; };
 		D00177E42886A70C0078949E /* RQExerciseExplainHeaderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D00177E32886A70C0078949E /* RQExerciseExplainHeaderView.xib */; };
 		D00177E72886AA650078949E /* RQExciseExplainHeaderGroupViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D00177E62886AA650078949E /* RQExciseExplainHeaderGroupViewModel.m */; };
@@ -1767,6 +1778,25 @@
 		90626F3C2A204BC300C8FA05 /* kt_jq.db */ = {isa = PBXFileReference; lastKnownFileType = file; path = kt_jq.db; sourceTree = "<group>"; };
 		90626F3E2A20540600C8FA05 /* YNYDTJQQuestionModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YNYDTJQQuestionModule.h; sourceTree = "<group>"; };
 		90626F3F2A20540600C8FA05 /* YNYDTJQQuestionModule.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YNYDTJQQuestionModule.m; sourceTree = "<group>"; };
+		90BA2E7F2A3177B50029A54A /* NYTheoryTimeVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NYTheoryTimeVC.h; sourceTree = "<group>"; };
+		90BA2E802A3177B50029A54A /* NYTheoryTimeVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NYTheoryTimeVC.m; sourceTree = "<group>"; };
+		90BA2E842A3177DE0029A54A /* NYGetjobTimeVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NYGetjobTimeVC.h; sourceTree = "<group>"; };
+		90BA2E852A3177DE0029A54A /* NYGetjobTimeVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NYGetjobTimeVC.m; sourceTree = "<group>"; };
+		90BA2E862A3177DE0029A54A /* NYGetjobTimeVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NYGetjobTimeVC.xib; sourceTree = "<group>"; };
+		90BA2E892A317BEB0029A54A /* NYBasetjTimeVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NYBasetjTimeVC.h; sourceTree = "<group>"; };
+		90BA2E8A2A317BEB0029A54A /* NYBasetjTimeVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NYBasetjTimeVC.m; sourceTree = "<group>"; };
+		90BA2E8D2A31B2430029A54A /* NYTheoryTimeViewModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NYTheoryTimeViewModel.h; sourceTree = "<group>"; };
+		90BA2E8E2A31B2430029A54A /* NYTheoryTimeViewModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NYTheoryTimeViewModel.m; sourceTree = "<group>"; };
+		90BA2E912A31DBFA0029A54A /* NYTimeRuleCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NYTimeRuleCell.h; sourceTree = "<group>"; };
+		90BA2E922A31DBFA0029A54A /* NYTimeRuleCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NYTimeRuleCell.m; sourceTree = "<group>"; };
+		90BA2E932A31DBFA0029A54A /* NYTimeRuleCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NYTimeRuleCell.xib; sourceTree = "<group>"; };
+		90BA2E962A32C53A0029A54A /* NYTimeRuleItemViewModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NYTimeRuleItemViewModel.h; sourceTree = "<group>"; };
+		90BA2E972A32C53A0029A54A /* NYTimeRuleItemViewModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NYTimeRuleItemViewModel.m; sourceTree = "<group>"; };
+		90BA2E992A32CDBE0029A54A /* NYTimeStartRuleCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NYTimeStartRuleCell.h; sourceTree = "<group>"; };
+		90BA2E9A2A32CDBE0029A54A /* NYTimeStartRuleCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NYTimeStartRuleCell.m; sourceTree = "<group>"; };
+		90BA2E9B2A32CDBE0029A54A /* NYTimeStartRuleCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NYTimeStartRuleCell.xib; sourceTree = "<group>"; };
+		90BA2E9E2A32D3B20029A54A /* NYTimeStartRuleViewModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NYTimeStartRuleViewModel.h; sourceTree = "<group>"; };
+		90BA2E9F2A32D3B20029A54A /* NYTimeStartRuleViewModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NYTimeStartRuleViewModel.m; sourceTree = "<group>"; };
 		D00177E02886A6F70078949E /* RQExerciseExplainHeaderView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RQExerciseExplainHeaderView.h; sourceTree = "<group>"; };
 		D00177E12886A6F70078949E /* RQExerciseExplainHeaderView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RQExerciseExplainHeaderView.m; sourceTree = "<group>"; };
 		D00177E32886A70C0078949E /* RQExerciseExplainHeaderView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = RQExerciseExplainHeaderView.xib; sourceTree = "<group>"; };
@@ -4392,6 +4422,7 @@
 		18F3F8C21D51CBE800FBEE79 /* TrainInfo */ = {
 			isa = PBXGroup;
 			children = (
+				90BA2E7B2A3175F80029A54A /* NewTheory */,
 				1D4D5BB41E7FBA0400518BA5 /* TimingBaseVC.h */,
 				1D4D5BB51E7FBA0400518BA5 /* TimingBaseVC.m */,
 				D0D34D422465565A00DD5A58 /* TimingCommonCell.h */,
@@ -4442,6 +4473,48 @@
 			path = RQAPPEventModuleComponent;
 			sourceTree = "<group>";
 		};
+		90BA2E7B2A3175F80029A54A /* NewTheory */ = {
+			isa = PBXGroup;
+			children = (
+				90BA2E902A31DB880029A54A /* View */,
+				90BA2E8C2A31B2100029A54A /* ViewModel */,
+				90BA2E7F2A3177B50029A54A /* NYTheoryTimeVC.h */,
+				90BA2E802A3177B50029A54A /* NYTheoryTimeVC.m */,
+				90BA2E842A3177DE0029A54A /* NYGetjobTimeVC.h */,
+				90BA2E852A3177DE0029A54A /* NYGetjobTimeVC.m */,
+				90BA2E862A3177DE0029A54A /* NYGetjobTimeVC.xib */,
+				90BA2E892A317BEB0029A54A /* NYBasetjTimeVC.h */,
+				90BA2E8A2A317BEB0029A54A /* NYBasetjTimeVC.m */,
+			);
+			path = NewTheory;
+			sourceTree = "<group>";
+		};
+		90BA2E8C2A31B2100029A54A /* ViewModel */ = {
+			isa = PBXGroup;
+			children = (
+				90BA2E8D2A31B2430029A54A /* NYTheoryTimeViewModel.h */,
+				90BA2E8E2A31B2430029A54A /* NYTheoryTimeViewModel.m */,
+				90BA2E962A32C53A0029A54A /* NYTimeRuleItemViewModel.h */,
+				90BA2E972A32C53A0029A54A /* NYTimeRuleItemViewModel.m */,
+				90BA2E9E2A32D3B20029A54A /* NYTimeStartRuleViewModel.h */,
+				90BA2E9F2A32D3B20029A54A /* NYTimeStartRuleViewModel.m */,
+			);
+			path = ViewModel;
+			sourceTree = "<group>";
+		};
+		90BA2E902A31DB880029A54A /* View */ = {
+			isa = PBXGroup;
+			children = (
+				90BA2E912A31DBFA0029A54A /* NYTimeRuleCell.h */,
+				90BA2E922A31DBFA0029A54A /* NYTimeRuleCell.m */,
+				90BA2E932A31DBFA0029A54A /* NYTimeRuleCell.xib */,
+				90BA2E992A32CDBE0029A54A /* NYTimeStartRuleCell.h */,
+				90BA2E9A2A32CDBE0029A54A /* NYTimeStartRuleCell.m */,
+				90BA2E9B2A32CDBE0029A54A /* NYTimeStartRuleCell.xib */,
+			);
+			path = View;
+			sourceTree = "<group>";
+		};
 		9A75AB77D77332A5EDD30629 /* Pods */ = {
 			isa = PBXGroup;
 			children = (
@@ -10097,10 +10170,12 @@
 				D0295BB9243F0B8B00B46AB1 /* 1-4-90.jpg in Resources */,
 				D0295C38243F0B8B00B46AB1 /* 1-4-123.jpg in Resources */,
 				D0295C0D243F0B8B00B46AB1 /* 1-4-27.jpg in Resources */,
+				90BA2E882A3177DE0029A54A /* NYGetjobTimeVC.xib in Resources */,
 				D0295B67243F0B8A00B46AB1 /* 4-14-5.jpg in Resources */,
 				D0295CC6243F0B8B00B46AB1 /* 1-4-10.jpg in Resources */,
 				D0EF8FEE2888F88A00CC4F96 /* RQExerciseExamAlertView.xib in Resources */,
 				D0295CFF243F0B8C00B46AB1 /* 1-10-5.jpg in Resources */,
+				90BA2E952A31DBFA0029A54A /* NYTimeRuleCell.xib in Resources */,
 				D0295B61243F0B8A00B46AB1 /* 1-2-36.jpg in Resources */,
 				D0295C76243F0B8B00B46AB1 /* 1-3-7.jpg in Resources */,
 				D0ED401428F6B47500086901 /* RQVipProblemNewCell.xib in Resources */,
@@ -10209,6 +10284,7 @@
 				D0295D83243F0B8C00B46AB1 /* light4.mp3 in Resources */,
 				D0295BBA243F0B8B00B46AB1 /* 1-4-84.jpg in Resources */,
 				D0295BFA243F0B8B00B46AB1 /* 1-2-43.jpg in Resources */,
+				90BA2E9D2A32CDBE0029A54A /* NYTimeStartRuleCell.xib in Resources */,
 				D0295C6B243F0B8B00B46AB1 /* 1-5-1.jpg in Resources */,
 				D0A927D927078CF4005902DB /* com.baidu.idl.face.model.faceSDK.bundle in Resources */,
 				D0295B64243F0B8A00B46AB1 /* 3-13-6.jpg in Resources */,
@@ -10470,6 +10546,7 @@
 				D0870E362701B5A0004EC94E /* RQVerificationSmsCodeViewModel.m in Sources */,
 				D04DF6CC27006C57006E3633 /* CommonProfileHeaderItemViewModel.m in Sources */,
 				D0E9AC132524840500DD6EEC /* XYUUID.m in Sources */,
+				90BA2E982A32C53A0029A54A /* NYTimeRuleItemViewModel.m in Sources */,
 				18ABA2F11C3A899F0089E0A0 /* PicSymbolTableViewCell.m in Sources */,
 				18D3A6CC1C08463300A12123 /* SubTitleCell.m in Sources */,
 				D04DF6D827006C57006E3633 /* RQCommonCollectionViewController.m in Sources */,
@@ -10501,6 +10578,7 @@
 				D04DF79E27006F72006E3633 /* NSAttributedString+RQExtension.m in Sources */,
 				D0B351E42816A9B90046A872 /* RQProfileModule.m in Sources */,
 				D057C1C229F50FC5002F4AB2 /* RQPlaceListHeaderView.m in Sources */,
+				90BA2E8B2A317BEB0029A54A /* NYBasetjTimeVC.m in Sources */,
 				D04DF6B527006C56006E3633 /* RQWebViewModel.m in Sources */,
 				D057C20D29F5116B002F4AB2 /* RQHTTPService+RQGetPlaceVideoList.m in Sources */,
 				D05A320D29220C04002EB3E2 /* RQVipAuthorityNewItemViewModel.m in Sources */,
@@ -10532,6 +10610,7 @@
 				D05FC77527CCD2F600DA3209 /* RQVIPModule.m in Sources */,
 				D00177E72886AA650078949E /* RQExciseExplainHeaderGroupViewModel.m in Sources */,
 				D0354B01230E345100E1C54D /* MBProgressHUD+DS.m in Sources */,
+				90BA2E942A31DBFA0029A54A /* NYTimeRuleCell.m in Sources */,
 				D0870D672701A6B9004EC94E /* NSObject+BKBlockExecution.m in Sources */,
 				D04DF7C227006F72006E3633 /* RQKeyedSubscript.m in Sources */,
 				D0870D5C2701A6B9004EC94E /* NSDictionary+BlocksKit.m in Sources */,
@@ -10623,6 +10702,7 @@
 				D057C1F829F5107A002F4AB2 /* RQPlaceListViewModel.m in Sources */,
 				D0D1F67D283F84DF0086C6AE /* RQTestQuestionsViewController.m in Sources */,
 				D02010C629373AE8001B9F4D /* SLImageView.m in Sources */,
+				90BA2E822A3177B50029A54A /* NYTheoryTimeVC.m in Sources */,
 				D073984328D46C8D003496F9 /* RQAboutViewModel.m in Sources */,
 				D02010E229373AE8001B9F4D /* UIButton+SLTitleImage.m in Sources */,
 				D08E8E5B2930C2A5001CEF97 /* RQTimeSingleItemViewModel.m in Sources */,
@@ -10812,6 +10892,7 @@
 				D04DF6D127006C57006E3633 /* RQCommonGroupViewModel.m in Sources */,
 				D00A14FD2754A41C00793046 /* RQVideoModule.m in Sources */,
 				D05A320529220999002EB3E2 /* RQVipAuthorityNewCell.m in Sources */,
+				90BA2E9C2A32CDBE0029A54A /* NYTimeStartRuleCell.m in Sources */,
 				D087A18D28DAB840001EB517 /* IAPManager.m in Sources */,
 				D0870D812701A6B9004EC94E /* UIBezierPath+YYAdd.m in Sources */,
 				D0481FD42861F7F300BD0E4E /* RQSpecialPractiseViewModel.m in Sources */,
@@ -10860,6 +10941,7 @@
 				18CDE8181CC60439004EF0A6 /* ScanVC.m in Sources */,
 				D0870D802701A6B9004EC94E /* UITextField+YYAdd.m in Sources */,
 				D04DF6B827006C56006E3633 /* RQTableViewModel.m in Sources */,
+				90BA2E8F2A31B2430029A54A /* NYTheoryTimeViewModel.m in Sources */,
 				D0B699ED292E165700DE2C69 /* RQExplainVideoViewModel.m in Sources */,
 				D081CD0527F15AAB0054317F /* RQYDTXCQuestionModule.m in Sources */,
 				D0870E3E2701B5A0004EC94E /* RQRegisterViewController.m in Sources */,
@@ -11106,6 +11188,7 @@
 				D00A152B2754A82400793046 /* CGXVerticalMenuIndicatorLineView+RQExtension.m in Sources */,
 				D02010DB29373AE8001B9F4D /* SLImageZoomView.m in Sources */,
 				D074573729272C670050BE10 /* QMChatRoomImageCell.m in Sources */,
+				90BA2EA02A32D3B20029A54A /* NYTimeStartRuleViewModel.m in Sources */,
 				D0B2D4E8289A441B00D6C5F4 /* RQExerciseExamKnowAlertView.m in Sources */,
 				D0481DC2289944BF00F90D55 /* RQSimulateExamBeginItemViewModel.m in Sources */,
 				D074576129272C680050BE10 /* QMPickedOtherViewController.m in Sources */,
@@ -11193,6 +11276,7 @@
 				D04DF7B727006F72006E3633 /* RQCommonManager.m in Sources */,
 				1864B5CC1BFF456800D91A73 /* Grade.m in Sources */,
 				D04DF79B27006F72006E3633 /* NSError+RQExtension.m in Sources */,
+				90BA2E872A3177DE0029A54A /* NYGetjobTimeVC.m in Sources */,
 				18886FEC1C3B700000E61BE2 /* symbolCollectionCell.m in Sources */,
 				D04DF6C727006C57006E3633 /* RQCommonQRCodeItemViewModel.m in Sources */,
 				D0F9E82D2824F6E60073A7D1 /* RQChooseCarTypeItemViewModel.m in Sources */,

binární
jiaPei.xcworkspace/xcuserdata/mimasigeling.xcuserdatad/UserInterfaceState.xcuserstate


+ 4 - 1
jiaPei/AppDelegate.h

@@ -9,6 +9,7 @@
 
 
 //为了保留计时页面不被内存清掉
+#import "NYBasetjTimeVC.h"
 #import "PeriodVC.h"
 #import "ShiCaoPeriodVC.h"
 //进入后台相关
@@ -87,7 +88,9 @@
 @property (strong, nonatomic) NSTimer* timer;
 
 //将理论计时页面放在这里 然后定时器也在这里面
-@property (strong, nonatomic) PeriodVC *tPeriodVC;
+//@property (strong, nonatomic) PeriodVC *tPeriodVC;
+@property (strong, nonatomic) NYBasetjTimeVC *tPeriodVC;
+
 
 //将实操计时页面放在这里 然后定时器也在这里面
 @property (strong, nonatomic) ShiCaoPeriodVC *scPeriodVC;

+ 23 - 0
jiaPei/Images.xcassets/Modules/TimeModule/time_bg_img.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "filename" : "time_bg_img.png",
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "time_bg_img@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "time_bg_img@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

binární
jiaPei/Images.xcassets/Modules/TimeModule/time_bg_img.imageset/time_bg_img.png


binární
jiaPei/Images.xcassets/Modules/TimeModule/time_bg_img.imageset/time_bg_img@2x.png


binární
jiaPei/Images.xcassets/Modules/TimeModule/time_bg_img.imageset/time_bg_img@3x.png


+ 23 - 0
jiaPei/Images.xcassets/Modules/TimeModule/timebtn_bg_img.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "filename" : "timebtn_bg_img.png",
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "timebtn_bg_img@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "timebtn_bg_img@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

binární
jiaPei/Images.xcassets/Modules/TimeModule/timebtn_bg_img.imageset/timebtn_bg_img.png


binární
jiaPei/Images.xcassets/Modules/TimeModule/timebtn_bg_img.imageset/timebtn_bg_img@2x.png


binární
jiaPei/Images.xcassets/Modules/TimeModule/timebtn_bg_img.imageset/timebtn_bg_img@3x.png


+ 23 - 0
jiaPei/Images.xcassets/Modules/TimeModule/提示.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "filename" : "提示.png",
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "提示@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "提示@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

binární
jiaPei/Images.xcassets/Modules/TimeModule/提示.imageset/提示.png


binární
jiaPei/Images.xcassets/Modules/TimeModule/提示.imageset/提示@2x.png


binární
jiaPei/Images.xcassets/Modules/TimeModule/提示.imageset/提示@3x.png


+ 23 - 20
jiaPei/Modules/TimeModule/View/RQTimeADCell.m

@@ -51,31 +51,34 @@
 
 #pragma mark - SDCycleScrollViewDelegate
 - (void)cycleScrollView:(SDCycleScrollView *)cycleScrollView didSelectItemAtIndex:(NSInteger)index {
+    
     if (self.adArray.count >= 1) {
         if (index == 1) return;
     } else {
         if (index >= self.adArray.count) return;
     }
-    NSDictionary *dic = self.adArray[index];
-    [RQ_SHARE_FUNCTION saveObjectWithObject:dic ForKey:@"currentSelectDic"];
-    
-    NSString *skipType = dic[@"OPENTYPE"];
-    
-    if ([skipType isEqualToString:@"1"]) {
-        [RQ_SHARE_FUNCTION gotoWebViewWithUrlStr:dic[@"URL"]];
-    }else{
-        if ([dic[@"ADTYPE"] isEqualToString:@"2"]) {
-            [RQ_SHARE_FUNCTION miniwithUserName:dic[@"URL"] path:dic[@"AI_XCX_URL"]? : @""];
-        } else if ([dic[@"ADTYPE"] isEqualToString:@"1"]) {
-            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:dic[@"URL"]] options:@{} completionHandler:^(BOOL success) {
-                
-            }];
-        } else if ([dic[@"ADTYPE"] isEqualToString:@"3"]) {
-            WXSubscribeMsgReq *req = [[WXSubscribeMsgReq alloc] init];
-            req.scene = 1;
-            req.templateId = @"1iZwYeI2QtSXZ3rTRkQ42wgRkd7NSINzem8R-LvtHYw";
-            req.reserved = @"";
-            [WXApi sendReq:req completion:nil];
+    @synchronized (self.adArray) {
+        NSDictionary *dic= self.adArray[index];
+        [RQ_SHARE_FUNCTION saveObjectWithObject:dic ForKey:@"currentSelectDic"];
+        
+        NSString *skipType = dic[@"OPENTYPE"];
+        
+        if ([skipType isEqualToString:@"1"]) {
+            [RQ_SHARE_FUNCTION gotoWebViewWithUrlStr:dic[@"URL"]];
+        }else{
+            if ([dic[@"ADTYPE"] isEqualToString:@"2"]) {
+                [RQ_SHARE_FUNCTION miniwithUserName:dic[@"URL"] path:dic[@"AI_XCX_URL"]? : @""];
+            } else if ([dic[@"ADTYPE"] isEqualToString:@"1"]) {
+                [[UIApplication sharedApplication] openURL:[NSURL URLWithString:dic[@"URL"]] options:@{} completionHandler:^(BOOL success) {
+                    
+                }];
+            } else if ([dic[@"ADTYPE"] isEqualToString:@"3"]) {
+                WXSubscribeMsgReq *req = [[WXSubscribeMsgReq alloc] init];
+                req.scene = 1;
+                req.templateId = @"1iZwYeI2QtSXZ3rTRkQ42wgRkd7NSINzem8R-LvtHYw";
+                req.reserved = @"";
+                [WXApi sendReq:req completion:nil];
+            }
         }
     }
 }

+ 27 - 3
jiaPei/Modules/TimeModule/ViewModel/itemViewModel/RQTimeSingleItemViewModel.m

@@ -10,9 +10,11 @@
 #import "TrainInfoVC.h"//我的学时
 #import "RQCustomWebViewViewController.h"
 #import "ScanVC.h"
+#import "NYTheoryTimeViewModel.h"
 
 @interface RQTimeSingleItemViewModel () {
-    PeriodVC                   *KVOPeriodVC;
+//    PeriodVC                   *KVOPeriodVC;
+    NYBasetjTimeVC             *KVOPeriodVC;
     ShiCaoPeriodVC             *KVOSCPeriodVC;
     
     NSString                *orderId;            // 订单ID
@@ -67,14 +69,36 @@
 }
 
 - (void)gotoPeriod {
-    PeriodVC *vc = nil;
+    
+    NYBasetjTimeVC *vc = nil;
     if (myDelegate.tPeriodVC) {
         vc = myDelegate.tPeriodVC;
     }else {
-        KVOPeriodVC = [[PeriodVC alloc] init];
+        KVOPeriodVC = RQ_USER_MANAGER.isCykh ? [self getNYTheoryTimeVC] : [self getNYTheoryTimeVC] ;
         vc = KVOPeriodVC;
     }
     [self navPushHideTabbarToVC:vc];
+    
+//    PeriodVC *vc = nil;
+//    if (myDelegate.tPeriodVC) {
+//        vc = myDelegate.tPeriodVC;
+//    }else {
+//        KVOPeriodVC = [[PeriodVC alloc] init];
+//        vc = KVOPeriodVC;
+//    }
+//    [self navPushHideTabbarToVC:vc];
+}
+
+- (NYBasetjTimeVC *)getNYTheoryTimeVC{
+    
+    NYTheoryTimeViewModel *viewModel = [[NYTheoryTimeViewModel alloc]  initWithServices:RQ_APPDELEGATE.services params:nil];
+    NYTheoryTimeVC *timeViewController = [[NYTheoryTimeVC alloc] initWithViewModel:viewModel];
+//    ///配置
+//    [selfrq_configViewController:timePageViewController imageName:imageNamesArray[tagType] selectedImageName:selectedImageNamesArray[tagType] title:titlesArray[tagType] itemTag:tagType];
+//    ///添加到导航栏的栈底控制器
+//    timePageViewController.hidesBottomBarWhenPushed = NO;
+    
+    return timeViewController;
 }
 
 - (void)gotoTimi {

+ 19 - 0
jiaPei/NewTheory/NYBasetjTimeVC.h

@@ -0,0 +1,19 @@
+//
+//  NYBasetjTimeVC.h
+//  jiaPei
+//
+//  Created by Ning.ge on 2023/6/8.
+//  Copyright © 2023 JCZ. All rights reserved.
+//
+
+#import "RQCommonCollectionViewController.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface NYBasetjTimeVC : RQCommonCollectionViewController
+
+@property (nonatomic, copy) NSString *secondString;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 27 - 0
jiaPei/NewTheory/NYBasetjTimeVC.m

@@ -0,0 +1,27 @@
+//
+//  NYBasetjTimeVC.m
+//  jiaPei
+//
+//  Created by Ning.ge on 2023/6/8.
+//  Copyright © 2023 JCZ. All rights reserved.
+//
+
+#import "NYBasetjTimeVC.h"
+
+@interface NYBasetjTimeVC ()
+
+@end
+
+@implementation NYBasetjTimeVC
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    // Do any additional setup after loading the view.
+    [self.navigationItem setLeftBarButtonItems:@[[UIBarButtonItem rq_backItemWithTitle:@"" imageName:@"back_white" target:self action:@selector(rq_back)]]];
+}
+
+/// 事件处理
+- (void)rq_back {
+    [self.navigationController popViewControllerAnimated:YES];
+}
+@end

+ 17 - 0
jiaPei/NewTheory/NYGetjobTimeVC.h

@@ -0,0 +1,17 @@
+//
+//  NYGetjobTimeVC.h
+//  jiaPei
+//
+//  Created by Ning.ge on 2023/6/8.
+//  Copyright © 2023 JCZ. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface NYGetjobTimeVC : NYBasetjTimeVC
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 32 - 0
jiaPei/NewTheory/NYGetjobTimeVC.m

@@ -0,0 +1,32 @@
+//
+//  NYGetjobTimeVC.m
+//  jiaPei
+//
+//  Created by Ning.ge on 2023/6/8.
+//  Copyright © 2023 JCZ. All rights reserved.
+//
+
+#import "NYGetjobTimeVC.h"
+
+@interface NYGetjobTimeVC ()
+
+@end
+
+@implementation NYGetjobTimeVC
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    // Do any additional setup after loading the view from its nib.
+}
+
+/*
+#pragma mark - Navigation
+
+// In a storyboard-based application, you will often want to do a little preparation before navigation
+- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
+    // Get the new view controller using [segue destinationViewController].
+    // Pass the selected object to the new view controller.
+}
+*/
+
+@end

+ 22 - 0
jiaPei/NewTheory/NYGetjobTimeVC.xib

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13142" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+    <dependencies>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12042"/>
+        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="NYGetjobTimeVC">
+            <connections>
+                <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
+            </connections>
+        </placeholder>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
+            <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
+            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+            <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
+            <viewLayoutGuide key="safeArea" id="Q5M-cg-NOt"/>
+        </view>
+    </objects>
+</document>

+ 17 - 0
jiaPei/NewTheory/NYTheoryTimeVC.h

@@ -0,0 +1,17 @@
+//
+//  NYTheoryTimeVC.h
+//  jiaPei
+//
+//  Created by Ning.ge on 2023/6/8.
+//  Copyright © 2023 JCZ. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface NYTheoryTimeVC : NYBasetjTimeVC
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 79 - 0
jiaPei/NewTheory/NYTheoryTimeVC.m

@@ -0,0 +1,79 @@
+//
+//  NYTheoryTimeVC.m
+//  jiaPei
+//
+//  Created by Ning.ge on 2023/6/8.
+//  Copyright © 2023 JCZ. All rights reserved.
+//
+
+#import "NYTheoryTimeVC.h"
+#import "NYTheoryTimeViewModel.h"
+
+@interface NYTheoryTimeVC ()
+/// viewModel
+@property (nonatomic, readonly, strong) NYTheoryTimeViewModel *viewModel;
+
+@end
+
+@implementation NYTheoryTimeVC
+@dynamic viewModel;
+
+#pragma mark - SystemMethod
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    // Do any additional setup after loading the view.
+    
+    
+    self.view.backgroundColor = UIColorHex(0x498EF5);
+    self.collectionView.backgroundColor = UIColorHex(0x498EF5);
+    self.collectionView.backgroundView.backgroundColor = UIColorHex(0x498EF5);
+}
+
+- (UIColor *)qmui_titleViewTintColor
+{
+    return UIColor.whiteColor;
+}
+
+- (UIImage *)qmui_navigationBarBackgroundImage
+{
+    return [UIImage qmui_imageWithColor:UIColorHex(0x498EF5)];
+}
+
+#pragma mark - OverrideMethods
+/// 配置collectionView的区域
+- (UIEdgeInsets)contentInset {
+    return UIEdgeInsetsMake(RQ_APPLICATION_STATUS_BAR_HEIGHT + RQ_APPLICATION_NAV_BAR_HEIGHT, 0, RQ_APPLICATION_TAB_BAR_HEIGHT + RQ_APPLICATION_SAFEAREA_BOTTOM_HEIGHT, 0);
+}
+
+- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView dequeueReusableCellWithIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath {
+    RQCommonGroupViewModel *groupViewModel = self.viewModel.dataSource[indexPath.section];
+    RQCommonCollectionItemViewModel *itemViewModel = groupViewModel.itemViewModels[indexPath.row];
+    return [NSClassFromString(itemViewModel.itemClassName) cellWithCollectionView:collectionView forIndexPath:indexPath];
+}
+
+- (void)configureCell:(RQCommonCell *)cell atIndexPath:(NSIndexPath *)indexPath withObject:(id)object {
+    [cell bindViewModel:object];
+}
+
+- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
+    switch (section) {
+        case 1: {
+            return UIEdgeInsetsMake(0, 16, 0, 16);
+        }
+        default: {
+            return UIEdgeInsetsZero;
+        }
+    }
+}
+
+- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section {
+    switch (section) {
+        case 1:
+            return (RQ_SCREEN_WIDTH - 32 - (RQ_FIT_HORIZONTAL(90.f) * 3)) / 2.f;
+            
+        default:
+            return 8;
+    }
+}
+
+@end

+ 24 - 0
jiaPei/NewTheory/View/NYTimeRuleCell.h

@@ -0,0 +1,24 @@
+//
+//  NYTimeRuleCell.h
+//  jiaPei
+//
+//  Created by Ning.ge on 2023/6/8.
+//  Copyright © 2023 JCZ. All rights reserved.
+//
+
+#import "RQCommonCollectionViewCell.h"
+#import "NYTimeRuleItemViewModel.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface NYTimeRuleCell : RQCommonCollectionViewCell
+@property (weak, nonatomic) IBOutlet UIView *ruleOne;
+@property (weak, nonatomic) IBOutlet UIView *ruleTwo;
+@property (weak, nonatomic) IBOutlet UIView *ruleThree;
+@property (weak, nonatomic) IBOutlet UIView *ruleFour;
+
+@property (weak, nonatomic) IBOutlet UIView *ruleMsg;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 50 - 0
jiaPei/NewTheory/View/NYTimeRuleCell.m

@@ -0,0 +1,50 @@
+//
+//  NYTimeRuleCell.m
+//  jiaPei
+//
+//  Created by Ning.ge on 2023/6/8.
+//  Copyright © 2023 JCZ. All rights reserved.
+//
+
+#import "NYTimeRuleCell.h"
+
+@interface NYTimeRuleCell ()
+@property (nonatomic, readwrite, strong) NYTimeRuleItemViewModel *viewModel;
+
+@end
+
+@implementation NYTimeRuleCell
+#pragma mark - PublicMethods
++ (instancetype)cellWithCollectionView:(UICollectionView *)collectionView forIndexPath:(NSIndexPath *)indexPath {
+    static NSString *ID = @"NYTimeRuleCell";
+    [collectionView registerNib:[UINib nibWithNibName:ID bundle:nil] forCellWithReuseIdentifier:ID];
+    NYTimeRuleCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:ID forIndexPath:indexPath];
+    if (!cell) cell = [self rq_viewFromXib];
+    return cell;
+}
+
+- (void)bindViewModel:(NYTimeRuleItemViewModel *)viewModel {
+    self.viewModel = viewModel;
+}
+
+#pragma mark - SystemMethods
+- (void)awakeFromNib {
+    [super awakeFromNib];
+    self.contentView.backgroundColor = UIColorHex(0x498EF5);
+    self.ruleOne.layer.backgroundColor = [UIColor colorWithRed:65025/255.0 green:65025/255.0 blue:65025/255.0 alpha:1.0].CGColor;
+    self.ruleOne.layer.shadowColor = [UIColor colorWithRed:0/255.0 green:0/255.0 blue:0/255.0 alpha:0.1600].CGColor;
+    
+    self.ruleTwo.layer.backgroundColor = [UIColor colorWithRed:65025/255.0 green:65025/255.0 blue:65025/255.0 alpha:1.0].CGColor;
+    self.ruleTwo.layer.shadowColor = [UIColor colorWithRed:0/255.0 green:0/255.0 blue:0/255.0 alpha:0.1600].CGColor;
+    
+    self.ruleThree.layer.backgroundColor = [UIColor colorWithRed:65025/255.0 green:65025/255.0 blue:65025/255.0 alpha:1.0].CGColor;
+    self.ruleThree.layer.shadowColor = [UIColor colorWithRed:0/255.0 green:0/255.0 blue:0/255.0 alpha:0.1600].CGColor;
+    
+    self.ruleFour.layer.backgroundColor = [UIColor colorWithRed:65025/255.0 green:65025/255.0 blue:65025/255.0 alpha:1.0].CGColor;
+    self.ruleFour.layer.shadowColor = [UIColor colorWithRed:0/255.0 green:0/255.0 blue:0/255.0 alpha:0.1600].CGColor;
+    
+    self.ruleMsg.layer.backgroundColor = [UIColor colorWithRed:65025/255.0 green:65025/255.0 blue:65025/255.0 alpha:1.0].CGColor;
+    self.ruleMsg.layer.shadowColor = [UIColor colorWithRed:0/255.0 green:0/255.0 blue:0/255.0 alpha:0.1600].CGColor;
+}
+
+@end

+ 328 - 0
jiaPei/NewTheory/View/NYTimeRuleCell.xib

@@ -0,0 +1,328 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+    <device id="retina5_9" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/>
+        <capability name="System colors in document resources" minToolsVersion="11.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="2We-PO-gZx" customClass="NYTimeRuleCell">
+            <rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
+            <autoresizingMask key="autoresizingMask"/>
+            <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+                <rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
+                <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                <subviews>
+                    <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="7V7-r1-Jzk">
+                        <rect key="frame" x="16" y="8" width="288" height="552"/>
+                        <color key="backgroundColor" red="0.94901960780000005" green="0.95294117649999999" blue="0.96078431369999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                        <userDefinedRuntimeAttributes>
+                            <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
+                                <integer key="value" value="10"/>
+                            </userDefinedRuntimeAttribute>
+                        </userDefinedRuntimeAttributes>
+                    </imageView>
+                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="根据运管部门要求,为了防止学员在打理论学时的时候挂学时,设定以下规则:" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumFontSize="12" adjustsFontForContentSizeCategory="YES" translatesAutoresizingMaskIntoConstraints="NO" id="K7X-6J-fzO">
+                        <rect key="frame" x="32" y="24.999999999999996" width="256" height="48.666666666666657"/>
+                        <constraints>
+                            <constraint firstAttribute="width" secondItem="K7X-6J-fzO" secondAttribute="height" multiplier="315:60" id="on5-hx-Jrm"/>
+                        </constraints>
+                        <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                        <color key="textColor" red="0.039215686270000001" green="0.1019607843" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                        <nil key="highlightedColor"/>
+                    </label>
+                    <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="equalSpacing" spacing="10" translatesAutoresizingMaskIntoConstraints="NO" id="zoa-0V-Tl1">
+                        <rect key="frame" x="32" y="93.666666666666657" width="256" height="333.33333333333337"/>
+                        <subviews>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Fz0-tB-ZPz">
+                                <rect key="frame" x="0.0" y="0.0" width="256" height="66.666666666666671"/>
+                                <subviews>
+                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="XGq-hB-pPf">
+                                        <rect key="frame" x="0.0" y="0.0" width="47" height="66.666666666666671"/>
+                                        <subviews>
+                                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="timeRule1" translatesAutoresizingMaskIntoConstraints="NO" id="lVK-19-pIf">
+                                                <rect key="frame" x="17.333333333333336" y="15.999999999999996" width="12.333333333333336" height="34.666666666666657"/>
+                                                <constraints>
+                                                    <constraint firstAttribute="width" secondItem="lVK-19-pIf" secondAttribute="height" multiplier="15:42" id="4gm-6v-hk7"/>
+                                                </constraints>
+                                            </imageView>
+                                        </subviews>
+                                        <color key="backgroundColor" red="0.28627450980000002" green="0.5568627451" blue="0.96078431369999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                        <constraints>
+                                            <constraint firstItem="lVK-19-pIf" firstAttribute="height" secondItem="XGq-hB-pPf" secondAttribute="height" multiplier="42/81" id="Lrf-wE-N3J"/>
+                                            <constraint firstAttribute="width" secondItem="XGq-hB-pPf" secondAttribute="height" multiplier="29:41" id="fRy-2O-fFj"/>
+                                            <constraint firstItem="lVK-19-pIf" firstAttribute="centerX" secondItem="XGq-hB-pPf" secondAttribute="centerX" id="g0I-4I-ykV"/>
+                                            <constraint firstItem="lVK-19-pIf" firstAttribute="centerY" secondItem="XGq-hB-pPf" secondAttribute="centerY" id="sb5-HM-Ynr"/>
+                                        </constraints>
+                                    </view>
+                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="开启理论计时后不允许最小化且不能切换到别的软件,否则计时暂停" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumFontSize="12" adjustsFontForContentSizeCategory="YES" translatesAutoresizingMaskIntoConstraints="NO" id="62M-fV-Jl4">
+                                        <rect key="frame" x="63" y="7.9999999999999964" width="185" height="50.666666666666657"/>
+                                        <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                                        <color key="textColor" red="0.039215686270000001" green="0.1019607843" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                        <nil key="highlightedColor"/>
+                                    </label>
+                                </subviews>
+                                <color key="backgroundColor" systemColor="systemGray6Color"/>
+                                <constraints>
+                                    <constraint firstItem="XGq-hB-pPf" firstAttribute="leading" secondItem="Fz0-tB-ZPz" secondAttribute="leading" id="H85-a4-Nte"/>
+                                    <constraint firstItem="62M-fV-Jl4" firstAttribute="leading" secondItem="XGq-hB-pPf" secondAttribute="trailing" constant="16" id="JMY-Hy-obJ"/>
+                                    <constraint firstAttribute="trailing" secondItem="62M-fV-Jl4" secondAttribute="trailing" constant="8" id="Ki7-f3-egt"/>
+                                    <constraint firstAttribute="bottom" secondItem="XGq-hB-pPf" secondAttribute="bottom" id="SYK-kF-0rm"/>
+                                    <constraint firstAttribute="width" secondItem="Fz0-tB-ZPz" secondAttribute="height" multiplier="315/82" id="ZOO-HD-efq"/>
+                                    <constraint firstAttribute="bottom" secondItem="62M-fV-Jl4" secondAttribute="bottom" constant="8" id="eMe-yj-nbQ"/>
+                                    <constraint firstItem="62M-fV-Jl4" firstAttribute="top" secondItem="Fz0-tB-ZPz" secondAttribute="top" constant="8" id="gZD-Ar-qoc"/>
+                                    <constraint firstItem="XGq-hB-pPf" firstAttribute="top" secondItem="Fz0-tB-ZPz" secondAttribute="top" id="uWa-lr-rKc"/>
+                                </constraints>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="size" keyPath="layer.shadowOffset">
+                                        <size key="value" width="0.0" height="3"/>
+                                    </userDefinedRuntimeAttribute>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="layer.shadowOpacity">
+                                        <integer key="value" value="1"/>
+                                    </userDefinedRuntimeAttribute>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="layer.shadowRadius ">
+                                        <integer key="value" value="6"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                            </view>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Os5-s3-F5V">
+                                <rect key="frame" x="0.0" y="76.666666666666686" width="256" height="64.333333333333314"/>
+                                <subviews>
+                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="B9i-bm-Dg4">
+                                        <rect key="frame" x="0.0" y="0.0" width="47" height="64.333333333333329"/>
+                                        <subviews>
+                                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="timeRule2" translatesAutoresizingMaskIntoConstraints="NO" id="ZZs-f3-E5X">
+                                                <rect key="frame" x="13.333333333333334" y="15.000000000000004" width="20.333333333333329" height="34.333333333333343"/>
+                                                <constraints>
+                                                    <constraint firstAttribute="width" secondItem="ZZs-f3-E5X" secondAttribute="height" multiplier="25:42" id="Saj-BO-iiy"/>
+                                                </constraints>
+                                            </imageView>
+                                        </subviews>
+                                        <color key="backgroundColor" red="0.28627450980000002" green="0.5568627451" blue="0.96078431369999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                        <constraints>
+                                            <constraint firstItem="ZZs-f3-E5X" firstAttribute="centerX" secondItem="B9i-bm-Dg4" secondAttribute="centerX" id="O9Y-Ih-9sq"/>
+                                            <constraint firstAttribute="width" secondItem="B9i-bm-Dg4" secondAttribute="height" multiplier="58:79" id="fkv-cT-aZS"/>
+                                            <constraint firstItem="ZZs-f3-E5X" firstAttribute="height" secondItem="B9i-bm-Dg4" secondAttribute="height" multiplier="42/79" id="mcd-cx-ofM"/>
+                                            <constraint firstItem="ZZs-f3-E5X" firstAttribute="centerY" secondItem="B9i-bm-Dg4" secondAttribute="centerY" id="pNM-0x-r5O"/>
+                                        </constraints>
+                                    </view>
+                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="每天计时最大有效时间为4学时,单条学时不得超过4学时,否则视为无效学时" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumFontSize="12" adjustsFontForContentSizeCategory="YES" translatesAutoresizingMaskIntoConstraints="NO" id="YXh-X7-qns">
+                                        <rect key="frame" x="63" y="8.0000000000000036" width="185" height="48.333333333333343"/>
+                                        <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                                        <color key="textColor" red="0.039215686270000001" green="0.1019607843" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                        <nil key="highlightedColor"/>
+                                    </label>
+                                </subviews>
+                                <color key="backgroundColor" systemColor="systemGray6Color"/>
+                                <constraints>
+                                    <constraint firstAttribute="bottom" secondItem="YXh-X7-qns" secondAttribute="bottom" constant="8" id="3iT-Sm-DJN"/>
+                                    <constraint firstItem="YXh-X7-qns" firstAttribute="top" secondItem="Os5-s3-F5V" secondAttribute="top" constant="8" id="HM2-tH-KAJ"/>
+                                    <constraint firstAttribute="bottom" secondItem="B9i-bm-Dg4" secondAttribute="bottom" id="IhJ-Rm-3yc"/>
+                                    <constraint firstItem="YXh-X7-qns" firstAttribute="leading" secondItem="B9i-bm-Dg4" secondAttribute="trailing" constant="16" id="R18-x2-2zR"/>
+                                    <constraint firstAttribute="trailing" secondItem="YXh-X7-qns" secondAttribute="trailing" constant="8" id="gOr-c6-BQc"/>
+                                    <constraint firstItem="B9i-bm-Dg4" firstAttribute="leading" secondItem="Os5-s3-F5V" secondAttribute="leading" id="mdw-9f-zPS"/>
+                                    <constraint firstItem="B9i-bm-Dg4" firstAttribute="top" secondItem="Os5-s3-F5V" secondAttribute="top" id="qJZ-MF-kyi"/>
+                                    <constraint firstAttribute="width" secondItem="Os5-s3-F5V" secondAttribute="height" multiplier="315/79" id="utG-iN-Ygx"/>
+                                </constraints>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="size" keyPath="layer.shadowOffset">
+                                        <size key="value" width="0.0" height="3"/>
+                                    </userDefinedRuntimeAttribute>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="layer.shadowOpacity">
+                                        <integer key="value" value="1"/>
+                                    </userDefinedRuntimeAttribute>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="layer.shadowRadius ">
+                                        <integer key="value" value="6"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                            </view>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="bRb-65-iMO">
+                                <rect key="frame" x="0.0" y="151" width="256" height="87.666666666666686"/>
+                                <subviews>
+                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="PPl-Pa-KaS">
+                                        <rect key="frame" x="0.0" y="0.0" width="47" height="87.666666666666671"/>
+                                        <subviews>
+                                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="timeRule3" translatesAutoresizingMaskIntoConstraints="NO" id="M2A-VC-RsT">
+                                                <rect key="frame" x="13.333333333333334" y="26.666666666666661" width="20.333333333333329" height="34.333333333333343"/>
+                                                <constraints>
+                                                    <constraint firstAttribute="width" secondItem="M2A-VC-RsT" secondAttribute="height" multiplier="25:42" id="vB7-YN-Jwr"/>
+                                                </constraints>
+                                            </imageView>
+                                        </subviews>
+                                        <color key="backgroundColor" red="0.28627450980000002" green="0.5568627451" blue="0.96078431369999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                        <constraints>
+                                            <constraint firstAttribute="width" secondItem="PPl-Pa-KaS" secondAttribute="height" multiplier="58:108" id="55D-ba-lt5"/>
+                                            <constraint firstItem="M2A-VC-RsT" firstAttribute="height" secondItem="PPl-Pa-KaS" secondAttribute="height" multiplier="42/108" id="SwR-fr-Jlq"/>
+                                            <constraint firstItem="M2A-VC-RsT" firstAttribute="centerY" secondItem="PPl-Pa-KaS" secondAttribute="centerY" id="gCa-UX-b63"/>
+                                            <constraint firstItem="M2A-VC-RsT" firstAttribute="centerX" secondItem="PPl-Pa-KaS" secondAttribute="centerX" id="gmz-lE-JKe"/>
+                                        </constraints>
+                                    </view>
+                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="手机计时和网站计时同时只能有一种生效, 作为惩罚机制,多打的学时将被列入限制学时,会造成当天无法打满4学时,切记" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumFontSize="12" adjustsFontForContentSizeCategory="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fOn-Vc-yAX">
+                                        <rect key="frame" x="63" y="8" width="185" height="71.666666666666671"/>
+                                        <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                                        <color key="textColor" red="0.039215686270000001" green="0.1019607843" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                        <nil key="highlightedColor"/>
+                                    </label>
+                                </subviews>
+                                <color key="backgroundColor" systemColor="systemGray6Color"/>
+                                <constraints>
+                                    <constraint firstItem="fOn-Vc-yAX" firstAttribute="leading" secondItem="PPl-Pa-KaS" secondAttribute="trailing" constant="16" id="59M-8d-VXE"/>
+                                    <constraint firstAttribute="bottom" secondItem="fOn-Vc-yAX" secondAttribute="bottom" constant="8" id="Fka-VP-d4S"/>
+                                    <constraint firstItem="fOn-Vc-yAX" firstAttribute="top" secondItem="bRb-65-iMO" secondAttribute="top" constant="8" id="S8I-dw-nIC"/>
+                                    <constraint firstAttribute="trailing" secondItem="fOn-Vc-yAX" secondAttribute="trailing" constant="8" id="VrV-tm-uEV"/>
+                                    <constraint firstItem="PPl-Pa-KaS" firstAttribute="top" secondItem="bRb-65-iMO" secondAttribute="top" id="WKw-kE-yT5"/>
+                                    <constraint firstItem="PPl-Pa-KaS" firstAttribute="leading" secondItem="bRb-65-iMO" secondAttribute="leading" id="lmH-Y0-6NR"/>
+                                    <constraint firstAttribute="bottom" secondItem="PPl-Pa-KaS" secondAttribute="bottom" id="ooq-4S-uW8"/>
+                                </constraints>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="size" keyPath="layer.shadowOffset">
+                                        <size key="value" width="0.0" height="3"/>
+                                    </userDefinedRuntimeAttribute>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="layer.shadowOpacity">
+                                        <integer key="value" value="1"/>
+                                    </userDefinedRuntimeAttribute>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="layer.shadowRadius ">
+                                        <integer key="value" value="6"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                            </view>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="aAP-eb-23N">
+                                <rect key="frame" x="0.0" y="248.6666666666666" width="256" height="84.666666666666657"/>
+                                <subviews>
+                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="diX-Bq-lvl">
+                                        <rect key="frame" x="0.0" y="0.0" width="47" height="84.666666666666671"/>
+                                        <subviews>
+                                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="timeRule4" translatesAutoresizingMaskIntoConstraints="NO" id="gFO-W9-aBY">
+                                                <rect key="frame" x="13" y="25.333333333333371" width="21" height="34"/>
+                                                <constraints>
+                                                    <constraint firstAttribute="width" secondItem="gFO-W9-aBY" secondAttribute="height" multiplier="26:42" id="nrW-aI-4Pz"/>
+                                                </constraints>
+                                            </imageView>
+                                        </subviews>
+                                        <color key="backgroundColor" red="0.28627450980000002" green="0.5568627451" blue="0.96078431369999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                        <constraints>
+                                            <constraint firstAttribute="width" secondItem="diX-Bq-lvl" secondAttribute="height" multiplier="58:104" id="Fc5-Pa-JFj"/>
+                                            <constraint firstItem="gFO-W9-aBY" firstAttribute="centerX" secondItem="diX-Bq-lvl" secondAttribute="centerX" id="K6x-sa-JVZ"/>
+                                            <constraint firstItem="gFO-W9-aBY" firstAttribute="height" secondItem="diX-Bq-lvl" secondAttribute="height" multiplier="42/104" id="Moo-Da-AaA"/>
+                                            <constraint firstItem="gFO-W9-aBY" firstAttribute="centerY" secondItem="diX-Bq-lvl" secondAttribute="centerY" id="xxc-BW-uYU"/>
+                                        </constraints>
+                                    </view>
+                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="计时完成后,请点击结束计时并立即上传,服务器要与运管系统同步,约30分后才会反馈回手机" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumFontSize="12" adjustsFontForContentSizeCategory="YES" translatesAutoresizingMaskIntoConstraints="NO" id="WBT-qW-nGB">
+                                        <rect key="frame" x="63" y="8" width="185" height="68.666666666666671"/>
+                                        <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                                        <color key="textColor" red="0.039215686270000001" green="0.1019607843" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                        <nil key="highlightedColor"/>
+                                    </label>
+                                </subviews>
+                                <color key="backgroundColor" systemColor="systemGray6Color"/>
+                                <constraints>
+                                    <constraint firstItem="WBT-qW-nGB" firstAttribute="top" secondItem="aAP-eb-23N" secondAttribute="top" constant="8" id="9Uz-6F-Je0"/>
+                                    <constraint firstItem="diX-Bq-lvl" firstAttribute="leading" secondItem="aAP-eb-23N" secondAttribute="leading" id="A8P-xa-iIY"/>
+                                    <constraint firstItem="WBT-qW-nGB" firstAttribute="leading" secondItem="diX-Bq-lvl" secondAttribute="trailing" constant="16" id="BhF-Yv-KKT"/>
+                                    <constraint firstAttribute="bottom" secondItem="diX-Bq-lvl" secondAttribute="bottom" id="VVk-CU-y9I"/>
+                                    <constraint firstAttribute="bottom" secondItem="WBT-qW-nGB" secondAttribute="bottom" constant="8" id="YFf-Ff-vV8"/>
+                                    <constraint firstAttribute="width" secondItem="aAP-eb-23N" secondAttribute="height" multiplier="315/104" id="ZDX-PB-D6I"/>
+                                    <constraint firstAttribute="trailing" secondItem="WBT-qW-nGB" secondAttribute="trailing" constant="8" id="bT3-88-ofM"/>
+                                    <constraint firstItem="diX-Bq-lvl" firstAttribute="top" secondItem="aAP-eb-23N" secondAttribute="top" id="gpN-rj-KMZ"/>
+                                </constraints>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="size" keyPath="layer.shadowOffset">
+                                        <size key="value" width="0.0" height="3"/>
+                                    </userDefinedRuntimeAttribute>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="layer.shadowOpacity">
+                                        <integer key="value" value="1"/>
+                                    </userDefinedRuntimeAttribute>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="layer.shadowRadius ">
+                                        <integer key="value" value="6"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                            </view>
+                        </subviews>
+                        <constraints>
+                            <constraint firstItem="bRb-65-iMO" firstAttribute="width" secondItem="bRb-65-iMO" secondAttribute="height" multiplier="315/108" id="ahw-BQ-PxA"/>
+                        </constraints>
+                    </stackView>
+                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ubD-l9-hSx">
+                        <rect key="frame" x="32" y="464" width="256" height="74"/>
+                        <subviews>
+                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="提示" translatesAutoresizingMaskIntoConstraints="NO" id="fxy-oA-qyq">
+                                <rect key="frame" x="8" y="16" width="42" height="42"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="42" id="2RE-ba-UxJ"/>
+                                    <constraint firstAttribute="width" constant="42" id="Lck-1h-c6g"/>
+                                </constraints>
+                            </imageView>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="手机退到后台或者熄屏计时将暂停,请保持屏幕常亮" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumFontSize="12" adjustsFontForContentSizeCategory="YES" translatesAutoresizingMaskIntoConstraints="NO" id="z6C-Qf-2Ac">
+                                <rect key="frame" x="66" y="14.666666666666686" width="182" height="45"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="45" id="bG7-cd-Bjp"/>
+                                </constraints>
+                                <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                                <color key="textColor" red="1" green="0.30196078431372547" blue="0.32549019607843138" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                        </subviews>
+                        <color key="backgroundColor" systemColor="systemGray6Color"/>
+                        <constraints>
+                            <constraint firstItem="fxy-oA-qyq" firstAttribute="leading" secondItem="ubD-l9-hSx" secondAttribute="leading" constant="8" id="4Gj-Ea-4qt"/>
+                            <constraint firstItem="z6C-Qf-2Ac" firstAttribute="centerY" secondItem="ubD-l9-hSx" secondAttribute="centerY" id="6cM-MX-Ta4"/>
+                            <constraint firstAttribute="trailing" secondItem="z6C-Qf-2Ac" secondAttribute="trailing" constant="8" id="ETn-BS-xIE"/>
+                            <constraint firstItem="fxy-oA-qyq" firstAttribute="centerY" secondItem="ubD-l9-hSx" secondAttribute="centerY" id="VP2-4g-VC4"/>
+                            <constraint firstAttribute="height" constant="74" id="lTL-oN-M0E"/>
+                            <constraint firstItem="z6C-Qf-2Ac" firstAttribute="leading" secondItem="fxy-oA-qyq" secondAttribute="trailing" constant="16" id="rtJ-tQ-LbX"/>
+                        </constraints>
+                        <userDefinedRuntimeAttributes>
+                            <userDefinedRuntimeAttribute type="size" keyPath="layer.shadowOffset">
+                                <size key="value" width="0.0" height="3"/>
+                            </userDefinedRuntimeAttribute>
+                            <userDefinedRuntimeAttribute type="number" keyPath="layer.shadowOpacity">
+                                <integer key="value" value="1"/>
+                            </userDefinedRuntimeAttribute>
+                            <userDefinedRuntimeAttribute type="number" keyPath="layer.shadowRadius ">
+                                <integer key="value" value="6"/>
+                            </userDefinedRuntimeAttribute>
+                        </userDefinedRuntimeAttributes>
+                    </view>
+                </subviews>
+            </view>
+            <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+            <constraints>
+                <constraint firstItem="zoa-0V-Tl1" firstAttribute="leading" secondItem="2We-PO-gZx" secondAttribute="leading" constant="32" id="04N-9N-jJF"/>
+                <constraint firstAttribute="trailing" secondItem="ubD-l9-hSx" secondAttribute="trailing" constant="32" id="Liz-Bz-azB"/>
+                <constraint firstAttribute="trailing" secondItem="7V7-r1-Jzk" secondAttribute="trailing" constant="16" id="RpR-qG-nys"/>
+                <constraint firstAttribute="trailing" secondItem="K7X-6J-fzO" secondAttribute="trailing" constant="32" id="UmU-gX-UI8"/>
+                <constraint firstAttribute="bottom" secondItem="7V7-r1-Jzk" secondAttribute="bottom" constant="8" id="VY2-Ap-Ay2"/>
+                <constraint firstItem="K7X-6J-fzO" firstAttribute="top" secondItem="2We-PO-gZx" secondAttribute="top" constant="25" id="VkD-XG-iFW"/>
+                <constraint firstAttribute="bottom" secondItem="ubD-l9-hSx" secondAttribute="bottom" constant="30" id="XgK-TF-YBH"/>
+                <constraint firstItem="ubD-l9-hSx" firstAttribute="leading" secondItem="2We-PO-gZx" secondAttribute="leading" constant="32" id="avO-74-x2F"/>
+                <constraint firstItem="7V7-r1-Jzk" firstAttribute="top" secondItem="2We-PO-gZx" secondAttribute="top" constant="8" id="hZE-gO-fcs"/>
+                <constraint firstItem="K7X-6J-fzO" firstAttribute="leading" secondItem="2We-PO-gZx" secondAttribute="leading" constant="32" id="jc8-Og-5C1"/>
+                <constraint firstAttribute="trailing" secondItem="zoa-0V-Tl1" secondAttribute="trailing" constant="32" id="lUb-cT-loz"/>
+                <constraint firstItem="7V7-r1-Jzk" firstAttribute="leading" secondItem="2We-PO-gZx" secondAttribute="leading" constant="16" id="mrq-XU-biE"/>
+                <constraint firstItem="zoa-0V-Tl1" firstAttribute="top" secondItem="K7X-6J-fzO" secondAttribute="bottom" constant="20" id="qyP-Ks-rM2"/>
+            </constraints>
+            <connections>
+                <outlet property="ruleFour" destination="aAP-eb-23N" id="iEJ-G8-5bI"/>
+                <outlet property="ruleMsg" destination="ubD-l9-hSx" id="Qzg-80-9aj"/>
+                <outlet property="ruleOne" destination="Fz0-tB-ZPz" id="Ohv-Cf-5pf"/>
+                <outlet property="ruleThree" destination="bRb-65-iMO" id="XhV-iW-Ws7"/>
+                <outlet property="ruleTwo" destination="Os5-s3-F5V" id="yQg-Z9-UJx"/>
+            </connections>
+            <point key="canvasLocation" x="54.399999999999999" y="41.379310344827587"/>
+        </collectionViewCell>
+    </objects>
+    <resources>
+        <image name="timeRule1" width="15" height="42"/>
+        <image name="timeRule2" width="25" height="42"/>
+        <image name="timeRule3" width="25" height="42"/>
+        <image name="timeRule4" width="26" height="42"/>
+        <image name="提示" width="42" height="42"/>
+        <systemColor name="systemGray6Color">
+            <color red="0.94901960784313721" green="0.94901960784313721" blue="0.96862745098039216" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+        </systemColor>
+    </resources>
+</document>

+ 22 - 0
jiaPei/NewTheory/View/NYTimeStartRuleCell.h

@@ -0,0 +1,22 @@
+//
+//  NYTimeStartRuleCell.h
+//  jiaPei
+//
+//  Created by Ning.ge on 2023/6/9.
+//  Copyright © 2023 JCZ. All rights reserved.
+//
+
+#import "RQCommonCollectionViewCell.h"
+#import "NYTimeStartRuleViewModel.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface NYTimeStartRuleCell : RQCommonCollectionViewCell
+
+@property (weak, nonatomic) IBOutlet UILabel *time_Label;
+
+@property (weak, nonatomic) IBOutlet UIButton *time_Button;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 37 - 0
jiaPei/NewTheory/View/NYTimeStartRuleCell.m

@@ -0,0 +1,37 @@
+//
+//  NYTimeStartRuleCell.m
+//  jiaPei
+//
+//  Created by Ning.ge on 2023/6/9.
+//  Copyright © 2023 JCZ. All rights reserved.
+//
+
+#import "NYTimeStartRuleCell.h"
+
+@interface NYTimeStartRuleCell ()
+@property (nonatomic, readwrite, strong) NYTimeStartRuleViewModel *viewModel;
+
+@end
+
+@implementation NYTimeStartRuleCell
+#pragma mark - PublicMethods
++ (instancetype)cellWithCollectionView:(UICollectionView *)collectionView forIndexPath:(NSIndexPath *)indexPath {
+    static NSString *ID = @"NYTimeStartRuleCell";
+    [collectionView registerNib:[UINib nibWithNibName:ID bundle:nil] forCellWithReuseIdentifier:ID];
+    NYTimeStartRuleCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:ID forIndexPath:indexPath];
+    if (!cell) cell = [self rq_viewFromXib];
+    return cell;
+}
+
+- (void)bindViewModel:(NYTimeStartRuleViewModel *)viewModel {
+    self.viewModel = viewModel;
+}
+
+#pragma mark - SystemMethods
+- (void)awakeFromNib {
+    [super awakeFromNib];
+    self.contentView.backgroundColor = UIColorHex(0x498EF5);
+    
+}
+
+@end

+ 81 - 0
jiaPei/NewTheory/View/NYTimeStartRuleCell.xib

@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/>
+        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="gTV-IL-0wX" customClass="NYTimeStartRuleCell">
+            <rect key="frame" x="0.0" y="0.0" width="320" height="283"/>
+            <autoresizingMask key="autoresizingMask"/>
+            <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+                <rect key="frame" x="0.0" y="0.0" width="320" height="283"/>
+                <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                <subviews>
+                    <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="time_bg_img" translatesAutoresizingMaskIntoConstraints="NO" id="u0v-x8-eVM">
+                        <rect key="frame" x="67" y="18" width="186" height="186"/>
+                        <constraints>
+                            <constraint firstAttribute="width" constant="186" id="07M-ld-Ity"/>
+                            <constraint firstAttribute="height" constant="186" id="Ews-wh-qZd"/>
+                        </constraints>
+                    </imageView>
+                    <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="timebtn_bg_img" translatesAutoresizingMaskIntoConstraints="NO" id="u0r-DW-Ozx">
+                        <rect key="frame" x="73" y="214" width="174" height="61"/>
+                        <constraints>
+                            <constraint firstAttribute="height" constant="61" id="1kY-qC-poQ"/>
+                            <constraint firstAttribute="width" constant="174" id="Uwb-9w-P3E"/>
+                        </constraints>
+                    </imageView>
+                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="1eL-xO-BsQ">
+                        <rect key="frame" x="100" y="218" width="120" height="45"/>
+                        <constraints>
+                            <constraint firstAttribute="width" constant="120" id="6zu-h9-jyV"/>
+                            <constraint firstAttribute="height" constant="45" id="uXl-dX-NEO"/>
+                        </constraints>
+                        <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
+                        <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                        <state key="normal" title="开始计时">
+                            <color key="titleColor" red="0.28627450980000002" green="0.5568627451" blue="0.96078431369999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                        </state>
+                    </button>
+                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="00:00:00" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wyU-bP-RXH">
+                        <rect key="frame" x="67" y="99" width="186" height="24"/>
+                        <constraints>
+                            <constraint firstAttribute="height" constant="24" id="bcq-nQ-MxB"/>
+                        </constraints>
+                        <fontDescription key="fontDescription" type="system" pointSize="28"/>
+                        <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                        <nil key="highlightedColor"/>
+                    </label>
+                </subviews>
+            </view>
+            <viewLayoutGuide key="safeArea" id="SEy-5g-ep8"/>
+            <color key="backgroundColor" red="0.28627450980392155" green="0.55686274509803924" blue="0.96078431372549022" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+            <constraints>
+                <constraint firstItem="1eL-xO-BsQ" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="2HV-4f-LTX"/>
+                <constraint firstItem="1eL-xO-BsQ" firstAttribute="top" secondItem="u0v-x8-eVM" secondAttribute="bottom" constant="14" id="4cy-cn-RUV"/>
+                <constraint firstItem="wyU-bP-RXH" firstAttribute="centerY" secondItem="u0v-x8-eVM" secondAttribute="centerY" id="8HH-3t-gA9"/>
+                <constraint firstItem="u0r-DW-Ozx" firstAttribute="top" secondItem="u0v-x8-eVM" secondAttribute="bottom" constant="10" id="Ehu-g1-bxQ"/>
+                <constraint firstItem="wyU-bP-RXH" firstAttribute="trailing" secondItem="u0v-x8-eVM" secondAttribute="trailing" id="FyV-Lk-Xfk"/>
+                <constraint firstItem="u0r-DW-Ozx" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="Gcy-qz-70X"/>
+                <constraint firstItem="u0v-x8-eVM" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" constant="18" id="cXC-oA-VoN"/>
+                <constraint firstItem="u0v-x8-eVM" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="iMm-9I-1wZ"/>
+                <constraint firstItem="wyU-bP-RXH" firstAttribute="leading" secondItem="u0v-x8-eVM" secondAttribute="leading" id="nJq-8o-eAF"/>
+            </constraints>
+            <connections>
+                <outlet property="time_Button" destination="1eL-xO-BsQ" id="RGt-8c-mvi"/>
+                <outlet property="time_Label" destination="wyU-bP-RXH" id="Hi8-dz-JtK"/>
+            </connections>
+            <point key="canvasLocation" x="27.480916030534349" y="-13.028169014084508"/>
+        </collectionViewCell>
+    </objects>
+    <resources>
+        <image name="time_bg_img" width="216" height="216"/>
+        <image name="timebtn_bg_img" width="153" height="78"/>
+    </resources>
+</document>

+ 17 - 0
jiaPei/NewTheory/ViewModel/NYTheoryTimeViewModel.h

@@ -0,0 +1,17 @@
+//
+//  NYTheoryTimeViewModel.h
+//  jiaPei
+//
+//  Created by Ning.ge on 2023/6/8.
+//  Copyright © 2023 JCZ. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface NYTheoryTimeViewModel : RQCommonCollectionViewModel
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 59 - 0
jiaPei/NewTheory/ViewModel/NYTheoryTimeViewModel.m

@@ -0,0 +1,59 @@
+//
+//  NYTheoryTimeViewModel.m
+//  jiaPei
+//
+//  Created by Ning.ge on 2023/6/8.
+//  Copyright © 2023 JCZ. All rights reserved.
+//
+
+#import "NYTheoryTimeViewModel.h"
+#import "NYTimeRuleItemViewModel.h"
+#import "NYTimeStartRuleViewModel.h"
+
+@interface NYTheoryTimeViewModel ()
+
+@end
+
+
+@implementation NYTheoryTimeViewModel
+#pragma mark - Public Method
+- (instancetype)initWithServices:(id<RQViewModelServices>)services params:(NSDictionary *)params {
+    if (self = [super initWithServices:services params:params]) {
+        
+    }
+    return self;
+}
+
+- (void)initialize {
+    [super initialize];
+    
+    self.title = @"理论计时";
+    ///配置数据
+    [self rq_configureData];
+}
+
+#pragma mark - ConfigureData
+- (void)rq_configureData {
+//    @weakify(self)
+    /// 数据源
+    RAC(self, dataSource) = [RACSignal
+                            combineLatest:@[RACObserve(RQ_USER_MANAGER, isCykh)]
+                            reduce:^(NSNumber *isCykh) {
+//        @strongify(self)
+        RQCommonGroupViewModel *group0 = [RQCommonGroupViewModel groupViewModel];
+        RQTimeADItemViewModel *timeADItemViewModel = [[RQTimeADItemViewModel alloc] init];
+        group0.itemViewModels = @[timeADItemViewModel];
+        
+        RQCommonGroupViewModel *group1 = [RQCommonGroupViewModel groupViewModel];
+        NYTimeStartRuleViewModel *timeStartRuleViewModel = [[NYTimeStartRuleViewModel alloc] init];
+        group1.itemViewModels = @[timeStartRuleViewModel];
+        
+        RQCommonGroupViewModel *group2 = [RQCommonGroupViewModel groupViewModel];
+        NYTimeRuleItemViewModel *timeRuleItemViewModel = [[NYTimeRuleItemViewModel alloc] init];
+        group2.itemViewModels = @[timeRuleItemViewModel];
+        
+        return @[group0, group1, group2];
+
+    }];
+}
+@end

+ 17 - 0
jiaPei/NewTheory/ViewModel/NYTimeRuleItemViewModel.h

@@ -0,0 +1,17 @@
+//
+//  NYTimeRuleItemViewModel.h
+//  jiaPei
+//
+//  Created by Ning.ge on 2023/6/9.
+//  Copyright © 2023 JCZ. All rights reserved.
+//
+
+#import "RQCommonCollectionItemViewModel.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface NYTimeRuleItemViewModel : RQCommonCollectionItemViewModel
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 27 - 0
jiaPei/NewTheory/ViewModel/NYTimeRuleItemViewModel.m

@@ -0,0 +1,27 @@
+//
+//  NYTimeRuleItemViewModel.m
+//  jiaPei
+//
+//  Created by Ning.ge on 2023/6/9.
+//  Copyright © 2023 JCZ. All rights reserved.
+//
+
+#import "NYTimeRuleItemViewModel.h"
+
+
+@interface NYTimeRuleItemViewModel ()
+
+@end
+
+@implementation NYTimeRuleItemViewModel
+- (instancetype)init {
+    if (self = [super init]) {
+        self.itemSize = CGSizeMake(RQ_SCREEN_WIDTH, RQ_FIT_HORIZONTAL(568.f) + (10 * 7));
+    }
+    return self;
+}
+
+- (NSString *)itemClassName {
+    return @"NYTimeRuleCell";
+}
+@end

+ 19 - 0
jiaPei/NewTheory/ViewModel/NYTimeStartRuleViewModel.h

@@ -0,0 +1,19 @@
+//
+//  NYTimeStartRuleViewModel.h
+//  jiaPei
+//
+//  Created by Ning.ge on 2023/6/9.
+//  Copyright © 2023 JCZ. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+#import "RQCommonCollectionItemViewModel.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface NYTimeStartRuleViewModel : RQCommonCollectionItemViewModel
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 27 - 0
jiaPei/NewTheory/ViewModel/NYTimeStartRuleViewModel.m

@@ -0,0 +1,27 @@
+//
+//  NYTimeStartRuleViewModel.m
+//  jiaPei
+//
+//  Created by Ning.ge on 2023/6/9.
+//  Copyright © 2023 JCZ. All rights reserved.
+//
+
+#import "NYTimeStartRuleViewModel.h"
+
+
+@interface NYTimeStartRuleViewModel ()
+
+@end
+
+@implementation NYTimeStartRuleViewModel
+- (instancetype)init {
+    if (self = [super init]) {
+        self.itemSize = CGSizeMake(RQ_SCREEN_WIDTH, RQ_FIT_HORIZONTAL(283.f));
+    }
+    return self;
+}
+
+- (NSString *)itemClassName {
+    return @"NYTimeStartRuleCell";
+}
+@end

+ 1 - 1
jiaPei/OLD/Util/RQShareFunction.m

@@ -625,7 +625,7 @@ static dispatch_once_t onceToken;
 #pragma mark - 检查版本更新
 - (void)checkVersion {
 	/// 在当前页面有弹窗 以及在模拟计时页面 理论计时页面 模拟考试界面 不弹出更新提示
-	NSArray *controllers = @[@"UIAlertController", @"ImitatePeriodVC", @"PeriodVC"];
+	NSArray *controllers = @[@"UIAlertController", @"ImitatePeriodVC", @"PeriodVC", @"NYTheoryTimeVC", @"NYGetjobTimeVC"];
 	NSLog(@"string---Class-----%@",NSStringFromClass([RQ_SHARE_FUNCTION currentViewController].class));
 	if (![Util connectedToNetWork]) {
 		return;

+ 2 - 2
jiaPei/OLD/Util/jiaPeiManager/jiaPeiManager.m

@@ -651,7 +651,7 @@
 + (void)QMLog:(NSString *)urlString obj:(id )obj
 {
 #if defined(DEBUG)||defined(_DEBUG)
-    if([QMUIConsole sharedInstance].canShow){
+    if(isOffQMConsole){
         NSMutableString *log = [NSMutableString stringWithFormat:@">>>>>>>>>>>>>>>>>>>>>jiaPeiManager>>>>>>>>>>>>>>>>>>>>>>>>>>"];
         [log appendFormat:@"urlString=======>:%@", urlString];
         [log appendFormat:@"obj======>:%@", obj];
@@ -663,7 +663,7 @@
 
 + (void)QMLogStr:(NSString *)log
 {
-    if([QMUIConsole sharedInstance].canShow){
+    if(isOffQMConsole){
         [QMUIConsole log:log];
     }
 }

+ 4 - 1
jiaPei/PrefixHeader.pch

@@ -113,7 +113,10 @@
 #import "RQProfileModule.h"
 #import "MainModule.h"
 
-
+#pragma mark - VC
+#import "NYBasetjTimeVC.h"
+#import "NYTheoryTimeVC.h"  //理论计时
+#import "NYGetjobTimeVC.h"  //从业计时
 
 /**一个全局的单例。
  这个地方可以放入版本判断信息 如果版本太低 不能打开 并告诉用户最低支持的版本信息--danson

+ 2 - 0
jiaPei/UserInfo.h

@@ -15,6 +15,8 @@
  */
 ///@RQ-MARK
 #define isOfficial 1
+///是否QM控制是否打印-默认0
+#define isOffQMConsole 0
 
 #import <Foundation/Foundation.h>
 

+ 1 - 0
jiaPei/Utils/Router/RQRouter.m

@@ -94,6 +94,7 @@ static RQRouter *sharedInstance_ = nil;
              @"RQHoursBeforeExamHomeViewModel"      :               @"RQHoursBeforeExamHomeViewController",
 			 /*TimeModule*/
              @"RQTimeViewModel"                     :               @"RQTimeViewController",
+             @"NYTheoryTimeViewModel"                     :               @"NYTheoryTimeVC",
 //             @"RQTimeViewModel"                     :               @"TimingBaseVC",
              /*DiscoverModule*/
 //             @"RQDiscoverViewModel"                 :               @"RQDiscoverViewController",