This commit is contained in:
2026-01-23 21:51:37 +08:00
parent 6ad9783bcb
commit 77fd46aa34
26 changed files with 3681 additions and 199 deletions

View File

@@ -0,0 +1,67 @@
//
// KBAiChatMessage.m
// keyBoard
//
// Created by Kiro on 2026/1/23.
//
#import "KBAiChatMessage.h"
@implementation KBAiChatMessage
+ (instancetype)userMessageWithText:(NSString *)text {
KBAiChatMessage *message = [[KBAiChatMessage alloc] init];
message.type = KBAiChatMessageTypeUser;
message.text = text;
message.timestamp = [NSDate date];
message.isComplete = YES;
return message;
}
+ (instancetype)assistantMessageWithText:(NSString *)text
audioDuration:(NSTimeInterval)duration
audioData:(NSData *)audioData {
KBAiChatMessage *message = [[KBAiChatMessage alloc] init];
message.type = KBAiChatMessageTypeAssistant;
message.text = text;
message.timestamp = [NSDate date];
message.audioDuration = duration;
message.audioData = audioData;
message.isComplete = NO;
return message;
}
+ (instancetype)assistantMessageWithText:(NSString *)text
audioId:(NSString *)audioId {
KBAiChatMessage *message = [[KBAiChatMessage alloc] init];
message.type = KBAiChatMessageTypeAssistant;
message.text = text;
message.timestamp = [NSDate date];
message.audioId = audioId;
message.audioDuration = 0;
message.audioData = nil;
message.isComplete = NO;
return message;
}
+ (instancetype)assistantMessageWithText:(NSString *)text {
KBAiChatMessage *message = [[KBAiChatMessage alloc] init];
message.type = KBAiChatMessageTypeAssistant;
message.text = text;
message.timestamp = [NSDate date];
message.audioId = nil;
message.audioDuration = 0;
message.audioData = nil;
message.isComplete = NO;
return message;
}
+ (instancetype)timeMessageWithTimestamp:(NSDate *)timestamp {
KBAiChatMessage *message = [[KBAiChatMessage alloc] init];
message.type = KBAiChatMessageTypeTime;
message.timestamp = timestamp;
message.isComplete = YES;
return message;
}
@end