YMCreateGreetingTemplateViewModel.m 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. //
  2. // YMCreateGreetingTemplateViewModel.m
  3. // MSYOUPAI
  4. //
  5. // Created by YoMi on 2024/2/24.
  6. // Copyright © 2024 MS. All rights reserved.
  7. //
  8. #import "YMCreateGreetingTemplateViewModel.h"
  9. @interface YMCreateGreetingTemplateViewModel ()<TZImagePickerControllerDelegate>
  10. /// 模板最大上限
  11. @property (nonatomic, assign, readwrite) NSInteger templateMaxLength;
  12. @end
  13. @implementation YMCreateGreetingTemplateViewModel
  14. - (void)ym_initialize{
  15. [super ym_initialize];
  16. self.customNavTitle = @"新建模板";
  17. self.templateMaxLength = 50;
  18. }
  19. - (void)openImagePickerPopupView{
  20. TZImagePickerController *imagePickerVC = [[TZImagePickerController alloc] initWithMaxImagesCount:1 columnNumber:4 delegate:self];
  21. [LCTZImageConfigHelper setDefaultTZImageConfig:imagePickerVC];
  22. imagePickerVC.allowTakePicture = YES;
  23. imagePickerVC.allowPickingVideo = NO;
  24. imagePickerVC.allowPickingImage = YES;
  25. imagePickerVC.allowPickingOriginalPhoto = NO;
  26. imagePickerVC.showSelectedIndex = YES;
  27. imagePickerVC.allowCrop = NO;
  28. imagePickerVC.sortAscendingByModificationDate = YES;
  29. [imagePickerVC setDidFinishPickingPhotosHandle:^(NSArray<UIImage *> *photos, NSArray *assets, BOOL isSelectOriginalPhoto) {
  30. //1通过,0待审核,2,未通过
  31. [LCCommonHttp uploadWithImages:photos Type:@"greet/img" successBlock:^(NSArray<NSString *> *ossImagePaths) {
  32. NSString *uploadImage = ossImagePaths.firstObject;
  33. self.templateImageUrl = uploadImage;
  34. }];
  35. }];
  36. [[YMGlobalUtils getCurrentVC] presentViewController:imagePickerVC animated:YES completion:nil];
  37. }
  38. - (void)submitGreetingTemplate{
  39. NSMutableDictionary *params = [NSMutableDictionary dictionary];
  40. [params setObject:@(1) forKey:@"is_multi"];
  41. if (!OCStringIsEmpty(self.templateText)) {
  42. [params setObject:self.templateText forKey:@"title"];
  43. }
  44. if (!OCStringIsEmpty(self.templateImageUrl)) {
  45. [params setObject:self.templateImageUrl forKey:@"file"];
  46. }
  47. @weakify(self)
  48. [ZCHUDHelper showWithStatus:@"创建中..."];
  49. dispatch_group_t group = dispatch_group_create();
  50. __block NSInteger code = 0;
  51. if (!OCStringIsEmpty(self.templateVoiceLocalUrl.absoluteString) && self.templateVoiceDuration != 0){
  52. dispatch_group_enter(group);
  53. dispatch_group_async(group, dispatch_get_main_queue(), ^{
  54. [LCCommonHttp uploadWithAudioPath:self.templateVoiceLocalUrl.resourceSpecifier Type:@"greet/mp3" successBlock:^(NSString *ossFilePath) {
  55. @strongify(self)
  56. if (!OCStringIsEmpty(ossFilePath)) {
  57. [params setObject:ossFilePath forKey:@"voice_file"];
  58. [params setObject:@(self.templateVoiceDuration) forKey:@"length"];
  59. }else{
  60. code = -1;
  61. }
  62. dispatch_group_leave(group);
  63. }];
  64. });
  65. }
  66. dispatch_group_notify(group, dispatch_get_main_queue(), ^{
  67. if (code != 0) {
  68. [ZCHUDHelper showTitle:@"语音上传失败"];
  69. return;
  70. }
  71. [LCHttpHelper requestWithURLString:GreetAdd parameters:params needToken:YES type:HttpRequestTypePost success:^(id responseObject) {
  72. NSDictionary* dict = (NSDictionary*)responseObject;
  73. NSInteger code = [[dict objectForKey:@"code"] integerValue];
  74. if (code == 0) {
  75. [ZCHUDHelper dismiss];
  76. [[YMGlobalUtils getCurrentVC].navigationController popViewControllerAnimated:YES];
  77. }else{
  78. [ZCHUDHelper showTitle:[dict stringValueForKey:@"message" defaultValue:@""]];
  79. }
  80. } failure:^(NSError *error) {
  81. [ZCHUDHelper showTitle:error.localizedDescription];
  82. }];
  83. });
  84. }
  85. @end