This commit is contained in:
2026-01-27 13:57:32 +08:00
parent e8b4b2c58a
commit ce889e1ed0
9 changed files with 497 additions and 6 deletions

View File

@@ -216,6 +216,51 @@ autoShowBusinessError:NO
}];
}
- (void)uploadAudioFileAtURL:(NSURL *)fileURL
completion:(AiVMUploadAudioCompletion)completion {
if (!fileURL || !fileURL.isFileURL) {
NSError *error = [NSError errorWithDomain:@"AiVM"
code:-1
userInfo:@{NSLocalizedDescriptionKey : @"invalid fileURL"}];
if (completion) {
completion(nil, error);
}
return;
}
[[KBNetworkManager shared] uploadFile:API_AI_AUDIO_UPLOAD
fileURL:fileURL
name:@"file"
mimeType:@"audio/mp4"
parameters:nil
headers:nil
completion:^(NSDictionary *_Nullable json,
NSURLResponse *_Nullable response,
NSError *_Nullable error) {
if (error) {
if (completion) {
completion(nil, error);
}
return;
}
NSString *fileURLString = nil;
id dataObj = json[@"data"];
if ([dataObj isKindOfClass:[NSString class]]) {
fileURLString = (NSString *)dataObj;
} else if ([dataObj isKindOfClass:[NSDictionary class]]) {
id urlObj = dataObj[@"url"] ?: dataObj[@"audioUrl"];
if ([urlObj isKindOfClass:[NSString class]]) {
fileURLString = (NSString *)urlObj;
}
}
if (completion) {
completion(fileURLString, nil);
}
}];
}
#pragma mark -
- (void)fetchPersonasWithPageNum:(NSInteger)pageNum