新增接口,界面
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "KBPersonaPageModel.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@@ -55,6 +56,16 @@ typedef void (^AiVMAudioURLCompletion)(NSString *_Nullable audioURL,
|
||||
- (void)requestAudioWithAudioId:(NSString *)audioId
|
||||
completion:(AiVMAudioURLCompletion)completion;
|
||||
|
||||
#pragma mark - 人设相关接口
|
||||
|
||||
/// 分页查询人设列表
|
||||
/// @param pageNum 页码(从 1 开始)
|
||||
/// @param pageSize 每页大小
|
||||
/// @param completion 完成回调
|
||||
- (void)fetchPersonasWithPageNum:(NSInteger)pageNum
|
||||
pageSize:(NSInteger)pageSize
|
||||
completion:(void(^)(KBPersonaPageModel * _Nullable pageModel, NSError * _Nullable error))completion;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
@@ -212,4 +212,64 @@ autoShowBusinessError:NO
|
||||
}];
|
||||
}
|
||||
|
||||
#pragma mark - 人设相关接口
|
||||
|
||||
- (void)fetchPersonasWithPageNum:(NSInteger)pageNum
|
||||
pageSize:(NSInteger)pageSize
|
||||
completion:(void (^)(KBPersonaPageModel * _Nullable, NSError * _Nullable))completion {
|
||||
NSDictionary *params = @{
|
||||
@"pageNum": @(pageNum),
|
||||
@"pageSize": @(pageSize)
|
||||
};
|
||||
|
||||
NSLog(@"[AiVM] /ai-companion/page request: %@", params);
|
||||
[[KBNetworkManager shared]
|
||||
POST:@"/ai-companion/page"
|
||||
jsonBody:params
|
||||
headers:nil
|
||||
autoShowBusinessError:NO
|
||||
completion:^(NSDictionary *_Nullable json,
|
||||
NSURLResponse *_Nullable response,
|
||||
NSError *_Nullable error) {
|
||||
if (error) {
|
||||
NSLog(@"[AiVM] /ai-companion/page failed: %@", error.localizedDescription ?: @"");
|
||||
if (completion) {
|
||||
completion(nil, error);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
NSLog(@"[AiVM] /ai-companion/page response: %@", json);
|
||||
|
||||
// 解析响应
|
||||
NSInteger code = [json[@"code"] integerValue];
|
||||
if (code != 0) {
|
||||
NSString *message = json[@"message"] ?: @"请求失败";
|
||||
NSError *bizError = [NSError errorWithDomain:@"AiVM"
|
||||
code:code
|
||||
userInfo:@{NSLocalizedDescriptionKey: message}];
|
||||
if (completion) {
|
||||
completion(nil, bizError);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// 转换为模型
|
||||
id dataObj = json[@"data"];
|
||||
if ([dataObj isKindOfClass:[NSDictionary class]]) {
|
||||
KBPersonaPageModel *pageModel = [KBPersonaPageModel mj_objectWithKeyValues:dataObj];
|
||||
if (completion) {
|
||||
completion(pageModel, nil);
|
||||
}
|
||||
} else {
|
||||
NSError *parseError = [NSError errorWithDomain:@"AiVM"
|
||||
code:-1
|
||||
userInfo:@{NSLocalizedDescriptionKey: @"数据格式错误"}];
|
||||
if (completion) {
|
||||
completion(nil, parseError);
|
||||
}
|
||||
}
|
||||
}];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
Reference in New Issue
Block a user