Files
keyboard/keyBoard/Class/AiTalk/M/KBPersonaModel.h
2026-01-26 16:53:41 +08:00

97 lines
2.2 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// KBPersonaModel.h
// keyBoard
//
// Created by Kiro on 2026/1/26.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
/// 人设状态
typedef NS_ENUM(NSInteger, KBPersonaStatus) {
KBPersonaStatusDisabled = 0, // 禁用
KBPersonaStatusEnabled = 1 // 启用
};
/// 人设可见性
typedef NS_ENUM(NSInteger, KBPersonaVisibility) {
KBPersonaVisibilityPrivate = 0, // 私有
KBPersonaVisibilityPublic = 1 // 公开
};
/// 人设模型
@interface KBPersonaModel : NSObject
/// 人设 ID
@property (nonatomic, assign) NSInteger personaId;
/// 人设名称
@property (nonatomic, copy) NSString *name;
/// 头像 URL
@property (nonatomic, copy) NSString *avatarUrl;
/// 封面图 URL
@property (nonatomic, copy) NSString *coverImageUrl;
/// 性别
@property (nonatomic, copy) NSString *gender;
/// 年龄范围
@property (nonatomic, copy) NSString *ageRange;
/// 简短描述
@property (nonatomic, copy) NSString *shortDesc;
/// 介绍文本
@property (nonatomic, copy) NSString *introText;
/// 性格标签(逗号分隔的字符串)
@property (nonatomic, copy) NSString *personalityTags;
/// 说话风格
@property (nonatomic, copy) NSString *speakingStyle;
/// 系统提示词
@property (nonatomic, copy) NSString *systemPrompt;
/// 状态0-禁用1-启用)
@property (nonatomic, assign) KBPersonaStatus status;
/// 可见性0-私有1-公开)
@property (nonatomic, assign) KBPersonaVisibility visibility;
/// 排序顺序
@property (nonatomic, assign) NSInteger sortOrder;
/// 热度分数
@property (nonatomic, assign) NSInteger popularityScore;
/// 创建时间
@property (nonatomic, copy) NSString *createdAt;
/// 更新时间
@property (nonatomic, copy) NSString *updatedAt;
#pragma mark - 扩展属性
/// 性格标签数组(从 personalityTags 解析)
@property (nonatomic, strong, readonly) NSArray<NSString *> *tagsArray;
/// 是否启用
@property (nonatomic, assign, readonly) BOOL isEnabled;
/// 是否公开
@property (nonatomic, assign, readonly) BOOL isPublic;
/// 开场白
@property (nonatomic, copy) NSString *prologue;
/// 开场白URL
@property (nonatomic, copy) NSString *prologueAudio;
@end
NS_ASSUME_NONNULL_END