123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246 |
- //
- // RQExerciseModule.h
- // JSJP
- //
- // Created by 张嵘 on 2021/8/12.
- //
- #import <Foundation/Foundation.h>
- #define RQ_Exercise_Module [RQExerciseModule sharedInstance]
- /// 刷新TableView
- FOUNDATION_EXTERN NSString * const RQRefreshExerciseTableViewNotification;
- /// 答题结果
- FOUNDATION_EXTERN NSString * const RQAnswerResultsNotification;
- /// 答题结果 key
- FOUNDATION_EXTERN NSString * const RQAnswerResultsKey;
- /// 练习模式Key
- FOUNDATION_EXTERN NSString * const RQExerciseTypeKey;
- /// 考试页面弹窗弹出类型Key
- FOUNDATION_EXTERN NSString * const RQExerciseAlertTypeKey;
- /// 取消收藏成功通知
- FOUNDATION_EXTERN NSString * const RQCancelCollectNotification;
- /// 取消收藏题目Key
- FOUNDATION_EXTERN NSString * const RQCancelCollectExerciseModelKey;
- /// 取消错题成功通知
- FOUNDATION_EXTERN NSString * const RQCancelWrongNotification;
- /// 取消错题题目Key
- FOUNDATION_EXTERN NSString * const RQCancelWrongExerciseModelKey;
- /// 跳转到下一题通知
- FOUNDATION_EXTERN NSString * const RQAutoJumpNextNotification;
- /// 习题页面类型
- typedef NS_ENUM(NSUInteger, RQExerciseType) {
- /// 顺序练习
- RQExerciseType_Sequential,
- /// 背题模式
- RQExerciseType_Recitation,
- /// 随机练习
- RQExerciseType_Random,
- /// 模拟考试
- RQExerciseType_Exam,
- /// 排除的题
- RQExerciseType_Remove,
- /// 排除的题(未上传)
- RQExerciseType_Remove_NotUpload,
- /// 收藏的题
- RQExerciseType_Collect,
- /// 收藏的题(未上传)
- RQExerciseType_Collect_NotUpload,
- /// 做错的题
- RQExerciseType_Wrong,
- /// 做错的题(未上传)
- RQExerciseType_Wrong_NotUpload,
- /// 已做的题
- RQExerciseType_Do,
- /// 未做的题
- RQExerciseType_UnDo,
- /// 选择题库
- RQExerciseType_ChooseExLib,
- /// 新规题
- RQExerciseType_NewRule,
- /// 精选题
- RQExerciseType_HandPick,
- /// 秘卷一
- RQExerciseType_Mi_One,
- /// 秘卷二
- RQExerciseType_Mi_Two,
- /// 争议题
- RQExerciseType_Disputed,
- /// 易错题
- RQExerciseType_Fallible,
- /// 文字题
- RQExerciseType_Text,
- /// 图片题
- RQExerciseType_Image,
- /// 视频题
- RQExerciseType_Video,
- /// 判断题
- RQExerciseType_Judge,
- /// 单选题
- RQExerciseType_SingleChoice,
- /// 多选题
- RQExerciseType_MutableChoice,
- /// 考点题
- RQExerciseType_Point,
- /// 章节题
- RQExerciseType_Chapter,
- /// 本地考题
- RQExerciseType_Locality,
- };
- typedef NS_ENUM(NSUInteger, RQExerciseAlertType) {
- /// 通用
- RQExerciseAlertType_Default = 0,
- /// 考试交卷
- RQExerciseAlertType_Exam_HandUp,
- /// 考试暂停
- RQExerciseAlertType_Exam_Suspend,
- /// 考试恢复
- RQExerciseAlertType_Exam_Resume,
- /// 模考须知
- RQExerciseAlertType_Exam_Konw,
- };
- #pragma mark - Vendor
- #import "DZMCoverController.h"
- #import "HWPanModal.h"
- #pragma mark - Model
- #import "RQExerciseModel.h"
- #import "RQGetScoreInfoAllModel.h"
- #import "RQHTTPService+RQGetScoreInfoAll.h"
- #import "RQHTTPService+RQAddScoreRecord.h"
- #import "RQHTTPService+RQGetScoreInfoList.h"
- #import "RQCollectionModel.h"
- #import "RQHTTPService+RQAddCollectionRecord.h"
- #import "RQHTTPService+RQAddCollectionRecords.h"
- #import "RQHTTPService+RQDeleteCollectionRecord.h"
- #import "RQHTTPService+RQCancleCollectionRecord.h"
- #import "RQHTTPService+RQGetCollectionList.h"
- #import "RQWrongModel.h"
- #import "RQHTTPService+RQAddWrongRecord.h"
- #import "RQHTTPService+RQAddWrongRecords.h"
- #import "RQHTTPService+RQDeleteWrongRecord.h"
- #import "RQHTTPService+RQGetWrongList.h"
- #import "RQHistoryModel.h"
- #import "RQHTTPService+RQGetPassRate.h"
- #import "RQHTTPService+RQSaveFavQuestion.h"
- #import "RQHTTPService+RQSaveBetchFavQuestion.h"
- #import "RQHTTPService+RQDeleteFav.h"
- #import "RQHTTPService+RQGetMyQuestionFavs.h"
- #import "RQHTTPService+RQDeleteQuestionFavAll.h"
- #import "RQHTTPService+RQMyScore.h"
- #import "RQHTTPService+RQSaveStuScore.h"
- #import "RQMyQuestionFavsModel.h"
- #pragma mark - ViewModel
- /// ExercisePage
- #import "RQExerciseViewModel.h"
- #import "RQExerciseSubViewModel.h"
- #import "RQTestQuestionsViewModel.h"
- #import "NYExerciseTestingCentreViewModel.h"
- #import "RQExciseExplainHeaderGroupViewModel.h"
- #import "RQExerciseQuestionItemViewModel.h"
- #import "RQExerciseOptionItemViewModel.h"
- #import "RQExerciseOptionSureBtnItemViewModel.h"
- #import "RQExerciseAnswerItemViewModel.h"
- /// ExerciseSubPage
- #import "RQExerciseSettingViewModel.h"
- #import "RQCatalogueViewModel.h"
- #import "RQSimulateExamViewModel.h"
- #import "RQExamResultViewModel.h"
- #import "RQExamProbabilityViewModel.h"
- #import "RQExerciseCatalogueItemViewModel.h"
- #import "RQSimulateExamBeginItemViewModel.h"
- #import "RQExerciseSituationItemViewModel.h"
- #import "RQSimulateExamSituationItemViewModel.h"
- #import "RQExamHistoryItemViewModel.h"
- #pragma mark - View
- /// ExercisePage
- #import "RQExerciseQuestionCell.h"
- #import "RQExerciseOptionCell.h"
- #import "RQExerciseOptionSureBtnCell.h"
- #import "RQExerciseAnswerCell.h"
- #import "RQExerciseToolBarView.h"
- #import "RQCountdownView.h"
- #import "RQExerciseExplainHeaderView.h"
- #import "RQExercisExplainCell.h"
- #import "RQExerciseVideoExplainCell.h"
- /// ExerciseSubPage
- #import "RQExerciseCatalogueToolBarView.h"
- #import "RQExerciseSettingHeaderView.h"
- #import "RQExerciseSettingCell.h"
- #import "RQExerciseCatalogueCell.h"
- #import "RQExerciseExamAlertView.h"
- #import "RQExerciseExamAlertHudView.h"
- #import "RQExerciseExamKnowAlertView.h"
- #import "JXCategoryTitleBackgroundView.h"
- #import "RQExamResultHeaderView.h"
- #import "RQExamSituationCell.h"
- #import "RQExamProbabilyCell.h"
- #pragma mark - ViewController
- /// ExercisePage
- #import "RQExerciseViewController.h"
- #import "RQExerciseSubViewController.h"
- #import "RQTestQuestionsViewController.h"
- /// ExerciseSubPage
- #import "RQExerciseSettingViewController.h"
- #import "RQCatalogueViewController.h"
- #import "RQSimulateExamViewController.h"
- #import "RQExamResultViewController.h"
- #import "RQExamProbabilityViewController.h"
- @interface RQExerciseModule : NSObject
- @property (nonatomic, readwrite, assign) BOOL isScrolling;
- @property (nonatomic, readwrite, strong) RQExerciseModel *currrentExerciseModel;
- /// Timer
- @property (nonatomic, readwrite, strong) NSTimer *timer;
- @property (nonatomic, readwrite, assign) NSUInteger count;
- @property (nonatomic, readwrite, strong) NSDate *beginDate;
- @property (nonatomic, readwrite, copy) NSArray *questionArr;
- @property (nonatomic, readwrite, copy) NSArray *correctArr;
- @property (nonatomic, readwrite, copy) NSArray *errorArr;
- @property (nonatomic, readwrite, assign) NSInteger exerciseFontSize;
- @property (nonatomic, readwrite, assign) BOOL isRightAutoJumpToNext;
- @property (nonatomic, readwrite, assign) BOOL isRightAutoRemoveError;
- @property (nonatomic, readwrite, assign) BOOL isExerciseSound;
- @property (nonatomic, readwrite, assign) RQExerciseType currentExerciseType;
- @property (nonatomic, readwrite, copy) NSString *otherStr;
- /// 单例
- + (instancetype) sharedInstance;
- /**
- 弹出alertController,并且有多action按钮,分别有处理事件
-
- @param alertType 弹窗类型
- @param dic 参数
- @param confirmAction 左边按钮的点击事件
- @param cancelAction 右按钮的点击事件
- */
- - (void)showAlertWithRQExerciseAlertType:(RQExerciseAlertType)alertType valueDic:(NSDictionary * _Nullable )dic confirmAction:(void (^__nullable)(__kindof QMUIDialogViewController * _Nonnull dialogViewController))confirmAction cancelAction:(void (^__nullable)(__kindof QMUIDialogViewController * _Nonnull dialogViewController))cancelAction;
- - (void)startTimer;
- @end
|