// // YMCreateGreetingTemplateViewModel.m // MSYOUPAI // // Created by YoMi on 2024/2/24. // Copyright © 2024 MS. All rights reserved. // #import "YMCreateGreetingTemplateViewModel.h" @interface YMCreateGreetingTemplateViewModel () /// 模板最大上限 @property (nonatomic, assign, readwrite) NSInteger templateMaxLength; @end @implementation YMCreateGreetingTemplateViewModel - (void)ym_initialize{ [super ym_initialize]; self.customNavTitle = @"新建模板"; self.templateMaxLength = 50; } - (void)openImagePickerPopupView{ TZImagePickerController *imagePickerVC = [[TZImagePickerController alloc] initWithMaxImagesCount:1 columnNumber:4 delegate:self]; [LCTZImageConfigHelper setDefaultTZImageConfig:imagePickerVC]; imagePickerVC.allowTakePicture = YES; imagePickerVC.allowPickingVideo = NO; imagePickerVC.allowPickingImage = YES; imagePickerVC.allowPickingOriginalPhoto = NO; imagePickerVC.showSelectedIndex = YES; imagePickerVC.allowCrop = NO; imagePickerVC.sortAscendingByModificationDate = YES; [imagePickerVC setDidFinishPickingPhotosHandle:^(NSArray *photos, NSArray *assets, BOOL isSelectOriginalPhoto) { //1通过,0待审核,2,未通过 [LCCommonHttp uploadWithImages:photos Type:@"greet/img" successBlock:^(NSArray *ossImagePaths) { NSString *uploadImage = ossImagePaths.firstObject; self.templateImageUrl = uploadImage; }]; }]; [[YMGlobalUtils getCurrentVC] presentViewController:imagePickerVC animated:YES completion:nil]; } - (void)submitGreetingTemplate{ NSMutableDictionary *params = [NSMutableDictionary dictionary]; [params setObject:@(1) forKey:@"is_multi"]; if (!OCStringIsEmpty(self.templateText)) { [params setObject:self.templateText forKey:@"title"]; } if (!OCStringIsEmpty(self.templateImageUrl)) { [params setObject:self.templateImageUrl forKey:@"file"]; } @weakify(self) [ZCHUDHelper showWithStatus:@"创建中..."]; dispatch_group_t group = dispatch_group_create(); __block NSInteger code = 0; if (!OCStringIsEmpty(self.templateVoiceLocalUrl.absoluteString) && self.templateVoiceDuration != 0){ dispatch_group_enter(group); dispatch_group_async(group, dispatch_get_main_queue(), ^{ [LCCommonHttp uploadWithAudioPath:self.templateVoiceLocalUrl.resourceSpecifier Type:@"greet/mp3" successBlock:^(NSString *ossFilePath) { @strongify(self) if (!OCStringIsEmpty(ossFilePath)) { [params setObject:ossFilePath forKey:@"voice_file"]; [params setObject:@(self.templateVoiceDuration) forKey:@"length"]; }else{ code = -1; } dispatch_group_leave(group); }]; }); } dispatch_group_notify(group, dispatch_get_main_queue(), ^{ if (code != 0) { [ZCHUDHelper showTitle:@"语音上传失败"]; return; } [LCHttpHelper requestWithURLString:GreetAdd parameters:params needToken:YES type:HttpRequestTypePost success:^(id responseObject) { NSDictionary* dict = (NSDictionary*)responseObject; NSInteger code = [[dict objectForKey:@"code"] integerValue]; if (code == 0) { [ZCHUDHelper dismiss]; [[YMGlobalUtils getCurrentVC].navigationController popViewControllerAnimated:YES]; }else{ [ZCHUDHelper showTitle:[dict stringValueForKey:@"message" defaultValue:@""]]; } } failure:^(NSError *error) { [ZCHUDHelper showTitle:error.localizedDescription]; }]; }); } @end