RQExerciseViewModel.m 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. //
  2. // RQExerciseViewModel.m
  3. // JSJP
  4. //
  5. // Created by 张嵘 on 2021/8/12.
  6. //
  7. #import "RQExerciseViewModel.h"
  8. @interface RQExerciseViewModel ()
  9. //@property (nonatomic, readwrite, assign) RQExerciseType exerciseType;
  10. /// homePageCarType
  11. @property (nonatomic, readwrite, assign) RQHomePageCarType homePageCarType;
  12. /// homePageSubjectType
  13. @property (nonatomic, readwrite, assign) RQHomePageSubjectType homePageSubjectType;
  14. /// homeSubPageType
  15. @property (nonatomic, readwrite, assign) RQHomeSubPageType homeSubPageType;
  16. /// homeSubEditListType
  17. @property (nonatomic, readwrite, assign) RQHomeSubEditListType homeSubEditListType;
  18. @property (nonatomic, readwrite, copy) NSString *titleStr;
  19. @property (nonatomic, readwrite, assign) NSInteger number;
  20. @property (nonatomic, readwrite, copy) NSArray *questionArr;
  21. @end
  22. @implementation RQExerciseViewModel
  23. #pragma mark - Public Method
  24. - (instancetype)initWithServices:(id<RQViewModelServices>)services params:(NSDictionary *)params {
  25. if (self = [super initWithServices:services params:params]) {
  26. // self.exerciseType = [params[RQExerciseTypeKey] integerValue];
  27. RQ_Exercise_Module.currentExerciseType = [params[RQExerciseTypeKey] integerValue];
  28. self.homePageCarType = [params[RQHomePageCarTypeKey] integerValue];
  29. self.homePageSubjectType = [params[RQHomePageSubjectTypeKey] integerValue];
  30. self.homeSubPageType = [params[RQHomeSubPageTypeKey] integerValue];
  31. self.homeSubEditListType = [params[RQHomeSubEditListTypeKey] integerValue];
  32. self.titleStr = params[RQViewModelIDKey];
  33. self.number = [params[RQViewCommonValueKey] integerValue];
  34. self.questionArr = params[RQViewModelUtilKey];
  35. self.subPageTypeKHMode = 0;
  36. if(params[RQHomeSubPageTypeKHModeKey]){
  37. self.subPageTypeKHMode = [params[RQHomeSubPageTypeKHModeKey] integerValue];
  38. }
  39. }
  40. return self;
  41. }
  42. - (void)initialize {
  43. [super initialize];
  44. /// 配置标题
  45. [self rq_configureTitle];
  46. ///配置数据
  47. [self rq_configureData];
  48. }
  49. #pragma mark - PrivateMethod
  50. - (void)rq_configureTitle {
  51. // @weakify(self)
  52. // [[RACSignal combineLatest:@[RACObserve(self, homePageCarType), RACObserve(self, homePageSubjectType), RACObserve(self, homeSubPageType)]
  53. // reduce:^id(NSNumber *homePageCarType, NSNumber *homePageSubjectType, NSNumber *homeSubPageType){
  54. // @strongify(self)
  55. // NSString *homePageCarTypeStr = @"";
  56. //
  57. // switch (homePageCarType.integerValue) {
  58. // case RQHomePageCarType_Car:
  59. // homePageCarTypeStr = @"轿车";
  60. // break;
  61. // case RQHomePageCarType_Bus:
  62. // homePageCarTypeStr = @"客车";
  63. // break;
  64. // case RQHomePageCarType_Truck:
  65. // homePageCarTypeStr = @"货车";
  66. // break;
  67. // case RQHomePageCarType_Motorcycle:
  68. // homePageCarTypeStr = @"摩托车";
  69. // break;
  70. //
  71. // default:
  72. // break;
  73. // }
  74. //
  75. // NSString *homePageSubjectTypeStr = @"";
  76. //
  77. // switch (homePageSubjectType.integerValue) {
  78. // case RQHomePageSubjectType_SubjectOne:
  79. // homePageSubjectTypeStr = @"科目一";
  80. // break;
  81. // case RQHomePageSubjectType_SubjectTwo:
  82. // homePageSubjectTypeStr = @"科目二";
  83. // break;
  84. // case RQHomePageSubjectType_SubjectThree:
  85. // homePageSubjectTypeStr = @"科目三";
  86. // break;
  87. // case RQHomePageSubjectType_SubjectFour:
  88. // homePageSubjectTypeStr = @"科目四";
  89. // break;
  90. //
  91. // default:
  92. // break;
  93. // }
  94. //
  95. // NSString *homeSubPageTypeStr = @"";
  96. //
  97. // switch (homeSubPageType.integerValue) {
  98. // case RQHomeSubPageType_SequentialPractice:
  99. // homeSubPageTypeStr = @"顺序练习";
  100. // break;
  101. // case RQHomeSubPageType_LocalTopics:
  102. // homeSubPageTypeStr = @"地方专题";
  103. // break;
  104. // case RQHomeSubPageType_ClassificationExercise:
  105. // homeSubPageTypeStr = @"分类练习";
  106. // break;
  107. // case RQHomeSubPageType_WrongTopicAndCollection:
  108. // homeSubPageTypeStr = @"错题·收藏";
  109. // break;
  110. // case RQHomeSubPageType_SelectedTestQuestions:
  111. // homeSubPageTypeStr = @"精选考题";
  112. // break;
  113. // case RQHomeSubPageType_MockExamination:
  114. // homeSubPageTypeStr = @"模拟考试";
  115. // break;
  116. //
  117. // default:
  118. // break;
  119. // }
  120. // return self.titleStr? [NSString stringWithFormat:@"%@/%@/%@/%@",homePageCarTypeStr,homePageSubjectTypeStr,homeSubPageTypeStr,self.titleStr] : [NSString stringWithFormat:@"%@/%@/%@",homePageCarTypeStr,homePageSubjectTypeStr,homeSubPageTypeStr];
  121. // }] subscribeNext:^(NSString *titleStr) {
  122. // @strongify(self)
  123. // self.title = titleStr;
  124. // }];
  125. }
  126. - (void)rq_configureData {
  127. }
  128. @end