RQExerciseViewModel.m 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  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. }
  36. return self;
  37. }
  38. - (void)initialize {
  39. [super initialize];
  40. /// 配置标题
  41. [self rq_configureTitle];
  42. ///配置数据
  43. [self rq_configureData];
  44. }
  45. #pragma mark - PrivateMethod
  46. - (void)rq_configureTitle {
  47. // @weakify(self)
  48. // [[RACSignal combineLatest:@[RACObserve(self, homePageCarType), RACObserve(self, homePageSubjectType), RACObserve(self, homeSubPageType)]
  49. // reduce:^id(NSNumber *homePageCarType, NSNumber *homePageSubjectType, NSNumber *homeSubPageType){
  50. // @strongify(self)
  51. // NSString *homePageCarTypeStr = @"";
  52. //
  53. // switch (homePageCarType.integerValue) {
  54. // case RQHomePageCarType_Car:
  55. // homePageCarTypeStr = @"轿车";
  56. // break;
  57. // case RQHomePageCarType_Bus:
  58. // homePageCarTypeStr = @"客车";
  59. // break;
  60. // case RQHomePageCarType_Truck:
  61. // homePageCarTypeStr = @"货车";
  62. // break;
  63. // case RQHomePageCarType_Motorcycle:
  64. // homePageCarTypeStr = @"摩托车";
  65. // break;
  66. //
  67. // default:
  68. // break;
  69. // }
  70. //
  71. // NSString *homePageSubjectTypeStr = @"";
  72. //
  73. // switch (homePageSubjectType.integerValue) {
  74. // case RQHomePageSubjectType_SubjectOne:
  75. // homePageSubjectTypeStr = @"科目一";
  76. // break;
  77. // case RQHomePageSubjectType_SubjectTwo:
  78. // homePageSubjectTypeStr = @"科目二";
  79. // break;
  80. // case RQHomePageSubjectType_SubjectThree:
  81. // homePageSubjectTypeStr = @"科目三";
  82. // break;
  83. // case RQHomePageSubjectType_SubjectFour:
  84. // homePageSubjectTypeStr = @"科目四";
  85. // break;
  86. //
  87. // default:
  88. // break;
  89. // }
  90. //
  91. // NSString *homeSubPageTypeStr = @"";
  92. //
  93. // switch (homeSubPageType.integerValue) {
  94. // case RQHomeSubPageType_SequentialPractice:
  95. // homeSubPageTypeStr = @"顺序练习";
  96. // break;
  97. // case RQHomeSubPageType_LocalTopics:
  98. // homeSubPageTypeStr = @"地方专题";
  99. // break;
  100. // case RQHomeSubPageType_ClassificationExercise:
  101. // homeSubPageTypeStr = @"分类练习";
  102. // break;
  103. // case RQHomeSubPageType_WrongTopicAndCollection:
  104. // homeSubPageTypeStr = @"错题·收藏";
  105. // break;
  106. // case RQHomeSubPageType_SelectedTestQuestions:
  107. // homeSubPageTypeStr = @"精选考题";
  108. // break;
  109. // case RQHomeSubPageType_MockExamination:
  110. // homeSubPageTypeStr = @"模拟考试";
  111. // break;
  112. //
  113. // default:
  114. // break;
  115. // }
  116. // return self.titleStr? [NSString stringWithFormat:@"%@/%@/%@/%@",homePageCarTypeStr,homePageSubjectTypeStr,homeSubPageTypeStr,self.titleStr] : [NSString stringWithFormat:@"%@/%@/%@",homePageCarTypeStr,homePageSubjectTypeStr,homeSubPageTypeStr];
  117. // }] subscribeNext:^(NSString *titleStr) {
  118. // @strongify(self)
  119. // self.title = titleStr;
  120. // }];
  121. }
  122. - (void)rq_configureData {
  123. }
  124. @end