YMGreetingSettingCellViewModel.m 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. //
  2. // YMGreetingSettingCellViewModel.m
  3. // MSYOUPAI
  4. //
  5. // Created by YoMi on 2024/2/24.
  6. // Copyright © 2024 MS. All rights reserved.
  7. //
  8. #import "YMGreetingSettingCellViewModel.h"
  9. #import "YMGreetingSettingModel.h"
  10. @interface YMGreetingSettingCellViewModel ()
  11. /// 是否是审核状态
  12. @property (nonatomic, assign, readwrite) BOOL isReviewStatus;
  13. /// 是否是审核失败
  14. @property (nonatomic, assign, readwrite) BOOL isReviewFailure;
  15. /// 打招呼模板审核状态图标
  16. @property (nonatomic, strong, readwrite) UIImage *greetingTemplateReviewStatusIcon;
  17. /// 是否是默认打招呼模板
  18. @property (nonatomic, assign, readwrite) BOOL isDefaultGreetingTemplate;
  19. /// 打招呼模板名称
  20. @property (nonatomic, strong, readwrite) NSString *greetingTemplateName;
  21. /// 打招呼模板文本
  22. @property (nonatomic, strong, readwrite) NSString *greetingTemplateText;
  23. /// 打招呼模板图片
  24. @property (nonatomic, strong, readwrite) NSString *greetingTemplateImage;
  25. /// 打招呼模板语音
  26. @property (nonatomic, strong, readwrite) NSString *greetingTemplateVoice;
  27. /// 打招呼模板语音秒数
  28. @property (nonatomic, assign, readwrite) NSInteger greetingTemplateVoiceSeconds;
  29. /// 打招呼模板Id
  30. @property (nonatomic, assign) NSInteger greetingId;
  31. @end
  32. @implementation YMGreetingSettingCellViewModel
  33. - (void)ym_initialize{
  34. [super ym_initialize];
  35. if ([self.params[ParamsModel] isKindOfClass:[YMGreetingSettingModel class]]) {
  36. YMGreetingSettingModel *model = self.params[ParamsModel];
  37. self.greetingId = model.greeting_id;
  38. switch (model.status) {
  39. case 0:
  40. {
  41. self.isReviewStatus = YES;
  42. self.isReviewFailure = NO;
  43. self.greetingTemplateReviewStatusIcon = ImageByName(@"ym_greeting_setting_reviewing_icon");
  44. }
  45. break;
  46. case 1:
  47. {
  48. self.isReviewStatus = NO;
  49. self.isReviewFailure = NO;
  50. }
  51. break;
  52. case 2:
  53. {
  54. self.isReviewStatus = YES;
  55. self.isReviewFailure = YES;
  56. self.greetingTemplateReviewStatusIcon = ImageByName(@"ym_greeting_setting_review_failure_icon");
  57. }
  58. break;
  59. default:
  60. break;
  61. }
  62. self.isDefaultGreetingTemplate = model.is_default ? YES : NO;
  63. self.greetingTemplateName = OCStringIsEmpty(model.name) ? @"我的模板" : model.name;
  64. self.greetingTemplateText = model.title;
  65. self.greetingTemplateImage = model.file;
  66. self.greetingTemplateVoice = model.voice_file;
  67. self.greetingTemplateVoiceSeconds = model.len;
  68. }
  69. }
  70. - (void)updateGreetingTemplateName{
  71. YMInputPopupView *customView = [[YMInputPopupView alloc]init];
  72. customView.titleText = @"模板备注";
  73. customView.textAlignment = NSTextAlignmentCenter;
  74. [customView configutationWithContentText:self.greetingTemplateText ofInputHeight:adapt(30) IsHideTitle:NO IsHideSingleButton:YES];
  75. YMPopupView *popupView = [YMPopupView initWithCustomView:customView parentView:nil popStyle:YMPopupStyleFade dismissStyle:YMDismissStyleFade];
  76. popupView.priority = 999;
  77. popupView.cornerRadius = adapt(10);
  78. popupView.rectCorners = UIRectCornerAllCorners;
  79. popupView.positionStyle = YMPositionStyleCenter;
  80. popupView.isHideBg = NO;
  81. popupView.bgAlpha = 0.3;
  82. @weakify(popupView)
  83. customView.buttonBlock = ^(BOOL isConfirm, NSString * _Nonnull contentText) {
  84. @strongify(popupView)
  85. if (isConfirm) {
  86. @weakify(self)
  87. [ZCHUDHelper showWithStatus:@"修改中..."];
  88. [LCHttpHelper requestWithURLString:api_greetset_name parameters:@{
  89. @"id":@(self.greetingId),
  90. @"name":contentText
  91. } needToken:YES type:HttpRequestTypePost success:^(id responseObject) {
  92. @strongify(self)
  93. NSDictionary* dict = (NSDictionary*)responseObject;
  94. NSInteger code = [[dict objectForKey:@"code"] integerValue];
  95. if (code == 0) {
  96. [ZCHUDHelper dismiss];
  97. if (self.refreshGreetingSettingListBlock) {
  98. self.refreshGreetingSettingListBlock();
  99. }
  100. }else{
  101. [ZCHUDHelper showTitle:[dict stringValueForKey:@"message" defaultValue:@""]];
  102. }
  103. } failure:^(NSError *error) {
  104. [ZCHUDHelper showTitle:error.localizedDescription];
  105. }];
  106. }
  107. [popupView dismissWithStyle:YMDismissStyleFade duration:2.0];
  108. };
  109. [popupView pop];
  110. }
  111. - (void)deleteGreetingTemplate{
  112. YMTipsPopupView *customView = [[YMTipsPopupView alloc]init];
  113. [customView configutationWithTips:@"确定删除当前模板?" TipsAlignment:NSTextAlignmentCenter IsHideTitle:YES IsHideSingleButton:YES];
  114. YMPopupView *popupView = [YMPopupView initWithCustomView:customView parentView:nil popStyle:YMPopupStyleFade dismissStyle:YMDismissStyleFade];
  115. popupView.priority = 999;
  116. popupView.cornerRadius = adapt(10);
  117. popupView.rectCorners = UIRectCornerAllCorners;
  118. popupView.positionStyle = YMPositionStyleCenter;
  119. popupView.isHideBg = NO;
  120. popupView.bgAlpha = 0.3;
  121. @weakify(popupView)
  122. customView.buttonBlock = ^(BOOL isConfirm) {
  123. @strongify(popupView)
  124. if (isConfirm) {
  125. @weakify(self)
  126. [ZCHUDHelper showWithStatus:@"删除中..."];
  127. [LCHttpHelper requestWithURLString:api_greetdelete_new parameters:@{
  128. @"id":@(self.greetingId)
  129. } needToken:YES type:HttpRequestTypePost success:^(id responseObject) {
  130. @strongify(self)
  131. NSDictionary* dict = (NSDictionary*)responseObject;
  132. NSInteger code = [[dict objectForKey:@"code"] integerValue];
  133. if (code == 0) {
  134. [ZCHUDHelper dismiss];
  135. if (self.refreshGreetingSettingListBlock) {
  136. self.refreshGreetingSettingListBlock();
  137. }
  138. }else{
  139. [ZCHUDHelper showTitle:[dict stringValueForKey:@"message" defaultValue:@""]];
  140. }
  141. } failure:^(NSError *error) {
  142. [ZCHUDHelper showTitle:error.localizedDescription];
  143. }];
  144. }
  145. [popupView dismissWithStyle:YMDismissStyleFade duration:2.0];
  146. };
  147. [popupView pop];
  148. }
  149. - (void)defualGreetingTemplate{
  150. if (!self.isDefaultGreetingTemplate) {
  151. @weakify(self)
  152. [ZCHUDHelper showWithStatus:@"设置中..."];
  153. [LCHttpHelper requestWithURLString:api_greetset_default parameters:@{
  154. @"id":@(self.greetingId)
  155. } needToken:YES type:HttpRequestTypePost success:^(id responseObject) {
  156. @strongify(self)
  157. NSDictionary* dict = (NSDictionary*)responseObject;
  158. NSInteger code = [[dict objectForKey:@"code"] integerValue];
  159. if (code == 0) {
  160. [ZCHUDHelper dismiss];
  161. if (self.refreshGreetingSettingListBlock) {
  162. self.refreshGreetingSettingListBlock();
  163. }
  164. }else{
  165. [ZCHUDHelper showTitle:[dict stringValueForKey:@"message" defaultValue:@""]];
  166. }
  167. } failure:^(NSError *error) {
  168. [ZCHUDHelper showTitle:error.localizedDescription];
  169. }];
  170. }
  171. }
  172. @end