Files
keyboard/keyBoard/Class/AiTalk/M/KBPersonaModel.m

69 lines
1.9 KiB
Mathematica
Raw Normal View History

2026-01-26 16:53:41 +08:00
//
// KBPersonaModel.m
// keyBoard
//
// Created by Kiro on 2026/1/26.
//
#import "KBPersonaModel.h"
#import <MJExtension/MJExtension.h>
@implementation KBPersonaModel
#pragma mark - MJExtension
//
+ (NSDictionary *)mj_replacedKeyFromPropertyName {
return @{
@"personaId": @"id"
};
}
//
- (void)mj_keyValuesDidFinishConvertingToObject {
// null
if (!self.name) self.name = @"";
if (!self.avatarUrl) self.avatarUrl = @"";
if (!self.coverImageUrl) self.coverImageUrl = @"";
if (!self.gender) self.gender = @"";
if (!self.ageRange) self.ageRange = @"";
if (!self.shortDesc) self.shortDesc = @"";
if (!self.introText) self.introText = @"";
if (!self.personalityTags) self.personalityTags = @"";
if (!self.speakingStyle) self.speakingStyle = @"";
if (!self.systemPrompt) self.systemPrompt = @"";
if (!self.createdAt) self.createdAt = @"";
if (!self.updatedAt) self.updatedAt = @"";
}
#pragma mark -
- (NSArray<NSString *> *)tagsArray {
if (self.personalityTags.length == 0) {
return @[];
}
//
NSString *trimmed = [self.personalityTags stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSArray *tags = [trimmed componentsSeparatedByString:@","];
//
NSMutableArray *result = [NSMutableArray array];
for (NSString *tag in tags) {
NSString *trimmedTag = [tag stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
if (trimmedTag.length > 0) {
[result addObject:trimmedTag];
}
}
return result;
}
- (BOOL)isEnabled {
return self.status == KBPersonaStatusEnabled;
}
- (BOOL)isPublic {
return self.visibility == KBPersonaVisibilityPublic;
}
@end