YMRankingViewModel.m 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. //
  2. // YMRankingViewModel.m
  3. // MSYOUPAI
  4. //
  5. // Created by YoMi on 2024/2/4.
  6. // Copyright © 2024 MS. All rights reserved.
  7. //
  8. #import "YMRankingViewModel.h"
  9. @interface YMRankingViewModel ()
  10. /// 排行榜主分类ViewModel列表
  11. @property (nonatomic, strong, readwrite) NSArray <YMRankingListMainCategoryViewModel *>*mainCategoryVMDataArray;
  12. /// 魅力榜VM
  13. @property (nonatomic, strong) YMRankingListMainCategoryViewModel *charmRankingVM;
  14. /// 女神榜VM
  15. @property (nonatomic, strong) YMRankingListMainCategoryViewModel *goddessRankingVM;
  16. /// 守护榜VM
  17. @property (nonatomic, strong) YMRankingListMainCategoryViewModel *guardRankingVM;
  18. /// 仙女榜VM
  19. @property (nonatomic, strong) YMRankingListMainCategoryViewModel *fairyRankingVM;
  20. /// 伯乐榜VM
  21. @property (nonatomic, strong) YMRankingListMainCategoryViewModel *boLeRankingVM;
  22. /// 新人榜VM
  23. @property (nonatomic, strong) YMRankingListMainCategoryViewModel *newcomerRankingVM;
  24. /// 礼物榜VM
  25. @property (nonatomic, strong) YMRankingListMainCategoryViewModel *giftRankingVM;
  26. /// 消费榜VM
  27. @property (nonatomic, strong) YMRankingListMainCategoryViewModel *consumptionRankingVM;
  28. /// 财富榜VM
  29. @property (nonatomic, strong) YMRankingListMainCategoryViewModel *wealthRankingVM;
  30. /// 邀请榜VM
  31. @property (nonatomic, strong) YMRankingListMainCategoryViewModel *inviteRankingVM;
  32. @end
  33. @implementation YMRankingViewModel
  34. - (void)ym_initialize{
  35. [super ym_initialize];
  36. self.mainCategoryVMDataArray = @[
  37. self.charmRankingVM,
  38. self.giftRankingVM,
  39. //self.consumptionRankingVM,
  40. self.inviteRankingVM,
  41. ];
  42. }
  43. - (YMRankingListMainCategoryViewModel *)charmRankingVM{
  44. if (!_charmRankingVM) {
  45. _charmRankingVM = [[YMRankingListMainCategoryViewModel alloc]initWithParams:@{
  46. ParamsCategoryType:@(YMRankingMainCategoryTypeCharmRanking)
  47. }];
  48. }
  49. return _charmRankingVM;
  50. }
  51. - (YMRankingListMainCategoryViewModel *)goddessRankingVM{
  52. if (!_goddessRankingVM) {
  53. _goddessRankingVM = [[YMRankingListMainCategoryViewModel alloc]initWithParams:@{
  54. ParamsCategoryType:@(YMRankingMainCategoryTypeGoddessRanking)
  55. }];
  56. }
  57. return _goddessRankingVM;
  58. }
  59. - (YMRankingListMainCategoryViewModel *)guardRankingVM{
  60. if (!_guardRankingVM) {
  61. _guardRankingVM = [[YMRankingListMainCategoryViewModel alloc]initWithParams:@{
  62. ParamsCategoryType:@(YMRankingMainCategoryTypeGuardRanking)
  63. }];
  64. }
  65. return _guardRankingVM;
  66. }
  67. - (YMRankingListMainCategoryViewModel *)fairyRankingVM{
  68. if (!_fairyRankingVM) {
  69. _fairyRankingVM = [[YMRankingListMainCategoryViewModel alloc]initWithParams:@{
  70. ParamsCategoryType:@(YMRankingMainCategoryTypeFairyRanking)
  71. }];
  72. }
  73. return _fairyRankingVM;
  74. }
  75. - (YMRankingListMainCategoryViewModel *)boLeRankingVM{
  76. if (!_boLeRankingVM) {
  77. _boLeRankingVM = [[YMRankingListMainCategoryViewModel alloc]initWithParams:@{
  78. ParamsCategoryType:@(YMRankingMainCategoryTypeBoLeRanking)
  79. }];
  80. }
  81. return _boLeRankingVM;
  82. }
  83. - (YMRankingListMainCategoryViewModel *)newcomerRankingVM{
  84. if (!_newcomerRankingVM) {
  85. _newcomerRankingVM = [[YMRankingListMainCategoryViewModel alloc]initWithParams:@{
  86. ParamsCategoryType:@(YMRankingMainCategoryTypeNewcomerRanking)
  87. }];
  88. }
  89. return _newcomerRankingVM;
  90. }
  91. - (YMRankingListMainCategoryViewModel *)giftRankingVM{
  92. if (!_giftRankingVM) {
  93. _giftRankingVM = [[YMRankingListMainCategoryViewModel alloc]initWithParams:@{
  94. ParamsCategoryType:@(YMRankingMainCategoryTypeGiftRanking)
  95. }];
  96. }
  97. return _giftRankingVM;
  98. }
  99. - (YMRankingListMainCategoryViewModel *)consumptionRankingVM{
  100. if (!_consumptionRankingVM) {
  101. _consumptionRankingVM = [[YMRankingListMainCategoryViewModel alloc]initWithParams:@{
  102. ParamsCategoryType:@(YMRankingMainCategoryTypeConsumptionRanking)
  103. }];
  104. }
  105. return _consumptionRankingVM;
  106. }
  107. - (YMRankingListMainCategoryViewModel *)wealthRankingVM{
  108. if (!_wealthRankingVM) {
  109. _wealthRankingVM = [[YMRankingListMainCategoryViewModel alloc]initWithParams:@{
  110. ParamsCategoryType:@(YMRankingMainCategoryTypeWealthRanking)
  111. }];
  112. }
  113. return _wealthRankingVM;
  114. }
  115. - (YMRankingListMainCategoryViewModel *)inviteRankingVM{
  116. if (!_inviteRankingVM) {
  117. _inviteRankingVM = [[YMRankingListMainCategoryViewModel alloc]initWithParams:@{
  118. ParamsCategoryType:@(YMRankingMainCategoryTypeInviteRanking)
  119. }];
  120. }
  121. return _inviteRankingVM;
  122. }
  123. @end