2026-01-26 16:53:41 +08:00
|
|
|
|
//
|
|
|
|
|
|
// 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;
|
2026-01-27 18:53:19 +08:00
|
|
|
|
/// 评论数
|
|
|
|
|
|
@property (nonatomic, copy) NSString *commentCount;
|
|
|
|
|
|
/// 喜欢数
|
|
|
|
|
|
@property (nonatomic, copy) NSString *likeCount;
|
|
|
|
|
|
/// 是否喜欢
|
|
|
|
|
|
@property (nonatomic, assign) BOOL liked;
|
|
|
|
|
|
|
2026-01-26 16:53:41 +08:00
|
|
|
|
|
|
|
|
|
|
#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
|