104 lines
2.4 KiB
Objective-C
104 lines
2.4 KiB
Objective-C
//
|
||
// 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;
|
||
/// 评论数
|
||
@property (nonatomic, copy) NSString *commentCount;
|
||
/// 喜欢数
|
||
@property (nonatomic, copy) NSString *likeCount;
|
||
/// 是否喜欢
|
||
@property (nonatomic, assign) BOOL liked;
|
||
|
||
|
||
#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
|